Have not noticed probably code completion.

For consistency because we want enforce read only behaviour and manipulating such collection later in code would lead to unexpected behaviour and unwanted side-effects.
If manipulating source collection is met with exception its subset should behave the same.