code: public final Parser<T> between(Parser<?> before, Parser<?> after) {
      return before.next(followedBy(after));
    }
docs: A {@link Parser} that runs {@code this} between {@code before} and {@code after}. The return value of {@code
  this} is preserved.
  
  <p>Equivalent to {@link Parsers#between(Parser, Parser, Parser)}, which preserves the natural order of the
  parsers in the argument list, but is a bit more verbose.