labelsets: factor and check
The relationship between labelsets and gensets is not clear. Sometimes the labelset bounces the function calls to the genset, and sometimes it implements the function although it could have been done in the genset.
Of course this can lead to mismatches, and it probably already does: for instance wordset implements its own compare
(shortlex), but uses the genset's less
which is not length-aware...