summaryrefslogtreecommitdiff
path: root/testsuite/tests/polykinds/T14520.hs
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