<div dir="ltr">It is a minor annoyance, not a -1. The <font face="monospace, monospace">fromLeft</font> and <font face="monospace, monospace">fromRight</font> there got merged in from another package when we started consolidating. <div><br></div><div>I've never really given them conscious thought, but on the plus side, I'd get to just re-export the combinators from base in Data.Either.Combinators avoiding conflicts.<div><br></div><div>I'm a weak +1 on adding the total versions that Wren espoused above.</div><div><br></div><div>-Edward</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 30, 2016 at 3:29 AM, lennart spitzner <span dir="ltr"><<a href="mailto:lsp@informatik.uni-kiel.de" target="_blank">lsp@informatik.uni-kiel.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 30/05/16 03:40, Edward Kmett wrote:<br>
> The main annoyance with the total versions is that the existing fromJust<br>
> has the wrong convention.<br>
><br>
> Oh well. Consistency is overrated.<br>
<br>
</span>So you don't mind the breaking change in the `either` package?<br>
<br>
For the lazy; `either` defines:<br>
<br>
> Data.Either.Combinators.fromLeft  :: a -> Either a b -> a<br>
> Data.Either.Combinators.fromLeft' :: Either a b -> a<br>
(~Right similarly)<br>
<br>
Also, packages `MissingH` and `extra` define the consistent<br>
<br>
> fromLeft :: Either a b -> a<br>
<br>
(don't know if user numbers of those count as significant in any way.)<br>
<br>
-1 on both partial and inconsistent total<br>
</blockquote></div><br></div>