<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">* Are the current stdlib names for optional <font face="Courier" class="">map</font> and <font face="Courier" class="">flatMap</font> misleading?&nbsp;</div></div></div></blockquote><div><br class=""></div><div>Not so much misleading, as being unfortunate when optionals and collections end up as neighbors in the code.</div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">* Are the current stdlib functions for optional closure application appropriate and sufficient?</div><div class=""><br class=""></div><div class=""><div class=""><span style="font-family: Courier;" class="">public func f1&lt;U&gt;(@noescape f: (Wrapped) throws -&gt; U) rethrows -&gt; U?</span></div></div><div class=""><div class=""><font face="Courier" class="">public func f2&lt;U&gt;(@noescape f: (Wrapped) throws -&gt; U!) rethrows -&gt; U!</font></div></div><div class=""><div class=""><font face="Courier" class="">public func f3&lt;U&gt;(@noescape f: (Wrapped) throws -&gt; U) rethrows -&gt; Void</font></div></div></div></blockquote><div><br class=""></div><div>I don't see why flatMap needs to be separate from map. It just does not make sense. I would only have</div><div><br class=""></div><div>public func f2&lt;U&gt;(@noescape f: (Wrapped) throws -&gt; U?) rethrows -&gt; U?</div><div><br class=""></div><div>and would call it "ifPresent", "then", "unwrap", "transform" or something like that.</div><div><br class=""></div><div>A.</div><div><br class=""></div></div></body></html>