<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Just added a section of motivating examples to the Either proposal.  Ping me if you have any more that I missed (&#39;cause I&#39;m sure I did miss a lot).<br>
<br>
<a href="https://github.com/typelift/swift-evolution/blob/either-or/proposals/0024-either.md#motivating-examples" rel="noreferrer" target="_blank">https://github.com/typelift/swift-evolution/blob/either-or/proposals/0024-either.md#motivating-examples</a><br>
<br></blockquote><div><br></div>Your motivating examples (including all the projects you linked except &quot;Any many more&quot;) overwhelmingly use the Either (or similar type) to represent success/failure. I&#39;m not sure there&#39;s a single example where the names Left and Right actually make sense in the problem domain. I&#39;m not 100% sure about func alternate in Madness/Alternation.swift. It definitely uses Left/Right to mean Failure/Result, but I couldn&#39;t tell if it also uses them as something else. Which makes those names all the more maddening.<div><br></div><div>I checked my company&#39;s largest Scala project, which is over 300,000 lines. We use Scala&#39;s Try/Success/Failure in dozens of places. We use Either/Left/Right once, in a thrown-together report-generating script, which would probably have been written in awk or perl if it didn&#39;t need to read binary log files. (The ability of IntelliJ to reliably find all uses of a class or method is not to be underestimated. Hint hint, team Xcode.)</div><div><br></div><div>I think a Result/Success/Failure type is warranted, but I&#39;m very skeptical about generic Either/Left/Right.</div><div><br></div></div></div></div>