Everyone knows sorting algorithms like bubble sort, insertion sort, selection sort, and quicksort. Maybe some already have an intuition that insertion and selection sort are closely related. This talk will dig into the details of folds and calculating with types. This sort of categorical, algebraic approach lets us think about algorithms and their specifications in a whole new light. In so doing, we will distill these sorts down to their essence, appreciating the duality that appears and specifying the mechanisms by which these different algorithms relate to one another.