anchor.diff:    
     ExpressionTypeIdentifier(Expression this.exp);
     
  -  int get hashCode => exp.hashCode; 
  +  int get hashCode => exp.hashCode;
   }
   
   
  
positive.code:   visitIntegerLiteral(IntegerLiteral n) {
      super.visitIntegerLiteral(n);
      // {double} \subseteq [n]
      types.put(n, new NominalType(elementAnalysis.resolveClassElement("int", constraintAnalysis.dartCore, source), this.constraintAnalysis));
    }
    
    visitDoubleLiteral(DoubleLiteral n) {
      super.visitDoubleLiteral(n);
      // {double} \subseteq [n]
      types.put(n, new NominalType(elementAnalysis.resolveClassElement("double", constraintAnalysis.dartCore, source), this.constraintAnalysis));
    }
    
    visitVariableDeclaration(VariableDeclaration vd){
  
negative.code: class NominalType extends AbstractType {
    
    ClassElement element;
      
    
    NominalType(ClassElement this.element);
   
    
    String toString() => element.name.toString();
  