> Ruby doesn't guarantee that you can't poke around inside an object or > class. In fact, quite the reverse--it provides many mechanisms to let > you do just that. Yep, this was about the conclusion I came during the night. > However, I hadn't realized that you could do the trick with > late-binding instance variables. Well, me neither :). But if I reflect OO-things from C++ or Java I think they don't allow parent class to know the real class is actually a child when calling. class Foo def foo p self.type end end class Bar < Foo end Bar.new.foo In those languages call to Bar.new.foo forces Foo#foo to think self is actually an object of type Foo, not kind_of? Foo. This was the surprise. - Aleksi