{-# LANGUAGE StandaloneKindSignatures #-}

type T :: (k -> Type)
       -> k
       -> Type

data T m a = MkT (m a) (T Maybe (m a))

type C1 :: Type -> Constraint
class C1 a

type F :: Type -> Type
type family F

type G :: Type

type G = a
