I don't understand all of this discussion, but the following may be 
helpful.

 From "The Ruby Way":

"Ruby classes are themselves objects, being instances of the metaclass 
Class. . . . The class Object is at the root of the hierarchy. . . . 
Object itself is the only object without a superclass."

As I understand it, Class cannot be subclassed because it is an object 
(a kind of metaclass).

[You have to start somewhere . . .].

Singleton classes are a direct implementation of the singleton design 
pattern.  (see http://www.rubygarden.org/ruby?SingletonPattern).

Ruby's class hierarchy chart is in a comment in the object.c file of 
the source.  The chart notes that all metaclasses are instances of the 
class 'Class'.

But here, matz says there are no metaclasses in Ruby: 
http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/40537.

But after a question about meta-objects and singleton methods 
(http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/40545) yields 
the following response from matz: 
http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/40548.

Smalltalk's use of metaclasses, and the problem being addressed, is 
explained in semi-understandable language here: 
http://wiki.cs.uiuc.edu/VisualWorks/How+do+metaclasses+work%3F


On Thursday, December 12, 2002, at 01:57 AM, Chris Pine wrote:

> Hmm....  I see what you're saying, I think.  I was going to give you a
> counter-example, but I can't because you can't subclass Class.  This, 
> of
> course, begs the question:  Why can't you subclass Class?
>
> [snip]

> To me, this all seems much more natural.  We didn't create any sort of
> bizarre "hidden" class (and no matter how cool you may find the
> functionality currently provided by singleton classes, they themselves 
> are
> totally exceptional and bizarre) to make everything work.
>
> So what am I missing?  Why can't you subclass Class?  Was this for the 
> sake
> of implementation?  I can't imagine it's just so we can have singleton
> classes.

> [snip]