[Haskell] really undecidable instances?