Thanks @mhevery. I think I lost you a bit here. Can you please explain this part "Now you can still assign UnmodifieableSetView to it, that way it will blow up if anyone tries to change it."? What did you exactly have in mind?