Buenas, tengo una duda en uno de los ejercicios de la clase teórcia de Tipe Classes.
Se definen:
class A a where
fA :: a -> a -> Bool
class A a => B a where
fB :: (a,a) -> Bool
instance A Char where
fA = (/=)
instance B Char where
fB = uncurry (==)
foo x y = fB (x, 'a') && fB (y, y) && fA y y
No me queda claro por qué es necesaria la instancia (A Char), para que compile.