pub trait FoldableExtSum<A>: Foldable<A> + Sizedwhere A: Add<Output = A> + Monoid,{ fn sum(self) -> A { ... } }