blob: e29ee8550423a4b7e0c4d18cab0e8261c8fa2247 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{-# Language RankNTypes, DerivingStrategies, TypeApplications,
ScopedTypeVariables, GADTs, PolyKinds #-}
module T14154 where
newtype Ran g h a
= MkRan (forall b. (a -> g b) -> h b)
newtype Swap p f g a where
MkSwap :: p g f a -> Swap p f g a
ireturn :: forall m i a. a -> m i i a
ireturn = undefined
xs = case ireturn @(Swap Ran) 'a' of
MkSwap (MkRan f) -> f print
|