Could do, I suppose the compare function only needs to return >0, <0 or 0, I was just trying to stick to returning -1, 0 or 1.
The param count is the lowest differentiating factor - I wouldn't want it to have a heigher weighting than different `q`s for example.