Remove the type-checking knot.
[ghc.git] / testsuite / tests / polykinds / T14520.hs
1 {-# Language DataKinds, PolyKinds, TypeFamilies, TypeOperators #-}
2
3 module T14520 where
4
5 import Data.Kind
6
7 type a ~>> b = (a, b) -> Type
8
9 data family Sing (a::k)
10
11 type family XXX (f::a~>>b) (x::a) :: b
12
13 type family Id :: (kat :: a ~>> (a ~>> Type)) `XXX` (b :: a) `XXX` b
14
15 sId :: Sing w -> Sing (Id :: bat w w)
16 sId = sId