pub fn compare_fn_nan_min<T>(a: &T, b: &T) -> Orderingwhere T: PartialOrd + IsFloat,
NaN will be smaller than every valid value