anchor.diff:  
       _ClassData classData = getClassData(baseClass);
   
  -    final allocatedSubtypes = classData.allocatedSubtypes;
       if (!_sealed) {
         classData.addDependentInvocation(_typeFlowAnalysis.currentInvocation);
       }
   
  -    final int numSubTypes = allocatedSubtypes.length;
  -
  -    if (numSubTypes == 0) {
  -      return new Type.empty();
  -    } else if (numSubTypes == 1) {
  -      return allocatedSubtypes.single.concreteType;
  -    } else {
  -      List<ConcreteType> types = new List<ConcreteType>();
  -      for (var sub in allocatedSubtypes) {
  -        types.add(sub.concreteType);
  -      }
  -      // TODO(alexmarkov): cache result of specialization or keep allocatedSubtypes sorted
  -      types.sort();
  -      return new SetType(types);
  -    }
  +    return classData.specializedConeType;
     }
   
     bool hasNonTrivialNoSuchMethod(Class c) {
  
positive.code:   final int _id;
    final Class class_;
    final Set<_ClassData> supertypes; // List of super-types including this.
    final Set<_ClassData> allocatedSubtypes = new Set<_ClassData>();
  
    /// Flag indicating if this class has a noSuchMethod() method not inherited
    /// from Object.
  
negative.code:     final _ClassData classData = getClassData(cl);
  
      if (allocatedClasses.add(cl)) {
        classData.addAllocatedSubtype(classData);
        classData.invalidateDependentInvocations(_typeFlowAnalysis.workList);
  
        for (var supertype in classData.supertypes) {
          supertype.addAllocatedSubtype(classData);
          supertype.invalidateDependentInvocations(_typeFlowAnalysis.workList);
        }
  
  