anchor.diff:        _current = null;
         return false;
       }
  -    _current = _todo.removeLast();
  -    _done.add(_current);
  +    _done.add(_current = _todo.removeLast());
       _todo.addAll(_current.children.where((each) => !_done.contains(each)));
       return true;
     }
  
positive.code:    * 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.
     */
    static Parser transform(Parser root, Parser function(Parser parser)) {
      var mapping = new Map();
  
negative.code: }
  
  /**
   * A delegate parser for continuation-passing-style (CPS).
   */
  class _ContinuationParser extends _DelegateParser {
    final Function _function;
  