anchor.diff:  }
   
   class _SetableParser extends _DelegateParser implements SetableParser {
  +
     _SetableParser(parser) : super(parser);
  +
     void set(Parser parser) => replace(children[0], parser);
  +
     Parser copy() => new _SetableParser(_delegate);
  +
   }
positive.code: }
  
  class _FailureParser extends Parser {
    final String _message;
    _FailureParser(this._message);
    Result _parse(Context context) => context.failure(_message);
    Parser copy() => new _FailureParser(_message);
    bool match(dynamic other, [Set<Parser> seen]) {
      return super.match(other, seen) && _message == other._message;
    }
  }
  
  /**
  
negative.code: Parser epsilon([dynamic result]) => new _EpsilonParser(result);
  
  class _EpsilonParser extends Parser {
  
    final dynamic _result;
  
    _EpsilonParser(this._result);
  
    Result _parse(Context context) => context.success(_result);
  
    Parser copy() => new _EpsilonParser(_result);
  
    bool match(dynamic other, [Set<Parser> seen]) {
      return super.match(other, seen) && _result == other._result;
    }
  