{-# LANGUAGE TypeFamilies #-} import Data.Void class C a b where x :: a -> b instance C Void b where x = absurd instance C a a where x = id main :: IO () main = print (x (42 :: Int) :: Int)