summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/tc097.hs
blob: 4ec2a17395e2d1500112f9acb76c93c5af2bb017 (plain)
1
2
3
4
5
6
7
8
9
{-# LANGUAGE RankNTypes #-}
-- !!! 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