let curr: IStringDictionary<unknown> = settingsTreeRoot;
for (let i = 0; i < segments.length; i++) {
let obj = curr[s];
switch (typeof obj) {
case 'undefined':
obj = curr[s] = Object.create(null);
break;
if (obj === null) {
conflictReporter(`Ignoring ${key} as ${segments.slice(0, i + 1).join('.')} is null`);