{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE TemplateHaskell #-} module TH_RichKinds where import GHC.Exts import Language.Haskell.TH $(do tys <- sequence [ [t| forall a. (a :: Bool) |] , [t| forall a. (a :: Constraint) |] , [t| forall a. (a :: [*]) |] , [t| forall a. (a :: (*, Bool)) |] , [t| forall a. (a :: ()) |] , [t| forall a. (a :: (* -> Bool) -> ((*, * -> *) -> Bool)) |] ] reportWarning (pprint tys) return [])