特異クラスのsuperclass

特異クラスのスーパークラススーパークラスは,特異クラスのスーパークラス自身?

irb:0> class Object; def metaclass; class << self; self; end; end; end
=> nil
irb:0> metaclass
=> #<Class:#<Object:0x38950>>
irb:0> p self
main
=> nil
irb:0> metaclass.superclass
=> #<Class:#<Class:#<Object:0x38950>>>
irb:0> metaclass.superclass.superclass
=> #<Class:#<Class:#<Object:0x38950>>>
irb:0> metaclass.superclass.superclass.superclass
=> #<Class:#<Class:#<Object:0x38950>>>


あれ?あるオブジェクトの特異クラスのスーパークラスは,そのオブジェクトのクラスになるんじゃなかったっけ?なんでクラスのメタクラスになってるんだろう.

irb:0> class Foo; end
=> nil
irb:0> Foo.metaclass
=> #<Class:Foo>
irb:0> Foo.metaclass.superclass
=> #<Class:Class>
irb:0> Foo.metaclass.superclass.superclass
=> #<Class:Class>
irb:0> Foo.class.metaclass
=> #<Class:Class>

よくわからん.