Tries to match all parsers and returns the first successful one.
Tries to match a given inner surrounded by a given outerLeft and outerRight. The outerRight parser is optional and defaults to outerLeft.
Accepts a single parser, which may match zero or infinite times.
Accepts a single parser, which must match at least once or infinite times otherwise it fails.
The given parser may or may not match. This combinator can not fail.
Tries to match a given value separated by a given separator.
Accepts multiple parsers, which must all match successfully in the given order otherwise it fails.