I got the second error in the code:
No instance for (Eq a) arising from a use of '=='
Code:
--Verifica se a lista é um palíndromo
palin :: MList a -> Bool
palin(x)
|x==reverter(x) = True
--Reversão de lista na cauda
reverter:: (MList a) -> (MList a)
reverter(x) = reverteraux(x, Nil)
where
reverteraux:: (MList a, MList a) -> MList a
reverteraux((Cons h t), a) = reverteraux( t, (Cons h a))
reverteraux(Nil, a) = a