anchor.diff:              args.name = last loc;
               prefix = loc;
             }).config;
  +        emptyValue = { value = {}; };
           getSubOptions = prefix: (evalModules
             { inherit modules prefix specialArgs;
               # This is a work-around due to the fact that some sub-modules,
  
positive.code:       # definition values and locations (e.g. [ { file = "/foo.nix";
        # value = 1; } { file = "/bar.nix"; value = 2 } ]).
        merge ? mergeDefaultOption
      , # Return a flat list of sub-options.  Used to generate
        # documentation.
        getSubOptions ? prefix: {}
  
negative.code:       functor ? defaultFunctor name
      }:
      { _type = "option-type";
        inherit name check merge emptyValue getSubOptions getSubModules substSubModules typeMerge functor;
        description = if description == null then name else description;
      };
  
  