sort package:non-empty

We need to distinguish between Sort and SortBy, since there is an instance Sort Set but there cannot be an instance SortBy Set.
Default implementation for sort based on sortBy.