Switch out? to from-typed? as it has the same meaning.
Allow requiring functions with filters in contravariant positions.
Make type->contract correctly respect variance.

Track whether we are protecting values from the typed side and/or the
untyped side.

Closes PR 13662.
Closes PR 13663.
Closes PR 13665.