1{-# LANGUAGE GADTs #-} 2{-# LANGUAGE LambdaCase #-} 3 4data GADT a where 5 B1 :: GADT Bool 6 B2 :: GADT Bool 7 Int :: GADT Int 8 Var :: GADT a 9 10 11hasHomo :: GADT Bool -> GADT a 12hasHomo g = _ 13 14cantHomo :: GADT a -> GADT Int 15cantHomo g = _ 16 17hasHomoLam :: GADT Bool -> GADT a 18hasHomoLam = _ 19 20cantHomoLam :: GADT a -> GADT Int 21cantHomoLam = _ 22 23