<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I regret mentioning existentials; I am aware that an existential that isn&#39;t sufficiently constrained will never be able to provide the same guarantees as a generic type variable. My argument is that even a partially constrained existential is useful if there is a useful set of APIs that don&#39;t touch the associated types in question. I do not believe that they fulfill the same role as generics, and I apologize for writing a response that strongly implied they were.</div><div><br></div><div>That being said, my opinion regarding this suggestion is still this: [Foo] is not an array, Collection&lt;Foo&gt; is not a generic protocol, and I am strongly against any sort of compiler magic that makes those types mean anything other than what they appear to be.</div><div><br></div><div>Austin</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
If this rule:<br>
<span><br>
&gt; The generalized existentials proposal goes out of its way to be explicit about the fact that only type safe operations would be visible through the existential.<br>
<br>
</span>Is trying to say that this isn&#39;t the case because APIs using the collection&#39;s `Index` are not exposed on an `AnyCollection`, well, then I&#39;m not sure what `AnyCollection` is actually supposed to be used for.<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span><font color="#888888"><br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
</font></span></blockquote></div><br></div></div>