anchor.diff:      return '$libName.${superclass.name}';
     }
   
  -  AstNode visitClassDeclaration(ClassDeclaration node) {
  +  void visitClassDeclaration(ClassDeclaration node) {
       var name = node.name.name;
       var superclassName = getSuperclassName(node);
   
  
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: 
    bool isPublic(String name) => !name.startsWith('_');
  
    void visitFunctionTypeAlias(FunctionTypeAlias node) {
      // TODO(vsm): Do we need to record type info the generated code for a
      // typedef?
    }
  
    void generateInitializer(
  