Documentation

A ranked unification variable implemented by STRefs. In
addition to the STRef for the term itself, we also track the
variable's ID (to support visited-sets) and rank (to support
weighted path compression).

Run the ST ranked binding monad. N.B., because STRVar are
rank-2 quantified, this guarantees that the return value has no
such references. However, in order to remove the references from
terms, you'll need to explicitly apply the bindings.