unwindThen

fun <T1, T2> Parser<T1>.unwindThen(f: (T1) -> Parser<T2>): Parser<T2>

Run T1 parser, if successful, go back and run the T2 parser from original position using the result of T1 for a kind of look ahead effect.