Turns out there was an even simpler way to write a concrete implementation of ICollection:
I thought of this implementation after the conversation I had with Julien Covreur (concerning Weak/StrongReferences) regarding the Replace Type Code with Subclasses refactoring. I’m not a big fan of either state or mutability of objects and i prefer to have both fall out of the system naturally through the use of inheritance.
Note: because there is no state and no mutability, this object is a prime candidate for the singleton pattern. That, of course, can come at a later time.