pub fn parser_expr<'a, 'arn: 'a, 'grm: 'arn, E: ParseError<L = ErrorLabel<'grm>> + 'grm>(
rules: &'arn GrammarState<'arn, 'grm>,
block_ctx: BlockCtx<'arn, 'grm>,
expr: &'arn RuleExpr<'arn, 'grm>,
vars: VarMap<'arn, 'grm>,
) -> impl Parser<'arn, 'grm, PR<'arn, 'grm>, E> + 'a