anchor.diff:      _filters[func] = filter;
       
       bool reset;
  -    List current_types = types;
  +    List current_types;
       do {
  -      reset = false;    
  +      reset = false;
  +      current_types = types;
  +      
         for(AbstractType type in current_types){
  -        if (filter == null || filter(type)) {
  +        if (filter == null || filter(type))
             func(type);
     
  -          if (_types.length != current_types.length){
  -            //Changes has been made, so make another notify loop.
  -            reset = true;
  -            break;
  -          }
  +        if (_types.length != current_types.length){
  +          //Changes has been made, so make another notify loop.
  +          reset = true;
  +          break;
           }
         }
       } while(reset);
  
positive.code:   }
    
    void _subsetConstraint(TypeIdentifier a, TypeIdentifier b) {
  
     
        if (a.toString() == '#_DoubleLinkedQueueEntrySentinel._next' &&
            b.toString() == '#{entry._next}') {
         print('foo'); 
         debugStop = true;
        }
        
      if (a != b)
        foreach(a).update((AbstractType type) => types.put(b, type));
      
      
      if (a.toString() == '#_DoubleLinkedQueueEntrySentinel._next' &&
          b.toString() == '#{entry._next}') {
        debugStop = false;
      }
  
    }
    
    AbstractType _getAbstractType(Name className, LibraryElement library, SourceElement source){
  
negative.code: import 'util.dart';
  import 'dart:collection';
  
  class ConstraintAnalysis {
    TypeMap typeMap;
    
  