Ticket #2851 (closed merge: fixed)
Improve error message for failed deriving
The following does not work:
type family F a :: * data D a = D (F a) deriving (Show)
The natural way of adding an instance does work (with enough extensions turned on):
instance (Show (F a)) => Show (D a) where show (D x) = "D " ++ show x
It would be nice if the deriving mechanism could derive this code.