I have little hope that this thread will be more productive than the last discussion, and honestly it's really hard for me to understand some "arguments":
Most methods of
Sequence are problematic for many types — either because expectations about order are not fulfilled, because it is not clear wether iteration consumes the sequence, or because the sequence might be (theoretically) infinite; many functions (like
suffix) even fall into two categories. Just try to collect a list of functions which cause no problems with every kind of
Dictionarys can be equal, and still produce completely different results for all the operations mentioned by @CTMacUser — and that is by design.
elementsEqual is just worse than the rest because it can even hit you when operating directly with simple
Dictionaries. In a generic context, on the other hand, the problem is much less apparent, as algorithms which work perfectly fine with all "regular"
Collections can fail terribly when confronted with something like
I agree that the mapping-operations are somewhat special here, because they might actually just suffer from a limitation of the language, as we cannot have
map return the same container type as the object it was called on.
Alas, even if it was ever possible to solve all those issues, the best time for that passed long ago… my expectation is that only big changes like higher kinded or move-only types (if ever introduced) could warrant such break of compatibility.