1 2 3 4 5 6 7 8 9 10 11 12 13 14
{-# LANGUAGE TypeFamilies, GeneralizedNewtypeDeriving #-} module ShouldCompile where data family S a newtype instance S Int = S Int deriving Eq data family S2 a b newtype instance S2 Int b = S2 (IO b) deriving Monad