Copying elements on top of a MutableCollection

This was inspired by the copy function and its variants in the C++ standard library. There's been at least one mention of this method before (note: it's by me).