1 -- !!! Local universal quantification.
2 module ShouldSucceed where
4 import PrelGHC -- to get at All
6 data Monad2 m = MkMonad2 (forall a. a -> m a)
7 (forall a b. m a -> (a -> m b) -> m b)
9 halfListMonad :: (forall a b. [a] -> (a -> [b]) -> [b]) -> Monad2 []
10 halfListMonad b = MkMonad2 (\x -> [x]) b