anchor.diff:        new MapBuilder<TypeParameter, Classifier>();
   
     GenericTypeBuilder._();
  +
     factory GenericTypeBuilder() = _$GenericTypeBuilder;
   }
   
   abstract class TypeParameter
       implements Built<TypeParameter, TypeParameterBuilder>, NamedElement {
     static final Serializer<TypeParameter> serializer = _$typeParameterSerializer;
  +
     String get name;
     @nullable
     Classifier get bound;
  
positive.code: abstract class ExternalClassBuilder
      implements Builder<ExternalClass, ExternalClassBuilder> {
    String name;
  
    SetBuilder<TypeParameter> genericTypes = new SetBuilder<TypeParameter>();
  
    ExternalClassBuilder._();
    factory ExternalClassBuilder() = _$ExternalClassBuilder;
  }
  
  abstract class Package implements Built<Package, PackageBuilder>, NamedElement {
    static final Serializer<Package> serializer = _$packageSerializer;
    String get name;
    BuiltSet<Classifier> get classifiers;
  
  
negative.code: // exist yet
  abstract class ValuableClass implements GenericClassifier {
    BuiltSet<Property> get properties;
    BuiltSet<Property> get allProperties => new BuiltSet<Property>(
        concat([superTypes.expand((vc) => vc.allProperties), properties]));
    bool get isAbstract;
  }
  
  abstract class ValueClass
      implements Built<ValueClass, ValueClassBuilder>, ValuableClass {
    static final Serializer<ValueClass> serializer = _$valueClassSerializer;
  
    String get name;
    BuiltSet<TypeParameter> get genericTypes;
    BuiltSet<Property> get properties;
    BuiltSet<Property> get allProperties => new BuiltSet<Property>(
        concat([superTypes.expand((vc) => vc.allProperties), properties]));
    BuiltSet<ValuableClass> get superTypes;
    bool get isAbstract;
  
  