>>>>> "A" == Austin Ziegler <halostatue / gmail.com> writes: A> I've modified your diagram; ocObject* is an instance of otherClass, A> and the (ocObject)* metaclass is the metaclass for this instance, A> and it is a different metaclass than any other instance of A> otherClass. A> ocObject*---->(ocObject)* A> | | A> | | A> v v A> otherClass---> (OtherClass) A> | | Well, if ocObject is an instance of otherClass then you have a small problem svg% cat b.rb #!/usr/local/bin/ruby class A def self.a puts "A::a" end def a puts "A#a" end end class << a = A.new def a puts "a#a" super end end a.a svg% svg% b.rb a#a A#a svg% Guy Decoux