instance Monad ( Parser c ) where
return x = Parser $ \ s ->
return ( x, s )
Parser f >>= g = Parser $ \ s -> do
( a, t ) <- f s
let Parser h = g a
h t
beachte: das return/do gehört zur List-Monade
p :: Parser c (c,c) p = do x <- next ; y <- next ; return (x,y)