anchor.diff:  import 'ast.dart';
   
   abstract class ExpressionVisitor<R> {
  +  const ExpressionVisitor();
  +
     R defaultExpression(Expression node) => null;
     R defaultBasicLiteral(BasicLiteral node) => defaultExpression(node);
   
  
positive.code: 
  class Visitor<R> extends TreeVisitor<R>
      implements DartTypeVisitor<R>, MemberReferenceVisitor<R> {
    /// The catch-all case, except for references.
    R defaultNode(Node node) => null;
    R defaultTreeNode(TreeNode node) => defaultNode(node);
  
negative.code: }
  
  abstract class StatementVisitor<R> {
    const StatementVisitor();
  
    R defaultStatement(Statement node) => null;
  
    R visitInvalidStatement(InvalidStatement node) => defaultStatement(node);
  