Contravariant type parameter (source code)

= Contravariant type parameter
{title2=$S<:T\implies F[T]<:F[S]$}

A parameter position for which $S<:T$ implies $F[T]<:F[S]$. In <Scala>, it is annotated `-`. A consumer capable of accepting every broad-type value can safely serve a context that supplies only narrower values. Returning a value of that parameter type would generally break this guarantee.