For example, is it better to do this (I really do not know):

   self species = otherCollection species

Nicolas' arguments for Collections-nice.820 are sound, the challenge is that some apps, that don't care about equivalence between Intervals and Array's, were affected in a negative way, and left no good way to fix their code.  There's a tendency to want to dismiss them with "use hasEqualElements:" without understanding why hasEqualElements: can't fix the core issue -- the inability to define implementation-specific subclasses with symmetric equivalence (e.g., like ByteString and WideString did for String).

IMO, this is the question we should address.  I posed that we should factor out this common type-checking behavior, repeated throughout the class library, into its own method on Object.  I think it could work..

 - Chris