<div dir="ltr"><div dir="ltr">Hi Marcel,</div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-m_-3628489050840562871__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;color:rgb(0,0,0)"><div><span style="font-size:10pt">> </span><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">Perhaps I'm getting too old, but I see no reason to use these methods</span><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px"> </span><br></div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">when you know the receiver is a stream.</span><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">That's right. :-) Both #any: and #take: are generic forms of #anyOne and #first: and similar for collections that are not necessarily sequenceable. The partial adaptation of the collection protocol for streams is still experimental. It is useful in scripting scenarios.</span></div><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">"stream take: 42" does not make any sense.</span></div><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">"streamOrCollection take: 42" can be quite useful. :-)</span></div></div></blockquote><div><br></div><div>Hmmm....   There really isn't much other shared API between the two, is there?  Let's see:</div><div><br></div><div>    Collection methodDictionary keys intersection: Stream methodDictionary keys </div>             "--->   #(#printOn: #gather: #take: #reject: #contents #write: #any: #collect: #select:thenCollect: #do: #select:)"<div><br></div><div>Wow, that's actually more than I thought.  Still, look at the size of the mismatch!</div><div><br></div><div>       (Collection methodDictionary keys difference: Stream methodDictionary keys ) size        "---> 162"<br></div><div><br></div><div>It kinda makes sense since, semantically, they're two *totally different* things.  Even the ones that match, the semantics are not always the same.  For example, #do: -- enumerates all elements in Collection, or <u>only the remaining</u> elements in Stream.</div><div></div><div><br></div><div>So I'm not so sure going further down the path of encouraging client code to interchange two such disparate objects was a good idea.  Don't they usually take either/or as input convenience, but then use or convert to whatever it uses for internal implementation..</div><div><br></div><div>Best,</div><div>  Chris</div></div></div>