-typedef val_t (* abstractmetamodel___MMGlobalClass___name_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___name(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___name "abstractmetamodel::MMGlobalClass::name"
-typedef val_t (* abstractmetamodel___MMGlobalClass___module_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___module(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___module "abstractmetamodel::MMGlobalClass::module"
-typedef void (* abstractmetamodel___MMGlobalClass___register_local_class_t)(val_t self, val_t param0);
-void abstractmetamodel___MMGlobalClass___register_local_class(val_t self, val_t param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___register_local_class "abstractmetamodel::MMGlobalClass::register_local_class"
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_interface_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___is_interface(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_interface "abstractmetamodel::MMGlobalClass::is_interface"
-typedef void (* abstractmetamodel___MMGlobalClass___is_interface__eq_t)(val_t self, val_t param0);
-void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t self, val_t param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq "abstractmetamodel::MMGlobalClass::is_interface="
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_abstract_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___is_abstract(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_abstract "abstractmetamodel::MMGlobalClass::is_abstract"
-typedef void (* abstractmetamodel___MMGlobalClass___is_abstract__eq_t)(val_t self, val_t param0);
-void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t self, val_t param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq "abstractmetamodel::MMGlobalClass::is_abstract="
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_universal_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___is_universal(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_universal "abstractmetamodel::MMGlobalClass::is_universal"
-typedef void (* abstractmetamodel___MMGlobalClass___is_universal__eq_t)(val_t self, val_t param0);
-void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t self, val_t param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq "abstractmetamodel::MMGlobalClass::is_universal="
-typedef val_t (* abstractmetamodel___MMGlobalClass___visibility_level_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___visibility_level(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___visibility_level "abstractmetamodel::MMGlobalClass::visibility_level"
-typedef void (* abstractmetamodel___MMGlobalClass___visibility_level__eq_t)(val_t self, val_t param0);
-void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t self, val_t param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq "abstractmetamodel::MMGlobalClass::visibility_level="
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_mixin_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___is_mixin(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_mixin "abstractmetamodel::MMGlobalClass::is_mixin"
-typedef val_t (* abstractmetamodel___MMGlobalClass___mixin_of_t)(val_t self);
-val_t abstractmetamodel___MMGlobalClass___mixin_of(val_t self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___mixin_of "abstractmetamodel::MMGlobalClass::mixin_of"
-typedef void (* abstractmetamodel___MMGlobalClass___mixin_of__eq_t)(val_t self, val_t param0);
-void abstractmetamodel___MMGlobalClass___mixin_of__eq(val_t self, val_t param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___mixin_of__eq "abstractmetamodel::MMGlobalClass::mixin_of="
-typedef val_t (* abstractmetamodel___MMLocalClass___to_s_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___to_s(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___to_s "abstractmetamodel::MMLocalClass::(string::Object::to_s)"
-typedef val_t (* abstractmetamodel___MMLocalClass___name_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___name(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___name "abstractmetamodel::MMLocalClass::name"
-typedef val_t (* abstractmetamodel___MMLocalClass___arity_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___arity(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___arity "abstractmetamodel::MMLocalClass::arity"
-typedef val_t (* abstractmetamodel___MMLocalClass___module_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___module(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___module "abstractmetamodel::MMLocalClass::module"
-typedef val_t (* abstractmetamodel___MMLocalClass___global_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___global(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___global "abstractmetamodel::MMLocalClass::global"
-typedef val_t (* abstractmetamodel___MMLocalClass___crhe_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___crhe(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___crhe "abstractmetamodel::MMLocalClass::crhe"
-typedef val_t (* abstractmetamodel___MMLocalClass___cshe_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___cshe(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___cshe "abstractmetamodel::MMLocalClass::cshe"
-typedef val_t (* abstractmetamodel___MMLocalClass___che_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___che(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___che "abstractmetamodel::MMLocalClass::che"
-typedef val_t (* abstractmetamodel___MMLocalClass___local_property_by_global_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___local_property_by_global(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global "abstractmetamodel::MMLocalClass::local_property_by_global"
-typedef val_t (* abstractmetamodel___MMLocalClass___global_properties_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___global_properties(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___global_properties "abstractmetamodel::MMLocalClass::global_properties"
-typedef val_t (* abstractmetamodel___MMLocalClass___properties_by_name_t)(val_t self);
-val_t abstractmetamodel___MMLocalClass___properties_by_name(val_t self);
-#define LOCATE_abstractmetamodel___MMLocalClass___properties_by_name "abstractmetamodel::MMLocalClass::properties_by_name"
-typedef void (* abstractmetamodel___MMLocalClass___init_t)(val_t self, val_t param0, val_t param1, val_t param2, int* init_table);
-void abstractmetamodel___MMLocalClass___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table);
-#define LOCATE_abstractmetamodel___MMLocalClass___init "abstractmetamodel::MMLocalClass::init"
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___name = "abstractmetamodel::MMGlobalClass::name";
+val_t abstractmetamodel___MMGlobalClass___name(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___mmmodule = "abstractmetamodel::MMGlobalClass::mmmodule";
+val_t abstractmetamodel___MMGlobalClass___mmmodule(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___mmmodule_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___to_s = "abstractmetamodel::MMGlobalClass::(string::Object::to_s)";
+val_t abstractmetamodel___MMGlobalClass___to_s(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___to_s_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___register_local_class = "abstractmetamodel::MMGlobalClass::register_local_class";
+void abstractmetamodel___MMGlobalClass___register_local_class(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___register_local_class_t)(val_t p0, val_t p1);
+ typedef void (*CLOS_OC_abstractmetamodel___MMGlobalClass___register_local_class_1_0)(struct stack_frame_t *);
+ void OC_abstractmetamodel___MMGlobalClass___register_local_class_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+ typedef void (*OC_abstractmetamodel___MMGlobalClass___register_local_class_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_interface = "abstractmetamodel::MMGlobalClass::is_interface";
+val_t abstractmetamodel___MMGlobalClass___is_interface(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_interface_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq = "abstractmetamodel::MMGlobalClass::is_interface=";
+void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___is_interface__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_abstract = "abstractmetamodel::MMGlobalClass::is_abstract";
+val_t abstractmetamodel___MMGlobalClass___is_abstract(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_abstract_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq = "abstractmetamodel::MMGlobalClass::is_abstract=";
+void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___is_abstract__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_enum = "abstractmetamodel::MMGlobalClass::is_enum";
+val_t abstractmetamodel___MMGlobalClass___is_enum(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_enum_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_enum__eq = "abstractmetamodel::MMGlobalClass::is_enum=";
+void abstractmetamodel___MMGlobalClass___is_enum__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___is_enum__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___visibility_level = "abstractmetamodel::MMGlobalClass::visibility_level";
+val_t abstractmetamodel___MMGlobalClass___visibility_level(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___visibility_level_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq = "abstractmetamodel::MMGlobalClass::visibility_level=";
+void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___visibility_level__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_mixin = "abstractmetamodel::MMGlobalClass::is_mixin";
+val_t abstractmetamodel___MMGlobalClass___is_mixin(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_mixin_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___mixin_of = "abstractmetamodel::MMGlobalClass::mixin_of";
+val_t abstractmetamodel___MMGlobalClass___mixin_of(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___mixin_of_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___mixin_of__eq = "abstractmetamodel::MMGlobalClass::mixin_of=";
+void abstractmetamodel___MMGlobalClass___mixin_of__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___mixin_of__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___name = "abstractmetamodel::MMLocalClass::name";
+val_t abstractmetamodel___MMLocalClass___name(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___arity = "abstractmetamodel::MMLocalClass::arity";
+val_t abstractmetamodel___MMLocalClass___arity(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___arity_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___mmmodule = "abstractmetamodel::MMLocalClass::mmmodule";
+val_t abstractmetamodel___MMLocalClass___mmmodule(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___mmmodule_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___global = "abstractmetamodel::MMLocalClass::global";
+val_t abstractmetamodel___MMLocalClass___global(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___global_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___crhe = "abstractmetamodel::MMLocalClass::crhe";
+val_t abstractmetamodel___MMLocalClass___crhe(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___crhe_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___cshe = "abstractmetamodel::MMLocalClass::cshe";
+val_t abstractmetamodel___MMLocalClass___cshe(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___cshe_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___che = "abstractmetamodel::MMLocalClass::che";
+val_t abstractmetamodel___MMLocalClass___che(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___che_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___global_properties = "abstractmetamodel::MMLocalClass::global_properties";
+val_t abstractmetamodel___MMLocalClass___global_properties(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___global_properties_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___local_local_properties = "abstractmetamodel::MMLocalClass::local_local_properties";
+val_t abstractmetamodel___MMLocalClass___local_local_properties(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___local_local_properties_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___init = "abstractmetamodel::MMLocalClass::init";
+void abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
+typedef void (*abstractmetamodel___MMLocalClass___init_t)(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);