timsort
pub fn try_sort_by<T, E, C: Fn(&T, &T) -> Result<Ordering, E>>( list: &mut [T], c: C) -> Result<(), E>