Mostly to deal with the (nasty but extremely unlikely) corner case where we're operating on a collection that the caller is messing with.