Like Thierry I'm not sure that omitting the check brings a significant speedup.However, not doing this check follows the robustness principle: "Be conservative in what you do, be liberal in what you accept from others".��
But it violates the "if it ain't broke don't fix it", "it means what it means", and "Smalltalk is a safe language" principles. ��That safety check finds bugs. ��If one wants a more relaxed contract, implement a new contract, don't break an existing contract that has stood for years.��I would even be more liberal with a:��1 to: (self size min: otherCollection size) do: ....:)
But you can write that if that's what you mean. ��But arbitrarily changing existing protocol for weak reasons when _it ain't broke_ is a recipe for chaos.