anchor.diff:            (uniqFlattenAttr (optionSet final) "require" [] (toList opts))
           );
   
  -  finalReferenceOptionSets = merge: pkgs: opts:
  -    finalReference (finalOptionSetsFun merge pkgs opts);
  +  fixOptionSets = merge: pkgs: opts:
  +    fix (fixOptionSetsFun merge pkgs opts);
  +
  +  finalOptionSetsFun = fixOptionSetsFun;
  +  finalReferenceOptionSets = fixOptionSets;
   
     optionAttrSetToDocList = (l: attrs:
       (if (getAttr ["_type"] "" attrs) == "option" then
  
positive.code:     ) { right = []; wrong = []; };
  
    # Take a function and evaluate it with its own returned value.
    finalReference = f:
      (rec { result = f result; }).result;
  
    # flatten a list of sets returned by 'f'.
    # f      : function to evaluate each set.
  
negative.code:   # Evaluate a list of option sets that would be merged with the
    # function "merge" which expects two arguments.  The attribute named
    # "require" is used to imports option declarations and bindings.
    fixOptionSetsFun = merge: pkgs: opts:
      let optionSet = final: configFun:
        if __isFunction configFun then configFun pkgs final
        else configFun; # backward compatibility.
  