pub(super) fn try_reduce_with<PI, R, T>(pi: PI, reduce_op: R) -> Option<T>where PI: ParallelIterator<Item = T>, R: Fn(T::Output, T::Output) -> T + Sync, T: Try + Send,