anchor.diff:     * The implementation first creates a copy of each parser reachable in the
      * input grammar; then the resulting grammar is iteratively transfered and
      * all old parsers are replaced with the transformed ones until we end up
  -   * with a complete new grammar.
  +   * with a completely new grammar.
      */
     static Parser transform(Parser root, Parser function(Parser parser)) {
       var mapping = new Map();
  
positive.code:     });
    }
  
    static String _indent(int level) {
      var result = new StringBuffer();
      for (var i = 0; i < level; i++) {
  
negative.code:       _current = null;
        return false;
      }
      _done.add(_current = _todo.removeLast());
      _todo.addAll(_current.children.where((each) => !_done.contains(each)));
      return true;
    }
  