fn cmp_with_opts<T: Ord>( a: &Option<T>, b: &Option<T>, opt: &Option<SortOptions>, ) -> Ordering
Compare with options, note None is considered as NULL here
default to null first