new local universal quant test
--- /dev/null
+ghc: module version changed to 1; reason: no old .hi file
+_exports_
+ShouldSucceed main x;
+_declarations_
+1 main _:_ PrelIOBase.IO PrelBase.() ;;
+1 x _:_ PrelBase.Double ;;
--- /dev/null
+--!!! Local universal quantification.
+module ShouldSucceed where
+
+import PrelGHC -- to get at All
+
+data Monad2 m = MkMonad2 (All a => a -> m a)
+ ((All a, All b) => m a -> (a -> m b) -> m b)
+
+halfListMonad :: ((All a, All b) => [a] -> (a -> [b]) -> [b]) -> Monad2 []
+halfListMonad b = MkMonad2 (\x -> [x]) b
--- /dev/null
+ghc: module version changed to 1; reason: no old .hi file
+_exports_
+ShouldSucceed halfListMonad Monad2(MkMonad2);
+_instances_
+instance _forall_ [a :: (* -> *)] => {PrelBase.Eval (Monad2 a)} = $dEvalMonad20;
+_declarations_
+1 $dEvalMonad20 _:_ _forall_ [a :: (* -> *)] => {PrelBase.Eval (Monad2 a)} ;;
+1 data Monad2 m :: (* -> *) = MkMonad2 (_forall_ [a] => a -> m a) (_forall_ [a b] => m a -> (a -> m b) -> m b) ;
+1 halfListMonad _:_ (_forall_ [a b] => [a] -> (a -> [b]) -> [b]) -> Monad2 PrelBase.[] ;;