Parser<'Parsed, 'T, 'State, 'Input> Type
A parser is a function from a Reader{T,S,I} to a
ParseResult{P,T,S}. It mutates the reader's index/state on
success, and is expected to leave the reader at the position it was at on
entry when it returns Error without intending to consume input.
Most combinators in XParsec.Combinators are inline and accept
InlineIfLambda arguments, so plain function-typed parsers compose
with no allocation overhead in steady-state code.