<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:0px 0px 1.2em!important">From a clarity at point of use point of view <code style="font-size:1em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">areAll</code> is the best suggestion so far. Even when other variables or methods aren’t named very well, it suggests both the plural nature of the thing being operating on, and the boolean nature of the return value, for example:</p>
<pre style="font-size:1em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:1em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important">yourBase.areAll { $0.belong(to: us) }
</code></pre><p style="margin:0px 0px 1.2em!important">It also tips the hat to <code style="font-size:1em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">all</code> but without the confusing filter-like expectations.</p>
<div title="MDH:PGRpdj48YnI+PC9kaXY+PGRpdj5Gcm9tIGEgY2xhcml0eSBhdCBwb2ludCBvZiB1c2UgcG9pbnQg
b2YgdmlldyBgYXJlQWxsYCBpcyB0aGUgYmVzdCBzdWdnZXN0aW9uIHNvIGZhci4gRXZlbiB3aGVu
IG90aGVyIHZhcmlhYmxlcyBvciBtZXRob2RzIGFyZW4ndCBuYW1lZCB2ZXJ5IHdlbGwsIGl0IHN1
Z2dlc3RzIGJvdGggdGhlIHBsdXJhbCBuYXR1cmUgb2YgdGhlIHRoaW5nIGJlaW5nIG9wZXJhdGlu
ZyBvbiwgYW5kIHRoZSBib29sZWFuIG5hdHVyZSBvZiB0aGUgcmV0dXJuIHZhbHVlLCBmb3IgZXhh
bXBsZTo8YnI+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7IHlvdXJCYXNlLmFyZUFs
bCB7ICQwLmJlbG9uZyh0bzogdXMpIH08YnI+PGJyPjwvZGl2PjxkaXY+SXQgYWxzbyB0aXBzIHRo
ZSBoYXQgdG8gYGFsbGAgYnV0IHdpdGhvdXQgdGhlIGNvbmZ1c2luZyBmaWx0ZXItbGlrZSBleHBl
Y3RhdGlvbnMuPGJyPjxicj48L2Rpdj4=" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 5 Apr 2017 at 23:45 Jonathan Hull via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg">On that note: ‘containsOnly&#39; is still my favorite by a wide margin.  I know it is longer than ‘all’, but it’s behavior is much clearer (especially for those of us who have never used or heard of ‘all’ in other languages), and it’s relationship with ‘contains’ is also very clear.<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Thanks,</div><div class="gmail_msg">Jon</div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Apr 5, 2017, at 3:06 PM, Jarod Long via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_2885451996136679044Apple-interchange-newline gmail_msg"><div class="gmail_msg">



