MP
Size: a a a
MP
MP
YS
MP
data Foo deriving Generic
instance Arbitrary Foo where
arbitrary = genericArbitrary
shrink = genericShrink
MP
MP
MP
MP
MP
YS
YS
YS
JS
ЖК
JS
JS
cmp :: forall (flag :: Bool) a. If flag (a ~ Int) (Eq a) => a -> a -> Bool
cmp x y = x == y
Could not deduce (Eq a) arising from a use of ‘==’
from the context: If flag (a ~ Int) (Eq a)
JS
class Cmp (flag :: Bool) a where
cmp :: a -> a -> Bool
instance Cmp True Int where
cmp x y = x == y
instance Eq a => Cmp False a where
cmp x y = x == y
JS