bind

fun <I : Any, O, R, U : Any> Parser<I, O, U>.bind(transform: (O) -> Parser<I, R, U>): Parser<I, R, U>

Flat-maps the success value of this parser to a second parser, then runs it.

Sugar for pBind: a.bind { … } is equivalent to pBind(a) { … }.

Prefer trailing-lambda call style over infix to avoid visual ambiguity.