anchor.diff:          );
         },
         user: (type) {
  -        if (type == CandyType.any) return _createDartType('Object');
  -        if (type == CandyType.unit) return _createDartType('void', url: null);
  -        if (type == CandyType.never) return _createDartType('dynamic');
  -        if (type == CandyType.bool) return _createDartType('bool');
  -        if (type == CandyType.number) return _createDartType('Num');
  -        if (type == CandyType.int) return _createDartType('int');
  -        if (type == CandyType.float) return _createDartType('double');
  -        if (type == CandyType.string) return _createDartType('String');
  +        if (type == CandyType.any) return _createType('Object');
  +        if (type == CandyType.unit) return _createType('void', url: null);
  +        if (type == CandyType.never) return _createType('dynamic');
  +        if (type == CandyType.bool) return _createType('bool');
  +        if (type == CandyType.number) return _createType('Num');
  +        if (type == CandyType.int) return _createType('int');
  +        if (type == CandyType.float) return _createType('double');
  +        if (type == CandyType.string) return _createType('String');
   
           return _createDartType(
             type.name,
  
positive.code:   },
  );
  
  dart.TypeReference _createDartType(
    String name, {
    String url = dartCoreUrl,
    List<dart.TypeReference> typeArguments = const [],
  }) {
    return dart.TypeReference((b) => b
      ..symbol = name
  
negative.code:             ..returnType = compile(type.returnType);
          });
        },
        union: (_) => _createType('dynamic'),
        intersection: (_) => _createType('dynamic'),
        parameter: (type) => _createType(type.name, url: null),
        reflection: (type) {
          final url = moduleIdToImportUrl(context, ModuleId.coreReflection);
          final id = type.declarationId;
  