anchor.diff:                  (pushDownProperties (getAttr name m.config)))
               ) configs);
             nrOptions = count (m: isOption m.options) decls;
  -
  -          defns2 = concatMap (m:
  -            optional (hasAttr name m.config)
  -              { inherit (m) file; config = getAttr name m.config; }
  +          # Process mkMerge and mkIf properties.
  +          defns' = concatMap (m:
  +            optionals (hasAttr name m.config)
  +              (map (m': { inherit (m) file; value = m'; }) (dischargeProperties (getAttr name m.config)))
               ) configs;
           in
             if nrOptions == length decls then
               let opt = fixupOptionType loc' (mergeOptionDecls loc' decls);
  -            in evalOptionValue loc' opt defns2
  +            in evalOptionValue loc' opt defns'
             else if nrOptions != 0 then
               let
                 firstOption = findFirst (m: isOption m.options) "" decls;
  
positive.code:           throw "The option `${showOption loc}' is used but not defined."
          else
            fold (def: res:
              if opt.type.check def.config then res
              else throw "The option value `${showOption loc}' in `${def.file}' is not a ${opt.type.name}.")
              (opt.type.merge (map (m: m.config) defsFinal)) defsFinal;
        # Finally, apply the ‘apply’ function to the merged
        # value.  This allows options to yield a value computed
        # from the definitions.
  
negative.code:   filterOverrides = defs:
      let
        defaultPrio = 100;
        getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio;
        min = x: y: if x < y then x else y;
        highestPrio = fold (def: prio: min (getPrio def) prio) 9999 defs;
        strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def;
      in concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
  
    /* Hack for backward compatibility: convert options of type
  