blob: 75d4cb3877760716c5435c0da3f656a55cf6a0ea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
{-# LANGUAGE TypeFamilies #-}
module T17772 where
import Data.Kind
import Data.Proxy
class C1 f where
type T1 (x :: f a) :: Type
sT1 :: forall a (x :: f a).
Proxy x -> T1 x
class C2 a where
type T2 a (x :: b) :: Type
sT2 :: forall b (x :: b).
Proxy a -> Proxy x -> T2 a x
class C3 a where
type T3 a :: b -> Type
sT3 :: forall b (x :: b).
Proxy a -> Proxy x -> T3 a x
class C4 a where
type T4 a :: forall b. b -> Type
sT4 :: forall b (x :: b).
Proxy a -> Proxy x -> T4 a x
|