Add Functor, Applicative, Monad, Alternative instances
Implement char, takeWhile
Reimplement char, takeWhile in terms of anyChar; string in terms of char
Implement eof, anyChar in terms of getInput, setInput
Add totality checking
Add parse to run Parser
By default public access
Add many combinator and fix takeWhile
Implement anyOf, whitespace, whitespaces
char parser returns a Char
Fix many combinator
Add noneOf, alpha, digit, alphaNum, optional parsers