If you say "T is a subtype of U", that means that whenever someone wants a U, a T will do: every T works as a U. It follows from this phrasing that U is a subtype of U: certainly if someone wants a U, a U will do.
So if you imagine a type as denoting a set of values, you can write: T ⊆ U.
If every T works as a U, then a function that accepts any U is certainly also a function that accepts any T:
fn(U)
works as a fn(T)
.
So fn(U)
is a subtype of fn(T)
: fn(U)
⊆ fn(T)
.
This is interesting, because the subtypedness gets reversed: T ⊆ U implies fn(U)
⊆ fn(T)
.