anchor.diff:      # merge (function used to merge definitions into one definition: [ /type/ ] -> /type/)
       # apply (convert the option value to ease the manipulation of the option result)
       # options (set of sub-options declarations & definitions)
  -    # extraConfigs (list of possible configurations)
     };
   
     mkEnableOption = name: mkOption {
  
positive.code:     else head list;
  
  
    fixableMergeFun = merge: f: config:
      merge (
        # generate the list of option sets.
        f config
      );
  
    fixableMergeModules = merge: initModules: {...}@args: config:
      fixableMergeFun merge (config:
        lib.moduleClosure initModules (args // { inherit config; })
      ) config;
  
  
    fixableDefinitionsOf = initModules: {...}@args:
      fixableMergeModules (modules: (lib.moduleMerge "" modules).config) initModules args;
  
    fixableDeclarationsOf = initModules: {...}@args:
      fixableMergeModules (modules: (lib.moduleMerge "" modules).options) initModules args;
  
    definitionsOf = initModules: {...}@args:
      (lib.fix (module:
        fixableMergeModules (lib.moduleMerge "") initModules args module.config
      )).config;
  
    declarationsOf = initModules: {...}@args:
      (lib.fix (module:
        fixableMergeModules (lib.moduleMerge "") initModules args module.config
      )).options;
  
  
    # Generate documentation template from the list of option declaration like
    # the set generated with filterOptionSets.
    optionAttrSetToDocList = attrs:
  
negative.code:     description = "Whether to enable ${name}.";
      type = lib.types.bool;
    };
  
    # !!! This function will be removed because this can be done with the
    # multiple option declarations.
  