Greg Slechter answers this question: "The Changeable class. This one really has me stumped. I can't figure out why the concept is there at all. Why simulate mutability on immutable objects? Why not just make them mutable, if that is what is needed? This looks suspiciously like over-engineering to me, or some sort of premature optimization. I doubt any users really want to learn about Changeable.EmbeddedChangeableReader. If internally, MS wants to use something like that, that is fine. How to fix it? Make the objects mutable."