L0 :: [T] = '[] L1 :: [T] = '[MkT] L2 :: [T] = [MkT, MkT] Tup0 :: () = '() Tup2 :: (T, T) = '(MkT, MkT) S :: T = MkT I :: And Type T = T :& MkT L0 :: [T] = '[] L1 :: [T] = '[ 'MkT] L2 :: [T] = ['MkT, 'MkT] Tup0 :: () = '() Tup2 :: (T, T) = '( 'MkT, 'MkT) S :: T = 'MkT I :: And Type T = T ':& 'MkT