extract reverse and then_by into Compare module and mixin to other comparers.