anchor.diff:  // exist yet
   abstract class ValuableClass implements GenericClassifier {
     BuiltSet<Property> get properties;
  -  BuiltSet<Property> get allProperties;
  +  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;
   
  
positive.code:   Classifier bound;
  
    TypeParameterBuilder._();
    factory TypeParameterBuilder() = _$TypeParameterBuilder;
  }
  
  abstract class Property
      implements Built<Property, PropertyBuilder>, NamedElement {
    static final Serializer<Property> serializer = _$propertySerializer;
    String get name;
    Classifier get type;
    bool get isNullable;
    @nullable
    Object get defaultValue;
  
    @nullable
    String get derivedExpression;
  
    bool get isDerived => derivedExpression != null;
  
    Property._();
  
negative.code:       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;
  