anchor.diff:    visitChildren(Visitor v) {}
     accept(ConstantVisitor v) => v.visitStringConstant(this);
     acceptReference(Visitor v) => v.visitStringConstantReference(this);
  +
  +  DartType getType(TypeEnvironment types) => types.stringType;
   }
   
   class MapConstant extends Constant {
  
positive.code:             listEquals(other.typeArguments, typeArguments) &&
              mapEquals(other.fieldValues, fieldValues));
    }
  }
  
  class PartialInstantiationConstant extends Constant {
  
negative.code:   /// comparable via hashCode/==!
    int get hashCode;
    bool operator ==(Object other);
  
    /// Gets the type of this constant.
    DartType getType(TypeEnvironment types);
  }
  
  abstract class PrimitiveConstant<T> extends Constant {
  