data Test a = forall b. Test (a -> b) data Test2 a where Test2 :: Test a -> Test2 a data Test3 a where Test3 :: (forall b. (a -> b)) -> Test3 a test2 :: Test2 a test2 = Test2 (Test id) test3 :: Test3 a test3 = Test3 id