hugs accepts data D a = D a deriving (Show) despite not being able to derive the instance. This goes against There is a context cx' such that cx' =>C tij holds for each of the constituent types tij." in appendix D of the report. Ian