pub(super) fn product<PI, P>(pi: PI) -> Pwhere PI: ParallelIterator, P: Send + Product<PI::Item> + Product,