code: final Parser<T> asDelimiter() {
      return new Parser<T>() {
        @Override boolean apply(ParseContext ctxt) {
          return ctxt.applyAsDelimiter(Parser.this);
        }
        @Override public String toString() {
          return Parser.this.toString();
        }
      };
    }
docs: As a delimiter, the parser's error is considered lenient and will only be reported if no other
  meaningful error is encountered. The delimiter's logical step is also considered 0, which means
  it won't ever stop repetition combinators such as {@link #many}.