summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/tc097.hs
blob: a65d529dd398a9f8450a3427589d3ca6c5d9f9c0 (plain)
1
2
3
4
5
6
7
8
9
{-# LANGUAGE Rank2Types #-}
-- !!! Local universal quantification.
module ShouldSucceed where

data Monad2 m = MkMonad2 (forall a. a -> m a)
                         (forall a b.  m a -> (a -> m b) -> m b)

halfListMonad  :: (forall a b. [a] -> (a -> [b]) -> [b]) -> Monad2 []
halfListMonad b = MkMonad2 (\x -> [x]) b