anchor.diff:    bool containsKey(TypeIdentifier ident) => _typeMap.containsKey(ident);  
     
     void put(dynamic i, AbstractType t){
  +    
  +    if (t == null) {
  +          print('fuuuck');
  +    }
  +    
  +    
       TypeIdentifier ident = TypeIdentifier.ConvertToTypeIdentifier(i);
       if (!_typeMap.containsKey(ident))
         _typeMap[ident] = new TypeVariable();
  
positive.code:   
    visitAsExpression(AsExpression n){
      super.visitAsExpression(n);
      
      if (n.type.name.toString() == 'dynamic') {
        //as dynamic doesn't give you any info, so just make them equal.
        TypeIdentifier nodeIdent = new ExpressionTypeIdentifier(n);
        TypeIdentifier expIdent = new ExpressionTypeIdentifier(n.expression);
  
negative.code:     } else {
        // {T} \in [e as T]
        // {T} \in [e]
        types.put(n, castType);
        types.put(n.expression, castType);
      }
  