<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jan 26, 2016 at 12:13 AM, Craig Cruden via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><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"><div style="word-wrap:break-word">I don’t agree that `Result` as a name is any more intuitive than `Either` (a disjointed union).  The end result of any function is a `resulting` value regardless of what type it is.</div></blockquote><div><br></div><div>That&#39;s true. Outcome might be a better name than Result. Scala calls it Try.</div><div><br></div><div>Anyway, Success and Failure have clear, relevant meanings. Left and Right have no relevant meaning in most uses of Either. The overwhelming majority of the motivating examples in the proposal use a type named Result/Success/Failure type, or use Either/Left/Right to mean Result/Success/Failure (or Result/Failure/Success). The one example I found (in Madness) where the names Left and Right are meaningful **also** confusingly uses the Either type as a Result type in the same statements. For example:</div><div><br></div><div><div><span class="" style="white-space:pre">                        </span>return .Right(.Right(tree), sourcePos)</div></div><div><br></div><div>The outer Right means Success; the inner Right means the right-hand branch of an alternation operator (I think). So in the one example I could find (from the proposal) where the names Left and Right are relevant, the code would be clearer if it also used a separate Result/Success/Failure type.</div><div><br></div></div></div></div>