-record(parser, { parse :: fun((list(any()), ramble:position(), ramble:parser_config(any()), gleam@option:option(ramble:parser(any(), any()))) -> ramble:parse_result(any(), any())) }).