Type scheme
= Type scheme
{title2=$\forall\alpha.\tau$}
A <type scheme> binds <type variables> that may be instantiated independently at different uses. The <identity function> has <type scheme> $\forall\alpha.\alpha\to\alpha$: choose one type per use, then use that same choice on both sides of its <function type>. A free <type variable> shared with the <typing context> is not automatically such an independently selectable parameter.