blob: 44dc2ee18d5e05612939fc2a21bfd9b89801ff98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{-# Language DataKinds, PolyKinds, TypeFamilies, TypeOperators, AllowAmbiguousTypes #-}
module T14520 where
import Data.Kind
type a ~>> b = (a, b) -> Type
data family Sing (a::k)
type family XXX (f::a~>>b) (x::a) :: b
type family Id :: (kat :: a ~>> (a ~>> Type)) `XXX` (b :: a) `XXX` b
sId :: Sing w -> Sing (Id :: bat w w)
sId = sId
|