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