message: new merge() util
diff: @@ -76,3 +76,18 @@ export function error(context, message, exception) {
  }
  console.error("");
  }
  +
  +export function merge(defaults, user) {
  + const merged = { ...defaults };
  +
  + for (const [key, value] of Object.entries(user)) {
  + if (typeof merged[key] === "object" && value === "object") {
  + merged[key] = merge(merged[key], value);
  + continue;
  + }
  +
  + merged[key] = value;
  + }
  +
  + return merged;
  +}
  