<div class="gmail_msg">
<div name="messageBodySection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif" class="gmail_msg">I don&#39;t think an argument label is sufficient to satisfy the first fundamental API design guideline: &quot;Clarity at the point of use is your most important goal.&quot;
<div class="gmail_msg"><br class="gmail_msg"></div>
<div class="gmail_msg">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: &quot;Clarity is more important than brevity.&quot;</div>
</div>
<div name="messageSignatureSection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif" class="gmail_msg"><br class="gmail_msg">
Jarod</div>
<div name="messageReplySection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif" class="gmail_msg"><br class="gmail_msg">
On Apr 5, 2017, 14:51 -0700, Kevin Nattinger via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt;, wrote:<br class="gmail_msg">
<blockquote type="cite" style="margin:5px 5px;padding-left:10px;border-left:thin solid #1abc9c" class="gmail_msg">I definitely think we should stick with `all` and an appropriate argument label. It’s a term of art and the label makes it perfectly clear what to expect.
<div class="gmail_msg">That said, `all(match)` and `all(equal)` sound to me like they expect an object to compare each against (func all(equal needle: Element))</div>
<div class="gmail_msg">I suggest something like `all(pass:)`. <br class="gmail_msg">
<div class="gmail_msg"><br class="gmail_msg">
<div class="gmail_msg">
<blockquote type="cite" style="margin:5px 5px;padding-left:10px;border-left:thin solid #e67e22" class="gmail_msg">
<div class="gmail_msg">On Apr 5, 2017, at 4:34 PM, Brandon Trussell via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div>
<br class="m_2885451996136679044Apple-interchange-newline gmail_msg">
<div class="gmail_msg">
<div dir="ltr" class="gmail_msg">I retract my gripes on the original names also.  The argument labels make the intent of the method clear. </div>
<div class="gmail_extra gmail_msg"><br class="gmail_msg">
<div class="gmail_quote gmail_msg">On Wed, Apr 5, 2017 at 11:23 AM, Thorsten Seitz via swift-evolution <span dir="ltr" class="gmail_msg">&lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br class="gmail_msg">
<blockquote class="gmail_quote gmail_msg" style="margin:5px 5px;padding-left:10px;border-left:thin solid #3498db">
<div dir="auto" class="gmail_msg">
<div class="gmail_msg"></div>
<div class="gmail_msg">+1</div>
<div class="gmail_msg">
<div class="m_2885451996136679044h5 gmail_msg">
<div class="gmail_msg"><br class="gmail_msg">
Am 03.04.2017 um 10:29 schrieb Daniel Duan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt;:<br class="gmail_msg">
<br class="gmail_msg"></div>
<div class="gmail_msg"></div>
<blockquote type="cite" style="margin:5px 5px;padding-left:10px;border-left:thin solid #d35400" class="gmail_msg">
<div class="gmail_msg">I want to retract my nitpickings on argument labels; `all(equal:)` and `all(match:)` are the best names for these methods.
<div class="gmail_msg"><br class="gmail_msg"></div>
<div class="gmail_msg">things all match condition?</div>
<div class="gmail_msg">things all equal value?</div>
<div class="gmail_msg"><br class="gmail_msg"></div>
<div class="gmail_msg">If we accept `all` as a term of art (which I think we should), along with these labels the use site are very readable!</div>
<div class="gmail_msg">
<div class="gmail_msg"><br class="gmail_msg">
<div class="gmail_msg">
<div class="gmail_msg">
<blockquote type="cite" style="margin:5px 5px;padding-left:10px;border-left:thin solid #34495e" class="gmail_msg">
<div class="gmail_msg">On Mar 31, 2017, at 6:38 PM, Daniel Duan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div>
<br class="m_2885451996136679044m_4427662979913071189Apple-interchange-newline gmail_msg">
<div class="gmail_msg">
<div style="word-wrap:break-word" class="gmail_msg">nit: should these names be `all(matching)`/`all(equalTo)` per API Design Guidelines?<br class="gmail_msg">
<div class="gmail_msg">
<blockquote type="cite" style="margin:5px 5px;padding-left:10px;border-left:thin solid #2ecc71" class="gmail_msg">
<div class="gmail_msg">On Mar 31, 2017, at 8:28 AM, Ben Cohen via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div>
<br class="m_2885451996136679044m_4427662979913071189Apple-interchange-newline gmail_msg">
<div class="gmail_msg">
<div style="word-wrap:break-word;line-break:after-white-space" class="gmail_msg">Hi,
<div class="gmail_msg"><br class="gmail_msg"></div>
<div class="gmail_msg">A short proposal for you as part of the algorithms theme. Hopefully non-controversial, aside from the naming of the method and arguments, about which controversy abounds. Online copy here: <a href="https://github.com/airspeedswift/swift-evolution/blob/9a778e904c9be8a3692edd19bb757b23c54aacbe/proposals/0162-all-algorithm.md" class="gmail_msg" target="_blank">https://github.com/airspeedswift/swift-evolution/blob/9a778e904c9be8a3692edd19bb757b23c54aacbe/proposals/0162-all-algorithm.md</a></div>
<div class="gmail_msg"><br class="gmail_msg"></div>
<div class="gmail_msg"><br class="gmail_msg"></div>
<div class="gmail_msg">
<h1 id="m_2885451996136679044m_4427662979913071189add-an--code-all--code--algorithm-to--code-sequence--code-" style="box-sizing:border-box;font-size:2.25em;margin-right:0px;margin-bottom:16px;margin-left:0px;line-height:1.2;color:rgb(51,51,51);padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);font-family:helvetica,arial,freesans,clean,sans-serif;background-color:rgb(255,255,255);margin-top:0px!important" class="gmail_msg">Add an <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:24.479999542236328px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">all</code> algorithm to <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:24.479999542236328px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">Sequence</code></h1>
<ul style="box-sizing:border-box;padding:0px 0px 0px 2em;margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:helvetica,arial,freesans,clean,sans-serif;font-size:12.799999237060547px;background-color:rgb(255,255,255)" class="gmail_msg">
<li style="box-sizing:border-box" class="gmail_msg">Proposal: <a style="box-sizing:border-box;background-color:transparent;color:rgb(65,131,196);text-decoration:none" class="gmail_msg">SE-NNNN</a></li>
<li style="box-sizing:border-box" class="gmail_msg">Authors: <a href="https://github.com/airspeedswift" style="box-sizing:border-box;background-color:transparent;color:rgb(65,131,196);text-decoration:none" class="gmail_msg" target="_blank">Ben Cohen</a></li>
<li style="box-sizing:border-box" class="gmail_msg">Review Manager: TBD</li>
<li style="box-sizing:border-box" class="gmail_msg">Status: <strong style="box-sizing:border-box" class="gmail_msg">Awaiting review</strong></li>
</ul>
<h2 id="m_2885451996136679044m_4427662979913071189introduction" style="box-sizing:border-box;margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;color:rgb(51,51,51);padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);font-family:helvetica,arial,freesans,clean,sans-serif;background-color:rgb(255,255,255)" class="gmail_msg">Introduction</h2><p style="box-sizing:border-box;margin:0px 0px 16px;color:rgb(51,51,51);font-family:helvetica,arial,freesans,clean,sans-serif;font-size:12.799999237060547px;background-color:rgb(255,255,255)" class="gmail_msg">It is common to want to confirm that every element of a sequence equals a value, or matches a certain criteria. Many implementations of this can be found in use on github. This proposal adds such a method to <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">Sequence</code>.</p>
<h2 id="m_2885451996136679044m_4427662979913071189motivation" style="box-sizing:border-box;margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;color:rgb(51,51,51);padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);font-family:helvetica,arial,freesans,clean,sans-serif;background-color:rgb(255,255,255)" class="gmail_msg">Motivation</h2><p style="box-sizing:border-box;margin:0px 0px 16px;color:rgb(51,51,51);font-family:helvetica,arial,freesans,clean,sans-serif;font-size:12.799999237060547px;background-color:rgb(255,255,255)" class="gmail_msg">You can achieve this in Swift 3 with <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">contains</code> by negating both the criteria and the result:</p>
<pre style="box-sizing:border-box;overflow:auto;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;margin-top:0px;margin-bottom:16px;font-stretch:normal;line-height:1.45;padding:16px;background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal;color:rgb(51,51,51);height:103px" class="gmail_msg"><code class="m_2885451996136679044m_4427662979913071189swift m_2885451996136679044m_4427662979913071189hljs gmail_msg" style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;padding:0.5em;margin:0px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:0px;display:block;overflow-x:auto;line-height:inherit;word-wrap:normal;height:auto"><span class="m_2885451996136679044m_4427662979913071189hljs-comment gmail_msg" style="box-sizing:border-box;color:rgb(153,153,136);font-style:italic">// every element is 9</span>
!nums.<span class="m_2885451996136679044m_4427662979913071189hljs-built_in gmail_msg" style="box-sizing:border-box;color:rgb(0,134,179)">contains</span> { $<span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">0</span> != <span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">9</span> }
<span class="m_2885451996136679044m_4427662979913071189hljs-comment gmail_msg" style="box-sizing:border-box;color:rgb(153,153,136);font-style:italic">// every element is odd</span>
!nums.<span class="m_2885451996136679044m_4427662979913071189hljs-built_in gmail_msg" style="box-sizing:border-box;color:rgb(0,134,179)">contains</span> { !isOdd($<span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">0</span>) }</code>
</pre><p style="box-sizing:border-box;margin:0px 0px 16px;color:rgb(51,51,51);font-family:helvetica,arial,freesans,clean,sans-serif;font-size:12.799999237060547px;background-color:rgb(255,255,255)" class="gmail_msg">but these are a readability nightmare. Additionally, developers may not make the leap to realize <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">contains</code> can be used this way, so may hand-roll their own <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">for</code> loop, which could be buggy<ins id="m_2885451996136679044m_4427662979913071189firstdiff" style="box-sizing:border-box;display:inline-block;text-decoration:none!important;border:none!important;background-image:none!important;background-position:initial initial!important;background-repeat:initial initial!important" class="gmail_msg"></ins>, or compose other inefficient alternatives:</p>
<pre style="box-sizing:border-box;overflow:auto;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;margin-top:0px;margin-bottom:16px;font-stretch:normal;line-height:1.45;padding:16px;background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal;color:rgb(51,51,51);height:103px" class="gmail_msg"><code class="m_2885451996136679044m_4427662979913071189swift m_2885451996136679044m_4427662979913071189hljs gmail_msg" style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;padding:0.5em;margin:0px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:0px;display:block;overflow-x:auto;line-height:inherit;word-wrap:normal;height:auto"><span class="m_2885451996136679044m_4427662979913071189hljs-comment gmail_msg" style="box-sizing:border-box;color:rgb(153,153,136);font-style:italic">// misses opportunity to bail early</span>
nums.<span class="m_2885451996136679044m_4427662979913071189hljs-built_in gmail_msg" style="box-sizing:border-box;color:rgb(0,134,179)">reduce</span>(<span class="m_2885451996136679044m_4427662979913071189hljs-literal gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">true</span>) { $<span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">0.0</span> &amp;&amp; $<span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">0.1</span> == <span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">9</span> }
<span class="m_2885451996136679044m_4427662979913071189hljs-comment gmail_msg" style="box-sizing:border-box;color:rgb(153,153,136);font-style:italic">// the most straw-man travesty I could think of...</span>
<span class="m_2885451996136679044m_4427662979913071189hljs-type gmail_msg" style="box-sizing:border-box;color:rgb(68,85,136);font-weight:bold">Set</span>(nums).<span class="m_2885451996136679044m_4427662979913071189hljs-built_in gmail_msg" style="box-sizing:border-box;color:rgb(0,134,179)">count</span> == <span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">1</span> &amp;&amp; <span class="m_2885451996136679044m_4427662979913071189hljs-type gmail_msg" style="box-sizing:border-box;color:rgb(68,85,136);font-weight:bold">Set</span>(nums).first == <span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">9</span></code>
</pre>
<h2 id="m_2885451996136679044m_4427662979913071189proposed-solution" style="box-sizing:border-box;margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;color:rgb(51,51,51);padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);font-family:helvetica,arial,freesans,clean,sans-serif;background-color:rgb(255,255,255)" class="gmail_msg">Proposed solution</h2><p style="box-sizing:border-box;margin:0px 0px 16px;color:rgb(51,51,51);font-family:helvetica,arial,freesans,clean,sans-serif;font-size:12.799999237060547px;background-color:rgb(255,255,255)" class="gmail_msg">Introduce two algorithms on <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">Sequence</code> which test every element and return <code style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;padding:0.2em 0px;margin:0px;background-color:rgba(0,0,0,0.0392157);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" class="gmail_msg">true</code> if they match:</p>
<pre style="box-sizing:border-box;overflow:auto;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:10.880000114440918px;margin-top:0px;margin-bottom:16px;font-stretch:normal;line-height:1.45;padding:16px;background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal;color:rgb(51,51,51);height:73px" class="gmail_msg"><code class="m_2885451996136679044m_4427662979913071189swift m_2885451996136679044m_4427662979913071189hljs gmail_msg" style="box-sizing:border-box;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;padding:0.5em;margin:0px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:0px;display:block;overflow-x:auto;line-height:inherit;word-wrap:normal;height:auto">nums.all(<span class="m_2885451996136679044m_4427662979913071189hljs-built_in gmail_msg" style="box-sizing:border-box;color:rgb(0,134,179)">equal</span>: <span class="m_2885451996136679044m_4427662979913071189hljs-number gmail_msg" style="box-sizing:border-box;color:rgb(0,128,128)">9</span>)
nums.all(match: isOdd)</code>
</pre>
<h2 id="m_2885451996136679044m_4427662979913071189detailed-design" style="box-sizing:border-box;margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;color:rgb(51,51,51);padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);font-family:helvetica,arial,freesans,clean,sans-serif;background-color:rgb(255,255,255)" class="gmail_msg">Detailed design</h2>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
<blockquote type="cite" style="margin:5px 5px;padding-left:10px;border-left:thin solid #d35400" class="gmail_msg">
<div class="gmail_msg"><span class="gmail_msg">_______________________________________________</span><span class="gmail_msg"><br class="gmail_msg">
<span class="gmail_msg">swift-evolution mailing list</span><br class="gmail_msg">
<span class="gmail_msg"><a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a></span><br class="gmail_msg">
<span class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class="gmail_msg"></span></div>
</blockquote>
</div>
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
<br class="gmail_msg"></blockquote>
</div>
<br class="gmail_msg">
<br clear="all" class="gmail_msg">
<div class="gmail_msg"><br class="gmail_msg"></div>
--<br class="gmail_msg">
<div class="m_2885451996136679044gmail_signature gmail_msg" data-smartmail="gmail_signature">Brandon</div>
</div>
_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg"></div>
</blockquote>
</div>
<br class="gmail_msg"></div>
</div>
_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg"></blockquote>
</div>
</div>

_______________________________________________<br class="gmail_msg">swift-evolution mailing list<br class="gmail_msg"><a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg"></div></blockquote></div><br class="gmail_msg"></div></div></div>_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div>