|Portability||semi-portable (Rank2Types, MPTCs,...)|
A ranked variant of Control.Unification.STVar.
A ranked unification variable implemented by
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).
A monad for handling