<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>On Wed, Nov 8, 2017, at 09:29 PM, Paul Cantrell via swift-evolution wrote:<br></div>
<blockquote type="cite"><div style="word-wrap:break-word;line-break:after-white-space;"><div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-stretch:normal;line-height:normal;background-color:rgb(255, 255, 255);"><div>The problem in the Doodads example is that <b>the name&nbsp;<span class="colour" style="color:rgb(88, 126, 168)"><span class="font" style="font-family:Menlo"><span class="size" style="font-size:11px">flatMap</span></span></span>&nbsp;is used to identify two distinct intents</b>: concatenating arrays and filtering nils. One can argue that those two operations are, in some lofty abstract sense, if you squint, two instances of some more general pattern — but I don’t think it’s fair to say that they represent the same <i>intent</i>. These separate intents deserve separate names.<br></div>
</div>
</div>
</div>
</blockquote><div><br></div>
<div>They absolutely represent the same intent if you think of an optional as a collection of zero or one elements.</div>
<div><br></div>
<div>-Kevin Ballard</div>
</body>
</html>