code: func (m *Mrb) DefineClassUnder(name string, super *Class, outer *Class) *Class {
  	if super == nil {
  		super = m.ObjectClass()
  	}
  	if outer == nil {
  		outer = m.ObjectClass()
  	}
  
  	cs := C.CString(name)
  	defer C.free(unsafe.Pointer(cs))
  
  	return newClass(m, C.mrb_define_class_under(
  		m.state, outer.class, cs, super.class))
  }
docs: // DefineClassUnder defines a new class under another class.
  //
  // This is, for example, how you would define the World class in
  // `Hello::World` where Hello is the "outer" class.