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