Let's write a parser that always fails.
failed :: Parser a failed = P (\_ -> Nothing)
This parser always fails since it always produces Nothing.
Nothing