A source for parsing. Unless you are parsing from exotic sources, you will probably not need to use this module directly. Rather, use CharParser.source_of_string or CharParser.source_of_enum.
type('a, 'b) t
A source of elements of type 'a, with a user-defined state of type 'b