{-# LANGUAGE RankNTypes, FlexibleInstances #-}

-- This one made ghc-4.08 crash
-- rename/RnEnv.lhs:239: Non-exhaustive patterns in function get_tycon_key
-- The type in the Monad instance is utterly bogus, of course

module ShouldCompile ( Set ) where


data Set a = Set [a]
       deriving (Eq, Ord, Read, Show)
{-
instance Functor Set where
        f `fmap` (Set xs) = Set $ f `fmap` xs
-}
instance Monad (forall a. Eq a => Set a) where
        return x = Set [x]
{-
instance Eq (forall a. [a]) where
-}
