I am thinking that since we have osum and oproduct that work on mono-traversable types, I think the sum and product exported from ClassyPrelude should work on Foldable types -- as in, rather than being aliases for osum and oproduct, they should overwrite the non-strict sum and product implementations in Data.Foldable with strict versions. I feel this would make things more consistent with the re-exported Foldable module.
I am thinking that since we have
osum
andoproduct
that work on mono-traversable types, I think thesum
andproduct
exported from ClassyPrelude should work on Foldable types -- as in, rather than being aliases forosum
andoproduct
, they should overwrite the non-strict sum and product implementations in Data.Foldable with strict versions. I feel this would make things more consistent with the re-exported Foldable module.