From the Generics Manifesto:
Currently, a constrained extension cannot use a same-type constraint to make a type parameter equivalent to a concrete type. For example:
This is a highly-requested feature that fits into the existing syntax and semantics. Note that one could imagine introducing new syntax, e.g., extending Array<String>, which gets into new-feature territory: see the section on "Parameterized extensions".