# LANGUAGE UndecidableInstances , TypeFamilies #

module SynTyFamNestedTyFun where

import Definitions hiding (CT)

type Syn1 a = T1 (T1 a)
type Syn2 a = CT (CT a)

* UndecidableInstances , TypeFamilies *

type family CT a where
  CT [[a]] = Syn2 a
* UndecidableInstances , UndecidableInstances , TypeFamilies *

instance C [a] where
* UndecidableInstances , TypeFamilies *

# LANGUAGE UndecidableInstances , TypeFamilies #

module SynTyFamNestedTyFun where

import Definitions hiding (CT)

type Syn1 a = T1 (T1 a)
type Syn2 a = CT (CT a)

* UndecidableInstances , TypeFamilies *

type family CT a where
  CT [[a]] = Syn2 a
* UndecidableInstances , UndecidableInstances , TypeFamilies *

instance C [a] where
* UndecidableInstances , TypeFamilies *
