promoteKind :: Kind -> SuperKind
-- Promote the kind of a type constructor
-- from (* -> * -> *) to (BOX -> BOX -> BOX)
promoteKind (TyConApp tc [])
  | tc `hasKey` liftedTypeKindTyConKey = superKind
promoteKind :: Kind -> SuperKind
promoteKind (TyConApp tc [])
  | tc `hasKey` liftedTypeKindTyConKey = superKind
promoteKind (TyConApp tc [])
  | tc `hasKey` liftedTypeKindTyConKey = superKind