Given a list and a sorting predicate (which returns true if its first argument should be taken to be less-than-or-equal to its second), return a sorted list. Fairly simple shell sort, but seems to work!
Type: list
Sorted list of the elements in the input list.