anchor.diff:    return builder.build();
   }
   
  +ValueClass _typeParameter;
  +ValueClass get typeParameter => _typeParameter ??= _createTypeParameter();
  +
  +ValueClass _createTypeParameter() {
  +  final builder = new ValueClassBuilder()
  +    ..name = 'TypeParameter';
  +  builder.superTypes.add(namedElement);
  +  builder.properties
  +    ..add((new PropertyBuilder()
  +          ..name = 'bound'
  +          ..type = classifier)
  +        .build());
  +
  +  return builder.build();
  +}
  +
  +ValueClass _genericClassifier;
  +ValueClass get genericClassifier =>
  +    _genericClassifier ??= _createGenericClassifier();
  +
   ValueClass _createGenericClassifier() {
     final builder = new ValueClassBuilder()
       ..name = 'GenericClassifier'
       ..isAbstract = true;
  +  builder.superTypes.add(namedElement);
     builder.properties
       ..add((new PropertyBuilder()
             ..name = 'genericTypes'
  -          ..type = dartString)
  +          ..type = _createBuiltSet(typeParameter))
           .build());
   
     return builder.build();
  
positive.code: 
  ValueClass _createValueClass() {
    final builder = new ValueClassBuilder()..name = 'ValueClass';
    builder.superTypes.add(_classifier);
    builder.properties.add((new PropertyBuilder()
          ..name = 'properties'
          ..type = _createBuiltSet(property))
  
negative.code:   packageBuilder.classifiers
      ..add(namedElement)
      ..add(classifier)
      ..add(typeParameter)
      ..add(genericClassifier)
      ..add(property)
      ..add(valueClass);
    return packageBuilder.build();
  