Remove the type-checking knot.
[ghc.git] / testsuite / tests / polykinds / T6036.hs
1 {-# LANGUAGE DataKinds, TypeFamilies, PolyKinds, GADTs #-}
2
3 module T6036 where
4
5 data family Sing (a :: k)
6
7 data instance Sing (a :: Maybe k) where
8 SNothing :: Sing 'Nothing
9 SJust :: Sing b -> Sing ('Just b)
10
11 data Nat = Zero | Succ Nat
12
13 data instance Sing (a :: Nat) where
14 SZero :: Sing Zero
15 SSucc :: Sing n -> Sing (Succ n)
16
17 term = SJust SZero