>>>>> "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