blob: e7536eaaaaa7ca40415701f5c5c874818f6f9d34 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{-# LANGUAGE DataKinds, KindSignatures, TypeFamilies #-}
module T21289 where
type family F (a :: Bool)
type instance F True = Int
type instance F False = Int
type family G (a :: Bool)
type instance G True = Int
type instance G False = Bool
data Rec a = MkR { konst :: F a
, change :: G a }
ch :: Rec True -> Rec False
ch r = r { change = False }
|