pub(crate) fn parse_general<'a>( handler: Handler, source: &'a str, start_pos: u32, parse: impl FnOnce(&mut Lexer<'a>) -> Result<SyntaxNode<'a>, ParseError<usize, LalrToken<'a>, &'static str>>, ) -> Result<SyntaxNode<'a>>