{-# LANGUAGE GADTs, PolyKinds, TemplateHaskell, RankNTypes #-}
module T13642 where

import Data.Kind (Type)
import Language.Haskell.TH (stringE, pprint)

foo :: IO ()
foo = putStrLn $([d| data Foo :: forall a. a -> Type where MkFoo :: Foo Int |]
                 >>= \d -> stringE (pprint d))
