This must be why kinds (types of types) in Haskell are a separate and less powerful thing than ordinary types?
In Lean (and I believe Rocq as well), the Type of Int is Type 0, the type of Type 0 is Type 1, and so on (called universes).
They all come from this restriction.