anchor.diff:        functor = (defaultFunctor name) // { wrapped = elemType; };
       };
   
  +    # Value of given type but with no merging (i.e. `uniq list`s are not concatenated).
       uniq = elemType: mkOptionType rec {
         name = "uniq";
         inherit (elemType) description check;
  
positive.code:         };
        };
  
      enum = values:
        let
          show = v:
  
negative.code:       functor = (defaultFunctor name) // { wrapped = [ t1 t2 ]; };
      };
  
      # Either value of type `finalType` or `coercedType`, the latter is
      # converted to `finalType` using `coerceFunc`.
      coercedTo = coercedType: coerceFunc: finalType:
        assert coercedType.getSubModules == null;
        mkOptionType rec {
  