BasicObject, as far as I have read, is the parent class of all other classes in Ruby. However, it's not until further down in the hierarchy where the Class class is actually defined. As such, I'm having a hard time understanding how BasicObject can be a class at all.
Is the difference here just that there's a difference between a ruby Class in an abstract, object-oriented sense as opposed to classes that are actually instances of Class? Or is the hierarchy actually set up in a way where BasicObject is in fact an instance of Class? I feel pretty sure that's not the case.
If there are two meanings for the word "class" in Ruby, I feel like I lack the language to discuss the two types. If this is indeed the case, what can I call a class that is not an instance of Class?