testsuite: Assert that testsuite ways are known
[ghc.git] / testsuite / tests / typecheck / should_compile / T12427b.hs
1 {-# LANGUAGE GADTs, RankNTypes #-}
2
3 module T12427b where
4
5 newtype Acquire a = Acquire {unAcquire :: (forall b. b -> b) -> IO a}
6
7 instance Functor Acquire where
8 fmap = undefined
9
10 instance Applicative Acquire where
11 pure = undefined
12 (<*>) = undefined
13
14 instance Monad Acquire where
15 Acquire f >>= g' = Acquire $ \restore -> do
16 x <- f restore
17 let Acquire g = g' x
18 -- let g = unAcquire (g' x)
19 g restore
20