use langbox::*; fn p1( a: impl Parser, b: impl Parser, c: impl Parser, ) -> impl Parser { parser!(a <.> (b <|> c)) } fn p2( a: impl Parser, b: impl Parser, c: impl Parser, ) -> impl Parser { parser!((c <|> a) <.> b) } fn main() {}