anchor.diff:      out.write(") {\n", 2);
       node.body.accept(this);
       out.write("}\n", -2);
  -    return node;
  -  }
  -
  -  AstNode visitSimpleIdentifier(SimpleIdentifier node) {
  +  }
  +
  +  void visitSimpleIdentifier(SimpleIdentifier node) {
       out.write(node.name);
  -    return node;
  -  }
  -
  -  AstNode visitExpressionFunctionBody(ExpressionFunctionBody node) {
  +  }
  +
  +  void visitExpressionFunctionBody(ExpressionFunctionBody node) {
       out.write("return ");
       // TODO(vsm): Check for conversion.
       node.expression.accept(this);
       out.write(";\n");
  -    return node;
  -  }
  -
  -  AstNode visitMethodInvocation(MethodInvocation node) {
  +  }
  +
  +  void visitMethodInvocation(MethodInvocation node) {
       // TODO(vsm): Check dynamic.
       writeQualifiedName(node.target, node.methodName);
       out.write('(');
       node.argumentList.accept(this);
       out.write(')');
  -    return node;
  -  }
  -
  -  AstNode visitArgumentList(ArgumentList node) {
  +  }
  +
  +  void visitArgumentList(ArgumentList node) {
       // TODO(vsm): Optional parameters.
       var arguments = node.arguments;
       var length = arguments.length;
  
positive.code:     }
    }
  
    AstNode visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
      _generateVariableList(node.variables, true);
      return node;
    }
  
    AstNode visitVariableDeclarationStatement(VariableDeclarationStatement node) {
      _generateVariableList(node.variables, false);
      return node;
    }
  
    AstNode visitConstructorName(ConstructorName node) {
      node.type.name.accept(this);
      if (node.name != null) {
        out.write('.');
        node.name.accept(this);
      }
      return node;
    }
  
    AstNode visitInstanceCreationExpression(InstanceCreationExpression node) {
      out.write('new ');
      node.constructorName.accept(this);
      out.write('(');
      node.argumentList.accept(this);
      out.write(')');
      return node;
    }
  
    AstNode visitBinaryExpression(BinaryExpression node) {
      var op = node.operator;
      var lhs = node.leftOperand;
      var rhs = node.rightOperand;
  
negative.code:     return '$libName.${superclass.name}';
    }
  
    void visitClassDeclaration(ClassDeclaration node) {
      var name = node.name.name;
      var superclassName = getSuperclassName(node);
  
  