anchor.diff:  import 'util.dart';
   import 'dart:collection';
   
  +bool debugStop = false;
   
   class ConstraintAnalysis {
     TypeMap typeMap;
  
positive.code:   
    void add(AbstractType t) {
      //TODO (jln) If the type added is a free-type check if there already exists a free type and merge them.
      if (_types.add(t)) {
        _changed = true;
        trigger(t);
        _changed = false;
      }
    }
    
    List<AbstractType> get types => new List.from(_types); 
  
negative.code:   }
    
    void trigger(AbstractType type){
      List event_listeners = new List.from(_event_listeners);
      for(NotifyFunc func in event_listeners){
        if (_filters[func] == null || _filters[func](type))
          func(type);
      }
  