impl<A> Sum<A> for A where A: Default + Add<A, Output = A>?

I don’t think specialization is necessary, and if it’s not necessary it should obviously be avoided. It seems to be a common idea around language-design discussion to quickly jump to the idea “maybe specialization helps” in all kinds of situations.

I’ve somewhat recently partially written down an idea that can help here too, originally posted to address a different point where I saw someone suggesting specialization as a solution to a problem where I didn’t think that specialization is appropriate. It didn’t get feedback where I posted it (probably because it was semi-off-topic) and I intend to eventually do some better explanation / make a more proper proposal elsewhere. Nonetheless feel free to take a look: zulip / archive (no login required).