blob: 825b12aece8b2d31b906fa4bf520dd348952a648 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
{-# LANGUAGE GADTSyntax, StandaloneKindSignatures, NoDataKinds #-}
module T20873 where
import Data.Kind ( Type )
type U a = Type
type V a = a
type MyMaybe1 :: U Type -> U Type
data MyMaybe1 a = MyJust1 a | MyNothing1
type MyMaybe2 :: V Type -> V Type
data MyMaybe2 a = MyJust2 a | MyNothing2
data MyMaybe3 (a :: U Type) :: U Type where
MyJust3 :: a -> MyMaybe3 a
MyNothing3 :: MyMaybe3 a
data MyMaybe4 (a :: V Type) :: V Type where
MyJust4 :: a -> MyMaybe4 a
MyNothing4 :: MyMaybe4 a
|