>>>>> "R" == Robert Klemme <bob.news / gmx.net> writes: R> Well, yes, that's what I concluded. But why is that so? What's the R> reasoning behind this? After all, both singleton classes are just there for R> a single object although that happens to be a class instance. This change R> might even break some code, I'm not sure. Well, I've tried one day to give a *STUPID* example Imagine that you have class Class def new(*args, &block) obj = allocate obj.send(:initialize, *args, &block) obj end end class Array def self.allocate # do some magic here to create the type array end end Now if you write class A < Array end A.new You want with `A.new' re-use the method ::allocate which is defined in the singleton class (Array). This mean that (A) must inherit from (Array) Guy Decoux