{-# OPTIONS_GHC -fno-warn-redundant-constraints #-} module ShouldSucceed where class Eq' a where doubleeq :: a -> a -> Bool class (Eq' a) => Ord' a where lt :: a -> a -> Bool instance Eq' Int where doubleeq x y = True instance (Eq' a) => Eq' [a] where doubleeq x y = True instance Ord' Int where lt x y = True {- class (Ord a) => Ix a where range :: (a,a) -> [a] instance Ix Int where range (x,y) = [x,y] -}