<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=""><div class="">I have one comment (below) about this part:</div><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 2, 2016, at 18:59, Paul Cantrell via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><div class=""><div class=""><br class="">I have reservations about this. It doesn’t generalize perfectly well:<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>a.tracksHavingMediaType("Wax Cylinder”, andPianist: “Brahms”)<br class=""><br class="">…strikes me as awkward compared to one of these:<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>a.tracksHaving(mediaType: "Wax Cylinder”, pianist: “Brahms”)<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>// or <br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>a.tracksMatchingCriteria(mediaType: "Wax Cylinder”, pianist: “Brahms”)<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>// or even<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>a.tracks(mediaType: "Wax Cylinder”, pianist: “Brahms”)<br class=""><br class="">…especially since, in a method of that form, _all_ the arguments are likely to have a default value of nil:<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>a.tracks(mediaType: "Wax Cylinder”)<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>a.tracks(pianist: “Brahms”)<br class=""></div></div></blockquote></div><br class=""><div class="">I prefer the original:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div style="margin: 0px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">a.tracksHavingMediaType(</span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Wax Cylinder"</span><span style="font-variant-ligatures: no-common-ligatures" class="">, andPianist: </span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Brahms”</span><span style="font-variant-ligatures: no-common-ligatures" class="">)</span></div></div></blockquote><div style="margin: 0px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">to any of these,</span></div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div style="margin: 0px; line-height: normal; font-family: Menlo;" class=""><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">a.tracksHaving(mediaType: </span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Wax Cylinder"</span><span style="font-variant-ligatures: no-common-ligatures" class="">, pianist: </span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Brahms"</span><span style="font-variant-ligatures: no-common-ligatures" class="">)</span></div></div></div><div class=""><div style="margin: 0px; line-height: normal; font-family: Menlo;" class=""><div style="margin: 0px; line-height: normal; color: rgb(42, 126, 49);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">// or</span></div></div></div><div class=""><div style="margin: 0px; line-height: normal; font-family: Menlo;" class=""><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">a.tracksMatchingCriteria(mediaType: </span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Wax Cylinder"</span><span style="font-variant-ligatures: no-common-ligatures" class="">, pianist: </span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Brahms"</span><span style="font-variant-ligatures: no-common-ligatures" class="">)</span></div></div></div><div class=""><div style="margin: 0px; line-height: normal; font-family: Menlo;" class=""><div style="margin: 0px; line-height: normal; color: rgb(42, 126, 49);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">// or even</span></div></div></div><div class=""><div style="margin: 0px; line-height: normal; font-family: Menlo;" class=""><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">a.tracks(mediaType: </span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Wax Cylinder"</span><span style="font-variant-ligatures: no-common-ligatures" class="">, pianist: </span><span style="font-variant-ligatures: no-common-ligatures; color: #9d211a" class="">"Brahms”</span><span style="font-variant-ligatures: no-common-ligatures" class="">)</span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div></div></div></blockquote><div class=""><div style="margin: 0px; line-height: normal;" class=""><div class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">Because to me, the 3 alternatives, especially the last one, all read more like hashmap accesses than method calls. &nbsp;In other words, they make it appear as if you are passing in arbitrary keys to be queried, rather than calling one specific method.</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">Matt</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">&nbsp;</span></div></div></div></body></html>