fn choose_pivot<T, F>(v: &mut [T], is_less: &F) -> (usize, bool)where F: Fn(&T, &T) -> bool,
Chooses a pivot in v and returns the index and true if the slice is likely already sorted.
v
true
Elements in v might be reordered in the process.