[Haskell] multiple occurence of the same type variable in instance head