pub trait Fold: Adjunct {
fn fold<T, F>(self, seed: T, f: F) -> T
where
F: FnMut(T, Self::Item) -> T;
fn sum(self) -> Self::Item
where
Self::Item: Add<Output = Self::Item> + Zero,
{ ... }
fn product(self) -> Self::Item
where
Self::Item: Mul<Output = Self::Item> + One,
{ ... }
fn min_or_undefined(self) -> Self::Item
where
Self::Item: Bounded + IntrinsicOrd,
{ ... }
fn max_or_undefined(self) -> Self::Item
where
Self::Item: Bounded + IntrinsicOrd,
{ ... }
fn any<F>(self, f: F) -> bool
where
F: FnMut(Self::Item) -> bool,
{ ... }
fn all<F>(self, f: F) -> bool
where
F: FnMut(Self::Item) -> bool,
{ ... }
}