  For many years, GHC has implemented an extension to Haskell that allows type
variables to be bound in type signatures and patterns, and to scope over terms.
This extension was never properly specified. We rectify that oversight here.
With the formal specification in hand, the otherwise-labyrinthine path toward a
design for binding type variables in patterns becomes blindingly clear. We thus
extend ScopedTypeVariables to bind type variables explicitly, obviating the
Proxy workaround to the dustbin of history.
