We need continuations to implement the backtracking control flow (currently Its broken). But we also don't want to pay the cost when they are not being needed. It might be good to take a look into the delimited continuation primops.
I think I know how to implement <|> now: always capture the continuation using control0#, if the parser succeeded, then drop the continuation altogether, otherwise call the continuation.
We need continuations to implement the backtracking control flow (currently Its broken). But we also don't want to pay the cost when they are not being needed. It might be good to take a look into the delimited continuation primops.