<div dir="ltr">For those of you unfamiliar with 'Foldable1', it is a typeclass for nonempty foldable structures, that centres around Semigroup instead of Monoid.<div>I have made a differential on Phabricator for the change here: <a href="https://phabricator.haskell.org/D4812">https://phabricator.haskell.org/D4812</a></div><div><br></div><div>Some discussion at the following links also:</div><div><br></div><div><p style="margin:0px 0px 12px;padding:0px;border:0px;color:rgb(0,0,0);font-family:"Segoe UI","Segoe UI Emoji","Segoe UI Symbol",Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;text-align:left;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><a href="https://ghc.haskell.org/trac/ghc/ticket/13573" class="gmail-remarkup-link" target="_blank" rel="noreferrer" style="text-decoration:none;color:rgb(19,108,178);margin-top:0px">https://ghc.haskell.org/trac/ghc/ticket/13573</a></p><p style="margin:0px 0px 12px;padding:0px;border:0px;color:rgb(0,0,0);font-family:"Segoe UI","Segoe UI Emoji","Segoe UI Symbol",Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;text-align:left;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><a href="https://www.reddit.com/r/haskell/comments/8p531d/ann_safefoldable_safe_wrappers_for_nullpartial/" class="gmail-remarkup-link" target="_blank" rel="noreferrer" style="text-decoration:none;color:rgb(19,108,178);margin-top:0px">https://www.reddit.com/r/haskell/comments/8p531d/ann_safefoldable_safe_wrappers_for_nullpartial/</a></p><p style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0);font-family:"Segoe UI","Segoe UI Emoji","Segoe UI Symbol",Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;text-align:left;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><a href="https://github.com/ekmett/semigroupoids/issues/49" class="gmail-remarkup-link" target="_blank" rel="noreferrer" style="text-decoration:none;color:rgb(19,108,178);margin-top:0px">https://github.com/ekmett/semigroupoids/issues/49</a></p><br></div><div>Note: foldl1 and foldr1 are currently typeclass methods of 'Foldable' and not 'Foldable1', and even though I think they should be, they probably (and shouldn't) be removed in this change, though I hope that eventually they can be moved to Foldable1.</div><div><br></div><div>Foldable1 is also unfortunately named due to the suffix '1' being connotated with the conventions surrounded Data.Functor.Classes (Show1, Eq1, etc.). If this naming is seen as sufficiently unfortunate/confusing because of that, then perhaps the name should be changed to something like 'SemiFoldable'. The name change would most likely have to be made in 'semigroupoids' first if that is the case.</div></div>