On Tue, Jun 24, 2008 at 01:43:08PM +0200, Christian Maeder wrote: > Could someone explain why it breaks H98 compatibility? > Control.Applicative alone is at least marked "portable". The following Haskell 98 code would be rejected: newtype Id a = Id a instance Monad Id where return = Id Id x >>= f = f x