anchor.diff:    FunctionDeclaration(this.id, this.fun);
   
     accept(NodeVisitor visitor) => visitor.visitFunctionDeclaration(this);
  +  void visitChildren(NodeVisitor visitor) {
  +    id.accept(visitor);
  +    fun.accept(visitor);
  +  }
   }
   
   class Labeled extends Statement {
  
positive.code:   const NumberLiteral(this.value);
  
    accept(NodeVisitor visitor) => visitor.visitNumberLiteral(this);
  }
  
  // Despite being called "Literal" the [ArrayLiteral] does not inherit from
  
negative.code:   Case(this.expr, Block body) : super(body);
  
    accept(NodeVisitor visitor) => visitor.visitCase(this);
    void visitChildren(NodeVisitor visitor) {
      expr.accept(visitor);
      body.accept(visitor);
    }
  }
  
  class Default extends SwitchClause {
    Default(Block body) : super(body);
  
    accept(NodeVisitor visitor) => visitor.visitDefault(this);
    void visitChildren(NodeVisitor visitor) {
      body.accept(visitor);
    }
  }
  
  class FunctionDeclaration extends Statement {
  