anchor.diff:        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 {
  
positive.code:         };
        };
  
      enum = values:
        let
          show = v:
  
negative.code:       functor = (defaultFunctor name) // { wrapped = elemType; };
      };
  
      # Null or value of ...
      nullOr = elemType: mkOptionType rec {
        name = "nullOr";
        description = "null or ${elemType.description}";
  