<div dir="ltr">On Fri, Oct 13, 2017 at 11:58 PM, Adam Kemp <span dir="ltr">&lt;<a href="mailto:adam.kemp@apple.com" target="_blank">adam.kemp@apple.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; That the proposed name is obtuse is intentional--as Nate has surmised--as a way to prompt the unfamiliar user to look up the documentation.<br>
<br>
</span>This is a strange philosophy for naming things. I see what you’re saying, but it feels very wrong to deliberately name something such that people will not understand it without documentation. I feel like we can do better than that. </blockquote></div><br></div><div class="gmail_extra">That&#39;s not exactly the philosophy. The overarching desiderata are:</div><div class="gmail_extra"><br></div><div class="gmail_extra">1. This method must be named in such a way that clearly conveys that it is not plausibly a spelling for `==`. To my best estimation, users who unintentionally use `elementsEqual` instead of `==` do so because they see the former listed when they read the documentation but don&#39;t see the latter (as operators suffer from various discoverability issues), and then they think, &quot;Swift designers must have decided to use this spelling as the equivalent of `==` for arrays.&quot; By contrast, no one sees `lexicographicallyPrecedes` and thinks, &quot;Swift designers must have decided to use this spelling as the equivalent of `&lt;` for arrays!&quot;</div><div class="gmail_extra"><br></div><div class="gmail_extra">2. If a user is familiar with what a lexicographical comparison is, then they should be able to (correctly) identify this method as of a kind without going to the documentation. If a user is unfamiliar with what a lexicographical comparison is, then they should not be misled by the method name to think that it is something other than what it is; they need to read the documentation and we do a good thing by alerting them to that need by a carefully thought-out name--we are not thereby *creating* additional demands to consult the documentation.</div><div class="gmail_extra"><br></div></div>