I am trying to understand do-blocks/sequencing actions, parsers and monads.
newtype Parser a = P ( String -> [ ( a, String ) ] ) item :: Parser Char item