Can anyone explain to me the workings of the cbase field in eval.c's struct
FRAME? My understanding is that maintains the class/module nesting
structure, which is why it's heavily involved in constant and class var
lookup and Module.nesting, but I'm not sure why this information is held
outside of the classes themselves.

Specific question: why can't the nesting parent of a class simply be stored
in the RClass struct? Any examples of Ruby code that would cause
difficulties for this approach would be much appreciated.

Context: I'm trying to reproduce Ruby's constant lookup behaviour in
ByteCodeRuby, but I'm not really sure what I'm trying to replicate :(

Many thanks in advance...

-- George