The fast AnaParser instance of the IsParser class. Note that this
requires a functioning Ord for the symbol type s, as tokens are
often compared using the compare function in Ord rather than always
using == rom Eq. The two do need to be consistent though, that is
for any two x1, x2 such that x1 == x2 you must have
compare x1 x2 == EQ.

Sequential composition. Often used in combination with $.
The function returned by parsing the left-hand side is applied
to the value returned by parsing the right-hand side.
Note: Implementations of this combinator should lazily match on
and evaluate the right-hand side parser. The derived combinators
for list parsing will explode if they do not.

Value ignoring versions of sequential composition. These ignore
either the value returned by the parser on the right-hand side or
the left-hand side, depending on the visual direction of the
combinator.

The fast AnaParser instance of the IsParser class. Note that this
requires a functioning Ord for the symbol type s, as tokens are
often compared using the compare function in Ord rather than always
using == rom Eq. The two do need to be consistent though, that is
for any two x1, x2 such that x1 == x2 you must have
compare x1 x2 == EQ.