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:             ) def.value
            else
              throw "The option value `${showOption loc}` in `${def.file}` is not a list.") defs)));
        getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["*"]);
        getSubModules = elemType.getSubModules;
        substSubModules = m: listOf (elemType.substSubModules m);
  
negative.code:               if finalType.check val then val
                else coerceFunc val;
            in finalType.merge loc (map (def: def // { value = coerceVal def.value; }) defs);
          emptyValue = finalType.emptyValue;
          getSubOptions = finalType.getSubOptions;
          getSubModules = finalType.getSubModules;
          substSubModules = m: coercedTo coercedType coerceFunc (finalType.substSubModules m);
  