code: function BINARY_RIGHT(operatorsParser, nextParser) {
    let parser = P.lazy(() =>
      nextParser.chain(next =>
        P.seq(operatorsParser, P.of(next), parser).or(P.of(next))
      )
    );
    return parser;
  }
docs: Takes a parser for all the operators at this precedence level, and a parser that parsers everything at the next precedence level, and returns a parser that parses as many binary operations as possible, associating them to the right. (e.g. 1^2^3 is 1^(2^3) not (1^2)^3)