<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Even with a closure, at the point of use it would likely be clear that the value is being used as a boolean condition - vs “filter” which returns an array.<div class=""><br class=""></div><div class="">-DW</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 5, 2017, at 4:06 PM, Jarod Long via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">

<title class=""></title>

<div class="">
<div name="messageBodySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;" class="">I don't think an argument label is sufficient to satisfy the first fundamental API design guideline: "Clarity at the point of use is your most important goal."
<div class=""><br class=""></div>
<div class="">The argument label is not visible at the point of use when using trailing closure syntax, so it provides no additional clarity there. Moving the argument label into the base method name solves that problem and I think is a clear case of satisfying the second fundamental guideline: "Clarity is more important than brevity."</div>
</div>
<div name="messageSignatureSection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;" class=""><br class="">
Jarod</div>
</div></div></blockquote></div><br class=""></div></body></html>