The TypeScript programming language supports generics, a programming construct for creating reusable components, that is, components that
can work over various types rather than a single one. Sometimes, we need to limit this genericity to a specific set of types, typically when we know
these types share common capabilities, e.g., a length
property. To this end, the language provides the extends
clause to
describe type constraints on type parameters, whether for classes, interfaces, type aliases, or functions.
By default, a type parameter extends the any
type. It is therefore redundant to explicitly extend from any
and should be
removed accordingly.