Generics don't mean "any type", they mean "type argument". As such, you can say "only type arguments that implement X" or similar.