anchor.diff:  
   // Helper functions for building expression trees programmatically
   
  -EmptyExpression empty() => new EmptyExpression();
  +EmptyExpression empty() => const EmptyExpression();
   Literal literal(v) => new Literal(v);
   MapLiteral mapLiteral(List<MapLiteralEntry> entries) => new MapLiteral(entries);
   MapLiteralEntry mapLiteralEntry(Literal key, Expression value) =>
  
positive.code: 
  /// Base class for all expressions
  abstract class Expression {
    accept(Visitor v);
  }
  
  class EmptyExpression extends Expression {
    accept(Visitor v) => v.visitEmptyExpression(this);
    bool operator ==(o) => o is EmptyExpression;
  }
  
  class Literal<T> extends Expression {
  
negative.code: 
  
  class AstFactory {
    EmptyExpression empty() => const EmptyExpression();
  
    Literal literal(v) => new Literal(v);
  
  