Returns a Parser that runs parser repeatedly until it fails, collecting each output into a List. Always succeeds, returning an empty list if parser fails on the first attempt.
Returns a Parser that succeeds with Unit when parser would fail at the current position, and fails when parser would succeed. No input is consumed in either case.
Returns a Parser that parses one or more occurrences of item separated by separator, collecting the item values (not the separators) into a non-empty List.