>>>>> "J" == Johann Hibschman <johann / physics.berkeley.edu> writes: J> Why isn't there a way to simply unbind a class name or other J> identifier, then redefine it? One reason is : class A < Array end a = A.new class A < Hash end The most important reason is given in [ruby-talk:20766] For your example given in [ruby-talk:21224] (your original message) I'll write something like this : class C < A end module B end class C include B end I've not modified the class hierarchy, but changed the inheritence order for the class C. Probably there are other possibilities. Guy Decoux