code: func (m *Mrb) DefineModuleUnder(name string, outer *Class) *Class {
  	if outer == nil {
  		outer = m.ObjectClass()
  	}
  
  	cs := C.CString(name)
  	defer C.free(unsafe.Pointer(cs))
  
  	return newClass(m,
  		C.mrb_define_module_under(m.state, outer.class, cs))
  }
docs: // DefineModuleUnder defines a module under another class/module.