One solution is TypeInType, that is the type of a type is another type (not kind or something else). That's where Haskell is going with the work of adding Dependent Types to the language.
The problem with TypeInType is that it is logically inconsistent - it leads to Girard's paradox, analog to Russel's paradox in set theory.
The correct solution is type universes where every type lives in some type universe indexed by a natural number. For example terms are of type 'Type 1', 'Type 1' types are of type 'Type 2' and so on. The usual 'Type' is then just the first universe level 'Type 1' and 'Kind' is 'Type 2'.
Type universes is what most proof assistants employ, e.g. Agda, Coq, Lean. Idris uses TypeInType which is easier to use and there's no need to massage your program until all type universes type check but is logically inconsistent so one has to be careful to not reproduce Girard's paradox in some form or another.
It goes even further: types-of-kinds are called "sorts", though in Haskell there's only one possible sort of kind.
There are only two hard problems in computer science, after all.
Including off-by-one errors, there are four.
(Computability?)
But I do like "Computability and naming things" better.
In my experience, in computer science, "kind" is generally used in an informal way, whereas "type" is used to refer to the technical concept of type in type systems.
If Haskell gives a precise meaning to "kind", I'm going to have be careful which word I use to refer to the informal concept.
As I said, type theorists say things like "Type systems let us reify what kind of data we are dealing with".
Objective-C was modelled on Smalltalk.
Type theorists say things like "Type systems let us reify what kind of data we are dealing with".
It's a bit like when Java took the fuzzy term 'interface' and made it a concrete technical concept, or when Apple added closures to Objective-C and called them 'blocks', which was previously a fuzzy term.
Will we have to start using another word to refer to the fuzzier concept, if not 'kind'? 'Sort' is already taken. 'Category' is already taken. Perhaps the 'nature' of the data?