bachmeier:

It seems your argument is that remove is poorly designed because it's not destructive. Or am I missing your argument?

It has to be a void function (or perhaps bettter it can return true/false if it has removed the item, so it becomes @nogc and nothrow).
And it has to remove the first item equal to the given one.
You can then add a second function that removes at a given index (like removeAt).

Bye,
bearophile

Reply via email to