anchor.diff:    /* Massage a module into canonical form, that is, a set consisting
        of ‘options’, ‘config’ and ‘imports’ attributes. */
     unifyModuleSyntax = file: key: m:
  -    let metaSet = if m ? meta
  -      then { meta = m.meta; }
  -      else {};
  +    let addMeta = config: if m ? meta
  +      then mkMerge [ config { meta = m.meta; } ]
  +      else config;
       in
       if m ? config || m ? options then
         let badAttrs = removeAttrs m ["_file" "key" "disabledModules" "imports" "options" "config" "meta"]; in
  
positive.code:           disabledModules = m.disabledModules or [];
            imports = m.imports or [];
            options = m.options or {};
            config = mkMerge [ (m.config or {}) metaSet ];
          }
      else
        { _file = m._file or file;
  
negative.code:         disabledModules = m.disabledModules or [];
          imports = m.require or [] ++ m.imports or [];
          options = {};
          config = addMeta (removeAttrs m ["_file" "key" "disabledModules" "require" "imports"]);
        };
  
    applyIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then
  