code: public final Parser<T> infixr(Parser<? extends BiFunction<? super T, ? super T, ? extends T>> op) {
      Parser<Rhs<T>> rhs = Parsers.sequence(op, this, Rhs<T>::new);
      return Parsers.sequence(this, rhs.many(), Parser::applyInfixrOperators);
    }
docs: A {@link Parser} for right-associative infix operator. Runs {@code this} for the left operand,
  and then runs {@code op} and {@code this} for the operator and the right operand for
  0 or more times greedily.
  The {@link BiFunction} objects returned from {@code op} are applied from right to left to the
  return values of {@code this}, if any. For example: {@code a + b + c + d} is evaluated as
  {@code a + (b + (c + d))}.
  
  <p> {@code p.infixr(op)} is equivalent to {@code p (op p)*} in EBNF.