{-# LANGUAGE TemplateHaskell, RankNTypes #-} {-# OPTIONS_GHC -F -pgmFtrhsx #-} import Language.Haskell.TH data PageFunction m a = PF main = let a = mkName "a" in runQ [t| forall m. PageFunction m $(conT (mkName "a")) |] >>= print