QuickSort refactoring: use binding instead of self