Map merge(Map? obj, defaults) { obj ??= {}; defaults.forEach((key, val) => obj?.putIfAbsent(key, () => val)); return obj; }