anchor.diff:      }
     }
   
  -  AstNode visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
  +  void visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
       _generateVariableList(node.variables, true);
  -    return node;
  -  }
  -
  -  AstNode visitVariableDeclarationStatement(VariableDeclarationStatement node) {
  +  }
  +
  +  void visitVariableDeclarationStatement(VariableDeclarationStatement node) {
       _generateVariableList(node.variables, false);
  -    return node;
  -  }
  -
  -  AstNode visitConstructorName(ConstructorName node) {
  +  }
  +
  +  void visitConstructorName(ConstructorName node) {
       node.type.name.accept(this);
       if (node.name != null) {
         out.write('.');
         node.name.accept(this);
       }
  -    return node;
  -  }
  -
  -  AstNode visitInstanceCreationExpression(InstanceCreationExpression node) {
  +  }
  +
  +  void visitInstanceCreationExpression(InstanceCreationExpression node) {
       out.write('new ');
       node.constructorName.accept(this);
       out.write('(');
       node.argumentList.accept(this);
       out.write(')');
  -    return node;
  -  }
  -
  -  AstNode visitBinaryExpression(BinaryExpression node) {
  +  }
  +
  +  void visitBinaryExpression(BinaryExpression node) {
       var op = node.operator;
       var lhs = node.leftOperand;
       var rhs = node.rightOperand;
  
positive.code:     out.write("}\n", -2);
      if (isPublic(name)) out.write("$libName.$name = $name;\n");
      out.write("\n");
      return node;
    }
  
    AstNode visitFunctionExpression(FunctionExpression node) {
      // Bind all free variables.
      out.write('/* Unimplemented: bind any free variables. */');
  
  
negative.code:         arguments[i].accept(this);
        }
      }
    }
  
    void visitFormalParameterList(FormalParameterList node) {
      // TODO(vsm): Optional parameters.
      var arguments = node.parameters;
      var length = arguments.length;
  