------------D75D1603B54FCD7
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 8bit

David,

>> That's great and solves my particular problem.

>> But what if the class being derived from does not have a replace method?

DAB> If the object has state that can be modified, then there will be (by
DAB> definition) ways to modify that state. If it doesn't, then there won't
DAB> be, and the class in question is probably a bad starting point if you
DAB> want to create objects with state that can be modified.

DAB> That's one of the advantages of using proxy objects and delegators: you
DAB> gain an extra axis along which you can make decisions about things like
DAB> object state. Even though you can't change (say) a Fixnum, you can
DAB> create objects with integer attributes that *can* be changed.

Could you expand on this with an example, please?
------------D75D1603B54FCD7--