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
|