This functor is similar to the
Reins.AVLSet.PolySet module above,
except it allows the user to specify the maximum difference
between the heights of two subtrees at a node with
HeightDiff.v.
The choice of this value affects the amount of effort spent
rebalancing the tree after it has been modified in exchange for
the cost of locating a particular element in the tree. The
modules
Reins.AVLSet.PolySet1,
Reins.AVLSet.PolySet2, and
Reins.AVLSet.PolySet3 below instantiate this functor with the values
1, 2, and 3 respectively. Those modules are also defined in the
same compilation unit as the implementation code, so the value of
HeightDiff.v is inlined, increasing performance.