{-# OPTIONS_GHC -fno-warn-redundant-constraints #-}

module ShouldSucceed where

class Eq2 a where
 doubleeq :: a -> a -> Bool

class (Eq2 a) => Ord2 a where
 lt :: a -> a -> Bool

instance Eq2 Int where
 doubleeq x y = True

instance Ord2 Int where
 lt x y = True

instance (Eq2 a,Ord2 a) => Eq2 [a] where
 doubleeq xs ys = True

f x y = doubleeq x [1] 
