§4.10.(a) Fresh type parameter

If a callin method declares a type parameter <T> for capturing a covariant return type this type T can be used for specifying the type of exactly one parameter or the return type. If a type parameter is used in more than one position of a callin method it is not considered a fresh type parameter and can thus not be bound to a covariant return type (see §4.10.(d)).