anchor.diff:        io.writeln("\n---\n");
       });
       if (erase) { d.added.clear(); }
  +
  +    d.forEach((String s, DiffNode classThing) {
  +      io.writeBad("TODO: changed $classCategory $s:", classThing.toString());
  +    });
  +    d.node.clear();
     }
     
     void reportEachMethodThing(String methodCategory, DiffNode d, { String parenthetical:""}) {
  +    String category = singularize(methodCategory);
       if (parenthetical.isNotEmpty) { parenthetical = " _($parenthetical)_"; }
       d.forEachAdded((k, v) {
         //print("New ${singularize(methodCategory)} '$k': ${pretty(v)}");
  -      io.writeln("New ${singularize(methodCategory)}$parenthetical [$k](#):\n");
  +      io.writeln("New $category$parenthetical [$k](#):\n");
         io.writeCodeblockHr(methodSignature(v as Map));
       });
       if (erase) { d.added.clear(); }
  
positive.code:     d.forEachRemoved((k, v) {
        //print("New ${singularize(methodCategory)} '$k': ${pretty(v)}");
        if (k == '') { k = diff.metadata['name']; }
        io.writeln("Removed ${singularize(methodCategory)}$parenthetical [$k](#):\n");
        io.writeCodeblockHr(methodSignature(v as Map, includeComment: false));
      });
      if (erase) { d.removed.clear(); }
  
negative.code:     if (erase) { attributes.changed.clear(); }
    }
    
    void reportEachMethodAttributeAttribute(String category,
                                            String method,
                                            String attributeName,
                                            String attributeAttributeName,
                                            DiffNode attributeAttribute) {
      attributeAttribute.forEachChanged((key, oldNew) {
        io.writeln("The [$method](#) ${category}'s [${attributeAttributeName}](#) ${singularize(attributeName)} has a changed $key from `${oldNew[0]}` to `${oldNew[1]}`");
        io.writeln("\n---\n");
      });
      if (erase) { attributeAttribute.changed.clear(); }
  
      if (attributeAttribute.containsKey("type")) {
        String key = "type";
        List<String> oldNew = attributeAttribute[key]["0"].changed["outer"];
        io.writeln("The [$method](#) ${category}'s [${attributeAttributeName}](#) ${singularize(attributeName)}'s $key has changed from `${oldNew[0]}` to `${oldNew[1]}`");
        io.writeln("\n---\n");
        attributeAttribute.node.remove("type");
      }
  