{-# 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