Tobias Reif <tobiasreif / pinkjuice.com> writes: > A Foo is a Foo and should stay a Foo, unless an explicit opertation is > performed that changes it's class. > > Foo inherits methods from String. When Foo's methods are used, Foos are > returned. When the inherited methods are used, Foos still should stay > Foos. It's a big surprise if objects become other objects just because > inherited methods are called on them. What should Foo.to_s return? Dave