1 2 3 4 5
pub trait Product<A = Self>: Sized { fn product<I>(iter: I) -> Self where I: Iterator<Item = A>; }