<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 1, 2014 at 2:35 AM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class="h5">On 01.12.2014, at 07:35, Colin Putney &lt;<a href="mailto:colin@wiresong.com" target="_blank">colin@wiresong.com</a>&gt; wrote:<br><div><blockquote type="cite"><br><div><div dir="ltr">On Sun, Nov 30, 2014 at 6:20 AM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><div> </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"><div><span><div></div></span><div>How would you define “type” here? Same class?</div></div></div></blockquote></div><br></div><div class="gmail_extra">Yes, same class. It might be reasonable to answer instances of analogous classes for weak collections, and expect the caller to use #collect:as: if they want to retain weakness. </div><div class="gmail_extra"><br></div><div class="gmail_extra">Colin</div></div></div></blockquote></div><div><br></div></div></div><div>That’s certainly simple:</div><div><br></div><div> “collect: returns a collection of the same class as the receiver, except for weak collections, which answer non-weak equivalents. To return a collection of a different class, use collect:as:&quot;</div></div></blockquote><div><br></div><div>except collect: can&#39;t possibly do this for Interval.  IMO, reify the idea of species in the comments for collect: and species and say that collect: answers something of the same species.  The idea being that species is the same as class when the receiver is a mutable collection, but some other suitable class when it doesn&#39;t. </div></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>