Added pnacl manifest.
[nit.git] / c_src / nitg.classes.10.c
index 2bf6929..43a4e8c 100644 (file)
 #include "nitg.classes.0.h"
-/* runtime class parser_nodes__AIdAtid */
-const struct class class_parser_nodes__AIdAtid = {
+/* runtime class string__FlatBufferCharView */
+const struct class class_string__FlatBufferCharView = {
 0, /* box_kind */
 {
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to parser_nodes:AIdAtid:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to parser_nodes:AIdAtid:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to parser_nodes:AIdAtid:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to parser_nodes:AIdAtid:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to parser_nodes:AIdAtid:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to parser_nodes:AIdAtid:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to parser_nodes:AIdAtid:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to parser_nodes:AIdAtid:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to parser_nodes:AIdAtid:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to parser_nodes:AIdAtid:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to parser_nodes:AIdAtid:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to parser_nodes:AIdAtid:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to parser_nodes:AIdAtid:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to parser_nodes:AIdAtid:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to parser_nodes:AIdAtid:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to parser_nodes:AIdAtid:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to parser_nodes:AIdAtid:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to parser_nodes:AIdAtid:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to parser_nodes:AIdAtid:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to parser_nodes:AIdAtid:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to parser_nodes:AIdAtid:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to parser_nodes:AIdAtid:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to parser_nodes:AIdAtid:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to parser_nodes:AIdAtid:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to parser_nodes:AIdAtid:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to parser_nodes:AIdAtid:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to parser_nodes:AIdAtid:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to parser_nodes:AIdAtid:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to parser_nodes:AIdAtid:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to parser_nodes:AIdAtid:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to parser_nodes:AIdAtid:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to parser_nodes:AIdAtid:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to parser_nodes:AIdAtid:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to parser_nodes:AIdAtid:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to parser_nodes:AIdAtid:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to parser_nodes:AIdAtid:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to parser_nodes:AIdAtid:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to parser_nodes:AIdAtid:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to parser_nodes:AIdAtid:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to parser_nodes:AIdAtid:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to parser_nodes:AIdAtid:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__location, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__hot_location, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#hot_location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__debug, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#debug */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#parent */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent_61d, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#parent= */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__init, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#init */
-(nitmethod_t)VIRTUAL_parser_prod__AIdAtid__replace_child, /* pointer to parser_nodes:AIdAtid:parser_prod#AIdAtid#replace_child */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__detach, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#detach */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__replace_with, /* pointer to parser_nodes:AIdAtid:parser_nodes#Prod#replace_with */
-(nitmethod_t)VIRTUAL_parser_prod__AIdAtid__visit_all, /* pointer to parser_nodes:AIdAtid:parser_prod#AIdAtid#visit_all */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_tokens_by_text, /* pointer to parser_nodes:AIdAtid:parser_util#ANode#collect_tokens_by_text */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_annotations_by_name, /* pointer to parser_nodes:AIdAtid:parser_util#ANode#collect_annotations_by_name */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__accept_simple_misc, /* pointer to parser_nodes:AIdAtid:simple_misc_analysis#ANode#accept_simple_misc */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__after_simple_misc, /* pointer to parser_nodes:AIdAtid:simple_misc_analysis#ANode#after_simple_misc */
-(nitmethod_t)VIRTUAL_literal__ANode__accept_literal, /* pointer to parser_nodes:AIdAtid:literal#ANode#accept_literal */
-(nitmethod_t)VIRTUAL_scope__ANode__accept_scope_visitor, /* pointer to parser_nodes:AIdAtid:scope#ANode#accept_scope_visitor */
-(nitmethod_t)VIRTUAL_flow__ANode__accept_flow_visitor, /* pointer to parser_nodes:AIdAtid:flow#ANode#accept_flow_visitor */
-(nitmethod_t)VIRTUAL_local_var_init__ANode__accept_local_var_visitor, /* pointer to parser_nodes:AIdAtid:local_var_init#ANode#accept_local_var_visitor */
-(nitmethod_t)VIRTUAL_auto_super_init__ANode__accept_auto_super_init, /* pointer to parser_nodes:AIdAtid:auto_super_init#ANode#accept_auto_super_init */
-(nitmethod_t)VIRTUAL_rapid_type_analysis__ANode__accept_rapid_type_visitor, /* pointer to parser_nodes:AIdAtid:rapid_type_analysis#ANode#accept_rapid_type_visitor */
-(nitmethod_t)VIRTUAL_astvalidation__ANode__accept_ast_validation, /* pointer to parser_nodes:AIdAtid:astvalidation#ANode#accept_ast_validation */
-(nitmethod_t)VIRTUAL_transform__ANode__accept_transform_visitor, /* pointer to parser_nodes:AIdAtid:transform#ANode#accept_transform_visitor */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__location_61d, /* pointer to parser_nodes:AIdAtid:parser_nodes#Prod#location= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations, /* pointer to parser_nodes:AIdAtid:parser_nodes#Prod#n_annotations */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations_61d, /* pointer to parser_nodes:AIdAtid:parser_nodes#Prod#n_annotations= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__init, /* pointer to parser_nodes:AIdAtid:parser_nodes#Prod#init */
-(nitmethod_t)VIRTUAL_modelize_property__Prod__collect_text, /* pointer to parser_nodes:AIdAtid:modelize_property#Prod#collect_text */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__replace_with, /* pointer to parser_nodes:AIdAtid:parser_nodes#ANode#replace_with */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__n_id, /* pointer to parser_nodes:AIdAtid:parser_nodes#AAtid#n_id */
-(nitmethod_t)VIRTUAL_parser_prod__AIdAtid__n_id_61d, /* pointer to parser_nodes:AIdAtid:parser_prod#AIdAtid#n_id= */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__init, /* pointer to parser_nodes:AIdAtid:parser_nodes#AAtid#init */
-(nitmethod_t)VIRTUAL_parser_nodes__AIdAtid__init, /* pointer to parser_nodes:AIdAtid:parser_nodes#AIdAtid#init */
-(nitmethod_t)VIRTUAL_parser_prod__AIdAtid__empty_init, /* pointer to parser_nodes:AIdAtid:parser_prod#AIdAtid#empty_init */
-(nitmethod_t)VIRTUAL_parser_prod__AIdAtid__init_aidatid, /* pointer to parser_nodes:AIdAtid:parser_prod#AIdAtid#init_aidatid */
-}
-};
-/* allocate AIdAtid */
-val* NEW_parser_nodes__AIdAtid(const struct type* type) {
-val* self /* : AIdAtid */;
-val* var /* : null */;
-val* var1 /* : null */;
-val* var2 /* : null */;
-self = nit_alloc(sizeof(struct instance) + 5*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_parser_nodes__AIdAtid;
-var = NULL;
-self->attrs[COLOR_parser_nodes__ANode___location].val = var; /* _location on <self:AIdAtid exact> */
-var1 = NULL;
-self->attrs[COLOR_parser_nodes__ANode___64dparent].val = var1; /* @parent on <self:AIdAtid exact> */
-var2 = NULL;
-self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var2; /* _n_annotations on <self:AIdAtid exact> */
-return self;
-}
-/* allocate AIdAtid */
-void CHECK_NEW_parser_nodes__AIdAtid(val* self) {
-val* var /* : nullable Location */;
-val* var1 /* : Token */;
-var = self->attrs[COLOR_parser__Prod___first_location].val; /* _first_location on <self:AIdAtid> */
-var1 = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AIdAtid> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_nodes.nit", 1743);
-exit(1);
-}
-}
-/* runtime class parser_nodes__AKwexternAtid */
-/* allocate AKwexternAtid */
-val* NEW_parser_nodes__AKwexternAtid(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "AKwexternAtid is DEAD");
-exit(1);
-}
-/* allocate AKwexternAtid */
-void CHECK_NEW_parser_nodes__AKwexternAtid(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "AKwexternAtid is DEAD");
-exit(1);
-}
-/* runtime class parser_nodes__AKwinternAtid */
-/* allocate AKwinternAtid */
-val* NEW_parser_nodes__AKwinternAtid(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "AKwinternAtid is DEAD");
-exit(1);
-}
-/* allocate AKwinternAtid */
-void CHECK_NEW_parser_nodes__AKwinternAtid(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "AKwinternAtid is DEAD");
-exit(1);
-}
-/* runtime class parser_nodes__AKwreadableAtid */
-const struct class class_parser_nodes__AKwreadableAtid = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to parser_nodes:AKwreadableAtid:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to parser_nodes:AKwreadableAtid:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to parser_nodes:AKwreadableAtid:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to parser_nodes:AKwreadableAtid:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to parser_nodes:AKwreadableAtid:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to parser_nodes:AKwreadableAtid:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to parser_nodes:AKwreadableAtid:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to parser_nodes:AKwreadableAtid:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to parser_nodes:AKwreadableAtid:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to parser_nodes:AKwreadableAtid:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to parser_nodes:AKwreadableAtid:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to parser_nodes:AKwreadableAtid:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to parser_nodes:AKwreadableAtid:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to parser_nodes:AKwreadableAtid:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to parser_nodes:AKwreadableAtid:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to parser_nodes:AKwreadableAtid:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to parser_nodes:AKwreadableAtid:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to parser_nodes:AKwreadableAtid:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to parser_nodes:AKwreadableAtid:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to parser_nodes:AKwreadableAtid:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to parser_nodes:AKwreadableAtid:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to parser_nodes:AKwreadableAtid:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to parser_nodes:AKwreadableAtid:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to parser_nodes:AKwreadableAtid:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to parser_nodes:AKwreadableAtid:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to parser_nodes:AKwreadableAtid:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to parser_nodes:AKwreadableAtid:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to parser_nodes:AKwreadableAtid:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to parser_nodes:AKwreadableAtid:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to parser_nodes:AKwreadableAtid:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to parser_nodes:AKwreadableAtid:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to parser_nodes:AKwreadableAtid:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to parser_nodes:AKwreadableAtid:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__location, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__hot_location, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#hot_location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__debug, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#debug */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#parent */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent_61d, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#parent= */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__init, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwreadableAtid__replace_child, /* pointer to parser_nodes:AKwreadableAtid:parser_prod#AKwreadableAtid#replace_child */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__detach, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#detach */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__replace_with, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#Prod#replace_with */
-(nitmethod_t)VIRTUAL_parser_prod__AKwreadableAtid__visit_all, /* pointer to parser_nodes:AKwreadableAtid:parser_prod#AKwreadableAtid#visit_all */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_tokens_by_text, /* pointer to parser_nodes:AKwreadableAtid:parser_util#ANode#collect_tokens_by_text */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_annotations_by_name, /* pointer to parser_nodes:AKwreadableAtid:parser_util#ANode#collect_annotations_by_name */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__accept_simple_misc, /* pointer to parser_nodes:AKwreadableAtid:simple_misc_analysis#ANode#accept_simple_misc */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__after_simple_misc, /* pointer to parser_nodes:AKwreadableAtid:simple_misc_analysis#ANode#after_simple_misc */
-(nitmethod_t)VIRTUAL_literal__ANode__accept_literal, /* pointer to parser_nodes:AKwreadableAtid:literal#ANode#accept_literal */
-(nitmethod_t)VIRTUAL_scope__ANode__accept_scope_visitor, /* pointer to parser_nodes:AKwreadableAtid:scope#ANode#accept_scope_visitor */
-(nitmethod_t)VIRTUAL_flow__ANode__accept_flow_visitor, /* pointer to parser_nodes:AKwreadableAtid:flow#ANode#accept_flow_visitor */
-(nitmethod_t)VIRTUAL_local_var_init__ANode__accept_local_var_visitor, /* pointer to parser_nodes:AKwreadableAtid:local_var_init#ANode#accept_local_var_visitor */
-(nitmethod_t)VIRTUAL_auto_super_init__ANode__accept_auto_super_init, /* pointer to parser_nodes:AKwreadableAtid:auto_super_init#ANode#accept_auto_super_init */
-(nitmethod_t)VIRTUAL_rapid_type_analysis__ANode__accept_rapid_type_visitor, /* pointer to parser_nodes:AKwreadableAtid:rapid_type_analysis#ANode#accept_rapid_type_visitor */
-(nitmethod_t)VIRTUAL_astvalidation__ANode__accept_ast_validation, /* pointer to parser_nodes:AKwreadableAtid:astvalidation#ANode#accept_ast_validation */
-(nitmethod_t)VIRTUAL_transform__ANode__accept_transform_visitor, /* pointer to parser_nodes:AKwreadableAtid:transform#ANode#accept_transform_visitor */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__location_61d, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#Prod#location= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#Prod#n_annotations */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations_61d, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#Prod#n_annotations= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__init, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#Prod#init */
-(nitmethod_t)VIRTUAL_modelize_property__Prod__collect_text, /* pointer to parser_nodes:AKwreadableAtid:modelize_property#Prod#collect_text */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__replace_with, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#ANode#replace_with */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__n_id, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#AAtid#n_id */
-(nitmethod_t)VIRTUAL_parser_prod__AKwreadableAtid__n_id_61d, /* pointer to parser_nodes:AKwreadableAtid:parser_prod#AKwreadableAtid#n_id= */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__init, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#AAtid#init */
-(nitmethod_t)VIRTUAL_parser_nodes__AKwreadableAtid__init, /* pointer to parser_nodes:AKwreadableAtid:parser_nodes#AKwreadableAtid#init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwreadableAtid__empty_init, /* pointer to parser_nodes:AKwreadableAtid:parser_prod#AKwreadableAtid#empty_init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwreadableAtid__init_akwreadableatid, /* pointer to parser_nodes:AKwreadableAtid:parser_prod#AKwreadableAtid#init_akwreadableatid */
-}
-};
-/* allocate AKwreadableAtid */
-val* NEW_parser_nodes__AKwreadableAtid(const struct type* type) {
-val* self /* : AKwreadableAtid */;
-val* var /* : null */;
-val* var1 /* : null */;
-val* var2 /* : null */;
-self = nit_alloc(sizeof(struct instance) + 5*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_parser_nodes__AKwreadableAtid;
-var = NULL;
-self->attrs[COLOR_parser_nodes__ANode___location].val = var; /* _location on <self:AKwreadableAtid exact> */
-var1 = NULL;
-self->attrs[COLOR_parser_nodes__ANode___64dparent].val = var1; /* @parent on <self:AKwreadableAtid exact> */
-var2 = NULL;
-self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var2; /* _n_annotations on <self:AKwreadableAtid exact> */
-return self;
-}
-/* allocate AKwreadableAtid */
-void CHECK_NEW_parser_nodes__AKwreadableAtid(val* self) {
-val* var /* : nullable Location */;
-val* var1 /* : Token */;
-var = self->attrs[COLOR_parser__Prod___first_location].val; /* _first_location on <self:AKwreadableAtid> */
-var1 = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwreadableAtid> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_nodes.nit", 1743);
-exit(1);
-}
-}
-/* runtime class parser_nodes__AKwwritableAtid */
-const struct class class_parser_nodes__AKwwritableAtid = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to parser_nodes:AKwwritableAtid:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to parser_nodes:AKwwritableAtid:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to parser_nodes:AKwwritableAtid:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to parser_nodes:AKwwritableAtid:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to parser_nodes:AKwwritableAtid:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to parser_nodes:AKwwritableAtid:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to parser_nodes:AKwwritableAtid:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to parser_nodes:AKwwritableAtid:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to parser_nodes:AKwwritableAtid:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to parser_nodes:AKwwritableAtid:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to parser_nodes:AKwwritableAtid:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to parser_nodes:AKwwritableAtid:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to parser_nodes:AKwwritableAtid:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to parser_nodes:AKwwritableAtid:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to parser_nodes:AKwwritableAtid:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to parser_nodes:AKwwritableAtid:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to parser_nodes:AKwwritableAtid:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to parser_nodes:AKwwritableAtid:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to parser_nodes:AKwwritableAtid:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to parser_nodes:AKwwritableAtid:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to parser_nodes:AKwwritableAtid:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to parser_nodes:AKwwritableAtid:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to parser_nodes:AKwwritableAtid:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to parser_nodes:AKwwritableAtid:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to parser_nodes:AKwwritableAtid:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to parser_nodes:AKwwritableAtid:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to parser_nodes:AKwwritableAtid:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to parser_nodes:AKwwritableAtid:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to parser_nodes:AKwwritableAtid:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to parser_nodes:AKwwritableAtid:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to parser_nodes:AKwwritableAtid:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to parser_nodes:AKwwritableAtid:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to parser_nodes:AKwwritableAtid:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__location, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__hot_location, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#hot_location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__debug, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#debug */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#parent */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent_61d, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#parent= */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__init, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwwritableAtid__replace_child, /* pointer to parser_nodes:AKwwritableAtid:parser_prod#AKwwritableAtid#replace_child */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__detach, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#detach */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__replace_with, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#Prod#replace_with */
-(nitmethod_t)VIRTUAL_parser_prod__AKwwritableAtid__visit_all, /* pointer to parser_nodes:AKwwritableAtid:parser_prod#AKwwritableAtid#visit_all */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_tokens_by_text, /* pointer to parser_nodes:AKwwritableAtid:parser_util#ANode#collect_tokens_by_text */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_annotations_by_name, /* pointer to parser_nodes:AKwwritableAtid:parser_util#ANode#collect_annotations_by_name */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__accept_simple_misc, /* pointer to parser_nodes:AKwwritableAtid:simple_misc_analysis#ANode#accept_simple_misc */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__after_simple_misc, /* pointer to parser_nodes:AKwwritableAtid:simple_misc_analysis#ANode#after_simple_misc */
-(nitmethod_t)VIRTUAL_literal__ANode__accept_literal, /* pointer to parser_nodes:AKwwritableAtid:literal#ANode#accept_literal */
-(nitmethod_t)VIRTUAL_scope__ANode__accept_scope_visitor, /* pointer to parser_nodes:AKwwritableAtid:scope#ANode#accept_scope_visitor */
-(nitmethod_t)VIRTUAL_flow__ANode__accept_flow_visitor, /* pointer to parser_nodes:AKwwritableAtid:flow#ANode#accept_flow_visitor */
-(nitmethod_t)VIRTUAL_local_var_init__ANode__accept_local_var_visitor, /* pointer to parser_nodes:AKwwritableAtid:local_var_init#ANode#accept_local_var_visitor */
-(nitmethod_t)VIRTUAL_auto_super_init__ANode__accept_auto_super_init, /* pointer to parser_nodes:AKwwritableAtid:auto_super_init#ANode#accept_auto_super_init */
-(nitmethod_t)VIRTUAL_rapid_type_analysis__ANode__accept_rapid_type_visitor, /* pointer to parser_nodes:AKwwritableAtid:rapid_type_analysis#ANode#accept_rapid_type_visitor */
-(nitmethod_t)VIRTUAL_astvalidation__ANode__accept_ast_validation, /* pointer to parser_nodes:AKwwritableAtid:astvalidation#ANode#accept_ast_validation */
-(nitmethod_t)VIRTUAL_transform__ANode__accept_transform_visitor, /* pointer to parser_nodes:AKwwritableAtid:transform#ANode#accept_transform_visitor */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__location_61d, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#Prod#location= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#Prod#n_annotations */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations_61d, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#Prod#n_annotations= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__init, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#Prod#init */
-(nitmethod_t)VIRTUAL_modelize_property__Prod__collect_text, /* pointer to parser_nodes:AKwwritableAtid:modelize_property#Prod#collect_text */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__replace_with, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#ANode#replace_with */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__n_id, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#AAtid#n_id */
-(nitmethod_t)VIRTUAL_parser_prod__AKwwritableAtid__n_id_61d, /* pointer to parser_nodes:AKwwritableAtid:parser_prod#AKwwritableAtid#n_id= */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__init, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#AAtid#init */
-(nitmethod_t)VIRTUAL_parser_nodes__AKwwritableAtid__init, /* pointer to parser_nodes:AKwwritableAtid:parser_nodes#AKwwritableAtid#init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwwritableAtid__empty_init, /* pointer to parser_nodes:AKwwritableAtid:parser_prod#AKwwritableAtid#empty_init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwwritableAtid__init_akwwritableatid, /* pointer to parser_nodes:AKwwritableAtid:parser_prod#AKwwritableAtid#init_akwwritableatid */
-}
-};
-/* allocate AKwwritableAtid */
-val* NEW_parser_nodes__AKwwritableAtid(const struct type* type) {
-val* self /* : AKwwritableAtid */;
-val* var /* : null */;
-val* var1 /* : null */;
-val* var2 /* : null */;
-self = nit_alloc(sizeof(struct instance) + 5*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_parser_nodes__AKwwritableAtid;
-var = NULL;
-self->attrs[COLOR_parser_nodes__ANode___location].val = var; /* _location on <self:AKwwritableAtid exact> */
-var1 = NULL;
-self->attrs[COLOR_parser_nodes__ANode___64dparent].val = var1; /* @parent on <self:AKwwritableAtid exact> */
-var2 = NULL;
-self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var2; /* _n_annotations on <self:AKwwritableAtid exact> */
-return self;
-}
-/* allocate AKwwritableAtid */
-void CHECK_NEW_parser_nodes__AKwwritableAtid(val* self) {
-val* var /* : nullable Location */;
-val* var1 /* : Token */;
-var = self->attrs[COLOR_parser__Prod___first_location].val; /* _first_location on <self:AKwwritableAtid> */
-var1 = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwwritableAtid> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_nodes.nit", 1743);
-exit(1);
-}
-}
-/* runtime class parser_nodes__AKwimportAtid */
-const struct class class_parser_nodes__AKwimportAtid = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to parser_nodes:AKwimportAtid:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to parser_nodes:AKwimportAtid:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to parser_nodes:AKwimportAtid:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to parser_nodes:AKwimportAtid:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to parser_nodes:AKwimportAtid:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to parser_nodes:AKwimportAtid:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to parser_nodes:AKwimportAtid:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to parser_nodes:AKwimportAtid:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to parser_nodes:AKwimportAtid:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to parser_nodes:AKwimportAtid:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to parser_nodes:AKwimportAtid:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to parser_nodes:AKwimportAtid:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to parser_nodes:AKwimportAtid:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to parser_nodes:AKwimportAtid:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to parser_nodes:AKwimportAtid:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to parser_nodes:AKwimportAtid:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to parser_nodes:AKwimportAtid:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to parser_nodes:AKwimportAtid:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to parser_nodes:AKwimportAtid:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to parser_nodes:AKwimportAtid:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to parser_nodes:AKwimportAtid:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to parser_nodes:AKwimportAtid:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to parser_nodes:AKwimportAtid:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to parser_nodes:AKwimportAtid:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to parser_nodes:AKwimportAtid:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to parser_nodes:AKwimportAtid:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to parser_nodes:AKwimportAtid:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to parser_nodes:AKwimportAtid:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to parser_nodes:AKwimportAtid:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to parser_nodes:AKwimportAtid:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to parser_nodes:AKwimportAtid:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to parser_nodes:AKwimportAtid:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to parser_nodes:AKwimportAtid:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__location, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__hot_location, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#hot_location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__debug, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#debug */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#parent */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent_61d, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#parent= */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__init, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwimportAtid__replace_child, /* pointer to parser_nodes:AKwimportAtid:parser_prod#AKwimportAtid#replace_child */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__detach, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#detach */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__replace_with, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#Prod#replace_with */
-(nitmethod_t)VIRTUAL_parser_prod__AKwimportAtid__visit_all, /* pointer to parser_nodes:AKwimportAtid:parser_prod#AKwimportAtid#visit_all */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_tokens_by_text, /* pointer to parser_nodes:AKwimportAtid:parser_util#ANode#collect_tokens_by_text */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_annotations_by_name, /* pointer to parser_nodes:AKwimportAtid:parser_util#ANode#collect_annotations_by_name */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__accept_simple_misc, /* pointer to parser_nodes:AKwimportAtid:simple_misc_analysis#ANode#accept_simple_misc */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__after_simple_misc, /* pointer to parser_nodes:AKwimportAtid:simple_misc_analysis#ANode#after_simple_misc */
-(nitmethod_t)VIRTUAL_literal__ANode__accept_literal, /* pointer to parser_nodes:AKwimportAtid:literal#ANode#accept_literal */
-(nitmethod_t)VIRTUAL_scope__ANode__accept_scope_visitor, /* pointer to parser_nodes:AKwimportAtid:scope#ANode#accept_scope_visitor */
-(nitmethod_t)VIRTUAL_flow__ANode__accept_flow_visitor, /* pointer to parser_nodes:AKwimportAtid:flow#ANode#accept_flow_visitor */
-(nitmethod_t)VIRTUAL_local_var_init__ANode__accept_local_var_visitor, /* pointer to parser_nodes:AKwimportAtid:local_var_init#ANode#accept_local_var_visitor */
-(nitmethod_t)VIRTUAL_auto_super_init__ANode__accept_auto_super_init, /* pointer to parser_nodes:AKwimportAtid:auto_super_init#ANode#accept_auto_super_init */
-(nitmethod_t)VIRTUAL_rapid_type_analysis__ANode__accept_rapid_type_visitor, /* pointer to parser_nodes:AKwimportAtid:rapid_type_analysis#ANode#accept_rapid_type_visitor */
-(nitmethod_t)VIRTUAL_astvalidation__ANode__accept_ast_validation, /* pointer to parser_nodes:AKwimportAtid:astvalidation#ANode#accept_ast_validation */
-(nitmethod_t)VIRTUAL_transform__ANode__accept_transform_visitor, /* pointer to parser_nodes:AKwimportAtid:transform#ANode#accept_transform_visitor */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__location_61d, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#Prod#location= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#Prod#n_annotations */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations_61d, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#Prod#n_annotations= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__init, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#Prod#init */
-(nitmethod_t)VIRTUAL_modelize_property__Prod__collect_text, /* pointer to parser_nodes:AKwimportAtid:modelize_property#Prod#collect_text */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__replace_with, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#ANode#replace_with */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__n_id, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#AAtid#n_id */
-(nitmethod_t)VIRTUAL_parser_prod__AKwimportAtid__n_id_61d, /* pointer to parser_nodes:AKwimportAtid:parser_prod#AKwimportAtid#n_id= */
-(nitmethod_t)VIRTUAL_parser_nodes__AAtid__init, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#AAtid#init */
-(nitmethod_t)VIRTUAL_parser_nodes__AKwimportAtid__init, /* pointer to parser_nodes:AKwimportAtid:parser_nodes#AKwimportAtid#init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwimportAtid__empty_init, /* pointer to parser_nodes:AKwimportAtid:parser_prod#AKwimportAtid#empty_init */
-(nitmethod_t)VIRTUAL_parser_prod__AKwimportAtid__init_akwimportatid, /* pointer to parser_nodes:AKwimportAtid:parser_prod#AKwimportAtid#init_akwimportatid */
-}
-};
-/* allocate AKwimportAtid */
-val* NEW_parser_nodes__AKwimportAtid(const struct type* type) {
-val* self /* : AKwimportAtid */;
-val* var /* : null */;
-val* var1 /* : null */;
-val* var2 /* : null */;
-self = nit_alloc(sizeof(struct instance) + 5*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_parser_nodes__AKwimportAtid;
-var = NULL;
-self->attrs[COLOR_parser_nodes__ANode___location].val = var; /* _location on <self:AKwimportAtid exact> */
-var1 = NULL;
-self->attrs[COLOR_parser_nodes__ANode___64dparent].val = var1; /* @parent on <self:AKwimportAtid exact> */
-var2 = NULL;
-self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var2; /* _n_annotations on <self:AKwimportAtid exact> */
-return self;
-}
-/* allocate AKwimportAtid */
-void CHECK_NEW_parser_nodes__AKwimportAtid(val* self) {
-val* var /* : nullable Location */;
-val* var1 /* : Token */;
-var = self->attrs[COLOR_parser__Prod___first_location].val; /* _first_location on <self:AKwimportAtid> */
-var1 = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwimportAtid> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_nodes.nit", 1743);
-exit(1);
-}
-}
-/* runtime class parser_nodes__Start */
-const struct class class_parser_nodes__Start = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to parser_nodes:Start:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to parser_nodes:Start:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to parser_nodes:Start:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to parser_nodes:Start:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to parser_nodes:Start:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to parser_nodes:Start:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to parser_nodes:Start:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to parser_nodes:Start:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to parser_nodes:Start:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to parser_nodes:Start:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to parser_nodes:Start:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to parser_nodes:Start:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to parser_nodes:Start:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to parser_nodes:Start:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to parser_nodes:Start:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to parser_nodes:Start:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to parser_nodes:Start:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to parser_nodes:Start:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to parser_nodes:Start:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to parser_nodes:Start:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to parser_nodes:Start:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to parser_nodes:Start:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to parser_nodes:Start:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to parser_nodes:Start:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to parser_nodes:Start:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to parser_nodes:Start:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to parser_nodes:Start:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to parser_nodes:Start:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to parser_nodes:Start:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to parser_nodes:Start:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to parser_nodes:Start:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to parser_nodes:Start:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to parser_nodes:Start:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to parser_nodes:Start:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to parser_nodes:Start:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to parser_nodes:Start:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to parser_nodes:Start:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to parser_nodes:Start:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to parser_nodes:Start:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to parser_nodes:Start:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to parser_nodes:Start:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__location, /* pointer to parser_nodes:Start:parser_nodes#ANode#location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__hot_location, /* pointer to parser_nodes:Start:parser_nodes#ANode#hot_location */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__debug, /* pointer to parser_nodes:Start:parser_nodes#ANode#debug */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent, /* pointer to parser_nodes:Start:parser_nodes#ANode#parent */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__parent_61d, /* pointer to parser_nodes:Start:parser_nodes#ANode#parent= */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__init, /* pointer to parser_nodes:Start:parser_nodes#ANode#init */
-(nitmethod_t)VIRTUAL_parser_prod__Start__replace_child, /* pointer to parser_nodes:Start:parser_prod#Start#replace_child */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__detach, /* pointer to parser_nodes:Start:parser_nodes#ANode#detach */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__replace_with, /* pointer to parser_nodes:Start:parser_nodes#Prod#replace_with */
-(nitmethod_t)VIRTUAL_parser_prod__Start__visit_all, /* pointer to parser_nodes:Start:parser_prod#Start#visit_all */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_tokens_by_text, /* pointer to parser_nodes:Start:parser_util#ANode#collect_tokens_by_text */
-(nitmethod_t)VIRTUAL_parser_util__ANode__collect_annotations_by_name, /* pointer to parser_nodes:Start:parser_util#ANode#collect_annotations_by_name */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__accept_simple_misc, /* pointer to parser_nodes:Start:simple_misc_analysis#ANode#accept_simple_misc */
-(nitmethod_t)VIRTUAL_simple_misc_analysis__ANode__after_simple_misc, /* pointer to parser_nodes:Start:simple_misc_analysis#ANode#after_simple_misc */
-(nitmethod_t)VIRTUAL_literal__ANode__accept_literal, /* pointer to parser_nodes:Start:literal#ANode#accept_literal */
-(nitmethod_t)VIRTUAL_scope__ANode__accept_scope_visitor, /* pointer to parser_nodes:Start:scope#ANode#accept_scope_visitor */
-(nitmethod_t)VIRTUAL_flow__ANode__accept_flow_visitor, /* pointer to parser_nodes:Start:flow#ANode#accept_flow_visitor */
-(nitmethod_t)VIRTUAL_local_var_init__ANode__accept_local_var_visitor, /* pointer to parser_nodes:Start:local_var_init#ANode#accept_local_var_visitor */
-(nitmethod_t)VIRTUAL_auto_super_init__ANode__accept_auto_super_init, /* pointer to parser_nodes:Start:auto_super_init#ANode#accept_auto_super_init */
-(nitmethod_t)VIRTUAL_rapid_type_analysis__ANode__accept_rapid_type_visitor, /* pointer to parser_nodes:Start:rapid_type_analysis#ANode#accept_rapid_type_visitor */
-(nitmethod_t)VIRTUAL_astvalidation__ANode__accept_ast_validation, /* pointer to parser_nodes:Start:astvalidation#ANode#accept_ast_validation */
-(nitmethod_t)VIRTUAL_transform__ANode__accept_transform_visitor, /* pointer to parser_nodes:Start:transform#ANode#accept_transform_visitor */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__location_61d, /* pointer to parser_nodes:Start:parser_nodes#Prod#location= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations, /* pointer to parser_nodes:Start:parser_nodes#Prod#n_annotations */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__n_annotations_61d, /* pointer to parser_nodes:Start:parser_nodes#Prod#n_annotations= */
-(nitmethod_t)VIRTUAL_parser_nodes__Prod__init, /* pointer to parser_nodes:Start:parser_nodes#Prod#init */
-(nitmethod_t)VIRTUAL_modelize_property__Prod__collect_text, /* pointer to parser_nodes:Start:modelize_property#Prod#collect_text */
-(nitmethod_t)VIRTUAL_parser_nodes__ANode__replace_with, /* pointer to parser_nodes:Start:parser_nodes#ANode#replace_with */
-(nitmethod_t)VIRTUAL_parser_nodes__Start__n_base, /* pointer to parser_nodes:Start:parser_nodes#Start#n_base */
-(nitmethod_t)VIRTUAL_parser_nodes__Start__n_base_61d, /* pointer to parser_nodes:Start:parser_nodes#Start#n_base= */
-(nitmethod_t)VIRTUAL_parser_nodes__Start__n_eof, /* pointer to parser_nodes:Start:parser_nodes#Start#n_eof */
-(nitmethod_t)VIRTUAL_parser_nodes__Start__n_eof_61d, /* pointer to parser_nodes:Start:parser_nodes#Start#n_eof= */
-(nitmethod_t)VIRTUAL_parser_nodes__Start__init, /* pointer to parser_nodes:Start:parser_nodes#Start#init */
-}
-};
-/* allocate Start */
-val* NEW_parser_nodes__Start(const struct type* type) {
-val* self /* : Start */;
-val* var /* : null */;
-val* var1 /* : null */;
-val* var2 /* : null */;
-self = nit_alloc(sizeof(struct instance) + 6*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_parser_nodes__Start;
-var = NULL;
-self->attrs[COLOR_parser_nodes__ANode___location].val = var; /* _location on <self:Start exact> */
-var1 = NULL;
-self->attrs[COLOR_parser_nodes__ANode___64dparent].val = var1; /* @parent on <self:Start exact> */
-var2 = NULL;
-self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var2; /* _n_annotations on <self:Start exact> */
-return self;
-}
-/* allocate Start */
-void CHECK_NEW_parser_nodes__Start(val* self) {
-val* var /* : nullable Location */;
-val* var1 /* : nullable AModule */;
-val* var2 /* : EOF */;
-var = self->attrs[COLOR_parser__Prod___first_location].val; /* _first_location on <self:Start> */
-var1 = self->attrs[COLOR_parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
-var2 = self->attrs[COLOR_parser_nodes__Start___n_eof].val; /* _n_eof on <self:Start> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_eof", "src/parser/parser_nodes.nit", 1768);
-exit(1);
-}
-}
-/* runtime class location__SourceFile */
-const struct class class_location__SourceFile = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to location:SourceFile:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to location:SourceFile:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to location:SourceFile:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to location:SourceFile:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to location:SourceFile:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to location:SourceFile:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to location:SourceFile:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to location:SourceFile:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to location:SourceFile:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to location:SourceFile:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to location:SourceFile:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to location:SourceFile:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to location:SourceFile:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to location:SourceFile:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to location:SourceFile:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to location:SourceFile:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to location:SourceFile:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to location:SourceFile:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to location:SourceFile:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to location:SourceFile:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to location:SourceFile:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to location:SourceFile:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to location:SourceFile:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to location:SourceFile:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to location:SourceFile:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to location:SourceFile:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to location:SourceFile:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to location:SourceFile:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to location:SourceFile:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to location:SourceFile:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to location:SourceFile:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to location:SourceFile:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to location:SourceFile:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to location:SourceFile:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to location:SourceFile:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to location:SourceFile:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to location:SourceFile:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to location:SourceFile:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to location:SourceFile:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to location:SourceFile:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to location:SourceFile:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_location__SourceFile__filename, /* pointer to location:SourceFile:location#SourceFile#filename */
-(nitmethod_t)VIRTUAL_location__SourceFile__filename_61d, /* pointer to location:SourceFile:location#SourceFile#filename= */
-(nitmethod_t)VIRTUAL_location__SourceFile__string, /* pointer to location:SourceFile:location#SourceFile#string */
-(nitmethod_t)VIRTUAL_location__SourceFile__string_61d, /* pointer to location:SourceFile:location#SourceFile#string= */
-(nitmethod_t)VIRTUAL_location__SourceFile__init, /* pointer to location:SourceFile:location#SourceFile#init */
-(nitmethod_t)VIRTUAL_location__SourceFile__from_string, /* pointer to location:SourceFile:location#SourceFile#from_string */
-(nitmethod_t)VIRTUAL_location__SourceFile__line_starts, /* pointer to location:SourceFile:location#SourceFile#line_starts */
-(nitmethod_t)VIRTUAL_location__SourceFile__line_starts_61d, /* pointer to location:SourceFile:location#SourceFile#line_starts= */
-}
-};
-/* allocate SourceFile */
-val* NEW_location__SourceFile(const struct type* type) {
-val* self /* : SourceFile */;
-val* var /* : Array[Int] */;
-self = nit_alloc(sizeof(struct instance) + 3*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_location__SourceFile;
-var = NEW_array__Array(&type_array__Arraykernel__Int);
-((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[Int]>*/;
-CHECK_NEW_array__Array(var);
-self->attrs[COLOR_location__SourceFile___64dline_starts].val = var; /* @line_starts on <self:SourceFile exact> */
-return self;
-}
-/* allocate SourceFile */
-void CHECK_NEW_location__SourceFile(val* self) {
-val* var /* : String */;
-val* var1 /* : String */;
-var = self->attrs[COLOR_location__SourceFile___64dfilename].val; /* @filename on <self:SourceFile> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @filename", "src/location.nit", 22);
-exit(1);
-}
-var1 = self->attrs[COLOR_location__SourceFile___64dstring].val; /* @string on <self:SourceFile> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @string", "src/location.nit", 25);
-exit(1);
-}
-}
-/* runtime class location__Location */
-const struct class class_location__Location = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to location:Location:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to location:Location:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_location__Location___61d_61d, /* pointer to location:Location:location#Location#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to location:Location:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to location:Location:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to location:Location:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to location:Location:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to location:Location:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to location:Location:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_location__Location__to_s, /* pointer to location:Location:location#Location#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to location:Location:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to location:Location:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to location:Location:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to location:Location:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to location:Location:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to location:Location:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to location:Location:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to location:Location:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to location:Location:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to location:Location:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to location:Location:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to location:Location:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to location:Location:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to location:Location:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to location:Location:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to location:Location:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to location:Location:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to location:Location:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to location:Location:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to location:Location:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to location:Location:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to location:Location:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to location:Location:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to location:Location:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to location:Location:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to location:Location:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to location:Location:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to location:Location:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to location:Location:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to location:Location:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to location:Location:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_location__Location___60d, /* pointer to location:Location:location#Location#< */
-(nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d, /* pointer to location:Location:kernel#Comparable#<= */
-(nitmethod_t)VIRTUAL_kernel__Comparable___62d_61d, /* pointer to location:Location:kernel#Comparable#>= */
-(nitmethod_t)VIRTUAL_kernel__Comparable___62d, /* pointer to location:Location:kernel#Comparable#> */
-(nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d_62d, /* pointer to location:Location:kernel#Comparable#<=> */
-(nitmethod_t)VIRTUAL_kernel__Comparable__is_between, /* pointer to location:Location:kernel#Comparable#is_between */
-(nitmethod_t)VIRTUAL_kernel__Comparable__max, /* pointer to location:Location:kernel#Comparable#max */
-(nitmethod_t)VIRTUAL_kernel__Comparable__min, /* pointer to location:Location:kernel#Comparable#min */
-(nitmethod_t)VIRTUAL_location__Location__file, /* pointer to location:Location:location#Location#file */
-(nitmethod_t)VIRTUAL_location__Location__file_61d, /* pointer to location:Location:location#Location#file= */
-(nitmethod_t)VIRTUAL_location__Location__line_start, /* pointer to location:Location:location#Location#line_start */
-(nitmethod_t)VIRTUAL_location__Location__line_start_61d, /* pointer to location:Location:location#Location#line_start= */
-(nitmethod_t)VIRTUAL_location__Location__line_end, /* pointer to location:Location:location#Location#line_end */
-(nitmethod_t)VIRTUAL_location__Location__line_end_61d, /* pointer to location:Location:location#Location#line_end= */
-(nitmethod_t)VIRTUAL_location__Location__column_start, /* pointer to location:Location:location#Location#column_start */
-(nitmethod_t)VIRTUAL_location__Location__column_start_61d, /* pointer to location:Location:location#Location#column_start= */
-(nitmethod_t)VIRTUAL_location__Location__column_end, /* pointer to location:Location:location#Location#column_end */
-(nitmethod_t)VIRTUAL_location__Location__column_end_61d, /* pointer to location:Location:location#Location#column_end= */
-(nitmethod_t)VIRTUAL_location__Location__init, /* pointer to location:Location:location#Location#init */
-(nitmethod_t)VIRTUAL_location__Location__pstart, /* pointer to location:Location:location#Location#pstart */
-(nitmethod_t)VIRTUAL_location__Location__pend, /* pointer to location:Location:location#Location#pend */
-(nitmethod_t)VIRTUAL_location__Location__text, /* pointer to location:Location:location#Location#text */
-(nitmethod_t)VIRTUAL_location__Location__text_cache, /* pointer to location:Location:location#Location#text_cache */
-(nitmethod_t)VIRTUAL_location__Location__text_cache_61d, /* pointer to location:Location:location#Location#text_cache= */
-(nitmethod_t)VIRTUAL_location__Location__with_file, /* pointer to location:Location:location#Location#with_file */
-(nitmethod_t)VIRTUAL_location__Location__located_in, /* pointer to location:Location:location#Location#located_in */
-(nitmethod_t)VIRTUAL_location__Location__relative_to, /* pointer to location:Location:location#Location#relative_to */
-(nitmethod_t)VIRTUAL_location__Location__colored_line, /* pointer to location:Location:location#Location#colored_line */
-}
-};
-/* allocate Location */
-val* NEW_location__Location(const struct type* type) {
-val* self /* : Location */;
-self = nit_alloc(sizeof(struct instance) + 6*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_location__Location;
-return self;
-}
-/* allocate Location */
-void CHECK_NEW_location__Location(val* self) {
-val* var /* : nullable SourceFile */;
-long var1 /* : Int */;
-long var2 /* : Int */;
-long var3 /* : Int */;
-long var4 /* : Int */;
-val* var5 /* : nullable String */;
-var = self->attrs[COLOR_location__Location___64dfile].val; /* @file on <self:Location> */
-var1 = self->attrs[COLOR_location__Location___64dline_start].l; /* @line_start on <self:Location> */
-var2 = self->attrs[COLOR_location__Location___64dline_end].l; /* @line_end on <self:Location> */
-var3 = self->attrs[COLOR_location__Location___64dcolumn_start].l; /* @column_start on <self:Location> */
-var4 = self->attrs[COLOR_location__Location___64dcolumn_end].l; /* @column_end on <self:Location> */
-var5 = self->attrs[COLOR_location__Location___64dtext_cache].val; /* @text_cache on <self:Location> */
-}
-/* runtime class posix__Passwd */
-const struct class class_posix__Passwd = {
-6, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to posix:Passwd:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to posix:Passwd:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to posix:Passwd:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to posix:Passwd:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to posix:Passwd:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to posix:Passwd:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to posix:Passwd:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to posix:Passwd:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to posix:Passwd:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to posix:Passwd:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to posix:Passwd:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to posix:Passwd:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to posix:Passwd:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to posix:Passwd:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to posix:Passwd:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to posix:Passwd:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to posix:Passwd:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to posix:Passwd:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to posix:Passwd:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to posix:Passwd:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to posix:Passwd:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to posix:Passwd:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to posix:Passwd:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to posix:Passwd:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to posix:Passwd:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to posix:Passwd:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to posix:Passwd:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to posix:Passwd:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to posix:Passwd:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to posix:Passwd:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to posix:Passwd:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to posix:Passwd:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to posix:Passwd:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to posix:Passwd:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to posix:Passwd:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to posix:Passwd:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to posix:Passwd:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to posix:Passwd:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to posix:Passwd:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to posix:Passwd:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to posix:Passwd:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to posix:Passwd:kernel#Pointer#address_is_null */
-(nitmethod_t)VIRTUAL_posix__Passwd__from_uid, /* pointer to posix:Passwd:posix#Passwd#from_uid */
-(nitmethod_t)VIRTUAL_posix__Passwd__from_name, /* pointer to posix:Passwd:posix#Passwd#from_name */
-(nitmethod_t)VIRTUAL_posix__Passwd__name, /* pointer to posix:Passwd:posix#Passwd#name */
-(nitmethod_t)VIRTUAL_posix__Passwd__passwd, /* pointer to posix:Passwd:posix#Passwd#passwd */
-(nitmethod_t)VIRTUAL_posix__Passwd__uid, /* pointer to posix:Passwd:posix#Passwd#uid */
-(nitmethod_t)VIRTUAL_posix__Passwd__gid, /* pointer to posix:Passwd:posix#Passwd#gid */
-(nitmethod_t)VIRTUAL_posix__Passwd__gecos, /* pointer to posix:Passwd:posix#Passwd#gecos */
-(nitmethod_t)VIRTUAL_posix__Passwd__dir, /* pointer to posix:Passwd:posix#Passwd#dir */
-(nitmethod_t)VIRTUAL_posix__Passwd__shell, /* pointer to posix:Passwd:posix#Passwd#shell */
-}
-};
-/* runtime class posix__Group */
-const struct class class_posix__Group = {
-6, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to posix:Group:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to posix:Group:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to posix:Group:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to posix:Group:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to posix:Group:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to posix:Group:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to posix:Group:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to posix:Group:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to posix:Group:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to posix:Group:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to posix:Group:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to posix:Group:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to posix:Group:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to posix:Group:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to posix:Group:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to posix:Group:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to posix:Group:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to posix:Group:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to posix:Group:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to posix:Group:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to posix:Group:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to posix:Group:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to posix:Group:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to posix:Group:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to posix:Group:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to posix:Group:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to posix:Group:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to posix:Group:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to posix:Group:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to posix:Group:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to posix:Group:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to posix:Group:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to posix:Group:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to posix:Group:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to posix:Group:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to posix:Group:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to posix:Group:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to posix:Group:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to posix:Group:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to posix:Group:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to posix:Group:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to posix:Group:kernel#Pointer#address_is_null */
-(nitmethod_t)VIRTUAL_posix__Group__from_gid, /* pointer to posix:Group:posix#Group#from_gid */
-(nitmethod_t)VIRTUAL_posix__Group__from_name, /* pointer to posix:Group:posix#Group#from_name */
-(nitmethod_t)VIRTUAL_posix__Group__name, /* pointer to posix:Group:posix#Group#name */
-(nitmethod_t)VIRTUAL_posix__Group__passwd, /* pointer to posix:Group:posix#Group#passwd */
-(nitmethod_t)VIRTUAL_posix__Group__gid, /* pointer to posix:Group:posix#Group#gid */
-(nitmethod_t)VIRTUAL_posix__Group__mem, /* pointer to posix:Group:posix#Group#mem */
-}
-};
-/* runtime class string__String */
-const struct class class_string__String = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to string:String:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to string:String:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_ropes__String___61d_61d, /* pointer to string:String:ropes#String#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to string:String:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_string__String__output, /* pointer to string:String:string#String#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to string:String:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to string:String:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to string:String:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_string__String__hash, /* pointer to string:String:string#String#hash */
-(nitmethod_t)VIRTUAL_string__String__to_s, /* pointer to string:String:string#String#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to string:String:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to string:String:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to string:String:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to string:String:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to string:String:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string:String:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string:String:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string:String:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string:String:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to string:String:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to string:String:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to string:String:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to string:String:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to string:String:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to string:String:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to string:String:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to string:String:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to string:String:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to string:String:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to string:String:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to string:String:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to string:String:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to string:String:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to string:String:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to string:String:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to string:String:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to string:String:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to string:String:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to string:String:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to string:String:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to string:String:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_string__String___60d, /* pointer to string:String:string#String#< */
-(nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d, /* pointer to string:String:kernel#Comparable#<= */
-(nitmethod_t)VIRTUAL_kernel__Comparable___62d_61d, /* pointer to string:String:kernel#Comparable#>= */
-(nitmethod_t)VIRTUAL_kernel__Comparable___62d, /* pointer to string:String:kernel#Comparable#> */
-(nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d_62d, /* pointer to string:String:kernel#Comparable#<=> */
-(nitmethod_t)VIRTUAL_kernel__Comparable__is_between, /* pointer to string:String:kernel#Comparable#is_between */
-(nitmethod_t)VIRTUAL_kernel__Comparable__max, /* pointer to string:String:kernel#Comparable#max */
-(nitmethod_t)VIRTUAL_kernel__Comparable__min, /* pointer to string:String:kernel#Comparable#min */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-(nitmethod_t)VIRTUAL_string_search__String__search_index_in, /* pointer to string:String:string_search#String#search_index_in */
-(nitmethod_t)VIRTUAL_string_search__String__search_in, /* pointer to string:String:string_search#String#search_in */
-(nitmethod_t)VIRTUAL_string_search__Pattern__search_all_in, /* pointer to string:String:string_search#Pattern#search_all_in */
-(nitmethod_t)VIRTUAL_string_search__Pattern__split_in, /* pointer to string:String:string_search#Pattern#split_in */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__iterator, /* pointer to string:String:array#AbstractArrayRead#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to string:String:abstract_collection#Collection#iterate */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__is_empty, /* pointer to string:String:array#AbstractArrayRead#is_empty */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__length, /* pointer to string:String:array#AbstractArrayRead#length */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__has, /* pointer to string:String:array#AbstractArrayRead#has */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__has_only, /* pointer to string:String:array#AbstractArrayRead#has_only */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__count, /* pointer to string:String:array#AbstractArrayRead#count */
-(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__first, /* pointer to string:String:abstract_collection#SequenceRead#first */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to string:String:abstract_collection#Collection#has_all */
-(nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to string:String:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to string:String:string#Collection#join */
-(nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to string:String:math#Collection#rand */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-(nitmethod_t)VIRTUAL_string__String___91d_93d, /* pointer to string:String:string#String#[] */
-(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__last, /* pointer to string:String:abstract_collection#SequenceRead#last */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__index_of, /* pointer to string:String:array#AbstractArrayRead#index_of */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__last_index_of, /* pointer to string:String:array#AbstractArrayRead#last_index_of */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__index_of_from, /* pointer to string:String:array#AbstractArrayRead#index_of_from */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__last_index_of_from, /* pointer to string:String:array#AbstractArrayRead#last_index_of_from */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__reversed, /* pointer to string:String:array#AbstractArrayRead#reversed */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__copy_to, /* pointer to string:String:array#AbstractArrayRead#copy_to */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__init, /* pointer to string:String:array#AbstractArrayRead#init */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-(nitmethod_t)VIRTUAL_string__AbstractString__items, /* pointer to string:String:string#AbstractString#items */
-(nitmethod_t)VIRTUAL_string__String__substring, /* pointer to string:String:string#String#substring */
-(nitmethod_t)VIRTUAL_string__String__substring_from, /* pointer to string:String:string#String#substring_from */
-(nitmethod_t)VIRTUAL_string__String__has_substring, /* pointer to string:String:string#String#has_substring */
-(nitmethod_t)VIRTUAL_string__AbstractString__has_prefix, /* pointer to string:String:string#AbstractString#has_prefix */
-(nitmethod_t)VIRTUAL_string__AbstractString__has_suffix, /* pointer to string:String:string#AbstractString#has_suffix */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_i, /* pointer to string:String:string#AbstractString#to_i */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_f, /* pointer to string:String:string#AbstractString#to_f */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_hex, /* pointer to string:String:string#AbstractString#to_hex */
-(nitmethod_t)VIRTUAL_string__AbstractString__a_to, /* pointer to string:String:string#AbstractString#a_to */
-(nitmethod_t)VIRTUAL_string__AbstractString__is_numeric, /* pointer to string:String:string#AbstractString#is_numeric */
-(nitmethod_t)VIRTUAL_string__String__to_upper, /* pointer to string:String:string#String#to_upper */
-(nitmethod_t)VIRTUAL_string__String__to_lower, /* pointer to string:String:string#String#to_lower */
-(nitmethod_t)VIRTUAL_string__String__trim, /* pointer to string:String:string#String#trim */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_cmangle, /* pointer to string:String:string#AbstractString#to_cmangle */
-(nitmethod_t)VIRTUAL_string__AbstractString__escape_to_c, /* pointer to string:String:string#AbstractString#escape_to_c */
-(nitmethod_t)VIRTUAL_string__AbstractString__escape_more_to_c, /* pointer to string:String:string#AbstractString#escape_more_to_c */
-(nitmethod_t)VIRTUAL_string__AbstractString__escape_to_nit, /* pointer to string:String:string#AbstractString#escape_to_nit */
-(nitmethod_t)VIRTUAL_string__AbstractString__unescape_nit, /* pointer to string:String:string#AbstractString#unescape_nit */
-(nitmethod_t)VIRTUAL_string__AbstractString__init, /* pointer to string:String:string#AbstractString#init */
-(nitmethod_t)VIRTUAL_string__StringCapable__calloc_string, /* pointer to string:String:string#StringCapable#calloc_string */
-(nitmethod_t)VIRTUAL_string__String__index_from, /* pointer to string:String:string#String#index_from */
-(nitmethod_t)VIRTUAL_string__String__index_to, /* pointer to string:String:string#String#index_to */
-(nitmethod_t)VIRTUAL_string__String__from_substring, /* pointer to string:String:string#String#from_substring */
-(nitmethod_t)VIRTUAL_string__String__with_infos, /* pointer to string:String:string#String#with_infos */
-(nitmethod_t)VIRTUAL_string__String__to_cstring, /* pointer to string:String:string#String#to_cstring */
-(nitmethod_t)VIRTUAL_string__String___43d, /* pointer to string:String:string#String#+ */
-(nitmethod_t)VIRTUAL_string__String___42d, /* pointer to string:String:string#String#* */
-(nitmethod_t)VIRTUAL_string_search__String__search, /* pointer to string:String:string_search#String#search */
-(nitmethod_t)VIRTUAL_string_search__String__search_from, /* pointer to string:String:string_search#String#search_from */
-(nitmethod_t)VIRTUAL_string_search__String__search_all, /* pointer to string:String:string_search#String#search_all */
-(nitmethod_t)VIRTUAL_string_search__String__split, /* pointer to string:String:string_search#String#split */
-(nitmethod_t)VIRTUAL_string_search__String__split_with, /* pointer to string:String:string_search#String#split_with */
-(nitmethod_t)VIRTUAL_string_search__String__replace, /* pointer to string:String:string_search#String#replace */
-(nitmethod_t)VIRTUAL_string_search__String__html_escape, /* pointer to string:String:string_search#String#html_escape */
-(nitmethod_t)VIRTUAL_environ__String__environ, /* pointer to string:String:environ#String#environ */
-(nitmethod_t)VIRTUAL_environ__String__setenv, /* pointer to string:String:environ#String#setenv */
-(nitmethod_t)VIRTUAL_file__String__file_exists, /* pointer to string:String:file#String#file_exists */
-(nitmethod_t)VIRTUAL_file__String__file_stat, /* pointer to string:String:file#String#file_stat */
-(nitmethod_t)VIRTUAL_file__String__file_lstat, /* pointer to string:String:file#String#file_lstat */
-(nitmethod_t)VIRTUAL_file__String__file_delete, /* pointer to string:String:file#String#file_delete */
-(nitmethod_t)VIRTUAL_file__String__strip_extension, /* pointer to string:String:file#String#strip_extension */
-(nitmethod_t)VIRTUAL_file__String__basename, /* pointer to string:String:file#String#basename */
-(nitmethod_t)VIRTUAL_file__String__dirname, /* pointer to string:String:file#String#dirname */
-(nitmethod_t)VIRTUAL_file__String__simplify_path, /* pointer to string:String:file#String#simplify_path */
-(nitmethod_t)VIRTUAL_file__String__join_path, /* pointer to string:String:file#String#join_path */
-(nitmethod_t)VIRTUAL_file__String__mkdir, /* pointer to string:String:file#String#mkdir */
-(nitmethod_t)VIRTUAL_file__String__chdir, /* pointer to string:String:file#String#chdir */
-(nitmethod_t)VIRTUAL_file__String__file_extension, /* pointer to string:String:file#String#file_extension */
-(nitmethod_t)VIRTUAL_file__String__files, /* pointer to string:String:file#String#files */
-(nitmethod_t)VIRTUAL_string__String___61d_61d, /* pointer to string:String:string#String#== */
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to string:FlatBufferCharView:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to string:FlatBufferCharView:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to string:FlatBufferCharView:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead___61d_61d, /* pointer to string:FlatBufferCharView:abstract_collection#SequenceRead#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to string:FlatBufferCharView:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to string:FlatBufferCharView:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to string:FlatBufferCharView:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to string:FlatBufferCharView:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to string:FlatBufferCharView:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__hash, /* pointer to string:FlatBufferCharView:abstract_collection#SequenceRead#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string:FlatBufferCharView:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string:FlatBufferCharView:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string:FlatBufferCharView:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string:FlatBufferCharView:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to string:FlatBufferCharView:string#Collection#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to string:FlatBufferCharView:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to string:FlatBufferCharView:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to string:FlatBufferCharView:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to string:FlatBufferCharView:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to string:FlatBufferCharView:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to string:FlatBufferCharView:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to string:FlatBufferCharView:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to string:FlatBufferCharView:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to string:FlatBufferCharView:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to string:FlatBufferCharView:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to string:FlatBufferCharView:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to string:FlatBufferCharView:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to string:FlatBufferCharView:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to string:FlatBufferCharView:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to string:FlatBufferCharView:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to string:FlatBufferCharView:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to string:FlatBufferCharView:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to string:FlatBufferCharView:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to string:FlatBufferCharView:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to string:FlatBufferCharView:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to string:FlatBufferCharView:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to string:FlatBufferCharView:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to string:FlatBufferCharView:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to string:FlatBufferCharView:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to string:FlatBufferCharView:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to string:FlatBufferCharView:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to string:FlatBufferCharView:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to string:FlatBufferCharView:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to string:FlatBufferCharView:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to string:FlatBufferCharView:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to string:FlatBufferCharView:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to string:FlatBufferCharView:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to string:FlatBufferCharView:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to string:FlatBufferCharView:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to string:FlatBufferCharView:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to string:FlatBufferCharView:cpp#Object#from_cpp_call_context */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+(nitmethod_t)VIRTUAL_string__FlatBufferCharView__iterator, /* pointer to string:FlatBufferCharView:string#FlatBufferCharView#iterator */
+(nitmethod_t)VIRTUAL_string__StringCharView__is_empty, /* pointer to string:FlatBufferCharView:string#StringCharView#is_empty */
+(nitmethod_t)VIRTUAL_string__StringCharView__length, /* pointer to string:FlatBufferCharView:string#StringCharView#length */
+(nitmethod_t)VIRTUAL_string__StringCharView__has, /* pointer to string:FlatBufferCharView:string#StringCharView#has */
+(nitmethod_t)VIRTUAL_abstract_collection__Collection__has_only, /* pointer to string:FlatBufferCharView:abstract_collection#Collection#has_only */
+(nitmethod_t)VIRTUAL_abstract_collection__Collection__count, /* pointer to string:FlatBufferCharView:abstract_collection#Collection#count */
+(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__first, /* pointer to string:FlatBufferCharView:abstract_collection#SequenceRead#first */
+(nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to string:FlatBufferCharView:abstract_collection#Collection#has_all */
+(nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to string:FlatBufferCharView:array#Collection#to_a */
+(nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to string:FlatBufferCharView:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to string:FlatBufferCharView:string#Collection#join */
+(nitmethod_t)VIRTUAL_abstract_collection__RemovableCollection__clear, /* pointer to string:FlatBufferCharView:abstract_collection#RemovableCollection#clear */
+(nitmethod_t)VIRTUAL_abstract_collection__RemovableCollection__remove, /* pointer to string:FlatBufferCharView:abstract_collection#RemovableCollection#remove */
+(nitmethod_t)VIRTUAL_abstract_collection__RemovableCollection__remove_all, /* pointer to string:FlatBufferCharView:abstract_collection#RemovableCollection#remove_all */
+(nitmethod_t)VIRTUAL_string__FlatBufferCharView__add, /* pointer to string:FlatBufferCharView:string#FlatBufferCharView#add */
+(nitmethod_t)VIRTUAL_abstract_collection__SimpleCollection__add_all, /* pointer to string:FlatBufferCharView:abstract_collection#SimpleCollection#add_all */
+(nitmethod_t)VIRTUAL_string__FlatBufferCharView___91d_93d, /* pointer to string:FlatBufferCharView:string#FlatBufferCharView#[] */
+(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__last, /* pointer to string:FlatBufferCharView:abstract_collection#SequenceRead#last */
+(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__index_of, /* pointer to string:FlatBufferCharView:abstract_collection#SequenceRead#index_of */
+(nitmethod_t)VIRTUAL_abstract_collection__Sequence__first_61d, /* pointer to string:FlatBufferCharView:abstract_collection#Sequence#first= */
+(nitmethod_t)VIRTUAL_abstract_collection__Sequence__last_61d, /* pointer to string:FlatBufferCharView:abstract_collection#Sequence#last= */
+(nitmethod_t)VIRTUAL_string__FlatBufferCharView__push, /* pointer to string:FlatBufferCharView:string#FlatBufferCharView#push */
+(nitmethod_t)VIRTUAL_string__FlatBufferCharView__append, /* pointer to string:FlatBufferCharView:string#FlatBufferCharView#append */
+(nitmethod_t)VIRTUAL_abstract_collection__Sequence__pop, /* pointer to string:FlatBufferCharView:abstract_collection#Sequence#pop */
+(nitmethod_t)VIRTUAL_abstract_collection__Sequence__unshift, /* pointer to string:FlatBufferCharView:abstract_collection#Sequence#unshift */
+(nitmethod_t)VIRTUAL_abstract_collection__Sequence__shift, /* pointer to string:FlatBufferCharView:abstract_collection#Sequence#shift */
+(nitmethod_t)VIRTUAL_string__FlatBufferCharView___91d_93d_61d, /* pointer to string:FlatBufferCharView:string#FlatBufferCharView#[]= */
+(nitmethod_t)VIRTUAL_abstract_collection__Sequence__remove_at, /* pointer to string:FlatBufferCharView:abstract_collection#Sequence#remove_at */
+(nitmethod_t)VIRTUAL_collection__Sequence__subarray, /* pointer to string:FlatBufferCharView:collection#Sequence#subarray */
+(nitmethod_t)VIRTUAL_string__StringCharView__target, /* pointer to string:FlatBufferCharView:string#StringCharView#target */
+(nitmethod_t)VIRTUAL_string__StringCharView__target_61d, /* pointer to string:FlatBufferCharView:string#StringCharView#target= */
+(nitmethod_t)VIRTUAL_string__StringCharView__init, /* pointer to string:FlatBufferCharView:string#StringCharView#init */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+(nitmethod_t)VIRTUAL_string__StringCapable__calloc_string, /* pointer to string:FlatBufferCharView:string#StringCapable#calloc_string */
+(nitmethod_t)VIRTUAL_string__FlatBufferCharView__enlarge, /* pointer to string:FlatBufferCharView:string#FlatBufferCharView#enlarge */
 }
 };
-/* allocate String */
-val* NEW_string__String(const struct type* type) {
-val* self /* : String */;
-long var /* : Int */;
-self = nit_alloc(sizeof(struct instance) + 4*sizeof(nitattribute_t));
+/* allocate FlatBufferCharView */
+val* NEW_string__FlatBufferCharView(const struct type* type) {
+val* self /* : FlatBufferCharView */;
+self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
 self->type = type;
-self->class = &class_string__String;
-var = 0;
-self->attrs[COLOR_array__AbstractArrayRead___length].l = var; /* _length on <self:String exact> */
+self->class = &class_string__FlatBufferCharView;
 return self;
 }
-/* allocate String */
-void CHECK_NEW_string__String(val* self) {
-char* var /* : NativeString */;
-long var1 /* : Int */;
-long var2 /* : Int */;
-var = self->attrs[COLOR_string__AbstractString___items].str; /* _items on <self:String> */
-var1 = self->attrs[COLOR_string__String___index_from].l; /* _index_from on <self:String> */
-var2 = self->attrs[COLOR_string__String___index_to].l; /* _index_to on <self:String> */
-}
-/* runtime class string__Buffer */
-const struct class class_string__Buffer = {
+/* runtime class string__FlatBufferIterator */
+const struct class class_string__FlatBufferIterator = {
 0, /* box_kind */
 {
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to string:Buffer:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to string:Buffer:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_ropes__Buffer___61d_61d, /* pointer to string:Buffer:ropes#Buffer#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to string:Buffer:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_string__AbstractString__output, /* pointer to string:Buffer:string#AbstractString#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to string:Buffer:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to string:Buffer:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to string:Buffer:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__hash, /* pointer to string:Buffer:abstract_collection#SequenceRead#hash */
-(nitmethod_t)VIRTUAL_string__Buffer__to_s, /* pointer to string:Buffer:string#Buffer#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to string:Buffer:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to string:Buffer:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to string:Buffer:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to string:Buffer:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to string:Buffer:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string:Buffer:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string:Buffer:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string:Buffer:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string:Buffer:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to string:Buffer:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to string:Buffer:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to string:Buffer:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to string:Buffer:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to string:Buffer:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to string:Buffer:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to string:Buffer:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to string:Buffer:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to string:Buffer:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to string:Buffer:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to string:Buffer:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to string:Buffer:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to string:Buffer:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to string:Buffer:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to string:Buffer:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to string:Buffer:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to string:Buffer:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to string:Buffer:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to string:Buffer:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to string:Buffer:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to string:Buffer:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to string:Buffer:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_string__Buffer___60d, /* pointer to string:Buffer:string#Buffer#< */
-(nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d, /* pointer to string:Buffer:kernel#Comparable#<= */
-(nitmethod_t)VIRTUAL_kernel__Comparable___62d_61d, /* pointer to string:Buffer:kernel#Comparable#>= */
-(nitmethod_t)VIRTUAL_kernel__Comparable___62d, /* pointer to string:Buffer:kernel#Comparable#> */
-(nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d_62d, /* pointer to string:Buffer:kernel#Comparable#<=> */
-(nitmethod_t)VIRTUAL_kernel__Comparable__is_between, /* pointer to string:Buffer:kernel#Comparable#is_between */
-(nitmethod_t)VIRTUAL_kernel__Comparable__max, /* pointer to string:Buffer:kernel#Comparable#max */
-(nitmethod_t)VIRTUAL_kernel__Comparable__min, /* pointer to string:Buffer:kernel#Comparable#min */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__iterator, /* pointer to string:Buffer:array#AbstractArrayRead#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to string:Buffer:abstract_collection#Collection#iterate */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__is_empty, /* pointer to string:Buffer:array#AbstractArrayRead#is_empty */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__length, /* pointer to string:Buffer:array#AbstractArrayRead#length */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__has, /* pointer to string:Buffer:array#AbstractArrayRead#has */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__has_only, /* pointer to string:Buffer:array#AbstractArrayRead#has_only */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__count, /* pointer to string:Buffer:array#AbstractArrayRead#count */
-(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__first, /* pointer to string:Buffer:abstract_collection#SequenceRead#first */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to string:Buffer:abstract_collection#Collection#has_all */
-(nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to string:Buffer:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to string:Buffer:string#Collection#join */
-(nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to string:Buffer:math#Collection#rand */
-(nitmethod_t)VIRTUAL_array__AbstractArray__clear, /* pointer to string:Buffer:array#AbstractArray#clear */
-(nitmethod_t)VIRTUAL_array__AbstractArray__remove, /* pointer to string:Buffer:array#AbstractArray#remove */
-(nitmethod_t)VIRTUAL_array__AbstractArray__remove_all, /* pointer to string:Buffer:array#AbstractArray#remove_all */
-(nitmethod_t)VIRTUAL_string__Buffer__add, /* pointer to string:Buffer:string#Buffer#add */
-(nitmethod_t)VIRTUAL_abstract_collection__SimpleCollection__add_all, /* pointer to string:Buffer:abstract_collection#SimpleCollection#add_all */
-(nitmethod_t)VIRTUAL_string__AbstractString___91d_93d, /* pointer to string:Buffer:string#AbstractString#[] */
-(nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__last, /* pointer to string:Buffer:abstract_collection#SequenceRead#last */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__index_of, /* pointer to string:Buffer:array#AbstractArrayRead#index_of */
-(nitmethod_t)VIRTUAL_abstract_collection__Sequence__first_61d, /* pointer to string:Buffer:abstract_collection#Sequence#first= */
-(nitmethod_t)VIRTUAL_abstract_collection__Sequence__last_61d, /* pointer to string:Buffer:abstract_collection#Sequence#last= */
-(nitmethod_t)VIRTUAL_array__AbstractArray__push, /* pointer to string:Buffer:array#AbstractArray#push */
-(nitmethod_t)VIRTUAL_string__Buffer__append, /* pointer to string:Buffer:string#Buffer#append */
-(nitmethod_t)VIRTUAL_array__AbstractArray__pop, /* pointer to string:Buffer:array#AbstractArray#pop */
-(nitmethod_t)VIRTUAL_array__AbstractArray__unshift, /* pointer to string:Buffer:array#AbstractArray#unshift */
-(nitmethod_t)VIRTUAL_array__AbstractArray__shift, /* pointer to string:Buffer:array#AbstractArray#shift */
-(nitmethod_t)VIRTUAL_string__Buffer___91d_93d_61d, /* pointer to string:Buffer:string#Buffer#[]= */
-(nitmethod_t)VIRTUAL_array__AbstractArray__remove_at, /* pointer to string:Buffer:array#AbstractArray#remove_at */
-(nitmethod_t)VIRTUAL_collection__Sequence__subarray, /* pointer to string:Buffer:collection#Sequence#subarray */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__last_index_of, /* pointer to string:Buffer:array#AbstractArrayRead#last_index_of */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__index_of_from, /* pointer to string:Buffer:array#AbstractArrayRead#index_of_from */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__last_index_of_from, /* pointer to string:Buffer:array#AbstractArrayRead#last_index_of_from */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__reversed, /* pointer to string:Buffer:array#AbstractArrayRead#reversed */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__copy_to, /* pointer to string:Buffer:array#AbstractArrayRead#copy_to */
-(nitmethod_t)VIRTUAL_array__AbstractArrayRead__init, /* pointer to string:Buffer:array#AbstractArrayRead#init */
-(nitmethod_t)VIRTUAL_string__Buffer__enlarge, /* pointer to string:Buffer:string#Buffer#enlarge */
-(nitmethod_t)VIRTUAL_array__AbstractArray__insert, /* pointer to string:Buffer:array#AbstractArray#insert */
-(nitmethod_t)VIRTUAL_array__AbstractArray__swap_at, /* pointer to string:Buffer:array#AbstractArray#swap_at */
-(nitmethod_t)VIRTUAL_array__AbstractArray__init, /* pointer to string:Buffer:array#AbstractArray#init */
-(nitmethod_t)VIRTUAL_string__AbstractString__items, /* pointer to string:Buffer:string#AbstractString#items */
-(nitmethod_t)VIRTUAL_string__AbstractString__substring, /* pointer to string:Buffer:string#AbstractString#substring */
-(nitmethod_t)VIRTUAL_string__AbstractString__substring_from, /* pointer to string:Buffer:string#AbstractString#substring_from */
-(nitmethod_t)VIRTUAL_string__AbstractString__has_substring, /* pointer to string:Buffer:string#AbstractString#has_substring */
-(nitmethod_t)VIRTUAL_string__AbstractString__has_prefix, /* pointer to string:Buffer:string#AbstractString#has_prefix */
-(nitmethod_t)VIRTUAL_string__AbstractString__has_suffix, /* pointer to string:Buffer:string#AbstractString#has_suffix */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_i, /* pointer to string:Buffer:string#AbstractString#to_i */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_f, /* pointer to string:Buffer:string#AbstractString#to_f */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_hex, /* pointer to string:Buffer:string#AbstractString#to_hex */
-(nitmethod_t)VIRTUAL_string__AbstractString__a_to, /* pointer to string:Buffer:string#AbstractString#a_to */
-(nitmethod_t)VIRTUAL_string__AbstractString__is_numeric, /* pointer to string:Buffer:string#AbstractString#is_numeric */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_upper, /* pointer to string:Buffer:string#AbstractString#to_upper */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_lower, /* pointer to string:Buffer:string#AbstractString#to_lower */
-(nitmethod_t)VIRTUAL_string__AbstractString__trim, /* pointer to string:Buffer:string#AbstractString#trim */
-(nitmethod_t)VIRTUAL_string__AbstractString__to_cmangle, /* pointer to string:Buffer:string#AbstractString#to_cmangle */
-(nitmethod_t)VIRTUAL_string__AbstractString__escape_to_c, /* pointer to string:Buffer:string#AbstractString#escape_to_c */
-(nitmethod_t)VIRTUAL_string__AbstractString__escape_more_to_c, /* pointer to string:Buffer:string#AbstractString#escape_more_to_c */
-(nitmethod_t)VIRTUAL_string__AbstractString__escape_to_nit, /* pointer to string:Buffer:string#AbstractString#escape_to_nit */
-(nitmethod_t)VIRTUAL_string__AbstractString__unescape_nit, /* pointer to string:Buffer:string#AbstractString#unescape_nit */
-(nitmethod_t)VIRTUAL_string__AbstractString__init, /* pointer to string:Buffer:string#AbstractString#init */
-(nitmethod_t)VIRTUAL_string__StringCapable__calloc_string, /* pointer to string:Buffer:string#StringCapable#calloc_string */
-(nitmethod_t)VIRTUAL_string__Buffer__init, /* pointer to string:Buffer:string#Buffer#init */
-(nitmethod_t)VIRTUAL_string__Buffer__from, /* pointer to string:Buffer:string#Buffer#from */
-(nitmethod_t)VIRTUAL_string__Buffer__with_capacity, /* pointer to string:Buffer:string#Buffer#with_capacity */
-(nitmethod_t)VIRTUAL_string__Buffer__capacity, /* pointer to string:Buffer:string#Buffer#capacity */
-(nitmethod_t)VIRTUAL_string__Buffer___61d_61d, /* pointer to string:Buffer:string#Buffer#== */
-(nitmethod_t)VIRTUAL_abstract_collection__Sequence__append, /* pointer to string:Buffer:abstract_collection#Sequence#append */
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to string:FlatBufferIterator:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to string:FlatBufferIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to string:FlatBufferIterator:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to string:FlatBufferIterator:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to string:FlatBufferIterator:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to string:FlatBufferIterator:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to string:FlatBufferIterator:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to string:FlatBufferIterator:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to string:FlatBufferIterator:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to string:FlatBufferIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string:FlatBufferIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string:FlatBufferIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string:FlatBufferIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string:FlatBufferIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to string:FlatBufferIterator:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to string:FlatBufferIterator:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to string:FlatBufferIterator:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to string:FlatBufferIterator:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to string:FlatBufferIterator:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to string:FlatBufferIterator:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to string:FlatBufferIterator:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to string:FlatBufferIterator:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to string:FlatBufferIterator:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to string:FlatBufferIterator:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to string:FlatBufferIterator:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to string:FlatBufferIterator:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to string:FlatBufferIterator:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to string:FlatBufferIterator:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to string:FlatBufferIterator:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to string:FlatBufferIterator:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to string:FlatBufferIterator:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to string:FlatBufferIterator:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to string:FlatBufferIterator:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to string:FlatBufferIterator:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to string:FlatBufferIterator:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to string:FlatBufferIterator:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to string:FlatBufferIterator:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to string:FlatBufferIterator:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to string:FlatBufferIterator:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to string:FlatBufferIterator:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to string:FlatBufferIterator:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to string:FlatBufferIterator:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to string:FlatBufferIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to string:FlatBufferIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to string:FlatBufferIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to string:FlatBufferIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to string:FlatBufferIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to string:FlatBufferIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to string:FlatBufferIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to string:FlatBufferIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to string:FlatBufferIterator:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__item, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#item */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__next, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#next */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__is_ok, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#is_ok */
+(nitmethod_t)VIRTUAL_array__Iterator__to_a, /* pointer to string:FlatBufferIterator:array#Iterator#to_a */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__index, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#index */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__target, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#target */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__target_61d, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#target= */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__target_items, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#target_items */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__target_items_61d, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#target_items= */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__curr_pos, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#curr_pos */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__curr_pos_61d, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#curr_pos= */
+(nitmethod_t)VIRTUAL_string__FlatBufferIterator__with_pos, /* pointer to string:FlatBufferIterator:string#FlatBufferIterator#with_pos */
 }
 };
-/* allocate Buffer */
-val* NEW_string__Buffer(const struct type* type) {
-val* self /* : Buffer */;
-long var /* : Int */;
+/* allocate FlatBufferIterator */
+val* NEW_string__FlatBufferIterator(const struct type* type) {
+val* self /* : FlatBufferIterator */;
 self = nit_alloc(sizeof(struct instance) + 3*sizeof(nitattribute_t));
 self->type = type;
-self->class = &class_string__Buffer;
-var = 0;
-self->attrs[COLOR_array__AbstractArrayRead___length].l = var; /* _length on <self:Buffer exact> */
+self->class = &class_string__FlatBufferIterator;
 return self;
 }
-/* allocate Buffer */
-void CHECK_NEW_string__Buffer(val* self) {
-char* var /* : NativeString */;
-long var1 /* : Int */;
-var = self->attrs[COLOR_string__AbstractString___items].str; /* _items on <self:Buffer> */
-var1 = self->attrs[COLOR_string__Buffer___capacity].l; /* _capacity on <self:Buffer> */
-}
 /* runtime class string__NativeString */
 const struct class class_string__NativeString = {
 5, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to string:NativeString:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to string:NativeString:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to string:NativeString:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to string:NativeString:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to string:NativeString:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to string:NativeString:kernel#Object#output */
@@ -1198,16 +234,17 @@ const struct class class_string__NativeString = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to string:NativeString:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to string:NativeString:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to string:NativeString:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string:NativeString:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string:NativeString:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string:NativeString:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string:NativeString:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__NativeString__to_s, /* pointer to string:NativeString:string#NativeString#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to string:NativeString:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to string:NativeString:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to string:NativeString:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to string:NativeString:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to string:NativeString:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string:NativeString:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string:NativeString:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string:NativeString:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string:NativeString:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to string:NativeString:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to string:NativeString:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to string:NativeString:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to string:NativeString:time#Object#get_time */
@@ -1230,7 +267,14 @@ const struct class class_string__NativeString = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to string:NativeString:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to string:NativeString:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to string:NativeString:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to string:NativeString:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to string:NativeString:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to string:NativeString:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to string:NativeString:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to string:NativeString:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to string:NativeString:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to string:NativeString:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to string:NativeString:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -1327,6 +371,7 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_file__NativeString__file_mkdir, /* pointer to string:NativeString:file#NativeString#file_mkdir */
 (nitmethod_t)VIRTUAL_file__NativeString__file_delete, /* pointer to string:NativeString:file#NativeString#file_delete */
 (nitmethod_t)VIRTUAL_file__NativeString__file_chdir, /* pointer to string:NativeString:file#NativeString#file_chdir */
+(nitmethod_t)VIRTUAL_file__NativeString__file_realpath, /* pointer to string:NativeString:file#NativeString#file_realpath */
 }
 };
 /* allocate NativeString */
@@ -1337,373 +382,27 @@ res->class = &class_string__NativeString;
 res->value = value;
 return (val*)res;
 }
-/* runtime class abstract_collection__Container */
-/* allocate Container[nullable Object] */
-val* NEW_abstract_collection__Container(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "Container is DEAD");
-exit(1);
-}
-/* allocate Container[nullable Object] */
-void CHECK_NEW_abstract_collection__Container(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "Container is DEAD");
-exit(1);
-}
-/* runtime class abstract_collection__ContainerIterator */
-const struct class class_abstract_collection__ContainerIterator = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:ContainerIterator:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:ContainerIterator:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:ContainerIterator:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:ContainerIterator:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:ContainerIterator:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:ContainerIterator:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:ContainerIterator:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:ContainerIterator:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:ContainerIterator:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:ContainerIterator:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:ContainerIterator:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:ContainerIterator:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:ContainerIterator:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:ContainerIterator:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:ContainerIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:ContainerIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:ContainerIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:ContainerIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:ContainerIterator:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:ContainerIterator:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:ContainerIterator:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:ContainerIterator:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:ContainerIterator:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:ContainerIterator:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:ContainerIterator:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:ContainerIterator:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:ContainerIterator:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:ContainerIterator:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:ContainerIterator:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:ContainerIterator:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:ContainerIterator:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__item, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#item */
-(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__next, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#next */
-(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__is_ok, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#is_ok */
-(nitmethod_t)VIRTUAL_array__Iterator__to_a, /* pointer to abstract_collection:ContainerIterator:array#Iterator#to_a */
-(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__init, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#init */
-}
-};
-/* allocate ContainerIterator[nullable Object] */
-val* NEW_abstract_collection__ContainerIterator(const struct type* type) {
-val* self /* : ContainerIterator[nullable Object] */;
-short int var /* : Bool */;
-self = nit_alloc(sizeof(struct instance) + 2*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_abstract_collection__ContainerIterator;
-var = 1;
-self->attrs[COLOR_abstract_collection__ContainerIterator___is_ok].s = var; /* _is_ok on <self:ContainerIterator[nullable Object] exact> */
-return self;
-}
-/* allocate ContainerIterator[nullable Object] */
-void CHECK_NEW_abstract_collection__ContainerIterator(val* self) {
-val* var /* : Container[nullable Object] */;
-var = self->attrs[COLOR_abstract_collection__ContainerIterator___container].val; /* _container on <self:ContainerIterator[nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _container", "lib/standard/collection/abstract_collection.nit", 207);
-exit(1);
+/* runtime class string__CachedAlphaComparator */
+/* allocate CachedAlphaComparator */
+val* NEW_string__CachedAlphaComparator(const struct type* type) {
+fprintf(stderr, "Runtime error: %s", "CachedAlphaComparator is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
+/* runtime class string__AlphaComparator */
+/* allocate AlphaComparator */
+val* NEW_string__AlphaComparator(const struct type* type) {
+fprintf(stderr, "Runtime error: %s", "AlphaComparator is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
-/* runtime class abstract_collection__MapKeysIterator */
-const struct class class_abstract_collection__MapKeysIterator = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:MapKeysIterator:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:MapKeysIterator:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:MapKeysIterator:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:MapKeysIterator:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:MapKeysIterator:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:MapKeysIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:MapKeysIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:MapKeysIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:MapKeysIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:MapKeysIterator:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:MapKeysIterator:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:MapKeysIterator:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:MapKeysIterator:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:MapKeysIterator:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:MapKeysIterator:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:MapKeysIterator:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:MapKeysIterator:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:MapKeysIterator:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:MapKeysIterator:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:MapKeysIterator:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:MapKeysIterator:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:MapKeysIterator:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__item, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#item */
-(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__next, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#next */
-(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__is_ok, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#is_ok */
-(nitmethod_t)VIRTUAL_array__Iterator__to_a, /* pointer to abstract_collection:MapKeysIterator:array#Iterator#to_a */
-(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__iterator, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__iterator_61d, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#iterator= */
-(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__init, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#init */
-}
-};
-/* allocate MapKeysIterator[Object, nullable Object] */
-val* NEW_abstract_collection__MapKeysIterator(const struct type* type) {
-val* self /* : MapKeysIterator[Object, nullable Object] */;
-self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_abstract_collection__MapKeysIterator;
-return self;
-}
-/* allocate MapKeysIterator[Object, nullable Object] */
-void CHECK_NEW_abstract_collection__MapKeysIterator(val* self) {
-val* var /* : MapIterator[Object, nullable Object] */;
-var = self->attrs[COLOR_abstract_collection__MapKeysIterator___64diterator].val; /* @iterator on <self:MapKeysIterator[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @iterator", "lib/standard/collection/abstract_collection.nit", 406);
-exit(1);
-}
-}
-/* runtime class abstract_collection__MapValuesIterator */
-const struct class class_abstract_collection__MapValuesIterator = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:MapValuesIterator:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:MapValuesIterator:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:MapValuesIterator:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:MapValuesIterator:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:MapValuesIterator:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:MapValuesIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:MapValuesIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:MapValuesIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:MapValuesIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:MapValuesIterator:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:MapValuesIterator:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:MapValuesIterator:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:MapValuesIterator:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:MapValuesIterator:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:MapValuesIterator:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:MapValuesIterator:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:MapValuesIterator:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:MapValuesIterator:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:MapValuesIterator:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:MapValuesIterator:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:MapValuesIterator:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:MapValuesIterator:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__item, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#item */
-(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__next, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#next */
-(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__is_ok, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#is_ok */
-(nitmethod_t)VIRTUAL_array__Iterator__to_a, /* pointer to abstract_collection:MapValuesIterator:array#Iterator#to_a */
-(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__iterator, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__iterator_61d, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#iterator= */
-(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__init, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#init */
-}
-};
-/* allocate MapValuesIterator[Object, nullable Object] */
-val* NEW_abstract_collection__MapValuesIterator(const struct type* type) {
-val* self /* : MapValuesIterator[Object, nullable Object] */;
-self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_abstract_collection__MapValuesIterator;
-return self;
-}
-/* allocate MapValuesIterator[Object, nullable Object] */
-void CHECK_NEW_abstract_collection__MapValuesIterator(val* self) {
-val* var /* : MapIterator[Object, nullable Object] */;
-var = self->attrs[COLOR_abstract_collection__MapValuesIterator___64diterator].val; /* @iterator on <self:MapValuesIterator[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @iterator", "lib/standard/collection/abstract_collection.nit", 417);
-exit(1);
-}
-}
-/* runtime class abstract_collection__CoupleMapIterator */
-const struct class class_abstract_collection__CoupleMapIterator = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:CoupleMapIterator:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:CoupleMapIterator:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:CoupleMapIterator:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:CoupleMapIterator:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:CoupleMapIterator:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:CoupleMapIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:CoupleMapIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:CoupleMapIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:CoupleMapIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:CoupleMapIterator:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:CoupleMapIterator:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:CoupleMapIterator:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:CoupleMapIterator:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:CoupleMapIterator:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:CoupleMapIterator:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:CoupleMapIterator:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:CoupleMapIterator:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:CoupleMapIterator:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:CoupleMapIterator:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:CoupleMapIterator:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:CoupleMapIterator:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:CoupleMapIterator:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__item, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#item */
-(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__key, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#key */
-(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__next, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#next */
-(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__is_ok, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#is_ok */
-(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__init, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#init */
-}
-};
-/* allocate CoupleMapIterator[Object, nullable Object] */
-val* NEW_abstract_collection__CoupleMapIterator(const struct type* type) {
-val* self /* : CoupleMapIterator[Object, nullable Object] */;
-self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_abstract_collection__CoupleMapIterator;
-return self;
-}
-/* allocate CoupleMapIterator[Object, nullable Object] */
-void CHECK_NEW_abstract_collection__CoupleMapIterator(val* self) {
-val* var /* : Iterator[Couple[Object, nullable Object]] */;
-var = self->attrs[COLOR_abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/abstract_collection.nit", 580);
-exit(1);
-}
-}
-/* runtime class abstract_collection__Couple */
-const struct class class_abstract_collection__Couple = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:Couple:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:Couple:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:Couple:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:Couple:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:Couple:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:Couple:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:Couple:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:Couple:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:Couple:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:Couple:string#Object#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:Couple:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:Couple:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:Couple:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:Couple:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:Couple:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:Couple:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:Couple:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:Couple:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:Couple:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:Couple:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:Couple:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:Couple:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:Couple:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:Couple:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:Couple:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:Couple:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:Couple:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:Couple:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:Couple:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:Couple:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:Couple:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:Couple:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:Couple:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:Couple:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:Couple:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:Couple:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:Couple:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:Couple:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:Couple:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:Couple:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:Couple:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_abstract_collection__Couple__first, /* pointer to abstract_collection:Couple:abstract_collection#Couple#first */
-(nitmethod_t)VIRTUAL_abstract_collection__Couple__first_61d, /* pointer to abstract_collection:Couple:abstract_collection#Couple#first= */
-(nitmethod_t)VIRTUAL_abstract_collection__Couple__second, /* pointer to abstract_collection:Couple:abstract_collection#Couple#second */
-(nitmethod_t)VIRTUAL_abstract_collection__Couple__second_61d, /* pointer to abstract_collection:Couple:abstract_collection#Couple#second= */
-(nitmethod_t)VIRTUAL_abstract_collection__Couple__init, /* pointer to abstract_collection:Couple:abstract_collection#Couple#init */
-}
-};
-/* allocate Couple[nullable Object, nullable Object] */
-val* NEW_abstract_collection__Couple(const struct type* type) {
-val* self /* : Couple[nullable Object, nullable Object] */;
-self = nit_alloc(sizeof(struct instance) + 2*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_abstract_collection__Couple;
-return self;
-}
-/* allocate Couple[nullable Object, nullable Object] */
-void CHECK_NEW_abstract_collection__Couple(val* self) {
-val* var /* : nullable Object */;
-val* var1 /* : nullable Object */;
-var = self->attrs[COLOR_abstract_collection__Couple___first].val; /* _first on <self:Couple[nullable Object, nullable Object]> */
-var1 = self->attrs[COLOR_abstract_collection__Couple___second].val; /* _second on <self:Couple[nullable Object, nullable Object]> */
-}
-/* runtime class kernel__Sys */
-const struct class class_kernel__Sys = {
+/* runtime class kernel__Sys */
+const struct class class_kernel__Sys = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to kernel:Sys:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to kernel:Sys:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to kernel:Sys:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to kernel:Sys:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to kernel:Sys:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to kernel:Sys:kernel#Object#output */
@@ -1711,16 +410,17 @@ const struct class class_kernel__Sys = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to kernel:Sys:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to kernel:Sys:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to kernel:Sys:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Sys:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Sys:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Sys:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Sys:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to kernel:Sys:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to kernel:Sys:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to kernel:Sys:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to kernel:Sys:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to kernel:Sys:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Sys__args, /* pointer to kernel:Sys:string#Sys#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Sys:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Sys:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Sys:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Sys:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to kernel:Sys:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to kernel:Sys:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to kernel:Sys:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to kernel:Sys:time#Object#get_time */
@@ -1743,6 +443,14 @@ const struct class class_kernel__Sys = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to kernel:Sys:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to kernel:Sys:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to kernel:Sys:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to kernel:Sys:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to kernel:Sys:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to kernel:Sys:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to kernel:Sys:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to kernel:Sys:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to kernel:Sys:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to kernel:Sys:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to kernel:Sys:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_nitg__Sys__main, /* pointer to kernel:Sys:nitg#Sys#main */
 (nitmethod_t)VIRTUAL_kernel__Sys__init, /* pointer to kernel:Sys:kernel#Sys#init */
 (nitmethod_t)VIRTUAL_gc__Sys__force_garbage_collection, /* pointer to kernel:Sys:gc#Sys#force_garbage_collection */
@@ -1770,17 +478,13 @@ self->type = type;
 self->class = &class_kernel__Sys;
 return self;
 }
-/* allocate Sys */
-void CHECK_NEW_kernel__Sys(val* self) {
-val* var /* : nullable Sequence[String] */;
-var = self->attrs[COLOR_string__Sys___args_cache].val; /* _args_cache on <self:Sys> */
-}
 /* runtime class kernel__Bool */
 const struct class class_kernel__Bool = {
 2, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Bool__object_id, /* pointer to kernel:Bool:kernel#Bool#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to kernel:Bool:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to kernel:Bool:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Bool___61d_61d, /* pointer to kernel:Bool:kernel#Bool#== */
 (nitmethod_t)VIRTUAL_kernel__Bool___33d_61d, /* pointer to kernel:Bool:kernel#Bool#!= */
 (nitmethod_t)VIRTUAL_kernel__Bool__output, /* pointer to kernel:Bool:kernel#Bool#output */
@@ -1788,16 +492,17 @@ const struct class class_kernel__Bool = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to kernel:Bool:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to kernel:Bool:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Bool__hash, /* pointer to kernel:Bool:kernel#Bool#hash */
-(nitmethod_t)VIRTUAL_string__Bool__to_s, /* pointer to kernel:Bool:string#Bool#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to kernel:Bool:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to kernel:Bool:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to kernel:Bool:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to kernel:Bool:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to kernel:Bool:string#Object#args */
 (nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Bool:math#Object#atan2 */
 (nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Bool:math#Object#pi */
 (nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Bool:math#Object#srand_from */
 (nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Bool:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Bool__to_s, /* pointer to kernel:Bool:string#Bool#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to kernel:Bool:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to kernel:Bool:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to kernel:Bool:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to kernel:Bool:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to kernel:Bool:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to kernel:Bool:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to kernel:Bool:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to kernel:Bool:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to kernel:Bool:time#Object#get_time */
@@ -1820,6 +525,14 @@ const struct class class_kernel__Bool = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to kernel:Bool:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to kernel:Bool:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to kernel:Bool:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to kernel:Bool:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to kernel:Bool:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to kernel:Bool:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to kernel:Bool:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to kernel:Bool:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to kernel:Bool:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to kernel:Bool:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to kernel:Bool:cpp#Object#from_cpp_call_context */
 }
 };
 /* allocate Bool */
@@ -1836,6 +549,7 @@ const struct class class_kernel__Float = {
 {
 (nitmethod_t)VIRTUAL_kernel__Float__object_id, /* pointer to kernel:Float:kernel#Float#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to kernel:Float:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to kernel:Float:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to kernel:Float:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to kernel:Float:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Float__output, /* pointer to kernel:Float:kernel#Float#output */
@@ -1843,16 +557,17 @@ const struct class class_kernel__Float = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to kernel:Float:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to kernel:Float:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to kernel:Float:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Float:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Float:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Float:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Float:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Float__to_s, /* pointer to kernel:Float:string#Float#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to kernel:Float:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to kernel:Float:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to kernel:Float:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to kernel:Float:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to kernel:Float:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Float:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Float:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Float:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Float:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to kernel:Float:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to kernel:Float:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to kernel:Float:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to kernel:Float:time#Object#get_time */
@@ -1875,18 +590,28 @@ const struct class class_kernel__Float = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to kernel:Float:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to kernel:Float:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to kernel:Float:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_kernel__Float___60d_61d, /* pointer to kernel:Float:kernel#Float#<= */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to kernel:Float:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to kernel:Float:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to kernel:Float:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to kernel:Float:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to kernel:Float:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to kernel:Float:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to kernel:Float:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to kernel:Float:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_kernel__Float___60d, /* pointer to kernel:Float:kernel#Float#< */
+(nitmethod_t)VIRTUAL_kernel__Float___60d_61d, /* pointer to kernel:Float:kernel#Float#<= */
 (nitmethod_t)VIRTUAL_kernel__Float___62d_61d, /* pointer to kernel:Float:kernel#Float#>= */
 (nitmethod_t)VIRTUAL_kernel__Float___62d, /* pointer to kernel:Float:kernel#Float#> */
+(nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d_62d, /* pointer to kernel:Float:kernel#Comparable#<=> */
+(nitmethod_t)VIRTUAL_kernel__Comparable__is_between, /* pointer to kernel:Float:kernel#Comparable#is_between */
+(nitmethod_t)VIRTUAL_kernel__Comparable__max, /* pointer to kernel:Float:kernel#Comparable#max */
+(nitmethod_t)VIRTUAL_kernel__Comparable__min, /* pointer to kernel:Float:kernel#Comparable#min */
 (nitmethod_t)VIRTUAL_kernel__Float___43d, /* pointer to kernel:Float:kernel#Float#+ */
 (nitmethod_t)VIRTUAL_kernel__Float__unary_32d_45d, /* pointer to kernel:Float:kernel#Float#unary - */
 (nitmethod_t)VIRTUAL_kernel__Float___45d, /* pointer to kernel:Float:kernel#Float#- */
 (nitmethod_t)VIRTUAL_kernel__Float___42d, /* pointer to kernel:Float:kernel#Float#* */
 (nitmethod_t)VIRTUAL_kernel__Float___47d, /* pointer to kernel:Float:kernel#Float#/ */
 (nitmethod_t)VIRTUAL_kernel__Float__to_i, /* pointer to kernel:Float:kernel#Float#to_i */
-(nitmethod_t)VIRTUAL_string__Float__to_precision, /* pointer to kernel:Float:string#Float#to_precision */
-(nitmethod_t)VIRTUAL_string__Float__to_precision_native, /* pointer to kernel:Float:string#Float#to_precision_native */
 (nitmethod_t)VIRTUAL_math__Float__sqrt, /* pointer to kernel:Float:math#Float#sqrt */
 (nitmethod_t)VIRTUAL_math__Float__cos, /* pointer to kernel:Float:math#Float#cos */
 (nitmethod_t)VIRTUAL_math__Float__sin, /* pointer to kernel:Float:math#Float#sin */
@@ -1894,11 +619,17 @@ const struct class class_kernel__Float = {
 (nitmethod_t)VIRTUAL_math__Float__acos, /* pointer to kernel:Float:math#Float#acos */
 (nitmethod_t)VIRTUAL_math__Float__asin, /* pointer to kernel:Float:math#Float#asin */
 (nitmethod_t)VIRTUAL_math__Float__atan, /* pointer to kernel:Float:math#Float#atan */
+(nitmethod_t)VIRTUAL_math__Float__abs, /* pointer to kernel:Float:math#Float#abs */
 (nitmethod_t)VIRTUAL_math__Float__pow, /* pointer to kernel:Float:math#Float#pow */
 (nitmethod_t)VIRTUAL_math__Float__log, /* pointer to kernel:Float:math#Float#log */
 (nitmethod_t)VIRTUAL_math__Float__exp, /* pointer to kernel:Float:math#Float#exp */
 (nitmethod_t)VIRTUAL_math__Float__rand, /* pointer to kernel:Float:math#Float#rand */
 (nitmethod_t)VIRTUAL_math__Float__hypot_with, /* pointer to kernel:Float:math#Float#hypot_with */
+(nitmethod_t)VIRTUAL_math__Float__is_nan, /* pointer to kernel:Float:math#Float#is_nan */
+(nitmethod_t)VIRTUAL_math__Float__is_inf, /* pointer to kernel:Float:math#Float#is_inf */
+(nitmethod_t)VIRTUAL_math__Float__is_inf_extern, /* pointer to kernel:Float:math#Float#is_inf_extern */
+(nitmethod_t)VIRTUAL_string__Float__to_precision, /* pointer to kernel:Float:string#Float#to_precision */
+(nitmethod_t)VIRTUAL_string__Float__to_precision_native, /* pointer to kernel:Float:string#Float#to_precision_native */
 }
 };
 /* allocate Float */
@@ -1915,6 +646,7 @@ const struct class class_kernel__Int = {
 {
 (nitmethod_t)VIRTUAL_kernel__Int__object_id, /* pointer to kernel:Int:kernel#Int#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to kernel:Int:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to kernel:Int:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Int___61d_61d, /* pointer to kernel:Int:kernel#Int#== */
 (nitmethod_t)VIRTUAL_kernel__Int___33d_61d, /* pointer to kernel:Int:kernel#Int#!= */
 (nitmethod_t)VIRTUAL_kernel__Int__output, /* pointer to kernel:Int:kernel#Int#output */
@@ -1922,16 +654,17 @@ const struct class class_kernel__Int = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to kernel:Int:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to kernel:Int:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Int__hash, /* pointer to kernel:Int:kernel#Int#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Int:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Int:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Int:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Int:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Int__to_s, /* pointer to kernel:Int:string#Int#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to kernel:Int:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to kernel:Int:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to kernel:Int:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to kernel:Int:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to kernel:Int:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Int:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Int:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Int:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Int:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to kernel:Int:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to kernel:Int:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to kernel:Int:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to kernel:Int:time#Object#get_time */
@@ -1954,6 +687,14 @@ const struct class class_kernel__Int = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to kernel:Int:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to kernel:Int:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to kernel:Int:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to kernel:Int:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to kernel:Int:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to kernel:Int:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to kernel:Int:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to kernel:Int:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to kernel:Int:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to kernel:Int:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to kernel:Int:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_kernel__Int___60d, /* pointer to kernel:Int:kernel#Int#< */
 (nitmethod_t)VIRTUAL_kernel__Int___60d_61d, /* pointer to kernel:Int:kernel#Int#<= */
 (nitmethod_t)VIRTUAL_kernel__Int___62d_61d, /* pointer to kernel:Int:kernel#Int#>= */
@@ -1967,7 +708,6 @@ const struct class class_kernel__Int = {
 (nitmethod_t)VIRTUAL_kernel__Int___43d, /* pointer to kernel:Int:kernel#Int#+ */
 (nitmethod_t)VIRTUAL_kernel__Int___45d, /* pointer to kernel:Int:kernel#Int#- */
 (nitmethod_t)VIRTUAL_kernel__Int__distance, /* pointer to kernel:Int:kernel#Int#distance */
-(nitmethod_t)VIRTUAL_range__Discrete__times, /* pointer to kernel:Int:range#Discrete#times */
 (nitmethod_t)VIRTUAL_kernel__Int__unary_32d_45d, /* pointer to kernel:Int:kernel#Int#unary - */
 (nitmethod_t)VIRTUAL_kernel__Int___42d, /* pointer to kernel:Int:kernel#Int#* */
 (nitmethod_t)VIRTUAL_kernel__Int___47d, /* pointer to kernel:Int:kernel#Int#/ */
@@ -1979,20 +719,17 @@ const struct class class_kernel__Int = {
 (nitmethod_t)VIRTUAL_kernel__Int__digit_count, /* pointer to kernel:Int:kernel#Int#digit_count */
 (nitmethod_t)VIRTUAL_kernel__Int__digit_count_base_95d10, /* pointer to kernel:Int:kernel#Int#digit_count_base_10 */
 (nitmethod_t)VIRTUAL_kernel__Int__to_c, /* pointer to kernel:Int:kernel#Int#to_c */
-(nitmethod_t)VIRTUAL_kernel__Int__enumerate_to, /* pointer to kernel:Int:kernel#Int#enumerate_to */
-(nitmethod_t)VIRTUAL_kernel__Int__enumerate_before, /* pointer to kernel:Int:kernel#Int#enumerate_before */
 (nitmethod_t)VIRTUAL_kernel__Int__abs, /* pointer to kernel:Int:kernel#Int#abs */
-(nitmethod_t)VIRTUAL_string__Int__fill_buffer, /* pointer to kernel:Int:string#Int#fill_buffer */
-(nitmethod_t)VIRTUAL_string__Int__native_int_to_s, /* pointer to kernel:Int:string#Int#native_int_to_s */
-(nitmethod_t)VIRTUAL_string__Int__to_hex, /* pointer to kernel:Int:string#Int#to_hex */
-(nitmethod_t)VIRTUAL_string__Int__to_base, /* pointer to kernel:Int:string#Int#to_base */
+(nitmethod_t)VIRTUAL_range__Int__times, /* pointer to kernel:Int:range#Int#times */
 (nitmethod_t)VIRTUAL_math__Int__rand, /* pointer to kernel:Int:math#Int#rand */
 (nitmethod_t)VIRTUAL_math__Int__bin_and, /* pointer to kernel:Int:math#Int#bin_and */
 (nitmethod_t)VIRTUAL_math__Int__bin_or, /* pointer to kernel:Int:math#Int#bin_or */
 (nitmethod_t)VIRTUAL_math__Int__bin_xor, /* pointer to kernel:Int:math#Int#bin_xor */
 (nitmethod_t)VIRTUAL_math__Int__sqrt, /* pointer to kernel:Int:math#Int#sqrt */
-(nitmethod_t)VIRTUAL_math__Int__sin, /* pointer to kernel:Int:math#Int#sin */
-(nitmethod_t)VIRTUAL_math__Int__cos, /* pointer to kernel:Int:math#Int#cos */
+(nitmethod_t)VIRTUAL_string__Int__fill_buffer, /* pointer to kernel:Int:string#Int#fill_buffer */
+(nitmethod_t)VIRTUAL_string__Int__native_int_to_s, /* pointer to kernel:Int:string#Int#native_int_to_s */
+(nitmethod_t)VIRTUAL_string__Int__to_hex, /* pointer to kernel:Int:string#Int#to_hex */
+(nitmethod_t)VIRTUAL_string__Int__to_base, /* pointer to kernel:Int:string#Int#to_base */
 }
 };
 /* allocate Int */
@@ -2009,6 +746,7 @@ const struct class class_kernel__Char = {
 {
 (nitmethod_t)VIRTUAL_kernel__Char__object_id, /* pointer to kernel:Char:kernel#Char#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to kernel:Char:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to kernel:Char:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Char___61d_61d, /* pointer to kernel:Char:kernel#Char#== */
 (nitmethod_t)VIRTUAL_kernel__Char___33d_61d, /* pointer to kernel:Char:kernel#Char#!= */
 (nitmethod_t)VIRTUAL_kernel__Char__output, /* pointer to kernel:Char:kernel#Char#output */
@@ -2016,16 +754,17 @@ const struct class class_kernel__Char = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to kernel:Char:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to kernel:Char:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Char__hash, /* pointer to kernel:Char:kernel#Char#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Char:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Char:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Char:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Char:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Char__to_s, /* pointer to kernel:Char:string#Char#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to kernel:Char:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to kernel:Char:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to kernel:Char:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to kernel:Char:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to kernel:Char:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Char:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Char:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Char:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Char:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to kernel:Char:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to kernel:Char:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to kernel:Char:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to kernel:Char:time#Object#get_time */
@@ -2048,6 +787,14 @@ const struct class class_kernel__Char = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to kernel:Char:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to kernel:Char:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to kernel:Char:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to kernel:Char:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to kernel:Char:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to kernel:Char:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to kernel:Char:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to kernel:Char:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to kernel:Char:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to kernel:Char:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to kernel:Char:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_kernel__Char___60d, /* pointer to kernel:Char:kernel#Char#< */
 (nitmethod_t)VIRTUAL_kernel__Char___60d_61d, /* pointer to kernel:Char:kernel#Char#<= */
 (nitmethod_t)VIRTUAL_kernel__Char___62d_61d, /* pointer to kernel:Char:kernel#Char#>= */
@@ -2061,7 +808,6 @@ const struct class class_kernel__Char = {
 (nitmethod_t)VIRTUAL_kernel__Char___43d, /* pointer to kernel:Char:kernel#Char#+ */
 (nitmethod_t)VIRTUAL_kernel__Char___45d, /* pointer to kernel:Char:kernel#Char#- */
 (nitmethod_t)VIRTUAL_kernel__Char__distance, /* pointer to kernel:Char:kernel#Char#distance */
-(nitmethod_t)VIRTUAL_range__Discrete__times, /* pointer to kernel:Char:range#Discrete#times */
 (nitmethod_t)VIRTUAL_string_search__Char__search_index_in, /* pointer to kernel:Char:string_search#Char#search_index_in */
 (nitmethod_t)VIRTUAL_string_search__Char__search_in, /* pointer to kernel:Char:string_search#Char#search_in */
 (nitmethod_t)VIRTUAL_string_search__Pattern__search_all_in, /* pointer to kernel:Char:string_search#Pattern#search_all_in */
@@ -2093,6 +839,7 @@ const struct class class_kernel__Pointer = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to kernel:Pointer:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to kernel:Pointer:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to kernel:Pointer:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to kernel:Pointer:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to kernel:Pointer:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to kernel:Pointer:kernel#Object#output */
@@ -2100,16 +847,17 @@ const struct class class_kernel__Pointer = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to kernel:Pointer:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to kernel:Pointer:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to kernel:Pointer:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Pointer:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Pointer:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Pointer:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Pointer:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to kernel:Pointer:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to kernel:Pointer:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to kernel:Pointer:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to kernel:Pointer:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to kernel:Pointer:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to kernel:Pointer:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to kernel:Pointer:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to kernel:Pointer:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to kernel:Pointer:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to kernel:Pointer:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to kernel:Pointer:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to kernel:Pointer:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to kernel:Pointer:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to kernel:Pointer:time#Object#get_time */
@@ -2132,15 +880,388 @@ const struct class class_kernel__Pointer = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to kernel:Pointer:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to kernel:Pointer:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to kernel:Pointer:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to kernel:Pointer:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to kernel:Pointer:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to kernel:Pointer:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to kernel:Pointer:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to kernel:Pointer:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to kernel:Pointer:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to kernel:Pointer:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to kernel:Pointer:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to kernel:Pointer:kernel#Pointer#address_is_null */
 }
 };
+/* runtime class abstract_collection__Container */
+/* allocate Container[nullable Object] */
+val* NEW_abstract_collection__Container(const struct type* type) {
+fprintf(stderr, "Runtime error: %s", "Container is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
+}
+/* runtime class abstract_collection__ContainerIterator */
+const struct class class_abstract_collection__ContainerIterator = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:ContainerIterator:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:ContainerIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to abstract_collection:ContainerIterator:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:ContainerIterator:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:ContainerIterator:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:ContainerIterator:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:ContainerIterator:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:ContainerIterator:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:ContainerIterator:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:ContainerIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:ContainerIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:ContainerIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:ContainerIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:ContainerIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:ContainerIterator:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:ContainerIterator:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:ContainerIterator:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:ContainerIterator:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:ContainerIterator:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:ContainerIterator:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to abstract_collection:ContainerIterator:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:ContainerIterator:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:ContainerIterator:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:ContainerIterator:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:ContainerIterator:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:ContainerIterator:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:ContainerIterator:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:ContainerIterator:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:ContainerIterator:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:ContainerIterator:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:ContainerIterator:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:ContainerIterator:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:ContainerIterator:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:ContainerIterator:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:ContainerIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to abstract_collection:ContainerIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to abstract_collection:ContainerIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to abstract_collection:ContainerIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to abstract_collection:ContainerIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to abstract_collection:ContainerIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to abstract_collection:ContainerIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to abstract_collection:ContainerIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to abstract_collection:ContainerIterator:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__item, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#item */
+(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__next, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#next */
+(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__is_ok, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#is_ok */
+(nitmethod_t)VIRTUAL_array__Iterator__to_a, /* pointer to abstract_collection:ContainerIterator:array#Iterator#to_a */
+(nitmethod_t)VIRTUAL_abstract_collection__ContainerIterator__init, /* pointer to abstract_collection:ContainerIterator:abstract_collection#ContainerIterator#init */
+}
+};
+/* allocate ContainerIterator[nullable Object] */
+val* NEW_abstract_collection__ContainerIterator(const struct type* type) {
+val* self /* : ContainerIterator[nullable Object] */;
+short int var /* : Bool */;
+self = nit_alloc(sizeof(struct instance) + 2*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_abstract_collection__ContainerIterator;
+var = 1;
+self->attrs[COLOR_abstract_collection__ContainerIterator___is_ok].s = var; /* _is_ok on <self:ContainerIterator[nullable Object] exact> */
+return self;
+}
+/* runtime class abstract_collection__MapKeysIterator */
+const struct class class_abstract_collection__MapKeysIterator = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:MapKeysIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:MapKeysIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:MapKeysIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:MapKeysIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:MapKeysIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:MapKeysIterator:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:MapKeysIterator:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:MapKeysIterator:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:MapKeysIterator:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:MapKeysIterator:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:MapKeysIterator:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to abstract_collection:MapKeysIterator:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:MapKeysIterator:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:MapKeysIterator:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:MapKeysIterator:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:MapKeysIterator:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:MapKeysIterator:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:MapKeysIterator:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:MapKeysIterator:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:MapKeysIterator:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:MapKeysIterator:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:MapKeysIterator:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:MapKeysIterator:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:MapKeysIterator:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:MapKeysIterator:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:MapKeysIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to abstract_collection:MapKeysIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to abstract_collection:MapKeysIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to abstract_collection:MapKeysIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to abstract_collection:MapKeysIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to abstract_collection:MapKeysIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to abstract_collection:MapKeysIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to abstract_collection:MapKeysIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to abstract_collection:MapKeysIterator:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__item, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#item */
+(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__next, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#next */
+(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__is_ok, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#is_ok */
+(nitmethod_t)VIRTUAL_array__Iterator__to_a, /* pointer to abstract_collection:MapKeysIterator:array#Iterator#to_a */
+(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__iterator, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#iterator */
+(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__iterator_61d, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#iterator= */
+(nitmethod_t)VIRTUAL_abstract_collection__MapKeysIterator__init, /* pointer to abstract_collection:MapKeysIterator:abstract_collection#MapKeysIterator#init */
+}
+};
+/* allocate MapKeysIterator[Object, nullable Object] */
+val* NEW_abstract_collection__MapKeysIterator(const struct type* type) {
+val* self /* : MapKeysIterator[Object, nullable Object] */;
+self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_abstract_collection__MapKeysIterator;
+return self;
+}
+/* runtime class abstract_collection__MapValuesIterator */
+const struct class class_abstract_collection__MapValuesIterator = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:MapValuesIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:MapValuesIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:MapValuesIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:MapValuesIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:MapValuesIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:MapValuesIterator:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:MapValuesIterator:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:MapValuesIterator:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:MapValuesIterator:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:MapValuesIterator:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:MapValuesIterator:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to abstract_collection:MapValuesIterator:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:MapValuesIterator:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:MapValuesIterator:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:MapValuesIterator:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:MapValuesIterator:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:MapValuesIterator:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:MapValuesIterator:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:MapValuesIterator:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:MapValuesIterator:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:MapValuesIterator:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:MapValuesIterator:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:MapValuesIterator:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:MapValuesIterator:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:MapValuesIterator:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:MapValuesIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to abstract_collection:MapValuesIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to abstract_collection:MapValuesIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to abstract_collection:MapValuesIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to abstract_collection:MapValuesIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to abstract_collection:MapValuesIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to abstract_collection:MapValuesIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to abstract_collection:MapValuesIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to abstract_collection:MapValuesIterator:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__item, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#item */
+(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__next, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#next */
+(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__is_ok, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#is_ok */
+(nitmethod_t)VIRTUAL_array__Iterator__to_a, /* pointer to abstract_collection:MapValuesIterator:array#Iterator#to_a */
+(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__iterator, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#iterator */
+(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__iterator_61d, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#iterator= */
+(nitmethod_t)VIRTUAL_abstract_collection__MapValuesIterator__init, /* pointer to abstract_collection:MapValuesIterator:abstract_collection#MapValuesIterator#init */
+}
+};
+/* allocate MapValuesIterator[Object, nullable Object] */
+val* NEW_abstract_collection__MapValuesIterator(const struct type* type) {
+val* self /* : MapValuesIterator[Object, nullable Object] */;
+self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_abstract_collection__MapValuesIterator;
+return self;
+}
+/* runtime class abstract_collection__CoupleMapIterator */
+const struct class class_abstract_collection__CoupleMapIterator = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:CoupleMapIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:CoupleMapIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:CoupleMapIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:CoupleMapIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:CoupleMapIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:CoupleMapIterator:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:CoupleMapIterator:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:CoupleMapIterator:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:CoupleMapIterator:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:CoupleMapIterator:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:CoupleMapIterator:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to abstract_collection:CoupleMapIterator:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:CoupleMapIterator:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:CoupleMapIterator:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:CoupleMapIterator:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:CoupleMapIterator:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:CoupleMapIterator:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:CoupleMapIterator:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:CoupleMapIterator:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:CoupleMapIterator:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:CoupleMapIterator:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:CoupleMapIterator:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:CoupleMapIterator:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:CoupleMapIterator:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:CoupleMapIterator:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:CoupleMapIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to abstract_collection:CoupleMapIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to abstract_collection:CoupleMapIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to abstract_collection:CoupleMapIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to abstract_collection:CoupleMapIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to abstract_collection:CoupleMapIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to abstract_collection:CoupleMapIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to abstract_collection:CoupleMapIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to abstract_collection:CoupleMapIterator:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__item, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#item */
+(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__key, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#key */
+(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__next, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#next */
+(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__is_ok, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#is_ok */
+(nitmethod_t)VIRTUAL_abstract_collection__CoupleMapIterator__init, /* pointer to abstract_collection:CoupleMapIterator:abstract_collection#CoupleMapIterator#init */
+}
+};
+/* allocate CoupleMapIterator[Object, nullable Object] */
+val* NEW_abstract_collection__CoupleMapIterator(const struct type* type) {
+val* self /* : CoupleMapIterator[Object, nullable Object] */;
+self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_abstract_collection__CoupleMapIterator;
+return self;
+}
+/* runtime class abstract_collection__Couple */
+const struct class class_abstract_collection__Couple = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to abstract_collection:Couple:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to abstract_collection:Couple:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to abstract_collection:Couple:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to abstract_collection:Couple:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to abstract_collection:Couple:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to abstract_collection:Couple:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to abstract_collection:Couple:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to abstract_collection:Couple:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to abstract_collection:Couple:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to abstract_collection:Couple:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to abstract_collection:Couple:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to abstract_collection:Couple:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to abstract_collection:Couple:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to abstract_collection:Couple:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to abstract_collection:Couple:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to abstract_collection:Couple:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to abstract_collection:Couple:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to abstract_collection:Couple:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to abstract_collection:Couple:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to abstract_collection:Couple:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to abstract_collection:Couple:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to abstract_collection:Couple:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to abstract_collection:Couple:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to abstract_collection:Couple:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to abstract_collection:Couple:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to abstract_collection:Couple:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to abstract_collection:Couple:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to abstract_collection:Couple:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to abstract_collection:Couple:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to abstract_collection:Couple:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to abstract_collection:Couple:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to abstract_collection:Couple:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to abstract_collection:Couple:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to abstract_collection:Couple:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to abstract_collection:Couple:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to abstract_collection:Couple:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to abstract_collection:Couple:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to abstract_collection:Couple:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to abstract_collection:Couple:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to abstract_collection:Couple:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to abstract_collection:Couple:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to abstract_collection:Couple:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to abstract_collection:Couple:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to abstract_collection:Couple:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to abstract_collection:Couple:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to abstract_collection:Couple:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to abstract_collection:Couple:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to abstract_collection:Couple:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to abstract_collection:Couple:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to abstract_collection:Couple:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to abstract_collection:Couple:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_abstract_collection__Couple__first, /* pointer to abstract_collection:Couple:abstract_collection#Couple#first */
+(nitmethod_t)VIRTUAL_abstract_collection__Couple__first_61d, /* pointer to abstract_collection:Couple:abstract_collection#Couple#first= */
+(nitmethod_t)VIRTUAL_abstract_collection__Couple__second, /* pointer to abstract_collection:Couple:abstract_collection#Couple#second */
+(nitmethod_t)VIRTUAL_abstract_collection__Couple__second_61d, /* pointer to abstract_collection:Couple:abstract_collection#Couple#second= */
+(nitmethod_t)VIRTUAL_abstract_collection__Couple__init, /* pointer to abstract_collection:Couple:abstract_collection#Couple#init */
+}
+};
+/* allocate Couple[nullable Object, nullable Object] */
+val* NEW_abstract_collection__Couple(const struct type* type) {
+val* self /* : Couple[nullable Object, nullable Object] */;
+self = nit_alloc(sizeof(struct instance) + 2*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_abstract_collection__Couple;
+return self;
+}
 /* runtime class range__Range */
 const struct class class_range__Range = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to range:Range:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to range:Range:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to range:Range:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to range:Range:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to range:Range:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to range:Range:kernel#Object#output */
@@ -2148,16 +1269,17 @@ const struct class class_range__Range = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to range:Range:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to range:Range:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to range:Range:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to range:Range:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to range:Range:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to range:Range:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to range:Range:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to range:Range:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to range:Range:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to range:Range:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to range:Range:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to range:Range:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to range:Range:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to range:Range:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to range:Range:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to range:Range:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to range:Range:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to range:Range:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to range:Range:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to range:Range:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to range:Range:time#Object#get_time */
@@ -2180,7 +1302,14 @@ const struct class class_range__Range = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to range:Range:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to range:Range:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to range:Range:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to range:Range:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to range:Range:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to range:Range:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to range:Range:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to range:Range:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to range:Range:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to range:Range:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to range:Range:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -2199,7 +1328,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_range__Range__iterator, /* pointer to range:Range:range#Range#iterator */
-(nitmethod_t)VIRTUAL_range__Range__iterate, /* pointer to range:Range:range#Range#iterate */
 (nitmethod_t)VIRTUAL_range__Range__is_empty, /* pointer to range:Range:range#Range#is_empty */
 (nitmethod_t)VIRTUAL_range__Range__length, /* pointer to range:Range:range#Range#length */
 (nitmethod_t)VIRTUAL_range__Range__has, /* pointer to range:Range:range#Range#has */
@@ -2208,8 +1336,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_range__Range__first, /* pointer to range:Range:range#Range#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to range:Range:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to range:Range:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to range:Range:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to range:Range:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to range:Range:string#Collection#join */
 (nitmethod_t)VIRTUAL_range__Range__last, /* pointer to range:Range:range#Range#last */
 (nitmethod_t)VIRTUAL_range__Range__after, /* pointer to range:Range:range#Range#after */
 (nitmethod_t)VIRTUAL_range__Range__init, /* pointer to range:Range:range#Range#init */
@@ -2224,33 +1352,13 @@ self->type = type;
 self->class = &class_range__Range;
 return self;
 }
-/* allocate Range[Discrete] */
-void CHECK_NEW_range__Range(val* self) {
-val* var /* : Discrete */;
-val* var1 /* : Discrete */;
-val* var2 /* : Discrete */;
-var = self->attrs[COLOR_range__Range___first].val; /* _first on <self:Range[Discrete]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _first", "lib/standard/collection/range.nit", 22);
-exit(1);
-}
-var1 = self->attrs[COLOR_range__Range___last].val; /* _last on <self:Range[Discrete]> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _last", "lib/standard/collection/range.nit", 24);
-exit(1);
-}
-var2 = self->attrs[COLOR_range__Range___after].val; /* _after on <self:Range[Discrete]> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _after", "lib/standard/collection/range.nit", 27);
-exit(1);
-}
-}
 /* runtime class range__IteratorRange */
 const struct class class_range__IteratorRange = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to range:IteratorRange:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to range:IteratorRange:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to range:IteratorRange:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to range:IteratorRange:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to range:IteratorRange:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to range:IteratorRange:kernel#Object#output */
@@ -2258,16 +1366,17 @@ const struct class class_range__IteratorRange = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to range:IteratorRange:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to range:IteratorRange:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to range:IteratorRange:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to range:IteratorRange:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to range:IteratorRange:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to range:IteratorRange:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to range:IteratorRange:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to range:IteratorRange:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to range:IteratorRange:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to range:IteratorRange:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to range:IteratorRange:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to range:IteratorRange:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to range:IteratorRange:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to range:IteratorRange:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to range:IteratorRange:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to range:IteratorRange:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to range:IteratorRange:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to range:IteratorRange:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to range:IteratorRange:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to range:IteratorRange:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to range:IteratorRange:time#Object#get_time */
@@ -2290,6 +1399,14 @@ const struct class class_range__IteratorRange = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to range:IteratorRange:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to range:IteratorRange:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to range:IteratorRange:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to range:IteratorRange:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to range:IteratorRange:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to range:IteratorRange:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to range:IteratorRange:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to range:IteratorRange:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to range:IteratorRange:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to range:IteratorRange:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to range:IteratorRange:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_range__IteratorRange__item, /* pointer to range:IteratorRange:range#IteratorRange#item */
 (nitmethod_t)VIRTUAL_range__IteratorRange__next, /* pointer to range:IteratorRange:range#IteratorRange#next */
 (nitmethod_t)VIRTUAL_range__IteratorRange__is_ok, /* pointer to range:IteratorRange:range#IteratorRange#is_ok */
@@ -2305,27 +1422,13 @@ self->type = type;
 self->class = &class_range__IteratorRange;
 return self;
 }
-/* allocate IteratorRange[Discrete] */
-void CHECK_NEW_range__IteratorRange(val* self) {
-val* var /* : Range[Discrete] */;
-val* var1 /* : Discrete */;
-var = self->attrs[COLOR_range__IteratorRange___range].val; /* _range on <self:IteratorRange[Discrete]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _range", "lib/standard/collection/range.nit", 90);
-exit(1);
-}
-var1 = self->attrs[COLOR_range__IteratorRange___item].val; /* _item on <self:IteratorRange[Discrete]> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _item", "lib/standard/collection/range.nit", 91);
-exit(1);
-}
-}
 /* runtime class list__List */
 const struct class class_list__List = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to list:List:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to list:List:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to list:List:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_abstract_collection__SequenceRead___61d_61d, /* pointer to list:List:abstract_collection#SequenceRead#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to list:List:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to list:List:kernel#Object#output */
@@ -2333,16 +1436,17 @@ const struct class class_list__List = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to list:List:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to list:List:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__hash, /* pointer to list:List:abstract_collection#SequenceRead#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to list:List:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to list:List:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to list:List:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to list:List:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to list:List:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to list:List:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to list:List:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to list:List:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to list:List:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to list:List:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to list:List:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to list:List:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to list:List:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to list:List:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to list:List:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to list:List:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to list:List:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to list:List:time#Object#get_time */
@@ -2365,7 +1469,14 @@ const struct class class_list__List = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to list:List:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to list:List:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to list:List:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to list:List:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to list:List:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to list:List:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to list:List:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to list:List:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to list:List:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to list:List:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to list:List:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -2384,7 +1495,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_list__List__iterator, /* pointer to list:List:list#List#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to list:List:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_list__List__is_empty, /* pointer to list:List:list#List#is_empty */
 (nitmethod_t)VIRTUAL_list__List__length, /* pointer to list:List:list#List#length */
 (nitmethod_t)VIRTUAL_list__List__has, /* pointer to list:List:list#List#has */
@@ -2393,8 +1503,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_list__List__first, /* pointer to list:List:list#List#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to list:List:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to list:List:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to list:List:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to list:List:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to list:List:string#Collection#join */
 (nitmethod_t)VIRTUAL_list__List__clear, /* pointer to list:List:list#List#clear */
 (nitmethod_t)VIRTUAL_list__List__remove, /* pointer to list:List:list#List#remove */
 (nitmethod_t)VIRTUAL_abstract_collection__RemovableCollection__remove_all, /* pointer to list:List:abstract_collection#RemovableCollection#remove_all */
@@ -2431,19 +1541,13 @@ self->type = type;
 self->class = &class_list__List;
 return self;
 }
-/* allocate List[nullable Object] */
-void CHECK_NEW_list__List(val* self) {
-val* var /* : nullable ListNode[nullable Object] */;
-val* var1 /* : nullable ListNode[nullable Object] */;
-var = self->attrs[COLOR_list__List___head].val; /* _head on <self:List[nullable Object]> */
-var1 = self->attrs[COLOR_list__List___tail].val; /* _tail on <self:List[nullable Object]> */
-}
 /* runtime class list__ListIterator */
 const struct class class_list__ListIterator = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to list:ListIterator:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to list:ListIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to list:ListIterator:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to list:ListIterator:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to list:ListIterator:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to list:ListIterator:kernel#Object#output */
@@ -2451,16 +1555,17 @@ const struct class class_list__ListIterator = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to list:ListIterator:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to list:ListIterator:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to list:ListIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to list:ListIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to list:ListIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to list:ListIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to list:ListIterator:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to list:ListIterator:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to list:ListIterator:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to list:ListIterator:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to list:ListIterator:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to list:ListIterator:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to list:ListIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to list:ListIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to list:ListIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to list:ListIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to list:ListIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to list:ListIterator:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to list:ListIterator:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to list:ListIterator:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to list:ListIterator:time#Object#get_time */
@@ -2483,6 +1588,14 @@ const struct class class_list__ListIterator = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to list:ListIterator:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to list:ListIterator:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to list:ListIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to list:ListIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to list:ListIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to list:ListIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to list:ListIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to list:ListIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to list:ListIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to list:ListIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to list:ListIterator:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_list__ListIterator__item, /* pointer to list:ListIterator:list#ListIterator#item */
 (nitmethod_t)VIRTUAL_list__ListIterator__next, /* pointer to list:ListIterator:list#ListIterator#next */
 (nitmethod_t)VIRTUAL_list__ListIterator__is_ok, /* pointer to list:ListIterator:list#ListIterator#is_ok */
@@ -2502,25 +1615,13 @@ self->type = type;
 self->class = &class_list__ListIterator;
 return self;
 }
-/* allocate ListIterator[nullable Object] */
-void CHECK_NEW_list__ListIterator(val* self) {
-val* var /* : List[nullable Object] */;
-val* var1 /* : nullable ListNode[nullable Object] */;
-long var2 /* : Int */;
-var = self->attrs[COLOR_list__ListIterator___list].val; /* _list on <self:ListIterator[nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _list", "lib/standard/collection/list.nit", 276);
-exit(1);
-}
-var1 = self->attrs[COLOR_list__ListIterator___node].val; /* _node on <self:ListIterator[nullable Object]> */
-var2 = self->attrs[COLOR_list__ListIterator___index].l; /* _index on <self:ListIterator[nullable Object]> */
-}
 /* runtime class list__ListNode */
 const struct class class_list__ListNode = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to list:ListNode:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to list:ListNode:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to list:ListNode:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to list:ListNode:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to list:ListNode:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to list:ListNode:kernel#Object#output */
@@ -2528,16 +1629,17 @@ const struct class class_list__ListNode = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to list:ListNode:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to list:ListNode:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to list:ListNode:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to list:ListNode:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to list:ListNode:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to list:ListNode:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to list:ListNode:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to list:ListNode:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to list:ListNode:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to list:ListNode:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to list:ListNode:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to list:ListNode:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to list:ListNode:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to list:ListNode:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to list:ListNode:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to list:ListNode:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to list:ListNode:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to list:ListNode:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to list:ListNode:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to list:ListNode:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to list:ListNode:time#Object#get_time */
@@ -2560,7 +1662,14 @@ const struct class class_list__ListNode = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to list:ListNode:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to list:ListNode:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to list:ListNode:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to list:ListNode:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to list:ListNode:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to list:ListNode:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to list:ListNode:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to list:ListNode:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to list:ListNode:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to list:ListNode:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to list:ListNode:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -2579,7 +1688,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__iterator, /* pointer to list:ListNode:abstract_collection#Container#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to list:ListNode:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__is_empty, /* pointer to list:ListNode:abstract_collection#Container#is_empty */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__length, /* pointer to list:ListNode:abstract_collection#Container#length */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__has, /* pointer to list:ListNode:abstract_collection#Container#has */
@@ -2588,8 +1696,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__first, /* pointer to list:ListNode:abstract_collection#Container#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to list:ListNode:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to list:ListNode:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to list:ListNode:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to list:ListNode:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to list:ListNode:string#Collection#join */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__init, /* pointer to list:ListNode:abstract_collection#Container#init */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__item, /* pointer to list:ListNode:abstract_collection#Container#item */
 (nitmethod_t)VIRTUAL_abstract_collection__Container__item_61d, /* pointer to list:ListNode:abstract_collection#Container#item= */
@@ -2608,21 +1716,13 @@ self->type = type;
 self->class = &class_list__ListNode;
 return self;
 }
-/* allocate ListNode[nullable Object] */
-void CHECK_NEW_list__ListNode(val* self) {
-val* var /* : nullable Object */;
-val* var1 /* : nullable ListNode[nullable Object] */;
-val* var2 /* : nullable ListNode[nullable Object] */;
-var = self->attrs[COLOR_abstract_collection__Container___item].val; /* _item on <self:ListNode[nullable Object]> */
-var1 = self->attrs[COLOR_list__ListNode___next].val; /* _next on <self:ListNode[nullable Object]> */
-var2 = self->attrs[COLOR_list__ListNode___prev].val; /* _prev on <self:ListNode[nullable Object]> */
-}
 /* runtime class array__Array */
 const struct class class_array__Array = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:Array:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:Array:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:Array:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_abstract_collection__SequenceRead___61d_61d, /* pointer to array:Array:abstract_collection#SequenceRead#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:Array:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_array__AbstractArrayRead__output, /* pointer to array:Array:array#AbstractArrayRead#output */
@@ -2630,16 +1730,17 @@ const struct class class_array__Array = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:Array:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:Array:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__hash, /* pointer to array:Array:abstract_collection#SequenceRead#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:Array:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:Array:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:Array:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:Array:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Array__to_s, /* pointer to array:Array:string#Array#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:Array:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:Array:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:Array:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:Array:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:Array:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:Array:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:Array:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:Array:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:Array:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:Array:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:Array:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:Array:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:Array:time#Object#get_time */
@@ -2662,7 +1763,14 @@ const struct class class_array__Array = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:Array:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:Array:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:Array:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:Array:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:Array:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:Array:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:Array:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:Array:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:Array:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:Array:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:Array:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -2681,7 +1789,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__AbstractArrayRead__iterator, /* pointer to array:Array:array#AbstractArrayRead#iterator */
-(nitmethod_t)VIRTUAL_array__Array__iterate, /* pointer to array:Array:array#Array#iterate */
 (nitmethod_t)VIRTUAL_array__AbstractArrayRead__is_empty, /* pointer to array:Array:array#AbstractArrayRead#is_empty */
 (nitmethod_t)VIRTUAL_array__AbstractArrayRead__length, /* pointer to array:Array:array#AbstractArrayRead#length */
 (nitmethod_t)VIRTUAL_array__AbstractArrayRead__has, /* pointer to array:Array:array#AbstractArrayRead#has */
@@ -2690,8 +1797,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_abstract_collection__SequenceRead__first, /* pointer to array:Array:abstract_collection#SequenceRead#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to array:Array:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to array:Array:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:Array:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to array:Array:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:Array:string#Collection#join */
 (nitmethod_t)VIRTUAL_array__AbstractArray__clear, /* pointer to array:Array:array#AbstractArray#clear */
 (nitmethod_t)VIRTUAL_array__AbstractArray__remove, /* pointer to array:Array:array#AbstractArray#remove */
 (nitmethod_t)VIRTUAL_array__AbstractArray__remove_all, /* pointer to array:Array:array#AbstractArray#remove_all */
@@ -2728,8 +1835,6 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__Array__filled_with, /* pointer to array:Array:array#Array#filled_with */
 (nitmethod_t)VIRTUAL_array__Array__with_native, /* pointer to array:Array:array#Array#with_native */
 (nitmethod_t)VIRTUAL_array__Array__intern_items, /* pointer to array:Array:array#Array#intern_items */
-(nitmethod_t)VIRTUAL_array__Array__sort, /* pointer to array:Array:array#Array#sort */
-(nitmethod_t)VIRTUAL_array__Array__sub_sort, /* pointer to array:Array:array#Array#sub_sort */
 (nitmethod_t)VIRTUAL_abstract_compiler__Array___45d, /* pointer to array:Array:abstract_compiler#Array#- */
 }
 };
@@ -2750,15 +1855,13 @@ var2 = 0;
 self->attrs[COLOR_array__Array___capacity].l = var2; /* _capacity on <self:Array[nullable Object] exact> */
 return self;
 }
-/* allocate Array[nullable Object] */
-void CHECK_NEW_array__Array(val* self) {
-}
 /* runtime class array__ArrayIterator */
 const struct class class_array__ArrayIterator = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:ArrayIterator:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:ArrayIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:ArrayIterator:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to array:ArrayIterator:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:ArrayIterator:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to array:ArrayIterator:kernel#Object#output */
@@ -2766,16 +1869,17 @@ const struct class class_array__ArrayIterator = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:ArrayIterator:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:ArrayIterator:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to array:ArrayIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayIterator:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to array:ArrayIterator:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:ArrayIterator:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:ArrayIterator:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:ArrayIterator:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:ArrayIterator:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:ArrayIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:ArrayIterator:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:ArrayIterator:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:ArrayIterator:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:ArrayIterator:time#Object#get_time */
@@ -2798,6 +1902,14 @@ const struct class class_array__ArrayIterator = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:ArrayIterator:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:ArrayIterator:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:ArrayIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:ArrayIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:ArrayIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:ArrayIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:ArrayIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:ArrayIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:ArrayIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:ArrayIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:ArrayIterator:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_array__ArrayIterator__item, /* pointer to array:ArrayIterator:array#ArrayIterator#item */
 (nitmethod_t)VIRTUAL_array__ArrayIterator__next, /* pointer to array:ArrayIterator:array#ArrayIterator#next */
 (nitmethod_t)VIRTUAL_array__ArrayIterator__is_ok, /* pointer to array:ArrayIterator:array#ArrayIterator#is_ok */
@@ -2817,21 +1929,13 @@ var = 0;
 self->attrs[COLOR_array__ArrayIterator___index].l = var; /* _index on <self:ArrayIterator[nullable Object] exact> */
 return self;
 }
-/* allocate ArrayIterator[nullable Object] */
-void CHECK_NEW_array__ArrayIterator(val* self) {
-val* var /* : AbstractArrayRead[nullable Object] */;
-var = self->attrs[COLOR_array__ArrayIterator___array].val; /* _array on <self:ArrayIterator[nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 439);
-exit(1);
-}
-}
 /* runtime class array__ArraySet */
 const struct class class_array__ArraySet = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:ArraySet:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:ArraySet:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:ArraySet:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_abstract_collection__Set___61d_61d, /* pointer to array:ArraySet:abstract_collection#Set#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:ArraySet:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to array:ArraySet:kernel#Object#output */
@@ -2839,16 +1943,17 @@ const struct class class_array__ArraySet = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:ArraySet:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:ArraySet:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_abstract_collection__Set__hash, /* pointer to array:ArraySet:abstract_collection#Set#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArraySet:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArraySet:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArraySet:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArraySet:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to array:ArraySet:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:ArraySet:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:ArraySet:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:ArraySet:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:ArraySet:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:ArraySet:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArraySet:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArraySet:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArraySet:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArraySet:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:ArraySet:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:ArraySet:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:ArraySet:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:ArraySet:time#Object#get_time */
@@ -2871,7 +1976,14 @@ const struct class class_array__ArraySet = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:ArraySet:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:ArraySet:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:ArraySet:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:ArraySet:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:ArraySet:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:ArraySet:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:ArraySet:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:ArraySet:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:ArraySet:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:ArraySet:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:ArraySet:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -2890,7 +2002,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArraySet__iterator, /* pointer to array:ArraySet:array#ArraySet#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to array:ArraySet:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_array__ArraySet__is_empty, /* pointer to array:ArraySet:array#ArraySet#is_empty */
 (nitmethod_t)VIRTUAL_array__ArraySet__length, /* pointer to array:ArraySet:array#ArraySet#length */
 (nitmethod_t)VIRTUAL_array__ArraySet__has, /* pointer to array:ArraySet:array#ArraySet#has */
@@ -2899,8 +2010,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArraySet__first, /* pointer to array:ArraySet:array#ArraySet#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to array:ArraySet:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to array:ArraySet:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:ArraySet:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to array:ArraySet:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:ArraySet:string#Collection#join */
 (nitmethod_t)VIRTUAL_array__ArraySet__clear, /* pointer to array:ArraySet:array#ArraySet#clear */
 (nitmethod_t)VIRTUAL_array__ArraySet__remove, /* pointer to array:ArraySet:array#ArraySet#remove */
 (nitmethod_t)VIRTUAL_array__ArraySet__remove_all, /* pointer to array:ArraySet:array#ArraySet#remove_all */
@@ -2920,21 +2031,13 @@ self->type = type;
 self->class = &class_array__ArraySet;
 return self;
 }
-/* allocate ArraySet[Object] */
-void CHECK_NEW_array__ArraySet(val* self) {
-val* var /* : Array[Object] */;
-var = self->attrs[COLOR_array__ArraySet___array].val; /* _array on <self:ArraySet[Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 448);
-exit(1);
-}
-}
 /* runtime class array__ArraySetIterator */
 const struct class class_array__ArraySetIterator = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:ArraySetIterator:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:ArraySetIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:ArraySetIterator:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to array:ArraySetIterator:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:ArraySetIterator:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to array:ArraySetIterator:kernel#Object#output */
@@ -2942,16 +2045,17 @@ const struct class class_array__ArraySetIterator = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:ArraySetIterator:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:ArraySetIterator:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to array:ArraySetIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArraySetIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArraySetIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArraySetIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArraySetIterator:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to array:ArraySetIterator:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:ArraySetIterator:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:ArraySetIterator:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:ArraySetIterator:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:ArraySetIterator:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:ArraySetIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArraySetIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArraySetIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArraySetIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArraySetIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:ArraySetIterator:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:ArraySetIterator:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:ArraySetIterator:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:ArraySetIterator:time#Object#get_time */
@@ -2974,6 +2078,14 @@ const struct class class_array__ArraySetIterator = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:ArraySetIterator:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:ArraySetIterator:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:ArraySetIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:ArraySetIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:ArraySetIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:ArraySetIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:ArraySetIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:ArraySetIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:ArraySetIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:ArraySetIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:ArraySetIterator:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_array__ArraySetIterator__item, /* pointer to array:ArraySetIterator:array#ArraySetIterator#item */
 (nitmethod_t)VIRTUAL_array__ArraySetIterator__next, /* pointer to array:ArraySetIterator:array#ArraySetIterator#next */
 (nitmethod_t)VIRTUAL_array__ArraySetIterator__is_ok, /* pointer to array:ArraySetIterator:array#ArraySetIterator#is_ok */
@@ -2989,21 +2101,13 @@ self->type = type;
 self->class = &class_array__ArraySetIterator;
 return self;
 }
-/* allocate ArraySetIterator[Object] */
-void CHECK_NEW_array__ArraySetIterator(val* self) {
-val* var /* : ArrayIterator[Object] */;
-var = self->attrs[COLOR_array__ArraySetIterator___iter].val; /* _iter on <self:ArraySetIterator[Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/array.nit", 505);
-exit(1);
-}
-}
 /* runtime class array__ArrayMap */
 const struct class class_array__ArrayMap = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:ArrayMap:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:ArrayMap:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:ArrayMap:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to array:ArrayMap:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:ArrayMap:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to array:ArrayMap:kernel#Object#output */
@@ -3011,16 +2115,17 @@ const struct class class_array__ArrayMap = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:ArrayMap:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:ArrayMap:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to array:ArrayMap:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayMap:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayMap:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayMap:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayMap:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to array:ArrayMap:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:ArrayMap:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:ArrayMap:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:ArrayMap:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:ArrayMap:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:ArrayMap:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayMap:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayMap:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayMap:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayMap:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:ArrayMap:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:ArrayMap:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:ArrayMap:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:ArrayMap:time#Object#get_time */
@@ -3043,15 +2148,24 @@ const struct class class_array__ArrayMap = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:ArrayMap:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:ArrayMap:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:ArrayMap:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:ArrayMap:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:ArrayMap:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:ArrayMap:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:ArrayMap:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:ArrayMap:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:ArrayMap:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:ArrayMap:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:ArrayMap:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_array__ArrayMap___91d_93d, /* pointer to array:ArrayMap:array#ArrayMap#[] */
+(nitmethod_t)VIRTUAL_abstract_collection__MapRead__get_or_null, /* pointer to array:ArrayMap:abstract_collection#MapRead#get_or_null */
 (nitmethod_t)VIRTUAL_abstract_collection__MapRead__get_or_default, /* pointer to array:ArrayMap:abstract_collection#MapRead#get_or_default */
 (nitmethod_t)VIRTUAL_abstract_collection__MapRead__has_key, /* pointer to array:ArrayMap:abstract_collection#MapRead#has_key */
 (nitmethod_t)VIRTUAL_array__ArrayMap__iterator, /* pointer to array:ArrayMap:array#ArrayMap#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__MapRead__iterate, /* pointer to array:ArrayMap:abstract_collection#MapRead#iterate */
 (nitmethod_t)VIRTUAL_array__ArrayMap__values, /* pointer to array:ArrayMap:array#ArrayMap#values */
 (nitmethod_t)VIRTUAL_array__ArrayMap__keys, /* pointer to array:ArrayMap:array#ArrayMap#keys */
 (nitmethod_t)VIRTUAL_array__ArrayMap__is_empty, /* pointer to array:ArrayMap:array#ArrayMap#is_empty */
 (nitmethod_t)VIRTUAL_array__ArrayMap__length, /* pointer to array:ArrayMap:array#ArrayMap#length */
+(nitmethod_t)VIRTUAL_abstract_collection__MapRead__provide_default_value, /* pointer to array:ArrayMap:abstract_collection#MapRead#provide_default_value */
 (nitmethod_t)VIRTUAL_array__ArrayMap___91d_93d_61d, /* pointer to array:ArrayMap:array#ArrayMap#[]= */
 (nitmethod_t)VIRTUAL_abstract_collection__Map__recover_with, /* pointer to array:ArrayMap:abstract_collection#Map#recover_with */
 (nitmethod_t)VIRTUAL_array__ArrayMap__clear, /* pointer to array:ArrayMap:array#ArrayMap#clear */
@@ -3076,31 +2190,21 @@ self->type = type;
 self->class = &class_array__ArrayMap;
 var = NEW_array__ArrayMapKeys(self->type->resolution_table->types[COLOR_array__ArrayMapKeysarray__ArrayMap_FT0array__ArrayMap_FT1]);
 ((void (*)(val*, val*))(var->class->vft[COLOR_array__ArrayMapKeys__init]))(var, self) /* init on <var:ArrayMapKeys[Object, nullable Object]>*/;
-CHECK_NEW_array__ArrayMapKeys(var);
 self->attrs[COLOR_array__ArrayMap___64dkeys].val = var; /* @keys on <self:ArrayMap[Object, nullable Object] exact> */
 var1 = NEW_array__ArrayMapValues(self->type->resolution_table->types[COLOR_array__ArrayMapValuesarray__ArrayMap_FT0array__ArrayMap_FT1]);
 ((void (*)(val*, val*))(var1->class->vft[COLOR_array__ArrayMapValues__init]))(var1, self) /* init on <var1:ArrayMapValues[Object, nullable Object]>*/;
-CHECK_NEW_array__ArrayMapValues(var1);
 self->attrs[COLOR_array__ArrayMap___64dvalues].val = var1; /* @values on <self:ArrayMap[Object, nullable Object] exact> */
 var2 = 0;
 self->attrs[COLOR_array__ArrayMap___last_index].l = var2; /* _last_index on <self:ArrayMap[Object, nullable Object] exact> */
 return self;
 }
-/* allocate ArrayMap[Object, nullable Object] */
-void CHECK_NEW_array__ArrayMap(val* self) {
-val* var /* : Array[Couple[Object, nullable Object]] */;
-var = self->attrs[COLOR_array__ArrayMap___items].val; /* _items on <self:ArrayMap[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 560);
-exit(1);
-}
-}
 /* runtime class array__ArrayMapKeys */
 const struct class class_array__ArrayMapKeys = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:ArrayMapKeys:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:ArrayMapKeys:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:ArrayMapKeys:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to array:ArrayMapKeys:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:ArrayMapKeys:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to array:ArrayMapKeys:kernel#Object#output */
@@ -3108,16 +2212,17 @@ const struct class class_array__ArrayMapKeys = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:ArrayMapKeys:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:ArrayMapKeys:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to array:ArrayMapKeys:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayMapKeys:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayMapKeys:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayMapKeys:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayMapKeys:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to array:ArrayMapKeys:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:ArrayMapKeys:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:ArrayMapKeys:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:ArrayMapKeys:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:ArrayMapKeys:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:ArrayMapKeys:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayMapKeys:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayMapKeys:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayMapKeys:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayMapKeys:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:ArrayMapKeys:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:ArrayMapKeys:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:ArrayMapKeys:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:ArrayMapKeys:time#Object#get_time */
@@ -3140,7 +2245,14 @@ const struct class class_array__ArrayMapKeys = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:ArrayMapKeys:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:ArrayMapKeys:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:ArrayMapKeys:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:ArrayMapKeys:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:ArrayMapKeys:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:ArrayMapKeys:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:ArrayMapKeys:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:ArrayMapKeys:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:ArrayMapKeys:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:ArrayMapKeys:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:ArrayMapKeys:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -3159,7 +2271,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__iterator, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to array:ArrayMapKeys:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__is_empty, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#is_empty */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__length, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#length */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__has, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#has */
@@ -3168,8 +2279,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__first, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to array:ArrayMapKeys:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to array:ArrayMapKeys:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:ArrayMapKeys:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to array:ArrayMapKeys:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:ArrayMapKeys:string#Collection#join */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__clear, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#clear */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__remove, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#remove */
 (nitmethod_t)VIRTUAL_array__ArrayMapKeys__remove_all, /* pointer to array:ArrayMapKeys:array#ArrayMapKeys#remove_all */
@@ -3186,21 +2297,13 @@ self->type = type;
 self->class = &class_array__ArrayMapKeys;
 return self;
 }
-/* allocate ArrayMapKeys[Object, nullable Object] */
-void CHECK_NEW_array__ArrayMapKeys(val* self) {
-val* var /* : ArrayMap[Object, nullable Object] */;
-var = self->attrs[COLOR_array__ArrayMapKeys___64dmap].val; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @map", "lib/standard/collection/array.nit", 600);
-exit(1);
-}
-}
 /* runtime class array__ArrayMapValues */
 const struct class class_array__ArrayMapValues = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:ArrayMapValues:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:ArrayMapValues:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:ArrayMapValues:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to array:ArrayMapValues:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:ArrayMapValues:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to array:ArrayMapValues:kernel#Object#output */
@@ -3208,16 +2311,17 @@ const struct class class_array__ArrayMapValues = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:ArrayMapValues:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:ArrayMapValues:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to array:ArrayMapValues:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayMapValues:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayMapValues:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayMapValues:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayMapValues:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to array:ArrayMapValues:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:ArrayMapValues:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:ArrayMapValues:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:ArrayMapValues:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:ArrayMapValues:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:ArrayMapValues:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:ArrayMapValues:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:ArrayMapValues:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:ArrayMapValues:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:ArrayMapValues:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:ArrayMapValues:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:ArrayMapValues:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:ArrayMapValues:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:ArrayMapValues:time#Object#get_time */
@@ -3240,7 +2344,14 @@ const struct class class_array__ArrayMapValues = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:ArrayMapValues:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:ArrayMapValues:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:ArrayMapValues:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:ArrayMapValues:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:ArrayMapValues:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:ArrayMapValues:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:ArrayMapValues:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:ArrayMapValues:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:ArrayMapValues:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:ArrayMapValues:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:ArrayMapValues:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -3259,7 +2370,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__iterator, /* pointer to array:ArrayMapValues:array#ArrayMapValues#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to array:ArrayMapValues:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__is_empty, /* pointer to array:ArrayMapValues:array#ArrayMapValues#is_empty */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__length, /* pointer to array:ArrayMapValues:array#ArrayMapValues#length */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__has, /* pointer to array:ArrayMapValues:array#ArrayMapValues#has */
@@ -3268,8 +2378,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__first, /* pointer to array:ArrayMapValues:array#ArrayMapValues#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to array:ArrayMapValues:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to array:ArrayMapValues:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:ArrayMapValues:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to array:ArrayMapValues:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to array:ArrayMapValues:string#Collection#join */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__clear, /* pointer to array:ArrayMapValues:array#ArrayMapValues#clear */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__remove, /* pointer to array:ArrayMapValues:array#ArrayMapValues#remove */
 (nitmethod_t)VIRTUAL_array__ArrayMapValues__remove_all, /* pointer to array:ArrayMapValues:array#ArrayMapValues#remove_all */
@@ -3286,21 +2396,13 @@ self->type = type;
 self->class = &class_array__ArrayMapValues;
 return self;
 }
-/* allocate ArrayMapValues[Object, nullable Object] */
-void CHECK_NEW_array__ArrayMapValues(val* self) {
-val* var /* : ArrayMap[Object, nullable Object] */;
-var = self->attrs[COLOR_array__ArrayMapValues___64dmap].val; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @map", "lib/standard/collection/array.nit", 620);
-exit(1);
-}
-}
 /* runtime class array__NativeArray */
 const struct class class_array__NativeArray = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to array:NativeArray:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to array:NativeArray:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to array:NativeArray:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to array:NativeArray:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to array:NativeArray:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to array:NativeArray:kernel#Object#output */
@@ -3308,16 +2410,17 @@ const struct class class_array__NativeArray = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to array:NativeArray:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to array:NativeArray:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to array:NativeArray:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:NativeArray:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:NativeArray:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:NativeArray:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:NativeArray:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to array:NativeArray:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to array:NativeArray:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to array:NativeArray:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to array:NativeArray:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to array:NativeArray:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to array:NativeArray:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to array:NativeArray:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to array:NativeArray:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to array:NativeArray:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to array:NativeArray:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to array:NativeArray:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to array:NativeArray:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to array:NativeArray:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to array:NativeArray:time#Object#get_time */
@@ -3340,6 +2443,14 @@ const struct class class_array__NativeArray = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to array:NativeArray:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to array:NativeArray:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to array:NativeArray:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to array:NativeArray:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to array:NativeArray:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to array:NativeArray:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to array:NativeArray:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to array:NativeArray:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to array:NativeArray:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to array:NativeArray:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to array:NativeArray:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_array__NativeArray___91d_93d, /* pointer to array:NativeArray:array#NativeArray#[] */
 (nitmethod_t)VIRTUAL_array__NativeArray___91d_93d_61d, /* pointer to array:NativeArray:array#NativeArray#[]= */
 (nitmethod_t)VIRTUAL_array__NativeArray__copy_to, /* pointer to array:NativeArray:array#NativeArray#copy_to */
@@ -3359,6 +2470,7 @@ const struct class class_sorter__ComparableSorter = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to sorter:ComparableSorter:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to sorter:ComparableSorter:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to sorter:ComparableSorter:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to sorter:ComparableSorter:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to sorter:ComparableSorter:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to sorter:ComparableSorter:kernel#Object#output */
@@ -3366,16 +2478,17 @@ const struct class class_sorter__ComparableSorter = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to sorter:ComparableSorter:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to sorter:ComparableSorter:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to sorter:ComparableSorter:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to sorter:ComparableSorter:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to sorter:ComparableSorter:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to sorter:ComparableSorter:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to sorter:ComparableSorter:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to sorter:ComparableSorter:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to sorter:ComparableSorter:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to sorter:ComparableSorter:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to sorter:ComparableSorter:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to sorter:ComparableSorter:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to sorter:ComparableSorter:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to sorter:ComparableSorter:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to sorter:ComparableSorter:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to sorter:ComparableSorter:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to sorter:ComparableSorter:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to sorter:ComparableSorter:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to sorter:ComparableSorter:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to sorter:ComparableSorter:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to sorter:ComparableSorter:time#Object#get_time */
@@ -3398,8 +2511,14 @@ const struct class class_sorter__ComparableSorter = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to sorter:ComparableSorter:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to sorter:ComparableSorter:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to sorter:ComparableSorter:model#Object#extern_kind */
-NULL, /* empty */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to sorter:ComparableSorter:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to sorter:ComparableSorter:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to sorter:ComparableSorter:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to sorter:ComparableSorter:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to sorter:ComparableSorter:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to sorter:ComparableSorter:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to sorter:ComparableSorter:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to sorter:ComparableSorter:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -3444,15 +2563,13 @@ self->type = type;
 self->class = &class_sorter__ComparableSorter;
 return self;
 }
-/* allocate ComparableSorter[Comparable] */
-void CHECK_NEW_sorter__ComparableSorter(val* self) {
-}
 /* runtime class hash_collection__HashMap */
 const struct class class_hash_collection__HashMap = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashMap:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashMap:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashMap:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to hash_collection:HashMap:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashMap:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashMap:kernel#Object#output */
@@ -3460,16 +2577,17 @@ const struct class class_hash_collection__HashMap = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashMap:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashMap:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to hash_collection:HashMap:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMap:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMap:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMap:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMap:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to hash_collection:HashMap:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashMap:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashMap:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashMap:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashMap:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashMap:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMap:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMap:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMap:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMap:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashMap:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashMap:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashMap:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashMap:time#Object#get_time */
@@ -3492,15 +2610,24 @@ const struct class class_hash_collection__HashMap = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashMap:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashMap:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashMap:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashMap:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashMap:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashMap:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashMap:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashMap:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashMap:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashMap:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashMap:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap___91d_93d, /* pointer to hash_collection:HashMap:hash_collection#HashMap#[] */
+(nitmethod_t)VIRTUAL_abstract_collection__MapRead__get_or_null, /* pointer to hash_collection:HashMap:abstract_collection#MapRead#get_or_null */
 (nitmethod_t)VIRTUAL_abstract_collection__MapRead__get_or_default, /* pointer to hash_collection:HashMap:abstract_collection#MapRead#get_or_default */
 (nitmethod_t)VIRTUAL_abstract_collection__MapRead__has_key, /* pointer to hash_collection:HashMap:abstract_collection#MapRead#has_key */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__iterator, /* pointer to hash_collection:HashMap:hash_collection#HashMap#iterator */
-(nitmethod_t)VIRTUAL_hash_collection__HashMap__iterate, /* pointer to hash_collection:HashMap:hash_collection#HashMap#iterate */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__values, /* pointer to hash_collection:HashMap:hash_collection#HashMap#values */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__keys, /* pointer to hash_collection:HashMap:hash_collection#HashMap#keys */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__is_empty, /* pointer to hash_collection:HashMap:hash_collection#HashMap#is_empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__length, /* pointer to hash_collection:HashMap:hash_collection#HashMap#length */
+(nitmethod_t)VIRTUAL_abstract_collection__MapRead__provide_default_value, /* pointer to hash_collection:HashMap:abstract_collection#MapRead#provide_default_value */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap___91d_93d_61d, /* pointer to hash_collection:HashMap:hash_collection#HashMap#[]= */
 (nitmethod_t)VIRTUAL_abstract_collection__Map__recover_with, /* pointer to hash_collection:HashMap:abstract_collection#Map#recover_with */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__clear, /* pointer to hash_collection:HashMap:hash_collection#HashMap#clear */
@@ -3547,9 +2674,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArrayCapable__calloc_array, /* pointer to hash_collection:HashMap:array#ArrayCapable#calloc_array */
 (nitmethod_t)VIRTUAL_hash_collection__HashCollection__first_item, /* pointer to hash_collection:HashMap:hash_collection#HashCollection#first_item */
 (nitmethod_t)VIRTUAL_hash_collection__HashCollection__index_at, /* pointer to hash_collection:HashMap:hash_collection#HashCollection#index_at */
@@ -3596,23 +2720,19 @@ var6 = NULL;
 self->attrs[COLOR_hash_collection__HashCollection___last_accessed_node].val = var6; /* _last_accessed_node on <self:HashMap[Object, nullable Object] exact> */
 var7 = NEW_hash_collection__HashMapKeys(self->type->resolution_table->types[COLOR_hash_collection__HashMapKeyshash_collection__HashMap_FT0hash_collection__HashMap_FT1]);
 ((void (*)(val*, val*))(var7->class->vft[COLOR_hash_collection__HashMapKeys__init]))(var7, self) /* init on <var7:HashMapKeys[Object, nullable Object]>*/;
-CHECK_NEW_hash_collection__HashMapKeys(var7);
 self->attrs[COLOR_hash_collection__HashMap___64dkeys].val = var7; /* @keys on <self:HashMap[Object, nullable Object] exact> */
 var8 = NEW_hash_collection__HashMapValues(self->type->resolution_table->types[COLOR_hash_collection__HashMapValueshash_collection__HashMap_FT0hash_collection__HashMap_FT1]);
 ((void (*)(val*, val*))(var8->class->vft[COLOR_hash_collection__HashMapValues__init]))(var8, self) /* init on <var8:HashMapValues[Object, nullable Object]>*/;
-CHECK_NEW_hash_collection__HashMapValues(var8);
 self->attrs[COLOR_hash_collection__HashMap___64dvalues].val = var8; /* @values on <self:HashMap[Object, nullable Object] exact> */
 return self;
 }
-/* allocate HashMap[Object, nullable Object] */
-void CHECK_NEW_hash_collection__HashMap(val* self) {
-}
 /* runtime class hash_collection__HashMapKeys */
 const struct class class_hash_collection__HashMapKeys = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashMapKeys:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashMapKeys:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashMapKeys:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to hash_collection:HashMapKeys:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashMapKeys:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashMapKeys:kernel#Object#output */
@@ -3620,16 +2740,17 @@ const struct class class_hash_collection__HashMapKeys = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashMapKeys:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashMapKeys:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to hash_collection:HashMapKeys:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapKeys:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapKeys:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapKeys:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapKeys:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to hash_collection:HashMapKeys:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashMapKeys:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashMapKeys:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashMapKeys:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashMapKeys:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashMapKeys:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapKeys:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapKeys:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapKeys:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapKeys:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashMapKeys:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashMapKeys:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashMapKeys:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashMapKeys:time#Object#get_time */
@@ -3652,7 +2773,14 @@ const struct class class_hash_collection__HashMapKeys = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashMapKeys:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashMapKeys:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashMapKeys:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashMapKeys:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashMapKeys:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashMapKeys:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashMapKeys:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashMapKeys:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashMapKeys:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashMapKeys:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashMapKeys:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -3671,7 +2799,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__iterator, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to hash_collection:HashMapKeys:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__is_empty, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#is_empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__length, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#length */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__has, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#has */
@@ -3680,8 +2807,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__first, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to hash_collection:HashMapKeys:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to hash_collection:HashMapKeys:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to hash_collection:HashMapKeys:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to hash_collection:HashMapKeys:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to hash_collection:HashMapKeys:string#Collection#join */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__clear, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#clear */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__remove, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#remove */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapKeys__remove_all, /* pointer to hash_collection:HashMapKeys:hash_collection#HashMapKeys#remove_all */
@@ -3698,21 +2825,13 @@ self->type = type;
 self->class = &class_hash_collection__HashMapKeys;
 return self;
 }
-/* allocate HashMapKeys[Object, nullable Object] */
-void CHECK_NEW_hash_collection__HashMapKeys(val* self) {
-val* var /* : HashMap[Object, nullable Object] */;
-var = self->attrs[COLOR_hash_collection__HashMapKeys___64dmap].val; /* @map on <self:HashMapKeys[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @map", "lib/standard/collection/hash_collection.nit", 261);
-exit(1);
-}
-}
 /* runtime class hash_collection__HashMapValues */
 const struct class class_hash_collection__HashMapValues = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashMapValues:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashMapValues:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashMapValues:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to hash_collection:HashMapValues:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashMapValues:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashMapValues:kernel#Object#output */
@@ -3720,16 +2839,17 @@ const struct class class_hash_collection__HashMapValues = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashMapValues:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashMapValues:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to hash_collection:HashMapValues:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapValues:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapValues:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapValues:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapValues:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to hash_collection:HashMapValues:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashMapValues:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashMapValues:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashMapValues:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashMapValues:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashMapValues:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapValues:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapValues:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapValues:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapValues:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashMapValues:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashMapValues:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashMapValues:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashMapValues:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashMapValues:time#Object#get_time */
@@ -3752,7 +2872,14 @@ const struct class class_hash_collection__HashMapValues = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashMapValues:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashMapValues:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashMapValues:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashMapValues:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashMapValues:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashMapValues:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashMapValues:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashMapValues:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashMapValues:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashMapValues:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashMapValues:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -3771,7 +2898,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__iterator, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to hash_collection:HashMapValues:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__is_empty, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#is_empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__length, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#length */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__has, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#has */
@@ -3780,8 +2906,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__first, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to hash_collection:HashMapValues:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to hash_collection:HashMapValues:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to hash_collection:HashMapValues:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to hash_collection:HashMapValues:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to hash_collection:HashMapValues:string#Collection#join */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__clear, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#clear */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__remove, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#remove */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapValues__remove_all, /* pointer to hash_collection:HashMapValues:hash_collection#HashMapValues#remove_all */
@@ -3798,21 +2924,13 @@ self->type = type;
 self->class = &class_hash_collection__HashMapValues;
 return self;
 }
-/* allocate HashMapValues[Object, nullable Object] */
-void CHECK_NEW_hash_collection__HashMapValues(val* self) {
-val* var /* : HashMap[Object, nullable Object] */;
-var = self->attrs[COLOR_hash_collection__HashMapValues___64dmap].val; /* @map on <self:HashMapValues[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @map", "lib/standard/collection/hash_collection.nit", 282);
-exit(1);
-}
-}
 /* runtime class hash_collection__HashMapNode */
 const struct class class_hash_collection__HashMapNode = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashMapNode:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashMapNode:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashMapNode:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to hash_collection:HashMapNode:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashMapNode:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashMapNode:kernel#Object#output */
@@ -3820,16 +2938,17 @@ const struct class class_hash_collection__HashMapNode = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashMapNode:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashMapNode:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to hash_collection:HashMapNode:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapNode:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapNode:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapNode:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapNode:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to hash_collection:HashMapNode:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashMapNode:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashMapNode:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashMapNode:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashMapNode:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashMapNode:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapNode:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapNode:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapNode:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapNode:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashMapNode:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashMapNode:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashMapNode:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashMapNode:time#Object#get_time */
@@ -3852,6 +2971,14 @@ const struct class class_hash_collection__HashMapNode = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashMapNode:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashMapNode:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashMapNode:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashMapNode:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashMapNode:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashMapNode:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashMapNode:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashMapNode:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashMapNode:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashMapNode:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashMapNode:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_hash_collection__HashNode__next_item, /* pointer to hash_collection:HashMapNode:hash_collection#HashNode#next_item */
 (nitmethod_t)VIRTUAL_hash_collection__HashNode__next_item_61d, /* pointer to hash_collection:HashMapNode:hash_collection#HashNode#next_item= */
 (nitmethod_t)VIRTUAL_hash_collection__HashNode__prev_item, /* pointer to hash_collection:HashMapNode:hash_collection#HashNode#prev_item */
@@ -3880,23 +3007,13 @@ var3 = NULL;
 self->attrs[COLOR_hash_collection__HashNode___next_in_bucklet].val = var3; /* _next_in_bucklet on <self:HashMapNode[Object, nullable Object] exact> */
 return self;
 }
-/* allocate HashMapNode[Object, nullable Object] */
-void CHECK_NEW_hash_collection__HashMapNode(val* self) {
-val* var /* : Object */;
-val* var1 /* : nullable Object */;
-var = self->attrs[COLOR_hash_collection__HashNode___key].val; /* _key on <self:HashMapNode[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _key", "lib/standard/collection/hash_collection.nit", 189);
-exit(1);
-}
-var1 = self->attrs[COLOR_hash_collection__HashMapNode___value].val; /* _value on <self:HashMapNode[Object, nullable Object]> */
-}
 /* runtime class hash_collection__HashMapIterator */
 const struct class class_hash_collection__HashMapIterator = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashMapIterator:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashMapIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashMapIterator:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to hash_collection:HashMapIterator:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashMapIterator:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashMapIterator:kernel#Object#output */
@@ -3904,16 +3021,17 @@ const struct class class_hash_collection__HashMapIterator = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashMapIterator:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashMapIterator:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to hash_collection:HashMapIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapIterator:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to hash_collection:HashMapIterator:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashMapIterator:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashMapIterator:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashMapIterator:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashMapIterator:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashMapIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashMapIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashMapIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashMapIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashMapIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashMapIterator:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashMapIterator:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashMapIterator:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashMapIterator:time#Object#get_time */
@@ -3936,6 +3054,14 @@ const struct class class_hash_collection__HashMapIterator = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashMapIterator:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashMapIterator:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashMapIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashMapIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashMapIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashMapIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashMapIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashMapIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashMapIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashMapIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashMapIterator:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapIterator__item, /* pointer to hash_collection:HashMapIterator:hash_collection#HashMapIterator#item */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapIterator__key, /* pointer to hash_collection:HashMapIterator:hash_collection#HashMapIterator#key */
 (nitmethod_t)VIRTUAL_hash_collection__HashMapIterator__next, /* pointer to hash_collection:HashMapIterator:hash_collection#HashMapIterator#next */
@@ -3951,23 +3077,13 @@ self->type = type;
 self->class = &class_hash_collection__HashMapIterator;
 return self;
 }
-/* allocate HashMapIterator[Object, nullable Object] */
-void CHECK_NEW_hash_collection__HashMapIterator(val* self) {
-val* var /* : HashMap[Object, nullable Object] */;
-val* var1 /* : nullable HashMapNode[Object, nullable Object] */;
-var = self->attrs[COLOR_hash_collection__HashMapIterator___map].val; /* _map on <self:HashMapIterator[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _map", "lib/standard/collection/hash_collection.nit", 390);
-exit(1);
-}
-var1 = self->attrs[COLOR_hash_collection__HashMapIterator___node].val; /* _node on <self:HashMapIterator[Object, nullable Object]> */
-}
 /* runtime class hash_collection__HashSet */
 const struct class class_hash_collection__HashSet = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashSet:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashSet:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashSet:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_abstract_collection__Set___61d_61d, /* pointer to hash_collection:HashSet:abstract_collection#Set#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashSet:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashSet:kernel#Object#output */
@@ -3975,16 +3091,17 @@ const struct class class_hash_collection__HashSet = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashSet:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashSet:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_abstract_collection__Set__hash, /* pointer to hash_collection:HashSet:abstract_collection#Set#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashSet:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashSet:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashSet:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashSet:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to hash_collection:HashSet:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashSet:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashSet:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashSet:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashSet:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashSet:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashSet:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashSet:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashSet:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashSet:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashSet:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashSet:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashSet:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashSet:time#Object#get_time */
@@ -4007,7 +3124,14 @@ const struct class class_hash_collection__HashSet = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashSet:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashSet:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashSet:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashSet:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashSet:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashSet:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashSet:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashSet:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashSet:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashSet:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashSet:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -4026,7 +3150,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashSet__iterator, /* pointer to hash_collection:HashSet:hash_collection#HashSet#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to hash_collection:HashSet:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_hash_collection__HashSet__is_empty, /* pointer to hash_collection:HashSet:hash_collection#HashSet#is_empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashSet__length, /* pointer to hash_collection:HashSet:hash_collection#HashSet#length */
 (nitmethod_t)VIRTUAL_hash_collection__HashSet__has, /* pointer to hash_collection:HashSet:hash_collection#HashSet#has */
@@ -4035,8 +3158,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashSet__first, /* pointer to hash_collection:HashSet:hash_collection#HashSet#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to hash_collection:HashSet:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to hash_collection:HashSet:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to hash_collection:HashSet:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to hash_collection:HashSet:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to hash_collection:HashSet:string#Collection#join */
 (nitmethod_t)VIRTUAL_hash_collection__HashSet__clear, /* pointer to hash_collection:HashSet:hash_collection#HashSet#clear */
 (nitmethod_t)VIRTUAL_hash_collection__HashSet__remove, /* pointer to hash_collection:HashSet:hash_collection#HashSet#remove */
 (nitmethod_t)VIRTUAL_abstract_collection__Set__remove_all, /* pointer to hash_collection:HashSet:abstract_collection#Set#remove_all */
@@ -4108,15 +3231,13 @@ var6 = NULL;
 self->attrs[COLOR_hash_collection__HashCollection___last_accessed_node].val = var6; /* _last_accessed_node on <self:HashSet[Object] exact> */
 return self;
 }
-/* allocate HashSet[Object] */
-void CHECK_NEW_hash_collection__HashSet(val* self) {
-}
 /* runtime class hash_collection__HashSetNode */
 const struct class class_hash_collection__HashSetNode = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashSetNode:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashSetNode:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashSetNode:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to hash_collection:HashSetNode:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashSetNode:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashSetNode:kernel#Object#output */
@@ -4124,16 +3245,17 @@ const struct class class_hash_collection__HashSetNode = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashSetNode:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashSetNode:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to hash_collection:HashSetNode:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashSetNode:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashSetNode:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashSetNode:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashSetNode:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to hash_collection:HashSetNode:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashSetNode:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashSetNode:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashSetNode:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashSetNode:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashSetNode:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashSetNode:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashSetNode:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashSetNode:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashSetNode:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashSetNode:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashSetNode:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashSetNode:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashSetNode:time#Object#get_time */
@@ -4156,6 +3278,14 @@ const struct class class_hash_collection__HashSetNode = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashSetNode:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashSetNode:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashSetNode:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashSetNode:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashSetNode:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashSetNode:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashSetNode:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashSetNode:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashSetNode:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashSetNode:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashSetNode:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_hash_collection__HashNode__next_item, /* pointer to hash_collection:HashSetNode:hash_collection#HashNode#next_item */
 (nitmethod_t)VIRTUAL_hash_collection__HashNode__next_item_61d, /* pointer to hash_collection:HashSetNode:hash_collection#HashNode#next_item= */
 (nitmethod_t)VIRTUAL_hash_collection__HashNode__prev_item, /* pointer to hash_collection:HashSetNode:hash_collection#HashNode#prev_item */
@@ -4184,21 +3314,13 @@ var3 = NULL;
 self->attrs[COLOR_hash_collection__HashNode___next_in_bucklet].val = var3; /* _next_in_bucklet on <self:HashSetNode[Object] exact> */
 return self;
 }
-/* allocate HashSetNode[Object] */
-void CHECK_NEW_hash_collection__HashSetNode(val* self) {
-val* var /* : Object */;
-var = self->attrs[COLOR_hash_collection__HashNode___key].val; /* _key on <self:HashSetNode[Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _key", "lib/standard/collection/hash_collection.nit", 189);
-exit(1);
-}
-}
 /* runtime class hash_collection__HashSetIterator */
 const struct class class_hash_collection__HashSetIterator = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to hash_collection:HashSetIterator:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to hash_collection:HashSetIterator:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to hash_collection:HashSetIterator:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to hash_collection:HashSetIterator:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to hash_collection:HashSetIterator:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to hash_collection:HashSetIterator:kernel#Object#output */
@@ -4206,16 +3328,17 @@ const struct class class_hash_collection__HashSetIterator = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to hash_collection:HashSetIterator:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to hash_collection:HashSetIterator:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to hash_collection:HashSetIterator:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashSetIterator:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashSetIterator:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashSetIterator:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashSetIterator:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to hash_collection:HashSetIterator:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to hash_collection:HashSetIterator:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to hash_collection:HashSetIterator:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to hash_collection:HashSetIterator:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to hash_collection:HashSetIterator:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to hash_collection:HashSetIterator:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to hash_collection:HashSetIterator:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to hash_collection:HashSetIterator:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to hash_collection:HashSetIterator:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to hash_collection:HashSetIterator:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to hash_collection:HashSetIterator:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to hash_collection:HashSetIterator:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to hash_collection:HashSetIterator:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to hash_collection:HashSetIterator:time#Object#get_time */
@@ -4238,6 +3361,14 @@ const struct class class_hash_collection__HashSetIterator = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to hash_collection:HashSetIterator:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to hash_collection:HashSetIterator:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to hash_collection:HashSetIterator:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to hash_collection:HashSetIterator:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to hash_collection:HashSetIterator:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to hash_collection:HashSetIterator:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to hash_collection:HashSetIterator:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to hash_collection:HashSetIterator:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to hash_collection:HashSetIterator:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to hash_collection:HashSetIterator:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to hash_collection:HashSetIterator:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_hash_collection__HashSetIterator__item, /* pointer to hash_collection:HashSetIterator:hash_collection#HashSetIterator#item */
 (nitmethod_t)VIRTUAL_hash_collection__HashSetIterator__next, /* pointer to hash_collection:HashSetIterator:hash_collection#HashSetIterator#next */
 (nitmethod_t)VIRTUAL_hash_collection__HashSetIterator__is_ok, /* pointer to hash_collection:HashSetIterator:hash_collection#HashSetIterator#is_ok */
@@ -4253,115 +3384,220 @@ self->type = type;
 self->class = &class_hash_collection__HashSetIterator;
 return self;
 }
-/* allocate HashSetIterator[Object] */
-void CHECK_NEW_hash_collection__HashSetIterator(val* self) {
-val* var /* : HashSet[Object] */;
-val* var1 /* : nullable HashSetNode[Object] */;
-var = self->attrs[COLOR_hash_collection__HashSetIterator___set].val; /* _set on <self:HashSetIterator[Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _set", "lib/standard/collection/hash_collection.nit", 481);
-exit(1);
-}
-var1 = self->attrs[COLOR_hash_collection__HashSetIterator___node].val; /* _node on <self:HashSetIterator[Object]> */
-}
-/* runtime class ropes__TupleLeafNodePos */
-/* allocate TupleLeafNodePos */
-val* NEW_ropes__TupleLeafNodePos(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "TupleLeafNodePos is DEAD");
-exit(1);
-}
-/* allocate TupleLeafNodePos */
-void CHECK_NEW_ropes__TupleLeafNodePos(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "TupleLeafNodePos is DEAD");
-exit(1);
-}
-/* runtime class ropes__BufferRope */
-/* allocate BufferRope */
-val* NEW_ropes__BufferRope(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "BufferRope is DEAD");
-exit(1);
-}
-/* allocate BufferRope */
-void CHECK_NEW_ropes__BufferRope(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "BufferRope is DEAD");
-exit(1);
-}
-/* runtime class ropes__ImmutableRope */
-/* allocate ImmutableRope */
-val* NEW_ropes__ImmutableRope(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "ImmutableRope is DEAD");
-exit(1);
-}
-/* allocate ImmutableRope */
-void CHECK_NEW_ropes__ImmutableRope(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "ImmutableRope is DEAD");
-exit(1);
-}
-/* runtime class ropes__CharRopeView */
-/* allocate CharRopeView */
-val* NEW_ropes__CharRopeView(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "CharRopeView is DEAD");
-exit(1);
-}
-/* allocate CharRopeView */
-void CHECK_NEW_ropes__CharRopeView(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "CharRopeView is DEAD");
-exit(1);
-}
-/* runtime class ropes__TupleVisitNode */
-/* allocate TupleVisitNode */
-val* NEW_ropes__TupleVisitNode(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "TupleVisitNode is DEAD");
-exit(1);
-}
-/* allocate TupleVisitNode */
-void CHECK_NEW_ropes__TupleVisitNode(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "TupleVisitNode is DEAD");
-exit(1);
-}
-/* runtime class ropes__RopeCharIterator */
-/* allocate RopeCharIterator */
-val* NEW_ropes__RopeCharIterator(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "RopeCharIterator is DEAD");
-exit(1);
-}
-/* allocate RopeCharIterator */
-void CHECK_NEW_ropes__RopeCharIterator(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "RopeCharIterator is DEAD");
-exit(1);
-}
-/* runtime class ropes__DFSRopeLeafIterator */
-/* allocate DFSRopeLeafIterator */
-val* NEW_ropes__DFSRopeLeafIterator(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "DFSRopeLeafIterator is DEAD");
-exit(1);
-}
-/* allocate DFSRopeLeafIterator */
-void CHECK_NEW_ropes__DFSRopeLeafIterator(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "DFSRopeLeafIterator is DEAD");
-exit(1);
-}
-/* runtime class ropes__ConcatNode */
-/* allocate ConcatNode */
-val* NEW_ropes__ConcatNode(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "ConcatNode is DEAD");
-exit(1);
-}
-/* allocate ConcatNode */
-void CHECK_NEW_ropes__ConcatNode(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "ConcatNode is DEAD");
-exit(1);
-}
-/* runtime class ropes__LeafNode */
-/* allocate LeafNode */
-val* NEW_ropes__LeafNode(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "LeafNode is DEAD");
-exit(1);
-}
-/* allocate LeafNode */
-void CHECK_NEW_ropes__LeafNode(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "LeafNode is DEAD");
-exit(1);
+/* runtime class time__TimeT */
+const struct class class_time__TimeT = {
+6, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to time:TimeT:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to time:TimeT:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to time:TimeT:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to time:TimeT:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to time:TimeT:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to time:TimeT:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to time:TimeT:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to time:TimeT:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to time:TimeT:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to time:TimeT:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to time:TimeT:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to time:TimeT:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to time:TimeT:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to time:TimeT:math#Object#srand */
+(nitmethod_t)VIRTUAL_time__TimeT__to_s, /* pointer to time:TimeT:time#TimeT#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to time:TimeT:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to time:TimeT:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to time:TimeT:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to time:TimeT:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to time:TimeT:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to time:TimeT:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to time:TimeT:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to time:TimeT:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to time:TimeT:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to time:TimeT:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to time:TimeT:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to time:TimeT:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to time:TimeT:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to time:TimeT:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to time:TimeT:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to time:TimeT:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to time:TimeT:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to time:TimeT:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to time:TimeT:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to time:TimeT:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to time:TimeT:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to time:TimeT:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to time:TimeT:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to time:TimeT:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to time:TimeT:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to time:TimeT:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to time:TimeT:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to time:TimeT:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to time:TimeT:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to time:TimeT:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to time:TimeT:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to time:TimeT:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to time:TimeT:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to time:TimeT:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to time:TimeT:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to time:TimeT:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to time:TimeT:kernel#Pointer#address_is_null */
+(nitmethod_t)VIRTUAL_time__TimeT__init, /* pointer to time:TimeT:time#TimeT#init */
+(nitmethod_t)VIRTUAL_time__TimeT__from_i, /* pointer to time:TimeT:time#TimeT#from_i */
+(nitmethod_t)VIRTUAL_time__TimeT__update, /* pointer to time:TimeT:time#TimeT#update */
+(nitmethod_t)VIRTUAL_time__TimeT__ctime, /* pointer to time:TimeT:time#TimeT#ctime */
+(nitmethod_t)VIRTUAL_time__TimeT__difftime, /* pointer to time:TimeT:time#TimeT#difftime */
+(nitmethod_t)VIRTUAL_time__TimeT__to_i, /* pointer to time:TimeT:time#TimeT#to_i */
+}
+};
+/* runtime class time__Tm */
+const struct class class_time__Tm = {
+6, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to time:Tm:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to time:Tm:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to time:Tm:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to time:Tm:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to time:Tm:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to time:Tm:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to time:Tm:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to time:Tm:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to time:Tm:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to time:Tm:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to time:Tm:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to time:Tm:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to time:Tm:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to time:Tm:math#Object#srand */
+(nitmethod_t)VIRTUAL_time__Tm__to_s, /* pointer to time:Tm:time#Tm#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to time:Tm:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to time:Tm:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to time:Tm:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to time:Tm:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to time:Tm:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to time:Tm:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to time:Tm:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to time:Tm:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to time:Tm:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to time:Tm:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to time:Tm:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to time:Tm:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to time:Tm:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to time:Tm:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to time:Tm:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to time:Tm:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to time:Tm:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to time:Tm:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to time:Tm:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to time:Tm:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to time:Tm:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to time:Tm:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to time:Tm:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to time:Tm:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to time:Tm:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to time:Tm:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to time:Tm:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to time:Tm:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to time:Tm:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to time:Tm:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to time:Tm:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to time:Tm:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to time:Tm:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to time:Tm:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to time:Tm:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to time:Tm:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to time:Tm:kernel#Pointer#address_is_null */
+(nitmethod_t)VIRTUAL_time__Tm__gmtime, /* pointer to time:Tm:time#Tm#gmtime */
+(nitmethod_t)VIRTUAL_time__Tm__gmtime_from_timet, /* pointer to time:Tm:time#Tm#gmtime_from_timet */
+(nitmethod_t)VIRTUAL_time__Tm__localtime, /* pointer to time:Tm:time#Tm#localtime */
+(nitmethod_t)VIRTUAL_time__Tm__localtime_from_timet, /* pointer to time:Tm:time#Tm#localtime_from_timet */
+(nitmethod_t)VIRTUAL_time__Tm__to_timet, /* pointer to time:Tm:time#Tm#to_timet */
+(nitmethod_t)VIRTUAL_time__Tm__sec, /* pointer to time:Tm:time#Tm#sec */
+(nitmethod_t)VIRTUAL_time__Tm__min, /* pointer to time:Tm:time#Tm#min */
+(nitmethod_t)VIRTUAL_time__Tm__hour, /* pointer to time:Tm:time#Tm#hour */
+(nitmethod_t)VIRTUAL_time__Tm__mday, /* pointer to time:Tm:time#Tm#mday */
+(nitmethod_t)VIRTUAL_time__Tm__mon, /* pointer to time:Tm:time#Tm#mon */
+(nitmethod_t)VIRTUAL_time__Tm__year, /* pointer to time:Tm:time#Tm#year */
+(nitmethod_t)VIRTUAL_time__Tm__wday, /* pointer to time:Tm:time#Tm#wday */
+(nitmethod_t)VIRTUAL_time__Tm__yday, /* pointer to time:Tm:time#Tm#yday */
+(nitmethod_t)VIRTUAL_time__Tm__is_dst, /* pointer to time:Tm:time#Tm#is_dst */
+(nitmethod_t)VIRTUAL_time__Tm__asctime, /* pointer to time:Tm:time#Tm#asctime */
+(nitmethod_t)VIRTUAL_time__Tm__strftime, /* pointer to time:Tm:time#Tm#strftime */
+}
+};
+/* runtime class string_search__BM_Pattern */
+/* allocate BM_Pattern */
+val* NEW_string_search__BM_Pattern(const struct type* type) {
+fprintf(stderr, "Runtime error: %s", "BM_Pattern is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
+}
+/* runtime class string_search__Match */
+const struct class class_string_search__Match = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to string_search:Match:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to string_search:Match:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to string_search:Match:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to string_search:Match:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to string_search:Match:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to string_search:Match:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to string_search:Match:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to string_search:Match:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to string_search:Match:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to string_search:Match:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string_search:Match:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string_search:Match:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string_search:Match:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string_search:Match:math#Object#srand */
+(nitmethod_t)VIRTUAL_string_search__Match__to_s, /* pointer to string_search:Match:string_search#Match#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to string_search:Match:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to string_search:Match:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to string_search:Match:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to string_search:Match:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to string_search:Match:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to string_search:Match:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to string_search:Match:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to string_search:Match:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to string_search:Match:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to string_search:Match:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to string_search:Match:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to string_search:Match:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to string_search:Match:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to string_search:Match:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to string_search:Match:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to string_search:Match:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to string_search:Match:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to string_search:Match:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to string_search:Match:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to string_search:Match:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to string_search:Match:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to string_search:Match:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to string_search:Match:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to string_search:Match:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to string_search:Match:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to string_search:Match:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to string_search:Match:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to string_search:Match:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to string_search:Match:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to string_search:Match:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to string_search:Match:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to string_search:Match:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to string_search:Match:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to string_search:Match:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to string_search:Match:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to string_search:Match:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_string_search__Match__string, /* pointer to string_search:Match:string_search#Match#string */
+(nitmethod_t)VIRTUAL_string_search__Match__from, /* pointer to string_search:Match:string_search#Match#from */
+(nitmethod_t)VIRTUAL_string_search__Match__length, /* pointer to string_search:Match:string_search#Match#length */
+(nitmethod_t)VIRTUAL_string_search__Match__after, /* pointer to string_search:Match:string_search#Match#after */
+(nitmethod_t)VIRTUAL_string_search__Match__init, /* pointer to string_search:Match:string_search#Match#init */
+}
+};
+/* allocate Match */
+val* NEW_string_search__Match(const struct type* type) {
+val* self /* : Match */;
+self = nit_alloc(sizeof(struct instance) + 3*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_string_search__Match;
+return self;
 }
 /* runtime class file__IFStream */
 const struct class class_file__IFStream = {
@@ -4369,6 +3605,7 @@ const struct class class_file__IFStream = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to file:IFStream:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to file:IFStream:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to file:IFStream:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to file:IFStream:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to file:IFStream:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to file:IFStream:kernel#Object#output */
@@ -4376,16 +3613,17 @@ const struct class class_file__IFStream = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to file:IFStream:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to file:IFStream:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to file:IFStream:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:IFStream:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:IFStream:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:IFStream:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:IFStream:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to file:IFStream:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to file:IFStream:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to file:IFStream:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to file:IFStream:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to file:IFStream:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to file:IFStream:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:IFStream:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:IFStream:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:IFStream:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:IFStream:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to file:IFStream:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to file:IFStream:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to file:IFStream:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to file:IFStream:time#Object#get_time */
@@ -4408,6 +3646,14 @@ const struct class class_file__IFStream = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to file:IFStream:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to file:IFStream:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to file:IFStream:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to file:IFStream:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to file:IFStream:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to file:IFStream:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to file:IFStream:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to file:IFStream:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to file:IFStream:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to file:IFStream:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to file:IFStream:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_file__IFStream__close, /* pointer to file:IFStream:file#IFStream#close */
 (nitmethod_t)VIRTUAL_stream__BufferedIStream__read_char, /* pointer to file:IFStream:stream#BufferedIStream#read_char */
 (nitmethod_t)VIRTUAL_stream__BufferedIStream__read, /* pointer to file:IFStream:stream#BufferedIStream#read */
@@ -4451,15 +3697,13 @@ var4 = 0;
 self->attrs[COLOR_file__IFStream___end_reached].s = var4; /* _end_reached on <self:IFStream exact> */
 return self;
 }
-/* allocate IFStream */
-void CHECK_NEW_file__IFStream(val* self) {
-}
 /* runtime class file__OFStream */
 const struct class class_file__OFStream = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to file:OFStream:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to file:OFStream:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to file:OFStream:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to file:OFStream:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to file:OFStream:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to file:OFStream:kernel#Object#output */
@@ -4467,16 +3711,17 @@ const struct class class_file__OFStream = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to file:OFStream:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to file:OFStream:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to file:OFStream:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:OFStream:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:OFStream:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:OFStream:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:OFStream:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to file:OFStream:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to file:OFStream:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to file:OFStream:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to file:OFStream:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to file:OFStream:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to file:OFStream:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:OFStream:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:OFStream:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:OFStream:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:OFStream:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to file:OFStream:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to file:OFStream:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to file:OFStream:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to file:OFStream:time#Object#get_time */
@@ -4499,6 +3744,14 @@ const struct class class_file__OFStream = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to file:OFStream:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to file:OFStream:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to file:OFStream:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to file:OFStream:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to file:OFStream:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to file:OFStream:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to file:OFStream:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to file:OFStream:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to file:OFStream:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to file:OFStream:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to file:OFStream:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_file__OFStream__close, /* pointer to file:OFStream:file#OFStream#close */
 NULL, /* empty */
 NULL, /* empty */
@@ -4533,21 +3786,12 @@ var1 = NULL;
 self->attrs[COLOR_file__FStream___file].val = var1; /* _file on <self:OFStream exact> */
 return self;
 }
-/* allocate OFStream */
-void CHECK_NEW_file__OFStream(val* self) {
-short int var /* : Bool */;
-var = self->attrs[COLOR_file__OFStream___writable].s; /* _writable on <self:OFStream> */
-}
 /* runtime class file__Stdin */
 /* allocate Stdin */
 val* NEW_file__Stdin(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "Stdin is DEAD");
-exit(1);
-}
-/* allocate Stdin */
-void CHECK_NEW_file__Stdin(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "Stdin is DEAD");
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Stdin is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
 /* runtime class file__Stdout */
 const struct class class_file__Stdout = {
@@ -4555,6 +3799,7 @@ const struct class class_file__Stdout = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to file:Stdout:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to file:Stdout:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to file:Stdout:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to file:Stdout:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to file:Stdout:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to file:Stdout:kernel#Object#output */
@@ -4562,16 +3807,17 @@ const struct class class_file__Stdout = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to file:Stdout:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to file:Stdout:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to file:Stdout:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:Stdout:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:Stdout:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:Stdout:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:Stdout:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to file:Stdout:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to file:Stdout:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to file:Stdout:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to file:Stdout:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to file:Stdout:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to file:Stdout:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:Stdout:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:Stdout:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:Stdout:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:Stdout:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to file:Stdout:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to file:Stdout:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to file:Stdout:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to file:Stdout:time#Object#get_time */
@@ -4594,6 +3840,14 @@ const struct class class_file__Stdout = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to file:Stdout:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to file:Stdout:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to file:Stdout:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to file:Stdout:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to file:Stdout:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to file:Stdout:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to file:Stdout:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to file:Stdout:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to file:Stdout:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to file:Stdout:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to file:Stdout:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_file__OFStream__close, /* pointer to file:Stdout:file#OFStream#close */
 NULL, /* empty */
 NULL, /* empty */
@@ -4629,17 +3883,13 @@ var1 = NULL;
 self->attrs[COLOR_file__FStream___file].val = var1; /* _file on <self:Stdout exact> */
 return self;
 }
-/* allocate Stdout */
-void CHECK_NEW_file__Stdout(val* self) {
-short int var /* : Bool */;
-var = self->attrs[COLOR_file__OFStream___writable].s; /* _writable on <self:Stdout> */
-}
 /* runtime class file__Stderr */
 const struct class class_file__Stderr = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to file:Stderr:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to file:Stderr:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to file:Stderr:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to file:Stderr:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to file:Stderr:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to file:Stderr:kernel#Object#output */
@@ -4647,16 +3897,17 @@ const struct class class_file__Stderr = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to file:Stderr:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to file:Stderr:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to file:Stderr:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:Stderr:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:Stderr:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:Stderr:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:Stderr:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to file:Stderr:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to file:Stderr:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to file:Stderr:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to file:Stderr:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to file:Stderr:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to file:Stderr:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:Stderr:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:Stderr:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:Stderr:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:Stderr:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to file:Stderr:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to file:Stderr:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to file:Stderr:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to file:Stderr:time#Object#get_time */
@@ -4679,6 +3930,14 @@ const struct class class_file__Stderr = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to file:Stderr:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to file:Stderr:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to file:Stderr:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to file:Stderr:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to file:Stderr:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to file:Stderr:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to file:Stderr:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to file:Stderr:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to file:Stderr:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to file:Stderr:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to file:Stderr:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_file__OFStream__close, /* pointer to file:Stderr:file#OFStream#close */
 NULL, /* empty */
 NULL, /* empty */
@@ -4714,17 +3973,13 @@ var1 = NULL;
 self->attrs[COLOR_file__FStream___file].val = var1; /* _file on <self:Stderr exact> */
 return self;
 }
-/* allocate Stderr */
-void CHECK_NEW_file__Stderr(val* self) {
-short int var /* : Bool */;
-var = self->attrs[COLOR_file__OFStream___writable].s; /* _writable on <self:Stderr> */
-}
 /* runtime class file__FileStat */
 const struct class class_file__FileStat = {
 6, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to file:FileStat:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to file:FileStat:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to file:FileStat:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to file:FileStat:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to file:FileStat:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to file:FileStat:kernel#Object#output */
@@ -4732,16 +3987,17 @@ const struct class class_file__FileStat = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to file:FileStat:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to file:FileStat:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to file:FileStat:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:FileStat:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:FileStat:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:FileStat:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:FileStat:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to file:FileStat:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to file:FileStat:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to file:FileStat:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to file:FileStat:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to file:FileStat:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to file:FileStat:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:FileStat:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:FileStat:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:FileStat:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:FileStat:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to file:FileStat:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to file:FileStat:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to file:FileStat:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to file:FileStat:time#Object#get_time */
@@ -4764,6 +4020,14 @@ const struct class class_file__FileStat = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to file:FileStat:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to file:FileStat:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to file:FileStat:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to file:FileStat:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to file:FileStat:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to file:FileStat:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to file:FileStat:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to file:FileStat:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to file:FileStat:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to file:FileStat:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to file:FileStat:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to file:FileStat:kernel#Pointer#address_is_null */
 (nitmethod_t)VIRTUAL_file__FileStat__mode, /* pointer to file:FileStat:file#FileStat#mode */
 (nitmethod_t)VIRTUAL_file__FileStat__atime, /* pointer to file:FileStat:file#FileStat#atime */
@@ -4785,6 +4049,7 @@ const struct class class_file__NativeFile = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to file:NativeFile:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to file:NativeFile:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to file:NativeFile:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to file:NativeFile:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to file:NativeFile:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to file:NativeFile:kernel#Object#output */
@@ -4792,16 +4057,17 @@ const struct class class_file__NativeFile = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to file:NativeFile:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to file:NativeFile:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to file:NativeFile:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:NativeFile:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:NativeFile:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:NativeFile:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:NativeFile:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to file:NativeFile:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to file:NativeFile:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to file:NativeFile:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to file:NativeFile:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to file:NativeFile:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to file:NativeFile:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to file:NativeFile:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to file:NativeFile:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to file:NativeFile:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to file:NativeFile:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to file:NativeFile:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to file:NativeFile:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to file:NativeFile:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to file:NativeFile:time#Object#get_time */
@@ -4824,6 +4090,14 @@ const struct class class_file__NativeFile = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to file:NativeFile:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to file:NativeFile:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to file:NativeFile:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to file:NativeFile:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to file:NativeFile:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to file:NativeFile:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to file:NativeFile:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to file:NativeFile:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to file:NativeFile:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to file:NativeFile:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to file:NativeFile:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to file:NativeFile:kernel#Pointer#address_is_null */
 (nitmethod_t)VIRTUAL_file__NativeFile__io_read, /* pointer to file:NativeFile:file#NativeFile#io_read */
 (nitmethod_t)VIRTUAL_file__NativeFile__io_write, /* pointer to file:NativeFile:file#NativeFile#io_write */
@@ -4838,290 +4112,308 @@ const struct class class_file__NativeFile = {
 };
 /* allocate NativeFile */
 val* BOX_file__NativeFile(void* value) {
-struct instance_file__NativeFile*res = nit_alloc(sizeof(struct instance_file__NativeFile));
+struct instance_kernel__Pointer*res = nit_alloc(sizeof(struct instance_kernel__Pointer));
 res->type = &type_file__NativeFile;
 res->class = &class_file__NativeFile;
 res->value = value;
-return (val*)res;
-}
-/* runtime class stream__FDIStream */
-/* allocate FDIStream */
-val* NEW_stream__FDIStream(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "FDIStream is DEAD");
-exit(1);
-}
-/* allocate FDIStream */
-void CHECK_NEW_stream__FDIStream(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "FDIStream is DEAD");
-exit(1);
-}
-/* runtime class stream__FDOStream */
-/* allocate FDOStream */
-val* NEW_stream__FDOStream(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "FDOStream is DEAD");
-exit(1);
-}
-/* allocate FDOStream */
-void CHECK_NEW_stream__FDOStream(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "FDOStream is DEAD");
-exit(1);
-}
-/* runtime class stream__FDIOStream */
-/* allocate FDIOStream */
-val* NEW_stream__FDIOStream(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "FDIOStream is DEAD");
-exit(1);
-}
-/* allocate FDIOStream */
-void CHECK_NEW_stream__FDIOStream(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "FDIOStream is DEAD");
-exit(1);
-}
-/* runtime class string_search__BM_Pattern */
-/* allocate BM_Pattern */
-val* NEW_string_search__BM_Pattern(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "BM_Pattern is DEAD");
-exit(1);
-}
-/* allocate BM_Pattern */
-void CHECK_NEW_string_search__BM_Pattern(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "BM_Pattern is DEAD");
-exit(1);
-}
-/* runtime class string_search__Match */
-const struct class class_string_search__Match = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to string_search:Match:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to string_search:Match:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to string_search:Match:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to string_search:Match:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to string_search:Match:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to string_search:Match:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to string_search:Match:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to string_search:Match:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to string_search:Match:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_string_search__Match__to_s, /* pointer to string_search:Match:string_search#Match#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to string_search:Match:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to string_search:Match:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to string_search:Match:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to string_search:Match:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to string_search:Match:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to string_search:Match:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to string_search:Match:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to string_search:Match:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to string_search:Match:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to string_search:Match:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to string_search:Match:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to string_search:Match:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to string_search:Match:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to string_search:Match:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to string_search:Match:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to string_search:Match:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to string_search:Match:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to string_search:Match:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to string_search:Match:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to string_search:Match:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to string_search:Match:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to string_search:Match:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to string_search:Match:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to string_search:Match:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to string_search:Match:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to string_search:Match:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to string_search:Match:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to string_search:Match:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to string_search:Match:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to string_search:Match:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to string_search:Match:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_string_search__Match__string, /* pointer to string_search:Match:string_search#Match#string */
-(nitmethod_t)VIRTUAL_string_search__Match__from, /* pointer to string_search:Match:string_search#Match#from */
-(nitmethod_t)VIRTUAL_string_search__Match__length, /* pointer to string_search:Match:string_search#Match#length */
-(nitmethod_t)VIRTUAL_string_search__Match__after, /* pointer to string_search:Match:string_search#Match#after */
-(nitmethod_t)VIRTUAL_string_search__Match__init, /* pointer to string_search:Match:string_search#Match#init */
-}
-};
-/* allocate Match */
-val* NEW_string_search__Match(const struct type* type) {
-val* self /* : Match */;
-self = nit_alloc(sizeof(struct instance) + 3*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_string_search__Match;
-return self;
-}
-/* allocate Match */
-void CHECK_NEW_string_search__Match(val* self) {
-val* var /* : String */;
-long var1 /* : Int */;
-long var2 /* : Int */;
-var = self->attrs[COLOR_string_search__Match___string].val; /* _string on <self:Match> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _string", "lib/standard/string_search.nit", 207);
-exit(1);
-}
-var1 = self->attrs[COLOR_string_search__Match___from].l; /* _from on <self:Match> */
-var2 = self->attrs[COLOR_string_search__Match___length].l; /* _length on <self:Match> */
-}
-/* runtime class time__TimeT */
-const struct class class_time__TimeT = {
-6, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to time:TimeT:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to time:TimeT:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to time:TimeT:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to time:TimeT:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to time:TimeT:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to time:TimeT:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to time:TimeT:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to time:TimeT:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to time:TimeT:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_time__TimeT__to_s, /* pointer to time:TimeT:time#TimeT#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to time:TimeT:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to time:TimeT:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to time:TimeT:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to time:TimeT:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to time:TimeT:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to time:TimeT:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to time:TimeT:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to time:TimeT:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to time:TimeT:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to time:TimeT:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to time:TimeT:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to time:TimeT:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to time:TimeT:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to time:TimeT:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to time:TimeT:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to time:TimeT:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to time:TimeT:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to time:TimeT:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to time:TimeT:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to time:TimeT:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to time:TimeT:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to time:TimeT:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to time:TimeT:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to time:TimeT:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to time:TimeT:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to time:TimeT:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to time:TimeT:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to time:TimeT:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to time:TimeT:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to time:TimeT:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to time:TimeT:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to time:TimeT:kernel#Pointer#address_is_null */
-(nitmethod_t)VIRTUAL_time__TimeT__init, /* pointer to time:TimeT:time#TimeT#init */
-(nitmethod_t)VIRTUAL_time__TimeT__from_i, /* pointer to time:TimeT:time#TimeT#from_i */
-(nitmethod_t)VIRTUAL_time__TimeT__update, /* pointer to time:TimeT:time#TimeT#update */
-(nitmethod_t)VIRTUAL_time__TimeT__ctime, /* pointer to time:TimeT:time#TimeT#ctime */
-(nitmethod_t)VIRTUAL_time__TimeT__difftime, /* pointer to time:TimeT:time#TimeT#difftime */
-(nitmethod_t)VIRTUAL_time__TimeT__to_i, /* pointer to time:TimeT:time#TimeT#to_i */
-}
-};
-/* runtime class time__Tm */
-const struct class class_time__Tm = {
-6, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to time:Tm:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to time:Tm:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to time:Tm:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to time:Tm:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to time:Tm:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to time:Tm:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to time:Tm:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to time:Tm:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to time:Tm:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_time__Tm__to_s, /* pointer to time:Tm:time#Tm#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to time:Tm:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to time:Tm:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to time:Tm:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to time:Tm:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to time:Tm:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to time:Tm:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to time:Tm:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to time:Tm:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to time:Tm:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to time:Tm:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to time:Tm:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to time:Tm:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to time:Tm:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to time:Tm:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to time:Tm:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to time:Tm:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to time:Tm:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to time:Tm:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to time:Tm:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to time:Tm:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to time:Tm:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to time:Tm:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to time:Tm:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to time:Tm:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to time:Tm:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to time:Tm:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to time:Tm:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to time:Tm:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to time:Tm:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to time:Tm:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to time:Tm:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to time:Tm:kernel#Pointer#address_is_null */
-(nitmethod_t)VIRTUAL_time__Tm__gmtime, /* pointer to time:Tm:time#Tm#gmtime */
-(nitmethod_t)VIRTUAL_time__Tm__gmtime_from_timet, /* pointer to time:Tm:time#Tm#gmtime_from_timet */
-(nitmethod_t)VIRTUAL_time__Tm__localtime, /* pointer to time:Tm:time#Tm#localtime */
-(nitmethod_t)VIRTUAL_time__Tm__localtime_from_timet, /* pointer to time:Tm:time#Tm#localtime_from_timet */
-(nitmethod_t)VIRTUAL_time__Tm__to_timet, /* pointer to time:Tm:time#Tm#to_timet */
-(nitmethod_t)VIRTUAL_time__Tm__sec, /* pointer to time:Tm:time#Tm#sec */
-(nitmethod_t)VIRTUAL_time__Tm__min, /* pointer to time:Tm:time#Tm#min */
-(nitmethod_t)VIRTUAL_time__Tm__hour, /* pointer to time:Tm:time#Tm#hour */
-(nitmethod_t)VIRTUAL_time__Tm__mday, /* pointer to time:Tm:time#Tm#mday */
-(nitmethod_t)VIRTUAL_time__Tm__mon, /* pointer to time:Tm:time#Tm#mon */
-(nitmethod_t)VIRTUAL_time__Tm__year, /* pointer to time:Tm:time#Tm#year */
-(nitmethod_t)VIRTUAL_time__Tm__wday, /* pointer to time:Tm:time#Tm#wday */
-(nitmethod_t)VIRTUAL_time__Tm__yday, /* pointer to time:Tm:time#Tm#yday */
-(nitmethod_t)VIRTUAL_time__Tm__is_dst, /* pointer to time:Tm:time#Tm#is_dst */
-(nitmethod_t)VIRTUAL_time__Tm__asctime, /* pointer to time:Tm:time#Tm#asctime */
-(nitmethod_t)VIRTUAL_time__Tm__strftime, /* pointer to time:Tm:time#Tm#strftime */
+return (val*)res;
+}
+/* runtime class stream__FDIStream */
+const struct class class_stream__FDIStream = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to stream:FDIStream:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to stream:FDIStream:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to stream:FDIStream:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to stream:FDIStream:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to stream:FDIStream:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to stream:FDIStream:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to stream:FDIStream:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to stream:FDIStream:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to stream:FDIStream:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to stream:FDIStream:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to stream:FDIStream:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to stream:FDIStream:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to stream:FDIStream:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to stream:FDIStream:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to stream:FDIStream:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to stream:FDIStream:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to stream:FDIStream:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to stream:FDIStream:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to stream:FDIStream:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to stream:FDIStream:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to stream:FDIStream:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to stream:FDIStream:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to stream:FDIStream:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to stream:FDIStream:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to stream:FDIStream:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to stream:FDIStream:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to stream:FDIStream:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to stream:FDIStream:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to stream:FDIStream:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to stream:FDIStream:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to stream:FDIStream:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to stream:FDIStream:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to stream:FDIStream:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to stream:FDIStream:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to stream:FDIStream:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to stream:FDIStream:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to stream:FDIStream:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to stream:FDIStream:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to stream:FDIStream:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to stream:FDIStream:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to stream:FDIStream:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to stream:FDIStream:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to stream:FDIStream:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to stream:FDIStream:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to stream:FDIStream:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to stream:FDIStream:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to stream:FDIStream:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to stream:FDIStream:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to stream:FDIStream:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to stream:FDIStream:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to stream:FDIStream:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_stream__FDStream__close, /* pointer to stream:FDIStream:stream#FDStream#close */
+(nitmethod_t)VIRTUAL_stream__FDIStream__read_char, /* pointer to stream:FDIStream:stream#FDIStream#read_char */
+(nitmethod_t)VIRTUAL_stream__IStream__read, /* pointer to stream:FDIStream:stream#IStream#read */
+(nitmethod_t)VIRTUAL_stream__IStream__read_line, /* pointer to stream:FDIStream:stream#IStream#read_line */
+(nitmethod_t)VIRTUAL_stream__IStream__read_all, /* pointer to stream:FDIStream:stream#IStream#read_all */
+(nitmethod_t)VIRTUAL_stream__IStream__append_line_to, /* pointer to stream:FDIStream:stream#IStream#append_line_to */
+(nitmethod_t)VIRTUAL_stream__FDIStream__eof, /* pointer to stream:FDIStream:stream#FDIStream#eof */
+NULL, /* empty */
+NULL, /* empty */
+(nitmethod_t)VIRTUAL_stream__FDStream__fd, /* pointer to stream:FDIStream:stream#FDStream#fd */
+(nitmethod_t)VIRTUAL_stream__FDStream__fd_61d, /* pointer to stream:FDIStream:stream#FDStream#fd= */
+(nitmethod_t)VIRTUAL_stream__FDStream__native_close, /* pointer to stream:FDIStream:stream#FDStream#native_close */
+(nitmethod_t)VIRTUAL_stream__FDStream__native_read_char, /* pointer to stream:FDIStream:stream#FDStream#native_read_char */
+(nitmethod_t)VIRTUAL_stream__FDStream__native_read, /* pointer to stream:FDIStream:stream#FDStream#native_read */
+(nitmethod_t)VIRTUAL_stream__FDStream__native_write, /* pointer to stream:FDIStream:stream#FDStream#native_write */
+(nitmethod_t)VIRTUAL_stream__FDStream__native_write_char, /* pointer to stream:FDIStream:stream#FDStream#native_write_char */
+(nitmethod_t)VIRTUAL_stream__FDStream__init, /* pointer to stream:FDIStream:stream#FDStream#init */
+(nitmethod_t)VIRTUAL_stream__FDIStream__eof_61d, /* pointer to stream:FDIStream:stream#FDIStream#eof= */
+(nitmethod_t)VIRTUAL_stream__FDIStream__init, /* pointer to stream:FDIStream:stream#FDIStream#init */
 }
 };
+/* allocate FDIStream */
+val* NEW_stream__FDIStream(const struct type* type) {
+val* self /* : FDIStream */;
+short int var /* : Bool */;
+self = nit_alloc(sizeof(struct instance) + 2*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_stream__FDIStream;
+var = 0;
+self->attrs[COLOR_stream__FDIStream___64deof].s = var; /* @eof on <self:FDIStream exact> */
+return self;
+}
+/* runtime class stream__FDOStream */
+/* allocate FDOStream */
+val* NEW_stream__FDOStream(const struct type* type) {
+fprintf(stderr, "Runtime error: %s", "FDOStream is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
+}
+/* runtime class stream__FDIOStream */
+/* allocate FDIOStream */
+val* NEW_stream__FDIOStream(const struct type* type) {
+fprintf(stderr, "Runtime error: %s", "FDIOStream is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
+}
+/* runtime class stream__StringOStream */
+/* allocate StringOStream */
+val* NEW_stream__StringOStream(const struct type* type) {
+fprintf(stderr, "Runtime error: %s", "StringOStream is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
+}
 /* runtime class exec__Process */
-/* allocate Process */
-val* NEW_exec__Process(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "Process is DEAD");
-exit(1);
+const struct class class_exec__Process = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to exec:Process:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to exec:Process:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to exec:Process:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to exec:Process:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to exec:Process:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to exec:Process:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to exec:Process:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to exec:Process:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to exec:Process:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to exec:Process:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to exec:Process:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to exec:Process:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to exec:Process:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to exec:Process:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to exec:Process:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to exec:Process:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to exec:Process:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to exec:Process:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to exec:Process:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to exec:Process:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to exec:Process:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to exec:Process:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to exec:Process:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to exec:Process:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to exec:Process:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to exec:Process:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to exec:Process:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to exec:Process:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to exec:Process:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to exec:Process:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to exec:Process:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to exec:Process:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to exec:Process:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to exec:Process:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to exec:Process:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to exec:Process:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to exec:Process:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to exec:Process:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to exec:Process:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to exec:Process:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to exec:Process:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to exec:Process:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to exec:Process:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to exec:Process:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to exec:Process:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to exec:Process:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to exec:Process:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to exec:Process:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to exec:Process:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to exec:Process:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to exec:Process:cpp#Object#from_cpp_call_context */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+(nitmethod_t)VIRTUAL_exec__Process__id, /* pointer to exec:Process:exec#Process#id */
+(nitmethod_t)VIRTUAL_exec__Process__is_finished, /* pointer to exec:Process:exec#Process#is_finished */
+(nitmethod_t)VIRTUAL_exec__Process__wait, /* pointer to exec:Process:exec#Process#wait */
+(nitmethod_t)VIRTUAL_exec__Process__status, /* pointer to exec:Process:exec#Process#status */
+(nitmethod_t)VIRTUAL_exec__Process__init, /* pointer to exec:Process:exec#Process#init */
+(nitmethod_t)VIRTUAL_exec__Process__init_, /* pointer to exec:Process:exec#Process#init_ */
+(nitmethod_t)VIRTUAL_exec__Process__from_a, /* pointer to exec:Process:exec#Process#from_a */
+(nitmethod_t)VIRTUAL_exec__Process__execute, /* pointer to exec:Process:exec#Process#execute */
+(nitmethod_t)VIRTUAL_exec__Process__data, /* pointer to exec:Process:exec#Process#data */
+(nitmethod_t)VIRTUAL_exec__Process__data_61d, /* pointer to exec:Process:exec#Process#data= */
+(nitmethod_t)VIRTUAL_exec__Process__basic_exec_execute, /* pointer to exec:Process:exec#Process#basic_exec_execute */
 }
+};
 /* allocate Process */
-void CHECK_NEW_exec__Process(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "Process is DEAD");
-exit(1);
+val* NEW_exec__Process(const struct type* type) {
+val* self /* : Process */;
+self = nit_alloc(sizeof(struct instance) + 1*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_exec__Process;
+return self;
 }
 /* runtime class exec__IProcess */
-/* allocate IProcess */
-val* NEW_exec__IProcess(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "IProcess is DEAD");
-exit(1);
+const struct class class_exec__IProcess = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to exec:IProcess:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to exec:IProcess:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to exec:IProcess:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to exec:IProcess:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to exec:IProcess:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to exec:IProcess:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to exec:IProcess:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to exec:IProcess:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to exec:IProcess:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to exec:IProcess:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to exec:IProcess:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to exec:IProcess:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to exec:IProcess:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to exec:IProcess:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to exec:IProcess:string#Object#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to exec:IProcess:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to exec:IProcess:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to exec:IProcess:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to exec:IProcess:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to exec:IProcess:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to exec:IProcess:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to exec:IProcess:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to exec:IProcess:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to exec:IProcess:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to exec:IProcess:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to exec:IProcess:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to exec:IProcess:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to exec:IProcess:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to exec:IProcess:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to exec:IProcess:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to exec:IProcess:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to exec:IProcess:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to exec:IProcess:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to exec:IProcess:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to exec:IProcess:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to exec:IProcess:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to exec:IProcess:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to exec:IProcess:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to exec:IProcess:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to exec:IProcess:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to exec:IProcess:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to exec:IProcess:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to exec:IProcess:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to exec:IProcess:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to exec:IProcess:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to exec:IProcess:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to exec:IProcess:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to exec:IProcess:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to exec:IProcess:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to exec:IProcess:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to exec:IProcess:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_exec__IProcess__close, /* pointer to exec:IProcess:exec#IProcess#close */
+(nitmethod_t)VIRTUAL_exec__IProcess__read_char, /* pointer to exec:IProcess:exec#IProcess#read_char */
+(nitmethod_t)VIRTUAL_stream__IStream__read, /* pointer to exec:IProcess:stream#IStream#read */
+(nitmethod_t)VIRTUAL_stream__IStream__read_line, /* pointer to exec:IProcess:stream#IStream#read_line */
+(nitmethod_t)VIRTUAL_stream__IStream__read_all, /* pointer to exec:IProcess:stream#IStream#read_all */
+(nitmethod_t)VIRTUAL_stream__IStream__append_line_to, /* pointer to exec:IProcess:stream#IStream#append_line_to */
+(nitmethod_t)VIRTUAL_exec__IProcess__eof, /* pointer to exec:IProcess:exec#IProcess#eof */
+NULL, /* empty */
+NULL, /* empty */
+(nitmethod_t)VIRTUAL_exec__Process__id, /* pointer to exec:IProcess:exec#Process#id */
+(nitmethod_t)VIRTUAL_exec__Process__is_finished, /* pointer to exec:IProcess:exec#Process#is_finished */
+(nitmethod_t)VIRTUAL_exec__Process__wait, /* pointer to exec:IProcess:exec#Process#wait */
+(nitmethod_t)VIRTUAL_exec__Process__status, /* pointer to exec:IProcess:exec#Process#status */
+(nitmethod_t)VIRTUAL_exec__Process__init, /* pointer to exec:IProcess:exec#Process#init */
+(nitmethod_t)VIRTUAL_exec__Process__init_, /* pointer to exec:IProcess:exec#Process#init_ */
+(nitmethod_t)VIRTUAL_exec__Process__from_a, /* pointer to exec:IProcess:exec#Process#from_a */
+(nitmethod_t)VIRTUAL_exec__Process__execute, /* pointer to exec:IProcess:exec#Process#execute */
+(nitmethod_t)VIRTUAL_exec__Process__data, /* pointer to exec:IProcess:exec#Process#data */
+(nitmethod_t)VIRTUAL_exec__Process__data_61d, /* pointer to exec:IProcess:exec#Process#data= */
+(nitmethod_t)VIRTUAL_exec__Process__basic_exec_execute, /* pointer to exec:IProcess:exec#Process#basic_exec_execute */
+(nitmethod_t)VIRTUAL_exec__IProcess__stream_in, /* pointer to exec:IProcess:exec#IProcess#stream_in */
+(nitmethod_t)VIRTUAL_exec__IProcess__stream_in_61d, /* pointer to exec:IProcess:exec#IProcess#stream_in= */
+(nitmethod_t)VIRTUAL_exec__IProcess__init, /* pointer to exec:IProcess:exec#IProcess#init */
+(nitmethod_t)VIRTUAL_exec__IProcess__init_, /* pointer to exec:IProcess:exec#IProcess#init_ */
+(nitmethod_t)VIRTUAL_exec__IProcess__from_a, /* pointer to exec:IProcess:exec#IProcess#from_a */
 }
+};
 /* allocate IProcess */
-void CHECK_NEW_exec__IProcess(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "IProcess is DEAD");
-exit(1);
+val* NEW_exec__IProcess(const struct type* type) {
+val* self /* : IProcess */;
+self = nit_alloc(sizeof(struct instance) + 2*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_exec__IProcess;
+return self;
 }
 /* runtime class exec__OProcess */
 /* allocate OProcess */
 val* NEW_exec__OProcess(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "OProcess is DEAD");
-exit(1);
-}
-/* allocate OProcess */
-void CHECK_NEW_exec__OProcess(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "OProcess is DEAD");
-exit(1);
+fprintf(stderr, "Runtime error: %s", "OProcess is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
 /* runtime class exec__IOProcess */
 /* allocate IOProcess */
 val* NEW_exec__IOProcess(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "IOProcess is DEAD");
-exit(1);
-}
-/* allocate IOProcess */
-void CHECK_NEW_exec__IOProcess(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "IOProcess is DEAD");
-exit(1);
+fprintf(stderr, "Runtime error: %s", "IOProcess is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
 /* runtime class exec__NativeProcess */
 const struct class class_exec__NativeProcess = {
@@ -5129,6 +4421,7 @@ const struct class class_exec__NativeProcess = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to exec:NativeProcess:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to exec:NativeProcess:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to exec:NativeProcess:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to exec:NativeProcess:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to exec:NativeProcess:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to exec:NativeProcess:kernel#Object#output */
@@ -5136,16 +4429,17 @@ const struct class class_exec__NativeProcess = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to exec:NativeProcess:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to exec:NativeProcess:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to exec:NativeProcess:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to exec:NativeProcess:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to exec:NativeProcess:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to exec:NativeProcess:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to exec:NativeProcess:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to exec:NativeProcess:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to exec:NativeProcess:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to exec:NativeProcess:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to exec:NativeProcess:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to exec:NativeProcess:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to exec:NativeProcess:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to exec:NativeProcess:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to exec:NativeProcess:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to exec:NativeProcess:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to exec:NativeProcess:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to exec:NativeProcess:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to exec:NativeProcess:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to exec:NativeProcess:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to exec:NativeProcess:time#Object#get_time */
@@ -5168,6 +4462,14 @@ const struct class class_exec__NativeProcess = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to exec:NativeProcess:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to exec:NativeProcess:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to exec:NativeProcess:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to exec:NativeProcess:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to exec:NativeProcess:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to exec:NativeProcess:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to exec:NativeProcess:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to exec:NativeProcess:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to exec:NativeProcess:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to exec:NativeProcess:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to exec:NativeProcess:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_kernel__Pointer__address_is_null, /* pointer to exec:NativeProcess:kernel#Pointer#address_is_null */
 (nitmethod_t)VIRTUAL_exec__NativeProcess__id, /* pointer to exec:NativeProcess:exec#NativeProcess#id */
 (nitmethod_t)VIRTUAL_exec__NativeProcess__is_finished, /* pointer to exec:NativeProcess:exec#NativeProcess#is_finished */
@@ -5178,12 +4480,21 @@ const struct class class_exec__NativeProcess = {
 (nitmethod_t)VIRTUAL_exec__NativeProcess__err_fd, /* pointer to exec:NativeProcess:exec#NativeProcess#err_fd */
 }
 };
+/* allocate NativeProcess */
+val* BOX_exec__NativeProcess(void* value) {
+struct instance_kernel__Pointer*res = nit_alloc(sizeof(struct instance_kernel__Pointer));
+res->type = &type_exec__NativeProcess;
+res->class = &class_exec__NativeProcess;
+res->value = value;
+return (val*)res;
+}
 /* runtime class model__MClassDefSorter */
 const struct class class_model__MClassDefSorter = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MClassDefSorter:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MClassDefSorter:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MClassDefSorter:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MClassDefSorter:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MClassDefSorter:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MClassDefSorter:kernel#Object#output */
@@ -5191,16 +4502,17 @@ const struct class class_model__MClassDefSorter = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MClassDefSorter:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MClassDefSorter:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MClassDefSorter:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassDefSorter:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassDefSorter:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassDefSorter:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassDefSorter:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to model:MClassDefSorter:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MClassDefSorter:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MClassDefSorter:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MClassDefSorter:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MClassDefSorter:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MClassDefSorter:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassDefSorter:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassDefSorter:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassDefSorter:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassDefSorter:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MClassDefSorter:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MClassDefSorter:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MClassDefSorter:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MClassDefSorter:time#Object#get_time */
@@ -5223,8 +4535,14 @@ const struct class class_model__MClassDefSorter = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MClassDefSorter:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MClassDefSorter:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MClassDefSorter:model#Object#extern_kind */
-NULL, /* empty */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MClassDefSorter:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MClassDefSorter:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MClassDefSorter:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MClassDefSorter:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MClassDefSorter:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MClassDefSorter:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MClassDefSorter:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MClassDefSorter:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -5271,21 +4589,13 @@ self->type = type;
 self->class = &class_model__MClassDefSorter;
 return self;
 }
-/* allocate MClassDefSorter */
-void CHECK_NEW_model__MClassDefSorter(val* self) {
-val* var /* : MModule */;
-var = self->attrs[COLOR_model__MClassDefSorter___64dmmodule].val; /* @mmodule on <self:MClassDefSorter> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/model/model.nit", 255);
-exit(1);
-}
-}
 /* runtime class model__MPropDefSorter */
 const struct class class_model__MPropDefSorter = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MPropDefSorter:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MPropDefSorter:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MPropDefSorter:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MPropDefSorter:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MPropDefSorter:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MPropDefSorter:kernel#Object#output */
@@ -5293,16 +4603,17 @@ const struct class class_model__MPropDefSorter = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MPropDefSorter:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MPropDefSorter:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MPropDefSorter:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MPropDefSorter:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MPropDefSorter:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MPropDefSorter:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MPropDefSorter:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to model:MPropDefSorter:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MPropDefSorter:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MPropDefSorter:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MPropDefSorter:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MPropDefSorter:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MPropDefSorter:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MPropDefSorter:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MPropDefSorter:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MPropDefSorter:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MPropDefSorter:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MPropDefSorter:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MPropDefSorter:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MPropDefSorter:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MPropDefSorter:time#Object#get_time */
@@ -5325,8 +4636,14 @@ const struct class class_model__MPropDefSorter = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MPropDefSorter:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MPropDefSorter:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MPropDefSorter:model#Object#extern_kind */
-NULL, /* empty */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MPropDefSorter:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MPropDefSorter:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MPropDefSorter:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MPropDefSorter:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MPropDefSorter:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MPropDefSorter:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MPropDefSorter:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MPropDefSorter:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -5373,21 +4690,13 @@ self->type = type;
 self->class = &class_model__MPropDefSorter;
 return self;
 }
-/* allocate MPropDefSorter */
-void CHECK_NEW_model__MPropDefSorter(val* self) {
-val* var /* : MModule */;
-var = self->attrs[COLOR_model__MPropDefSorter___64dmmodule].val; /* @mmodule on <self:MPropDefSorter> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/model/model.nit", 267);
-exit(1);
-}
-}
 /* runtime class model__MClass */
 const struct class class_model__MClass = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MClass:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MClass:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MClass:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MClass:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MClass:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MClass:kernel#Object#output */
@@ -5395,16 +4704,17 @@ const struct class class_model__MClass = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MClass:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MClass:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MClass:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClass:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClass:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClass:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClass:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MClass__to_s, /* pointer to model:MClass:model#MClass#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MClass:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MClass:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MClass:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MClass:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MClass:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClass:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClass:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClass:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClass:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MClass:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MClass:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MClass:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MClass:time#Object#get_time */
@@ -5427,6 +4737,14 @@ const struct class class_model__MClass = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MClass:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MClass:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MClass:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MClass:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MClass:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MClass:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MClass:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MClass:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MClass:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MClass:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MClass:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MClass__intro_mmodule, /* pointer to model:MClass:model#MClass#intro_mmodule */
 (nitmethod_t)VIRTUAL_model__MClass__intro_mmodule_61d, /* pointer to model:MClass:model#MClass#intro_mmodule= */
 (nitmethod_t)VIRTUAL_model__MClass__name, /* pointer to model:MClass:model#MClass#name */
@@ -5448,11 +4766,19 @@ const struct class class_model__MClass = {
 (nitmethod_t)VIRTUAL_model__MClass__get_mtype, /* pointer to model:MClass:model#MClass#get_mtype */
 (nitmethod_t)VIRTUAL_model__MClass__get_mtype_cache, /* pointer to model:MClass:model#MClass#get_mtype_cache */
 (nitmethod_t)VIRTUAL_model__MClass__get_mtype_cache_61d, /* pointer to model:MClass:model#MClass#get_mtype_cache= */
+(nitmethod_t)VIRTUAL_extern_classes__MClass__ctype, /* pointer to model:MClass:extern_classes#MClass#ctype */
 (nitmethod_t)VIRTUAL_modelize_property__MClass__inherit_init_from, /* pointer to model:MClass:modelize_property#MClass#inherit_init_from */
 (nitmethod_t)VIRTUAL_modelize_property__MClass__inherit_init_from_61d, /* pointer to model:MClass:modelize_property#MClass#inherit_init_from= */
+(nitmethod_t)VIRTUAL_extern_classes__MClass__ftype_cache, /* pointer to model:MClass:extern_classes#MClass#ftype_cache */
+(nitmethod_t)VIRTUAL_extern_classes__MClass__ftype_cache_61d, /* pointer to model:MClass:extern_classes#MClass#ftype_cache= */
+(nitmethod_t)VIRTUAL_extern_classes__MClass__ftype_computed, /* pointer to model:MClass:extern_classes#MClass#ftype_computed */
+(nitmethod_t)VIRTUAL_extern_classes__MClass__ftype_computed_61d, /* pointer to model:MClass:extern_classes#MClass#ftype_computed= */
+(nitmethod_t)VIRTUAL_extern_classes__MClass__ftype, /* pointer to model:MClass:extern_classes#MClass#ftype */
+(nitmethod_t)VIRTUAL_extern_classes__MClass__compute_ftype, /* pointer to model:MClass:extern_classes#MClass#compute_ftype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClass__c_name, /* pointer to model:MClass:abstract_compiler#MClass#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClass__c_name_cache, /* pointer to model:MClass:abstract_compiler#MClass#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClass__c_name_cache_61d, /* pointer to model:MClass:abstract_compiler#MClass#c_name_cache= */
+(nitmethod_t)VIRTUAL_separate_compiler__MClass__c_instance_name, /* pointer to model:MClass:separate_compiler#MClass#c_instance_name */
 }
 };
 /* allocate MClass */
@@ -5461,64 +4787,32 @@ val* self /* : MClass */;
 val* var /* : Array[MClassDef] */;
 val* var1 /* : Array[MGenericType] */;
 val* var2 /* : null */;
-self = nit_alloc(sizeof(struct instance) + 10*sizeof(nitattribute_t));
+val* var3 /* : null */;
+short int var4 /* : Bool */;
+self = nit_alloc(sizeof(struct instance) + 12*sizeof(nitattribute_t));
 self->type = type;
 self->class = &class_model__MClass;
 var = NEW_array__Array(&type_array__Arraymodel__MClassDef);
 ((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MClassDef]>*/;
-CHECK_NEW_array__Array(var);
 self->attrs[COLOR_model__MClass___64dmclassdefs].val = var; /* @mclassdefs on <self:MClass exact> */
 var1 = NEW_array__Array(&type_array__Arraymodel__MGenericType);
 ((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on <var1:Array[MGenericType]>*/;
-CHECK_NEW_array__Array(var1);
 self->attrs[COLOR_model__MClass___64dget_mtype_cache].val = var1; /* @get_mtype_cache on <self:MClass exact> */
 var2 = NULL;
 self->attrs[COLOR_modelize_property__MClass___64dinherit_init_from].val = var2; /* @inherit_init_from on <self:MClass exact> */
+var3 = NULL;
+self->attrs[COLOR_extern_classes__MClass___64dftype_cache].val = var3; /* @ftype_cache on <self:MClass exact> */
+var4 = 0;
+self->attrs[COLOR_extern_classes__MClass___64dftype_computed].s = var4; /* @ftype_computed on <self:MClass exact> */
 return self;
 }
-/* allocate MClass */
-void CHECK_NEW_model__MClass(val* self) {
-val* var /* : MModule */;
-val* var1 /* : String */;
-long var2 /* : Int */;
-val* var3 /* : MClassKind */;
-val* var4 /* : MVisibility */;
-val* var5 /* : MClassType */;
-val* var6 /* : nullable String */;
-var = self->attrs[COLOR_model__MClass___64dintro_mmodule].val; /* @intro_mmodule on <self:MClass> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @intro_mmodule", "src/model/model.nit", 290);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MClass___64dname].val; /* @name on <self:MClass> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/model/model.nit", 295);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MClass___64darity].l; /* @arity on <self:MClass> */
-var3 = self->attrs[COLOR_model__MClass___64dkind].val; /* @kind on <self:MClass> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @kind", "src/model/model.nit", 310);
-exit(1);
-}
-var4 = self->attrs[COLOR_model__MClass___64dvisibility].val; /* @visibility on <self:MClass> */
-if (var4 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @visibility", "src/model/model.nit", 314);
-exit(1);
-}
-var5 = self->attrs[COLOR_model__MClass___64dmclass_type].val; /* @mclass_type on <self:MClass> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclass_type", "src/model/model.nit", 370);
-exit(1);
-}
-var6 = self->attrs[COLOR_abstract_compiler__MClass___64dc_name_cache].val; /* @c_name_cache on <self:MClass> */
-}
 /* runtime class model__MClassDef */
 const struct class class_model__MClassDef = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MClassDef:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MClassDef:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MClassDef:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MClassDef:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MClassDef:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MClassDef:kernel#Object#output */
@@ -5526,16 +4820,17 @@ const struct class class_model__MClassDef = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MClassDef:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MClassDef:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MClassDef:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassDef:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassDef:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassDef:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassDef:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MClassDef__to_s, /* pointer to model:MClassDef:model#MClassDef#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MClassDef:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MClassDef:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MClassDef:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MClassDef:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MClassDef:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassDef:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassDef:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassDef:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassDef:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MClassDef:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MClassDef:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MClassDef:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MClassDef:time#Object#get_time */
@@ -5558,6 +4853,14 @@ const struct class class_model__MClassDef = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MClassDef:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MClassDef:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MClassDef:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MClassDef:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MClassDef:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MClassDef:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MClassDef:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MClassDef:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MClassDef:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MClassDef:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MClassDef:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MClassDef__mmodule, /* pointer to model:MClassDef:model#MClassDef#mmodule */
 (nitmethod_t)VIRTUAL_model__MClassDef__mmodule_61d, /* pointer to model:MClassDef:model#MClassDef#mmodule= */
 (nitmethod_t)VIRTUAL_model__MClassDef__mclass, /* pointer to model:MClassDef:model#MClassDef#mclass */
@@ -5581,6 +4884,8 @@ const struct class class_model__MClassDef = {
 (nitmethod_t)VIRTUAL_model__MClassDef__intro_mproperties_61d, /* pointer to model:MClassDef:model#MClassDef#intro_mproperties= */
 (nitmethod_t)VIRTUAL_model__MClassDef__mpropdefs, /* pointer to model:MClassDef:model#MClassDef#mpropdefs */
 (nitmethod_t)VIRTUAL_model__MClassDef__mpropdefs_61d, /* pointer to model:MClassDef:model#MClassDef#mpropdefs= */
+(nitmethod_t)VIRTUAL_modelize_property__MClassDef__propdef_names, /* pointer to model:MClassDef:modelize_property#MClassDef#propdef_names */
+(nitmethod_t)VIRTUAL_modelize_property__MClassDef__propdef_names_61d, /* pointer to model:MClassDef:modelize_property#MClassDef#propdef_names= */
 }
 };
 /* allocate MClassDef */
@@ -5590,70 +4895,33 @@ val* var /* : Array[MClassType] */;
 val* var1 /* : null */;
 val* var2 /* : Array[MProperty] */;
 val* var3 /* : Array[MPropDef] */;
-self = nit_alloc(sizeof(struct instance) + 10*sizeof(nitattribute_t));
+val* var4 /* : HashSet[String] */;
+self = nit_alloc(sizeof(struct instance) + 11*sizeof(nitattribute_t));
 self->type = type;
 self->class = &class_model__MClassDef;
 var = NEW_array__Array(&type_array__Arraymodel__MClassType);
 ((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MClassType]>*/;
-CHECK_NEW_array__Array(var);
 self->attrs[COLOR_model__MClassDef___64dsupertypes].val = var; /* @supertypes on <self:MClassDef exact> */
 var1 = NULL;
 self->attrs[COLOR_model__MClassDef___64din_hierarchy].val = var1; /* @in_hierarchy on <self:MClassDef exact> */
 var2 = NEW_array__Array(&type_array__Arraymodel__MProperty);
 ((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on <var2:Array[MProperty]>*/;
-CHECK_NEW_array__Array(var2);
 self->attrs[COLOR_model__MClassDef___64dintro_mproperties].val = var2; /* @intro_mproperties on <self:MClassDef exact> */
 var3 = NEW_array__Array(&type_array__Arraymodel__MPropDef);
 ((void (*)(val*))(var3->class->vft[COLOR_array__Array__init]))(var3) /* init on <var3:Array[MPropDef]>*/;
-CHECK_NEW_array__Array(var3);
 self->attrs[COLOR_model__MClassDef___64dmpropdefs].val = var3; /* @mpropdefs on <self:MClassDef exact> */
+var4 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetstring__String);
+((void (*)(val*))(var4->class->vft[COLOR_hash_collection__HashSet__init]))(var4) /* init on <var4:HashSet[String]>*/;
+self->attrs[COLOR_modelize_property__MClassDef___64dpropdef_names].val = var4; /* @propdef_names on <self:MClassDef exact> */
 return self;
 }
-/* allocate MClassDef */
-void CHECK_NEW_model__MClassDef(val* self) {
-val* var /* : MModule */;
-val* var1 /* : MClass */;
-val* var2 /* : MClassType */;
-val* var3 /* : Array[String] */;
-val* var4 /* : Location */;
-val* var5 /* : String */;
-var = self->attrs[COLOR_model__MClassDef___64dmmodule].val; /* @mmodule on <self:MClassDef> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/model/model.nit", 415);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MClassDef___64dmclass].val; /* @mclass on <self:MClassDef> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclass", "src/model/model.nit", 418);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MClassDef___64dbound_mtype].val; /* @bound_mtype on <self:MClassDef> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @bound_mtype", "src/model/model.nit", 421);
-exit(1);
-}
-var3 = self->attrs[COLOR_model__MClassDef___64dparameter_names].val; /* @parameter_names on <self:MClassDef> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @parameter_names", "src/model/model.nit", 433);
-exit(1);
-}
-var4 = self->attrs[COLOR_model__MClassDef___64dlocation].val; /* @location on <self:MClassDef> */
-if (var4 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @location", "src/model/model.nit", 436);
-exit(1);
-}
-var5 = self->attrs[COLOR_model__MClassDef___64dto_s].val; /* @to_s on <self:MClassDef> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model.nit", 439);
-exit(1);
-}
-}
 /* runtime class model__MClassType */
 const struct class class_model__MClassType = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MClassType:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MClassType:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MClassType:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MClassType:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MClassType:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MClassType:kernel#Object#output */
@@ -5661,16 +4929,17 @@ const struct class class_model__MClassType = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MClassType:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MClassType:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MClassType:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassType:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassType:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassType:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassType:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MClassType__to_s, /* pointer to model:MClassType:model#MClassType#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MClassType:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MClassType:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MClassType:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MClassType:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MClassType:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassType:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassType:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassType:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassType:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MClassType:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MClassType:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MClassType:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MClassType:time#Object#get_time */
@@ -5693,6 +4962,16 @@ const struct class class_model__MClassType = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MClassType:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MClassType:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MClassType:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MClassType:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MClassType:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MClassType:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MClassType:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MClassType:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MClassType:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MClassType:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MClassType:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_c__NitniCallback__compile_callback_to_c, /* pointer to model:MClassType:c#NitniCallback#compile_callback_to_c */
+(nitmethod_t)VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp, /* pointer to model:MClassType:cpp#NitniCallback#compile_callback_to_cpp */
 (nitmethod_t)VIRTUAL_model__MClassType__model, /* pointer to model:MClassType:model#MClassType#model */
 (nitmethod_t)VIRTUAL_model__MType__is_subtype, /* pointer to model:MClassType:model#MType#is_subtype */
 (nitmethod_t)VIRTUAL_model__MClassType__anchor_to, /* pointer to model:MClassType:model#MClassType#anchor_to */
@@ -5710,12 +4989,19 @@ const struct class class_model__MClassType = {
 (nitmethod_t)VIRTUAL_model__MClassType__collect_mtypes, /* pointer to model:MClassType:model#MClassType#collect_mtypes */
 (nitmethod_t)VIRTUAL_model__MType__has_mproperty, /* pointer to model:MClassType:model#MType#has_mproperty */
 (nitmethod_t)VIRTUAL_model__MType__init, /* pointer to model:MClassType:model#MType#init */
+(nitmethod_t)VIRTUAL_nitni_base__MClassType__cname, /* pointer to model:MClassType:nitni_base#MClassType#cname */
+(nitmethod_t)VIRTUAL_nitni_base__MClassType__cname_blind, /* pointer to model:MClassType:nitni_base#MClassType#cname_blind */
+(nitmethod_t)VIRTUAL_nitni_base__MClassType__mangled_cname, /* pointer to model:MClassType:nitni_base#MClassType#mangled_cname */
+(nitmethod_t)VIRTUAL_nitni_base__MClassType__is_cprimitive, /* pointer to model:MClassType:nitni_base#MClassType#is_cprimitive */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClassType__ctype, /* pointer to model:MClassType:abstract_compiler#MClassType#ctype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClassType__ctypename, /* pointer to model:MClassType:abstract_compiler#MClassType#ctypename */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClassType__c_name, /* pointer to model:MClassType:abstract_compiler#MClassType#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache, /* pointer to model:MClassType:abstract_compiler#MType#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache_61d, /* pointer to model:MClassType:abstract_compiler#MType#c_name_cache= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_type, /* pointer to model:MClassType:compiler_ffi#MType#compile_extern_type */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_helper_functions, /* pointer to model:MClassType:compiler_ffi#MType#compile_extern_helper_functions */
 (nitmethod_t)VIRTUAL_separate_compiler__MType__const_color, /* pointer to model:MClassType:separate_compiler#MType#const_color */
+(nitmethod_t)VIRTUAL_separate_compiler__MClassType__c_instance_name, /* pointer to model:MClassType:separate_compiler#MClassType#c_instance_name */
 (nitmethod_t)VIRTUAL_model__MClassType__mclass, /* pointer to model:MClassType:model#MClassType#mclass */
 (nitmethod_t)VIRTUAL_model__MClassType__mclass_61d, /* pointer to model:MClassType:model#MClassType#mclass= */
 (nitmethod_t)VIRTUAL_model__MClassType__init, /* pointer to model:MClassType:model#MClassType#init */
@@ -5746,39 +5032,25 @@ var = NULL;
 self->attrs[COLOR_model__MType___64das_nullable_cache].val = var; /* @as_nullable_cache on <self:MClassType exact> */
 var1 = NEW_array__Array(&type_array__Arraymodel__MType);
 ((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on <var1:Array[MType]>*/;
-CHECK_NEW_array__Array(var1);
 self->attrs[COLOR_model__MClassType___64darguments].val = var1; /* @arguments on <self:MClassType exact> */
-var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassDef);
+var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassDef);
 ((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashMap__init]))(var2) /* init on <var2:HashMap[MModule, Set[MClassDef]]>*/;
-CHECK_NEW_hash_collection__HashMap(var2);
 self->attrs[COLOR_model__MClassType___64dcollect_mclassdefs_cache].val = var2; /* @collect_mclassdefs_cache on <self:MClassType exact> */
-var3 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClass);
+var3 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClass);
 ((void (*)(val*))(var3->class->vft[COLOR_hash_collection__HashMap__init]))(var3) /* init on <var3:HashMap[MModule, Set[MClass]]>*/;
-CHECK_NEW_hash_collection__HashMap(var3);
 self->attrs[COLOR_model__MClassType___64dcollect_mclasses_cache].val = var3; /* @collect_mclasses_cache on <self:MClassType exact> */
-var4 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassType);
+var4 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassType);
 ((void (*)(val*))(var4->class->vft[COLOR_hash_collection__HashMap__init]))(var4) /* init on <var4:HashMap[MModule, Set[MClassType]]>*/;
-CHECK_NEW_hash_collection__HashMap(var4);
 self->attrs[COLOR_model__MClassType___64dcollect_mtypes_cache].val = var4; /* @collect_mtypes_cache on <self:MClassType exact> */
 return self;
 }
-/* allocate MClassType */
-void CHECK_NEW_model__MClassType(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : MClass */;
-var = self->attrs[COLOR_abstract_compiler__MType___64dc_name_cache].val; /* @c_name_cache on <self:MClassType> */
-var1 = self->attrs[COLOR_model__MClassType___64dmclass].val; /* @mclass on <self:MClassType> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclass", "src/model/model.nit", 900);
-exit(1);
-}
-}
 /* runtime class model__MGenericType */
 const struct class class_model__MGenericType = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MGenericType:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MGenericType:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MGenericType:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MGenericType:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MGenericType:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MGenericType:kernel#Object#output */
@@ -5786,16 +5058,17 @@ const struct class class_model__MGenericType = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MGenericType:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MGenericType:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MGenericType:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MGenericType:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MGenericType:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MGenericType:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MGenericType:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MGenericType__to_s, /* pointer to model:MGenericType:model#MGenericType#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MGenericType:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MGenericType:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MGenericType:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MGenericType:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MGenericType:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MGenericType:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MGenericType:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MGenericType:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MGenericType:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MGenericType:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MGenericType:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MGenericType:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MGenericType:time#Object#get_time */
@@ -5818,6 +5091,16 @@ const struct class class_model__MGenericType = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MGenericType:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MGenericType:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MGenericType:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MGenericType:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MGenericType:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MGenericType:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MGenericType:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MGenericType:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MGenericType:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MGenericType:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MGenericType:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_c__NitniCallback__compile_callback_to_c, /* pointer to model:MGenericType:c#NitniCallback#compile_callback_to_c */
+(nitmethod_t)VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp, /* pointer to model:MGenericType:cpp#NitniCallback#compile_callback_to_cpp */
 (nitmethod_t)VIRTUAL_model__MClassType__model, /* pointer to model:MGenericType:model#MClassType#model */
 (nitmethod_t)VIRTUAL_model__MType__is_subtype, /* pointer to model:MGenericType:model#MType#is_subtype */
 (nitmethod_t)VIRTUAL_model__MClassType__anchor_to, /* pointer to model:MGenericType:model#MClassType#anchor_to */
@@ -5835,12 +5118,19 @@ const struct class class_model__MGenericType = {
 (nitmethod_t)VIRTUAL_model__MClassType__collect_mtypes, /* pointer to model:MGenericType:model#MClassType#collect_mtypes */
 (nitmethod_t)VIRTUAL_model__MType__has_mproperty, /* pointer to model:MGenericType:model#MType#has_mproperty */
 (nitmethod_t)VIRTUAL_model__MType__init, /* pointer to model:MGenericType:model#MType#init */
+(nitmethod_t)VIRTUAL_nitni_base__MGenericType__cname, /* pointer to model:MGenericType:nitni_base#MGenericType#cname */
+(nitmethod_t)VIRTUAL_nitni_base__MClassType__cname_blind, /* pointer to model:MGenericType:nitni_base#MClassType#cname_blind */
+(nitmethod_t)VIRTUAL_nitni_base__MGenericType__mangled_cname, /* pointer to model:MGenericType:nitni_base#MGenericType#mangled_cname */
+(nitmethod_t)VIRTUAL_nitni_base__MClassType__is_cprimitive, /* pointer to model:MGenericType:nitni_base#MClassType#is_cprimitive */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClassType__ctype, /* pointer to model:MGenericType:abstract_compiler#MClassType#ctype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClassType__ctypename, /* pointer to model:MGenericType:abstract_compiler#MClassType#ctypename */
 (nitmethod_t)VIRTUAL_abstract_compiler__MGenericType__c_name, /* pointer to model:MGenericType:abstract_compiler#MGenericType#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache, /* pointer to model:MGenericType:abstract_compiler#MType#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache_61d, /* pointer to model:MGenericType:abstract_compiler#MType#c_name_cache= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_type, /* pointer to model:MGenericType:compiler_ffi#MType#compile_extern_type */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_helper_functions, /* pointer to model:MGenericType:compiler_ffi#MType#compile_extern_helper_functions */
 (nitmethod_t)VIRTUAL_separate_compiler__MType__const_color, /* pointer to model:MGenericType:separate_compiler#MType#const_color */
+(nitmethod_t)VIRTUAL_separate_compiler__MClassType__c_instance_name, /* pointer to model:MGenericType:separate_compiler#MClassType#c_instance_name */
 (nitmethod_t)VIRTUAL_model__MClassType__mclass, /* pointer to model:MGenericType:model#MClassType#mclass */
 (nitmethod_t)VIRTUAL_model__MClassType__mclass_61d, /* pointer to model:MGenericType:model#MClassType#mclass= */
 (nitmethod_t)VIRTUAL_model__MClassType__init, /* pointer to model:MGenericType:model#MClassType#init */
@@ -5858,6 +5148,7 @@ const struct class class_model__MGenericType = {
 (nitmethod_t)VIRTUAL_model__MGenericType__to_s_61d, /* pointer to model:MGenericType:model#MGenericType#to_s= */
 (nitmethod_t)VIRTUAL_model__MGenericType__need_anchor_61d, /* pointer to model:MGenericType:model#MGenericType#need_anchor= */
 (nitmethod_t)VIRTUAL_abstract_compiler__MClassType__c_name, /* pointer to model:MGenericType:abstract_compiler#MClassType#c_name */
+(nitmethod_t)VIRTUAL_nitni_base__MClassType__mangled_cname, /* pointer to model:MGenericType:nitni_base#MClassType#mangled_cname */
 }
 };
 /* allocate MGenericType */
@@ -5875,47 +5166,25 @@ var = NULL;
 self->attrs[COLOR_model__MType___64das_nullable_cache].val = var; /* @as_nullable_cache on <self:MGenericType exact> */
 var1 = NEW_array__Array(&type_array__Arraymodel__MType);
 ((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on <var1:Array[MType]>*/;
-CHECK_NEW_array__Array(var1);
 self->attrs[COLOR_model__MClassType___64darguments].val = var1; /* @arguments on <self:MGenericType exact> */
-var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassDef);
+var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassDef);
 ((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashMap__init]))(var2) /* init on <var2:HashMap[MModule, Set[MClassDef]]>*/;
-CHECK_NEW_hash_collection__HashMap(var2);
 self->attrs[COLOR_model__MClassType___64dcollect_mclassdefs_cache].val = var2; /* @collect_mclassdefs_cache on <self:MGenericType exact> */
-var3 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClass);
+var3 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClass);
 ((void (*)(val*))(var3->class->vft[COLOR_hash_collection__HashMap__init]))(var3) /* init on <var3:HashMap[MModule, Set[MClass]]>*/;
-CHECK_NEW_hash_collection__HashMap(var3);
 self->attrs[COLOR_model__MClassType___64dcollect_mclasses_cache].val = var3; /* @collect_mclasses_cache on <self:MGenericType exact> */
-var4 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassType);
+var4 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassType);
 ((void (*)(val*))(var4->class->vft[COLOR_hash_collection__HashMap__init]))(var4) /* init on <var4:HashMap[MModule, Set[MClassType]]>*/;
-CHECK_NEW_hash_collection__HashMap(var4);
 self->attrs[COLOR_model__MClassType___64dcollect_mtypes_cache].val = var4; /* @collect_mtypes_cache on <self:MGenericType exact> */
 return self;
 }
-/* allocate MGenericType */
-void CHECK_NEW_model__MGenericType(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : MClass */;
-val* var2 /* : String */;
-short int var3 /* : Bool */;
-var = self->attrs[COLOR_abstract_compiler__MType___64dc_name_cache].val; /* @c_name_cache on <self:MGenericType> */
-var1 = self->attrs[COLOR_model__MClassType___64dmclass].val; /* @mclass on <self:MGenericType> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclass", "src/model/model.nit", 900);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MGenericType___64dto_s].val; /* @to_s on <self:MGenericType> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model.nit", 1015);
-exit(1);
-}
-var3 = self->attrs[COLOR_model__MGenericType___64dneed_anchor].s; /* @need_anchor on <self:MGenericType> */
-}
 /* runtime class model__MVirtualType */
 const struct class class_model__MVirtualType = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MVirtualType:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MVirtualType:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MVirtualType:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MVirtualType:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MVirtualType:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MVirtualType:kernel#Object#output */
@@ -5923,16 +5192,17 @@ const struct class class_model__MVirtualType = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MVirtualType:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MVirtualType:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MVirtualType:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MVirtualType:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MVirtualType:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MVirtualType:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MVirtualType:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MVirtualType__to_s, /* pointer to model:MVirtualType:model#MVirtualType#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MVirtualType:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MVirtualType:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MVirtualType:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MVirtualType:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MVirtualType:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MVirtualType:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MVirtualType:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MVirtualType:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MVirtualType:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MVirtualType:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MVirtualType:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MVirtualType:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MVirtualType:time#Object#get_time */
@@ -5955,6 +5225,16 @@ const struct class class_model__MVirtualType = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MVirtualType:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MVirtualType:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MVirtualType:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MVirtualType:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MVirtualType:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MVirtualType:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MVirtualType:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MVirtualType:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MVirtualType:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MVirtualType:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MVirtualType:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_c__NitniCallback__compile_callback_to_c, /* pointer to model:MVirtualType:c#NitniCallback#compile_callback_to_c */
+(nitmethod_t)VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp, /* pointer to model:MVirtualType:cpp#NitniCallback#compile_callback_to_cpp */
 (nitmethod_t)VIRTUAL_model__MVirtualType__model, /* pointer to model:MVirtualType:model#MVirtualType#model */
 (nitmethod_t)VIRTUAL_model__MType__is_subtype, /* pointer to model:MVirtualType:model#MType#is_subtype */
 (nitmethod_t)VIRTUAL_model__MType__anchor_to, /* pointer to model:MVirtualType:model#MType#anchor_to */
@@ -5972,12 +5252,19 @@ const struct class class_model__MVirtualType = {
 (nitmethod_t)VIRTUAL_model__MType__collect_mtypes, /* pointer to model:MVirtualType:model#MType#collect_mtypes */
 (nitmethod_t)VIRTUAL_model__MType__has_mproperty, /* pointer to model:MVirtualType:model#MType#has_mproperty */
 (nitmethod_t)VIRTUAL_model__MType__init, /* pointer to model:MVirtualType:model#MType#init */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname, /* pointer to model:MVirtualType:nitni_base#MType#cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname_blind, /* pointer to model:MVirtualType:nitni_base#MType#cname_blind */
+(nitmethod_t)VIRTUAL_nitni_base__MVirtualType__mangled_cname, /* pointer to model:MVirtualType:nitni_base#MVirtualType#mangled_cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__is_cprimitive, /* pointer to model:MVirtualType:nitni_base#MType#is_cprimitive */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctype, /* pointer to model:MVirtualType:abstract_compiler#MType#ctype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctypename, /* pointer to model:MVirtualType:abstract_compiler#MType#ctypename */
 (nitmethod_t)VIRTUAL_abstract_compiler__MVirtualType__c_name, /* pointer to model:MVirtualType:abstract_compiler#MVirtualType#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache, /* pointer to model:MVirtualType:abstract_compiler#MType#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache_61d, /* pointer to model:MVirtualType:abstract_compiler#MType#c_name_cache= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_type, /* pointer to model:MVirtualType:compiler_ffi#MType#compile_extern_type */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_helper_functions, /* pointer to model:MVirtualType:compiler_ffi#MType#compile_extern_helper_functions */
 (nitmethod_t)VIRTUAL_separate_compiler__MType__const_color, /* pointer to model:MVirtualType:separate_compiler#MType#const_color */
+(nitmethod_t)VIRTUAL_separate_compiler__MType__c_instance_name, /* pointer to model:MVirtualType:separate_compiler#MType#c_instance_name */
 (nitmethod_t)VIRTUAL_model__MVirtualType__mproperty, /* pointer to model:MVirtualType:model#MVirtualType#mproperty */
 (nitmethod_t)VIRTUAL_model__MVirtualType__mproperty_61d, /* pointer to model:MVirtualType:model#MVirtualType#mproperty= */
 (nitmethod_t)VIRTUAL_model__MVirtualType__lookup_bound, /* pointer to model:MVirtualType:model#MVirtualType#lookup_bound */
@@ -5995,23 +5282,13 @@ var = NULL;
 self->attrs[COLOR_model__MType___64das_nullable_cache].val = var; /* @as_nullable_cache on <self:MVirtualType exact> */
 return self;
 }
-/* allocate MVirtualType */
-void CHECK_NEW_model__MVirtualType(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : MProperty */;
-var = self->attrs[COLOR_abstract_compiler__MType___64dc_name_cache].val; /* @c_name_cache on <self:MVirtualType> */
-var1 = self->attrs[COLOR_model__MVirtualType___64dmproperty].val; /* @mproperty on <self:MVirtualType> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mproperty", "src/model/model.nit", 1066);
-exit(1);
-}
-}
 /* runtime class model__MParameterType */
 const struct class class_model__MParameterType = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MParameterType:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MParameterType:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MParameterType:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MParameterType:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MParameterType:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MParameterType:kernel#Object#output */
@@ -6019,16 +5296,17 @@ const struct class class_model__MParameterType = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MParameterType:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MParameterType:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MParameterType:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MParameterType:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MParameterType:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MParameterType:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MParameterType:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MParameterType__to_s, /* pointer to model:MParameterType:model#MParameterType#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MParameterType:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MParameterType:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MParameterType:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MParameterType:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MParameterType:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MParameterType:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MParameterType:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MParameterType:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MParameterType:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MParameterType:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MParameterType:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MParameterType:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MParameterType:time#Object#get_time */
@@ -6051,6 +5329,16 @@ const struct class class_model__MParameterType = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MParameterType:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MParameterType:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MParameterType:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MParameterType:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MParameterType:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MParameterType:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MParameterType:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MParameterType:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MParameterType:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MParameterType:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MParameterType:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_c__NitniCallback__compile_callback_to_c, /* pointer to model:MParameterType:c#NitniCallback#compile_callback_to_c */
+(nitmethod_t)VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp, /* pointer to model:MParameterType:cpp#NitniCallback#compile_callback_to_cpp */
 (nitmethod_t)VIRTUAL_model__MParameterType__model, /* pointer to model:MParameterType:model#MParameterType#model */
 (nitmethod_t)VIRTUAL_model__MType__is_subtype, /* pointer to model:MParameterType:model#MType#is_subtype */
 (nitmethod_t)VIRTUAL_model__MType__anchor_to, /* pointer to model:MParameterType:model#MType#anchor_to */
@@ -6068,12 +5356,19 @@ const struct class class_model__MParameterType = {
 (nitmethod_t)VIRTUAL_model__MType__collect_mtypes, /* pointer to model:MParameterType:model#MType#collect_mtypes */
 (nitmethod_t)VIRTUAL_model__MType__has_mproperty, /* pointer to model:MParameterType:model#MType#has_mproperty */
 (nitmethod_t)VIRTUAL_model__MType__init, /* pointer to model:MParameterType:model#MType#init */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname, /* pointer to model:MParameterType:nitni_base#MType#cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname_blind, /* pointer to model:MParameterType:nitni_base#MType#cname_blind */
+(nitmethod_t)VIRTUAL_nitni_base__MType__mangled_cname, /* pointer to model:MParameterType:nitni_base#MType#mangled_cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__is_cprimitive, /* pointer to model:MParameterType:nitni_base#MType#is_cprimitive */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctype, /* pointer to model:MParameterType:abstract_compiler#MType#ctype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctypename, /* pointer to model:MParameterType:abstract_compiler#MType#ctypename */
 (nitmethod_t)VIRTUAL_abstract_compiler__MParameterType__c_name, /* pointer to model:MParameterType:abstract_compiler#MParameterType#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache, /* pointer to model:MParameterType:abstract_compiler#MType#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache_61d, /* pointer to model:MParameterType:abstract_compiler#MType#c_name_cache= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_type, /* pointer to model:MParameterType:compiler_ffi#MType#compile_extern_type */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_helper_functions, /* pointer to model:MParameterType:compiler_ffi#MType#compile_extern_helper_functions */
 (nitmethod_t)VIRTUAL_separate_compiler__MType__const_color, /* pointer to model:MParameterType:separate_compiler#MType#const_color */
+(nitmethod_t)VIRTUAL_separate_compiler__MType__c_instance_name, /* pointer to model:MParameterType:separate_compiler#MType#c_instance_name */
 (nitmethod_t)VIRTUAL_model__MParameterType__mclass, /* pointer to model:MParameterType:model#MParameterType#mclass */
 (nitmethod_t)VIRTUAL_model__MParameterType__mclass_61d, /* pointer to model:MParameterType:model#MParameterType#mclass= */
 (nitmethod_t)VIRTUAL_model__MParameterType__rank, /* pointer to model:MParameterType:model#MParameterType#rank */
@@ -6093,25 +5388,13 @@ var = NULL;
 self->attrs[COLOR_model__MType___64das_nullable_cache].val = var; /* @as_nullable_cache on <self:MParameterType exact> */
 return self;
 }
-/* allocate MParameterType */
-void CHECK_NEW_model__MParameterType(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : MClass */;
-long var2 /* : Int */;
-var = self->attrs[COLOR_abstract_compiler__MType___64dc_name_cache].val; /* @c_name_cache on <self:MParameterType> */
-var1 = self->attrs[COLOR_model__MParameterType___64dmclass].val; /* @mclass on <self:MParameterType> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclass", "src/model/model.nit", 1180);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MParameterType___64drank].l; /* @rank on <self:MParameterType> */
-}
 /* runtime class model__MNullableType */
 const struct class class_model__MNullableType = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MNullableType:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MNullableType:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MNullableType:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MNullableType:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MNullableType:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MNullableType:kernel#Object#output */
@@ -6119,16 +5402,17 @@ const struct class class_model__MNullableType = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MNullableType:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MNullableType:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MNullableType:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MNullableType:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MNullableType:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MNullableType:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MNullableType:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MNullableType__to_s, /* pointer to model:MNullableType:model#MNullableType#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MNullableType:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MNullableType:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MNullableType:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MNullableType:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MNullableType:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MNullableType:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MNullableType:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MNullableType:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MNullableType:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MNullableType:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MNullableType:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MNullableType:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MNullableType:time#Object#get_time */
@@ -6151,6 +5435,16 @@ const struct class class_model__MNullableType = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MNullableType:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MNullableType:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MNullableType:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MNullableType:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MNullableType:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MNullableType:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MNullableType:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MNullableType:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MNullableType:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MNullableType:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MNullableType:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_c__NitniCallback__compile_callback_to_c, /* pointer to model:MNullableType:c#NitniCallback#compile_callback_to_c */
+(nitmethod_t)VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp, /* pointer to model:MNullableType:cpp#NitniCallback#compile_callback_to_cpp */
 (nitmethod_t)VIRTUAL_model__MNullableType__model, /* pointer to model:MNullableType:model#MNullableType#model */
 (nitmethod_t)VIRTUAL_model__MType__is_subtype, /* pointer to model:MNullableType:model#MType#is_subtype */
 (nitmethod_t)VIRTUAL_model__MType__anchor_to, /* pointer to model:MNullableType:model#MType#anchor_to */
@@ -6168,16 +5462,24 @@ const struct class class_model__MNullableType = {
 (nitmethod_t)VIRTUAL_model__MNullableType__collect_mtypes, /* pointer to model:MNullableType:model#MNullableType#collect_mtypes */
 (nitmethod_t)VIRTUAL_model__MType__has_mproperty, /* pointer to model:MNullableType:model#MType#has_mproperty */
 (nitmethod_t)VIRTUAL_model__MType__init, /* pointer to model:MNullableType:model#MType#init */
+(nitmethod_t)VIRTUAL_nitni_base__MNullableType__cname, /* pointer to model:MNullableType:nitni_base#MNullableType#cname */
+(nitmethod_t)VIRTUAL_nitni_base__MNullableType__cname_blind, /* pointer to model:MNullableType:nitni_base#MNullableType#cname_blind */
+(nitmethod_t)VIRTUAL_nitni_base__MNullableType__mangled_cname, /* pointer to model:MNullableType:nitni_base#MNullableType#mangled_cname */
+(nitmethod_t)VIRTUAL_nitni_base__MNullableType__is_cprimitive, /* pointer to model:MNullableType:nitni_base#MNullableType#is_cprimitive */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctype, /* pointer to model:MNullableType:abstract_compiler#MType#ctype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctypename, /* pointer to model:MNullableType:abstract_compiler#MType#ctypename */
 (nitmethod_t)VIRTUAL_abstract_compiler__MNullableType__c_name, /* pointer to model:MNullableType:abstract_compiler#MNullableType#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache, /* pointer to model:MNullableType:abstract_compiler#MType#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache_61d, /* pointer to model:MNullableType:abstract_compiler#MType#c_name_cache= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_type, /* pointer to model:MNullableType:compiler_ffi#MType#compile_extern_type */
+(nitmethod_t)VIRTUAL_compiler_ffi__MNullableType__compile_extern_helper_functions, /* pointer to model:MNullableType:compiler_ffi#MNullableType#compile_extern_helper_functions */
 (nitmethod_t)VIRTUAL_separate_compiler__MType__const_color, /* pointer to model:MNullableType:separate_compiler#MType#const_color */
+(nitmethod_t)VIRTUAL_separate_compiler__MType__c_instance_name, /* pointer to model:MNullableType:separate_compiler#MType#c_instance_name */
 (nitmethod_t)VIRTUAL_model__MNullableType__mtype, /* pointer to model:MNullableType:model#MNullableType#mtype */
 (nitmethod_t)VIRTUAL_model__MNullableType__mtype_61d, /* pointer to model:MNullableType:model#MNullableType#mtype= */
 (nitmethod_t)VIRTUAL_model__MNullableType__init, /* pointer to model:MNullableType:model#MNullableType#init */
 (nitmethod_t)VIRTUAL_model__MNullableType__to_s_61d, /* pointer to model:MNullableType:model#MNullableType#to_s= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_helper_functions, /* pointer to model:MNullableType:compiler_ffi#MType#compile_extern_helper_functions */
 }
 };
 /* allocate MNullableType */
@@ -6191,29 +5493,13 @@ var = NULL;
 self->attrs[COLOR_model__MType___64das_nullable_cache].val = var; /* @as_nullable_cache on <self:MNullableType exact> */
 return self;
 }
-/* allocate MNullableType */
-void CHECK_NEW_model__MNullableType(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : MType */;
-val* var2 /* : String */;
-var = self->attrs[COLOR_abstract_compiler__MType___64dc_name_cache].val; /* @c_name_cache on <self:MNullableType> */
-var1 = self->attrs[COLOR_model__MNullableType___64dmtype].val; /* @mtype on <self:MNullableType> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mtype", "src/model/model.nit", 1284);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MNullableType___64dto_s].val; /* @to_s on <self:MNullableType> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model.nit", 1295);
-exit(1);
-}
-}
 /* runtime class model__MNullType */
 const struct class class_model__MNullType = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MNullType:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MNullType:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MNullType:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MNullType:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MNullType:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MNullType:kernel#Object#output */
@@ -6221,16 +5507,17 @@ const struct class class_model__MNullType = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MNullType:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MNullType:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MNullType:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MNullType:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MNullType:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MNullType:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MNullType:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MNullType__to_s, /* pointer to model:MNullType:model#MNullType#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MNullType:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MNullType:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MNullType:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MNullType:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MNullType:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MNullType:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MNullType:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MNullType:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MNullType:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MNullType:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MNullType:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MNullType:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MNullType:time#Object#get_time */
@@ -6253,6 +5540,16 @@ const struct class class_model__MNullType = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MNullType:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MNullType:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MNullType:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MNullType:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MNullType:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MNullType:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MNullType:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MNullType:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MNullType:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MNullType:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MNullType:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_c__NitniCallback__compile_callback_to_c, /* pointer to model:MNullType:c#NitniCallback#compile_callback_to_c */
+(nitmethod_t)VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp, /* pointer to model:MNullType:cpp#NitniCallback#compile_callback_to_cpp */
 (nitmethod_t)VIRTUAL_model__MNullType__model, /* pointer to model:MNullType:model#MNullType#model */
 (nitmethod_t)VIRTUAL_model__MType__is_subtype, /* pointer to model:MNullType:model#MType#is_subtype */
 (nitmethod_t)VIRTUAL_model__MType__anchor_to, /* pointer to model:MNullType:model#MType#anchor_to */
@@ -6270,12 +5567,19 @@ const struct class class_model__MNullType = {
 (nitmethod_t)VIRTUAL_model__MNullType__collect_mtypes, /* pointer to model:MNullType:model#MNullType#collect_mtypes */
 (nitmethod_t)VIRTUAL_model__MType__has_mproperty, /* pointer to model:MNullType:model#MType#has_mproperty */
 (nitmethod_t)VIRTUAL_model__MType__init, /* pointer to model:MNullType:model#MType#init */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname, /* pointer to model:MNullType:nitni_base#MType#cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname_blind, /* pointer to model:MNullType:nitni_base#MType#cname_blind */
+(nitmethod_t)VIRTUAL_nitni_base__MType__mangled_cname, /* pointer to model:MNullType:nitni_base#MType#mangled_cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__is_cprimitive, /* pointer to model:MNullType:nitni_base#MType#is_cprimitive */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctype, /* pointer to model:MNullType:abstract_compiler#MType#ctype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctypename, /* pointer to model:MNullType:abstract_compiler#MType#ctypename */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name, /* pointer to model:MNullType:abstract_compiler#MType#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache, /* pointer to model:MNullType:abstract_compiler#MType#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache_61d, /* pointer to model:MNullType:abstract_compiler#MType#c_name_cache= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_type, /* pointer to model:MNullType:compiler_ffi#MType#compile_extern_type */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_helper_functions, /* pointer to model:MNullType:compiler_ffi#MType#compile_extern_helper_functions */
 (nitmethod_t)VIRTUAL_separate_compiler__MType__const_color, /* pointer to model:MNullType:separate_compiler#MType#const_color */
+(nitmethod_t)VIRTUAL_separate_compiler__MType__c_instance_name, /* pointer to model:MNullType:separate_compiler#MType#c_instance_name */
 (nitmethod_t)VIRTUAL_model__MNullType__model_61d, /* pointer to model:MNullType:model#MNullType#model= */
 (nitmethod_t)VIRTUAL_model__MNullType__init, /* pointer to model:MNullType:model#MNullType#init */
 }
@@ -6291,23 +5595,13 @@ var = NULL;
 self->attrs[COLOR_model__MType___64das_nullable_cache].val = var; /* @as_nullable_cache on <self:MNullType exact> */
 return self;
 }
-/* allocate MNullType */
-void CHECK_NEW_model__MNullType(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : Model */;
-var = self->attrs[COLOR_abstract_compiler__MType___64dc_name_cache].val; /* @c_name_cache on <self:MNullType> */
-var1 = self->attrs[COLOR_model__MNullType___64dmodel].val; /* @model on <self:MNullType> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @model", "src/model/model.nit", 1338);
-exit(1);
-}
-}
 /* runtime class model__MSignature */
 const struct class class_model__MSignature = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MSignature:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MSignature:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MSignature:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MSignature:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MSignature:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MSignature:kernel#Object#output */
@@ -6315,16 +5609,17 @@ const struct class class_model__MSignature = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MSignature:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MSignature:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MSignature:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MSignature:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MSignature:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MSignature:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MSignature:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MSignature__to_s, /* pointer to model:MSignature:model#MSignature#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MSignature:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MSignature:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MSignature:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MSignature:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MSignature:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MSignature:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MSignature:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MSignature:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MSignature:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MSignature:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MSignature:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MSignature:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MSignature:time#Object#get_time */
@@ -6347,6 +5642,16 @@ const struct class class_model__MSignature = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MSignature:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MSignature:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MSignature:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MSignature:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MSignature:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MSignature:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MSignature:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MSignature:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MSignature:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MSignature:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MSignature:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_c__NitniCallback__compile_callback_to_c, /* pointer to model:MSignature:c#NitniCallback#compile_callback_to_c */
+(nitmethod_t)VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp, /* pointer to model:MSignature:cpp#NitniCallback#compile_callback_to_cpp */
 (nitmethod_t)VIRTUAL_model__MType__model, /* pointer to model:MSignature:model#MType#model */
 (nitmethod_t)VIRTUAL_model__MType__is_subtype, /* pointer to model:MSignature:model#MType#is_subtype */
 (nitmethod_t)VIRTUAL_model__MType__anchor_to, /* pointer to model:MSignature:model#MType#anchor_to */
@@ -6364,16 +5669,21 @@ const struct class class_model__MSignature = {
 (nitmethod_t)VIRTUAL_model__MType__collect_mtypes, /* pointer to model:MSignature:model#MType#collect_mtypes */
 (nitmethod_t)VIRTUAL_model__MType__has_mproperty, /* pointer to model:MSignature:model#MType#has_mproperty */
 (nitmethod_t)VIRTUAL_model__MType__init, /* pointer to model:MSignature:model#MType#init */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname, /* pointer to model:MSignature:nitni_base#MType#cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__cname_blind, /* pointer to model:MSignature:nitni_base#MType#cname_blind */
+(nitmethod_t)VIRTUAL_nitni_base__MType__mangled_cname, /* pointer to model:MSignature:nitni_base#MType#mangled_cname */
+(nitmethod_t)VIRTUAL_nitni_base__MType__is_cprimitive, /* pointer to model:MSignature:nitni_base#MType#is_cprimitive */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctype, /* pointer to model:MSignature:abstract_compiler#MType#ctype */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__ctypename, /* pointer to model:MSignature:abstract_compiler#MType#ctypename */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name, /* pointer to model:MSignature:abstract_compiler#MType#c_name */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache, /* pointer to model:MSignature:abstract_compiler#MType#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MType__c_name_cache_61d, /* pointer to model:MSignature:abstract_compiler#MType#c_name_cache= */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_type, /* pointer to model:MSignature:compiler_ffi#MType#compile_extern_type */
+(nitmethod_t)VIRTUAL_compiler_ffi__MType__compile_extern_helper_functions, /* pointer to model:MSignature:compiler_ffi#MType#compile_extern_helper_functions */
 (nitmethod_t)VIRTUAL_separate_compiler__MType__const_color, /* pointer to model:MSignature:separate_compiler#MType#const_color */
+(nitmethod_t)VIRTUAL_separate_compiler__MType__c_instance_name, /* pointer to model:MSignature:separate_compiler#MType#c_instance_name */
 (nitmethod_t)VIRTUAL_model__MSignature__mparameters, /* pointer to model:MSignature:model#MSignature#mparameters */
 (nitmethod_t)VIRTUAL_model__MSignature__mparameters_61d, /* pointer to model:MSignature:model#MSignature#mparameters= */
-(nitmethod_t)VIRTUAL_model__MSignature__mclosures, /* pointer to model:MSignature:model#MSignature#mclosures */
-(nitmethod_t)VIRTUAL_model__MSignature__mclosures_61d, /* pointer to model:MSignature:model#MSignature#mclosures= */
 (nitmethod_t)VIRTUAL_model__MSignature__return_mtype, /* pointer to model:MSignature:model#MSignature#return_mtype */
 (nitmethod_t)VIRTUAL_model__MSignature__return_mtype_61d, /* pointer to model:MSignature:model#MSignature#return_mtype= */
 (nitmethod_t)VIRTUAL_model__MSignature__init, /* pointer to model:MSignature:model#MSignature#init */
@@ -6386,39 +5696,20 @@ const struct class class_model__MSignature = {
 val* NEW_model__MSignature(const struct type* type) {
 val* self /* : MSignature */;
 val* var /* : null */;
-val* var1 /* : Array[MParameter] */;
-self = nit_alloc(sizeof(struct instance) + 6*sizeof(nitattribute_t));
+self = nit_alloc(sizeof(struct instance) + 5*sizeof(nitattribute_t));
 self->type = type;
 self->class = &class_model__MSignature;
 var = NULL;
 self->attrs[COLOR_model__MType___64das_nullable_cache].val = var; /* @as_nullable_cache on <self:MSignature exact> */
-var1 = NEW_array__Array(&type_array__Arraymodel__MParameter);
-((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on <var1:Array[MParameter]>*/;
-CHECK_NEW_array__Array(var1);
-self->attrs[COLOR_model__MSignature___64dmclosures].val = var1; /* @mclosures on <self:MSignature exact> */
 return self;
 }
-/* allocate MSignature */
-void CHECK_NEW_model__MSignature(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : Array[MParameter] */;
-val* var2 /* : nullable MType */;
-long var3 /* : Int */;
-var = self->attrs[COLOR_abstract_compiler__MType___64dc_name_cache].val; /* @c_name_cache on <self:MSignature> */
-var1 = self->attrs[COLOR_model__MSignature___64dmparameters].val; /* @mparameters on <self:MSignature> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mparameters", "src/model/model.nit", 1360);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MSignature___64dreturn_mtype].val; /* @return_mtype on <self:MSignature> */
-var3 = self->attrs[COLOR_model__MSignature___64dvararg_rank].l; /* @vararg_rank on <self:MSignature> */
-}
 /* runtime class model__MParameter */
 const struct class class_model__MParameter = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MParameter:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MParameter:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MParameter:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MParameter:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MParameter:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MParameter:kernel#Object#output */
@@ -6426,16 +5717,17 @@ const struct class class_model__MParameter = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MParameter:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MParameter:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MParameter:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MParameter:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MParameter:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MParameter:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MParameter:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to model:MParameter:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MParameter:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MParameter:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MParameter:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MParameter:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MParameter:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MParameter:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MParameter:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MParameter:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MParameter:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MParameter:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MParameter:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MParameter:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MParameter:time#Object#get_time */
@@ -6458,6 +5750,14 @@ const struct class class_model__MParameter = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MParameter:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MParameter:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MParameter:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MParameter:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MParameter:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MParameter:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MParameter:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MParameter:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MParameter:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MParameter:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MParameter:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MParameter__name, /* pointer to model:MParameter:model#MParameter#name */
 (nitmethod_t)VIRTUAL_model__MParameter__name_61d, /* pointer to model:MParameter:model#MParameter#name= */
 (nitmethod_t)VIRTUAL_model__MParameter__mtype, /* pointer to model:MParameter:model#MParameter#mtype */
@@ -6476,29 +5776,13 @@ self->type = type;
 self->class = &class_model__MParameter;
 return self;
 }
-/* allocate MParameter */
-void CHECK_NEW_model__MParameter(val* self) {
-val* var /* : String */;
-val* var1 /* : MType */;
-short int var2 /* : Bool */;
-var = self->attrs[COLOR_model__MParameter___64dname].val; /* @name on <self:MParameter> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/model/model.nit", 1467);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MParameter___64dmtype].val; /* @mtype on <self:MParameter> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mtype", "src/model/model.nit", 1470);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MParameter___64dis_vararg].s; /* @is_vararg on <self:MParameter> */
-}
 /* runtime class model__MMethod */
 const struct class class_model__MMethod = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MMethod:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MMethod:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MMethod:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MMethod:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MMethod:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MMethod:kernel#Object#output */
@@ -6506,16 +5790,17 @@ const struct class class_model__MMethod = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MMethod:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MMethod:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MMethod:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MMethod:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MMethod:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MMethod:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MMethod:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MProperty__to_s, /* pointer to model:MMethod:model#MProperty#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MMethod:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MMethod:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MMethod:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MMethod:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MMethod:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MMethod:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MMethod:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MMethod:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MMethod:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MMethod:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MMethod:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MMethod:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MMethod:time#Object#get_time */
@@ -6538,6 +5823,14 @@ const struct class class_model__MMethod = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MMethod:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MMethod:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MMethod:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MMethod:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MMethod:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MMethod:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MMethod:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MMethod:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MMethod:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MMethod:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MMethod:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MProperty__intro_mclassdef, /* pointer to model:MMethod:model#MProperty#intro_mclassdef */
 (nitmethod_t)VIRTUAL_model__MProperty__intro_mclassdef_61d, /* pointer to model:MMethod:model#MProperty#intro_mclassdef= */
 (nitmethod_t)VIRTUAL_model__MProperty__name, /* pointer to model:MMethod:model#MProperty#name */
@@ -6553,6 +5846,7 @@ const struct class class_model__MMethod = {
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_definitions_cache, /* pointer to model:MMethod:model#MProperty#lookup_definitions_cache */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_definitions_cache_61d, /* pointer to model:MMethod:model#MProperty#lookup_definitions_cache= */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_super_definitions, /* pointer to model:MMethod:model#MProperty#lookup_super_definitions */
+(nitmethod_t)VIRTUAL_model__MProperty__select_most_specific, /* pointer to model:MMethod:model#MProperty#select_most_specific */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_first_definition, /* pointer to model:MMethod:model#MProperty#lookup_first_definition */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_all_definitions, /* pointer to model:MMethod:model#MProperty#lookup_all_definitions */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_all_definitions_cache, /* pointer to model:MMethod:model#MProperty#lookup_all_definitions_cache */
@@ -6567,6 +5861,10 @@ const struct class class_model__MMethod = {
 (nitmethod_t)VIRTUAL_model__MMethod__is_new, /* pointer to model:MMethod:model#MMethod#is_new */
 (nitmethod_t)VIRTUAL_model__MMethod__is_new_61d, /* pointer to model:MMethod:model#MMethod#is_new= */
 (nitmethod_t)VIRTUAL_model__MMethod__is_init_for, /* pointer to model:MMethod:model#MMethod#is_init_for */
+(nitmethod_t)VIRTUAL_nitni_base__MMethod__short_cname, /* pointer to model:MMethod:nitni_base#MMethod#short_cname */
+(nitmethod_t)VIRTUAL_nitni_utilities__MMethod__build_cname, /* pointer to model:MMethod:nitni_utilities#MMethod#build_cname */
+(nitmethod_t)VIRTUAL_nitni_utilities__MMethod__build_csignature, /* pointer to model:MMethod:nitni_utilities#MMethod#build_csignature */
+(nitmethod_t)VIRTUAL_nitni_utilities__MMethod__build_ccall, /* pointer to model:MMethod:nitni_utilities#MMethod#build_ccall */
 }
 };
 /* allocate MMethod */
@@ -6582,15 +5880,12 @@ self->type = type;
 self->class = &class_model__MMethod;
 var = NEW_array__Array(self->type->resolution_table->types[COLOR_array__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MMethodDef]>*/;
-CHECK_NEW_array__Array(var);
 self->attrs[COLOR_model__MProperty___64dmpropdefs].val = var; /* @mpropdefs on <self:MMethod exact> */
-var1 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
+var1 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var1->class->vft[COLOR_more_collections__HashMap2__init]))(var1) /* init on <var1:HashMap2[MModule, MType, Array[MMethodDef]]>*/;
-CHECK_NEW_more_collections__HashMap2(var1);
 self->attrs[COLOR_model__MProperty___64dlookup_definitions_cache].val = var1; /* @lookup_definitions_cache on <self:MMethod exact> */
-var2 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
+var2 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var2->class->vft[COLOR_more_collections__HashMap2__init]))(var2) /* init on <var2:HashMap2[MModule, MType, Array[MMethodDef]]>*/;
-CHECK_NEW_more_collections__HashMap2(var2);
 self->attrs[COLOR_model__MProperty___64dlookup_all_definitions_cache].val = var2; /* @lookup_all_definitions_cache on <self:MMethod exact> */
 var3 = 0;
 self->attrs[COLOR_model__MMethod___64dis_init].s = var3; /* @is_init on <self:MMethod exact> */
@@ -6598,35 +5893,13 @@ var4 = 0;
 self->attrs[COLOR_model__MMethod___64dis_new].s = var4; /* @is_new on <self:MMethod exact> */
 return self;
 }
-/* allocate MMethod */
-void CHECK_NEW_model__MMethod(val* self) {
-val* var /* : MClassDef */;
-val* var1 /* : String */;
-val* var2 /* : MVisibility */;
-val* var3 /* : nullable String */;
-var = self->attrs[COLOR_model__MProperty___64dintro_mclassdef].val; /* @intro_mclassdef on <self:MMethod> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @intro_mclassdef", "src/model/model.nit", 1501);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MProperty___64dname].val; /* @name on <self:MMethod> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/model/model.nit", 1506);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MProperty___64dvisibility].val; /* @visibility on <self:MMethod> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @visibility", "src/model/model.nit", 1516);
-exit(1);
-}
-var3 = self->attrs[COLOR_abstract_compiler__MProperty___64dc_name_cache].val; /* @c_name_cache on <self:MMethod> */
-}
 /* runtime class model__MAttribute */
 const struct class class_model__MAttribute = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MAttribute:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MAttribute:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MAttribute:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MAttribute:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MAttribute:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MAttribute:kernel#Object#output */
@@ -6634,16 +5907,17 @@ const struct class class_model__MAttribute = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MAttribute:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MAttribute:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MAttribute:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MAttribute:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MAttribute:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MAttribute:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MAttribute:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MProperty__to_s, /* pointer to model:MAttribute:model#MProperty#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MAttribute:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MAttribute:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MAttribute:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MAttribute:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MAttribute:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MAttribute:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MAttribute:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MAttribute:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MAttribute:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MAttribute:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MAttribute:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MAttribute:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MAttribute:time#Object#get_time */
@@ -6666,6 +5940,14 @@ const struct class class_model__MAttribute = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MAttribute:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MAttribute:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MAttribute:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MAttribute:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MAttribute:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MAttribute:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MAttribute:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MAttribute:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MAttribute:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MAttribute:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MAttribute:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MProperty__intro_mclassdef, /* pointer to model:MAttribute:model#MProperty#intro_mclassdef */
 (nitmethod_t)VIRTUAL_model__MProperty__intro_mclassdef_61d, /* pointer to model:MAttribute:model#MProperty#intro_mclassdef= */
 (nitmethod_t)VIRTUAL_model__MProperty__name, /* pointer to model:MAttribute:model#MProperty#name */
@@ -6681,6 +5963,7 @@ const struct class class_model__MAttribute = {
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_definitions_cache, /* pointer to model:MAttribute:model#MProperty#lookup_definitions_cache */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_definitions_cache_61d, /* pointer to model:MAttribute:model#MProperty#lookup_definitions_cache= */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_super_definitions, /* pointer to model:MAttribute:model#MProperty#lookup_super_definitions */
+(nitmethod_t)VIRTUAL_model__MProperty__select_most_specific, /* pointer to model:MAttribute:model#MProperty#select_most_specific */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_first_definition, /* pointer to model:MAttribute:model#MProperty#lookup_first_definition */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_all_definitions, /* pointer to model:MAttribute:model#MProperty#lookup_all_definitions */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_all_definitions_cache, /* pointer to model:MAttribute:model#MProperty#lookup_all_definitions_cache */
@@ -6703,47 +5986,22 @@ self->type = type;
 self->class = &class_model__MAttribute;
 var = NEW_array__Array(self->type->resolution_table->types[COLOR_array__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MAttributeDef]>*/;
-CHECK_NEW_array__Array(var);
 self->attrs[COLOR_model__MProperty___64dmpropdefs].val = var; /* @mpropdefs on <self:MAttribute exact> */
-var1 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
+var1 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var1->class->vft[COLOR_more_collections__HashMap2__init]))(var1) /* init on <var1:HashMap2[MModule, MType, Array[MAttributeDef]]>*/;
-CHECK_NEW_more_collections__HashMap2(var1);
 self->attrs[COLOR_model__MProperty___64dlookup_definitions_cache].val = var1; /* @lookup_definitions_cache on <self:MAttribute exact> */
-var2 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
+var2 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var2->class->vft[COLOR_more_collections__HashMap2__init]))(var2) /* init on <var2:HashMap2[MModule, MType, Array[MAttributeDef]]>*/;
-CHECK_NEW_more_collections__HashMap2(var2);
 self->attrs[COLOR_model__MProperty___64dlookup_all_definitions_cache].val = var2; /* @lookup_all_definitions_cache on <self:MAttribute exact> */
 return self;
 }
-/* allocate MAttribute */
-void CHECK_NEW_model__MAttribute(val* self) {
-val* var /* : MClassDef */;
-val* var1 /* : String */;
-val* var2 /* : MVisibility */;
-val* var3 /* : nullable String */;
-var = self->attrs[COLOR_model__MProperty___64dintro_mclassdef].val; /* @intro_mclassdef on <self:MAttribute> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @intro_mclassdef", "src/model/model.nit", 1501);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MProperty___64dname].val; /* @name on <self:MAttribute> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/model/model.nit", 1506);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MProperty___64dvisibility].val; /* @visibility on <self:MAttribute> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @visibility", "src/model/model.nit", 1516);
-exit(1);
-}
-var3 = self->attrs[COLOR_abstract_compiler__MProperty___64dc_name_cache].val; /* @c_name_cache on <self:MAttribute> */
-}
 /* runtime class model__MVirtualTypeProp */
 const struct class class_model__MVirtualTypeProp = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MVirtualTypeProp:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MVirtualTypeProp:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MVirtualTypeProp:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MVirtualTypeProp:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MVirtualTypeProp:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MVirtualTypeProp:kernel#Object#output */
@@ -6751,16 +6009,17 @@ const struct class class_model__MVirtualTypeProp = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MVirtualTypeProp:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MVirtualTypeProp:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MVirtualTypeProp:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MVirtualTypeProp:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MVirtualTypeProp:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MVirtualTypeProp:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MVirtualTypeProp:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MProperty__to_s, /* pointer to model:MVirtualTypeProp:model#MProperty#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MVirtualTypeProp:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MVirtualTypeProp:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MVirtualTypeProp:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MVirtualTypeProp:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MVirtualTypeProp:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MVirtualTypeProp:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MVirtualTypeProp:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MVirtualTypeProp:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MVirtualTypeProp:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MVirtualTypeProp:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MVirtualTypeProp:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MVirtualTypeProp:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MVirtualTypeProp:time#Object#get_time */
@@ -6783,6 +6042,14 @@ const struct class class_model__MVirtualTypeProp = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MVirtualTypeProp:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MVirtualTypeProp:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MVirtualTypeProp:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MVirtualTypeProp:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MVirtualTypeProp:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MVirtualTypeProp:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MVirtualTypeProp:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MVirtualTypeProp:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MVirtualTypeProp:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MVirtualTypeProp:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MVirtualTypeProp:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MProperty__intro_mclassdef, /* pointer to model:MVirtualTypeProp:model#MProperty#intro_mclassdef */
 (nitmethod_t)VIRTUAL_model__MProperty__intro_mclassdef_61d, /* pointer to model:MVirtualTypeProp:model#MProperty#intro_mclassdef= */
 (nitmethod_t)VIRTUAL_model__MProperty__name, /* pointer to model:MVirtualTypeProp:model#MProperty#name */
@@ -6798,6 +6065,7 @@ const struct class class_model__MVirtualTypeProp = {
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_definitions_cache, /* pointer to model:MVirtualTypeProp:model#MProperty#lookup_definitions_cache */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_definitions_cache_61d, /* pointer to model:MVirtualTypeProp:model#MProperty#lookup_definitions_cache= */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_super_definitions, /* pointer to model:MVirtualTypeProp:model#MProperty#lookup_super_definitions */
+(nitmethod_t)VIRTUAL_model__MProperty__select_most_specific, /* pointer to model:MVirtualTypeProp:model#MProperty#select_most_specific */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_first_definition, /* pointer to model:MVirtualTypeProp:model#MProperty#lookup_first_definition */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_all_definitions, /* pointer to model:MVirtualTypeProp:model#MProperty#lookup_all_definitions */
 (nitmethod_t)VIRTUAL_model__MProperty__lookup_all_definitions_cache, /* pointer to model:MVirtualTypeProp:model#MProperty#lookup_all_definitions_cache */
@@ -6823,51 +6091,25 @@ self->type = type;
 self->class = &class_model__MVirtualTypeProp;
 var = NEW_array__Array(self->type->resolution_table->types[COLOR_array__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MVirtualTypeDef]>*/;
-CHECK_NEW_array__Array(var);
 self->attrs[COLOR_model__MProperty___64dmpropdefs].val = var; /* @mpropdefs on <self:MVirtualTypeProp exact> */
-var1 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
+var1 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var1->class->vft[COLOR_more_collections__HashMap2__init]))(var1) /* init on <var1:HashMap2[MModule, MType, Array[MVirtualTypeDef]]>*/;
-CHECK_NEW_more_collections__HashMap2(var1);
 self->attrs[COLOR_model__MProperty___64dlookup_definitions_cache].val = var1; /* @lookup_definitions_cache on <self:MVirtualTypeProp exact> */
-var2 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
+var2 = NEW_more_collections__HashMap2(self->type->resolution_table->types[COLOR_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF]);
 ((void (*)(val*))(var2->class->vft[COLOR_more_collections__HashMap2__init]))(var2) /* init on <var2:HashMap2[MModule, MType, Array[MVirtualTypeDef]]>*/;
-CHECK_NEW_more_collections__HashMap2(var2);
 self->attrs[COLOR_model__MProperty___64dlookup_all_definitions_cache].val = var2; /* @lookup_all_definitions_cache on <self:MVirtualTypeProp exact> */
 var3 = NEW_model__MVirtualType(&type_model__MVirtualType);
 ((void (*)(val*, val*))(var3->class->vft[COLOR_model__MVirtualType__init]))(var3, self) /* init on <var3:MVirtualType>*/;
-CHECK_NEW_model__MVirtualType(var3);
 self->attrs[COLOR_model__MVirtualTypeProp___64dmvirtualtype].val = var3; /* @mvirtualtype on <self:MVirtualTypeProp exact> */
 return self;
 }
-/* allocate MVirtualTypeProp */
-void CHECK_NEW_model__MVirtualTypeProp(val* self) {
-val* var /* : MClassDef */;
-val* var1 /* : String */;
-val* var2 /* : MVisibility */;
-val* var3 /* : nullable String */;
-var = self->attrs[COLOR_model__MProperty___64dintro_mclassdef].val; /* @intro_mclassdef on <self:MVirtualTypeProp> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @intro_mclassdef", "src/model/model.nit", 1501);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MProperty___64dname].val; /* @name on <self:MVirtualTypeProp> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/model/model.nit", 1506);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MProperty___64dvisibility].val; /* @visibility on <self:MVirtualTypeProp> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @visibility", "src/model/model.nit", 1516);
-exit(1);
-}
-var3 = self->attrs[COLOR_abstract_compiler__MProperty___64dc_name_cache].val; /* @c_name_cache on <self:MVirtualTypeProp> */
-}
 /* runtime class model__MMethodDef */
 const struct class class_model__MMethodDef = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MMethodDef:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MMethodDef:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MMethodDef:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MMethodDef:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MMethodDef:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MMethodDef:kernel#Object#output */
@@ -6875,16 +6117,17 @@ const struct class class_model__MMethodDef = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MMethodDef:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MMethodDef:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MMethodDef:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MMethodDef:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MMethodDef:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MMethodDef:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MMethodDef:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MPropDef__to_s, /* pointer to model:MMethodDef:model#MPropDef#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MMethodDef:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MMethodDef:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MMethodDef:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MMethodDef:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MMethodDef:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MMethodDef:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MMethodDef:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MMethodDef:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MMethodDef:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MMethodDef:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MMethodDef:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MMethodDef:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MMethodDef:time#Object#get_time */
@@ -6907,6 +6150,14 @@ const struct class class_model__MMethodDef = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MMethodDef:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MMethodDef:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MMethodDef:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MMethodDef:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MMethodDef:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MMethodDef:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MMethodDef:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MMethodDef:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MMethodDef:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MMethodDef:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MMethodDef:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MPropDef__location, /* pointer to model:MMethodDef:model#MPropDef#location */
 (nitmethod_t)VIRTUAL_model__MPropDef__location_61d, /* pointer to model:MMethodDef:model#MPropDef#location= */
 (nitmethod_t)VIRTUAL_model__MPropDef__mclassdef, /* pointer to model:MMethodDef:model#MPropDef#mclassdef */
@@ -6917,8 +6168,8 @@ const struct class class_model__MMethodDef = {
 (nitmethod_t)VIRTUAL_model__MPropDef__to_s_61d, /* pointer to model:MMethodDef:model#MPropDef#to_s= */
 (nitmethod_t)VIRTUAL_model__MPropDef__is_intro, /* pointer to model:MMethodDef:model#MPropDef#is_intro */
 (nitmethod_t)VIRTUAL_model__MPropDef__lookup_next_definition, /* pointer to model:MMethodDef:model#MPropDef#lookup_next_definition */
-(nitmethod_t)VIRTUAL_typing__MPropDef__has_supercall, /* pointer to model:MMethodDef:typing#MPropDef#has_supercall */
-(nitmethod_t)VIRTUAL_typing__MPropDef__has_supercall_61d, /* pointer to model:MMethodDef:typing#MPropDef#has_supercall= */
+(nitmethod_t)VIRTUAL_modelize_property__MPropDef__has_supercall, /* pointer to model:MMethodDef:modelize_property#MPropDef#has_supercall */
+(nitmethod_t)VIRTUAL_modelize_property__MPropDef__has_supercall_61d, /* pointer to model:MMethodDef:modelize_property#MPropDef#has_supercall= */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name_cache, /* pointer to model:MMethodDef:abstract_compiler#MPropDef#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name_cache_61d, /* pointer to model:MMethodDef:abstract_compiler#MPropDef#c_name_cache= */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name, /* pointer to model:MMethodDef:abstract_compiler#MPropDef#c_name */
@@ -6928,6 +6179,7 @@ const struct class class_model__MMethodDef = {
 (nitmethod_t)VIRTUAL_model__MMethodDef__msignature_61d, /* pointer to model:MMethodDef:model#MMethodDef#msignature= */
 (nitmethod_t)VIRTUAL_model__MMethodDef__is_abstract, /* pointer to model:MMethodDef:model#MMethodDef#is_abstract */
 (nitmethod_t)VIRTUAL_model__MMethodDef__is_abstract_61d, /* pointer to model:MMethodDef:model#MMethodDef#is_abstract= */
+(nitmethod_t)VIRTUAL_nitni_base__MMethodDef__cname, /* pointer to model:MMethodDef:nitni_base#MMethodDef#cname */
 (nitmethod_t)VIRTUAL_abstract_compiler__MMethodDef__can_inline, /* pointer to model:MMethodDef:abstract_compiler#MMethodDef#can_inline */
 (nitmethod_t)VIRTUAL_abstract_compiler__MMethodDef__compile_inside_to_c, /* pointer to model:MMethodDef:abstract_compiler#MMethodDef#compile_inside_to_c */
 (nitmethod_t)VIRTUAL_abstract_compiler__MMethodDef__compile_parameter_check, /* pointer to model:MMethodDef:abstract_compiler#MMethodDef#compile_parameter_check */
@@ -6949,52 +6201,20 @@ self = nit_alloc(sizeof(struct instance) + 10*sizeof(nitattribute_t));
 self->type = type;
 self->class = &class_model__MMethodDef;
 var = 0;
-self->attrs[COLOR_typing__MPropDef___64dhas_supercall].s = var; /* @has_supercall on <self:MMethodDef exact> */
+self->attrs[COLOR_modelize_property__MPropDef___64dhas_supercall].s = var; /* @has_supercall on <self:MMethodDef exact> */
 var1 = NULL;
 self->attrs[COLOR_model__MMethodDef___64dmsignature].val = var1; /* @msignature on <self:MMethodDef exact> */
 var2 = 0;
 self->attrs[COLOR_model__MMethodDef___64dis_abstract].s = var2; /* @is_abstract on <self:MMethodDef exact> */
 return self;
 }
-/* allocate MMethodDef */
-void CHECK_NEW_model__MMethodDef(val* self) {
-val* var /* : Location */;
-val* var1 /* : MClassDef */;
-val* var2 /* : MProperty */;
-val* var3 /* : String */;
-val* var4 /* : nullable String */;
-val* var5 /* : nullable SeparateRuntimeFunction */;
-val* var6 /* : nullable VirtualRuntimeFunction */;
-var = self->attrs[COLOR_model__MPropDef___64dlocation].val; /* @location on <self:MMethodDef> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @location", "src/model/model.nit", 1791);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MPropDef___64dmclassdef].val; /* @mclassdef on <self:MMethodDef> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclassdef", "src/model/model.nit", 1794);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MPropDef___64dmproperty].val; /* @mproperty on <self:MMethodDef> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mproperty", "src/model/model.nit", 1797);
-exit(1);
-}
-var3 = self->attrs[COLOR_model__MPropDef___64dto_s].val; /* @to_s on <self:MMethodDef> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model.nit", 1810);
-exit(1);
-}
-var4 = self->attrs[COLOR_abstract_compiler__MPropDef___64dc_name_cache].val; /* @c_name_cache on <self:MMethodDef> */
-var5 = self->attrs[COLOR_separate_compiler__MMethodDef___64dseparate_runtime_function_cache].val; /* @separate_runtime_function_cache on <self:MMethodDef> */
-var6 = self->attrs[COLOR_separate_compiler__MMethodDef___64dvirtual_runtime_function_cache].val; /* @virtual_runtime_function_cache on <self:MMethodDef> */
-}
 /* runtime class model__MAttributeDef */
 const struct class class_model__MAttributeDef = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MAttributeDef:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MAttributeDef:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MAttributeDef:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MAttributeDef:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MAttributeDef:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MAttributeDef:kernel#Object#output */
@@ -7002,16 +6222,17 @@ const struct class class_model__MAttributeDef = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MAttributeDef:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MAttributeDef:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MAttributeDef:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_model__MPropDef__to_s, /* pointer to model:MAttributeDef:model#MPropDef#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MAttributeDef:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MAttributeDef:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MAttributeDef:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MAttributeDef:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MAttributeDef:string#Object#args */
 (nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MAttributeDef:math#Object#atan2 */
 (nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MAttributeDef:math#Object#pi */
 (nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MAttributeDef:math#Object#srand_from */
 (nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MAttributeDef:math#Object#srand */
+(nitmethod_t)VIRTUAL_model__MPropDef__to_s, /* pointer to model:MAttributeDef:model#MPropDef#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MAttributeDef:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MAttributeDef:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MAttributeDef:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MAttributeDef:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MAttributeDef:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MAttributeDef:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MAttributeDef:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MAttributeDef:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MAttributeDef:time#Object#get_time */
@@ -7034,6 +6255,14 @@ const struct class class_model__MAttributeDef = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MAttributeDef:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MAttributeDef:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MAttributeDef:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MAttributeDef:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MAttributeDef:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MAttributeDef:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MAttributeDef:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MAttributeDef:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MAttributeDef:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MAttributeDef:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MAttributeDef:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MPropDef__location, /* pointer to model:MAttributeDef:model#MPropDef#location */
 (nitmethod_t)VIRTUAL_model__MPropDef__location_61d, /* pointer to model:MAttributeDef:model#MPropDef#location= */
 (nitmethod_t)VIRTUAL_model__MPropDef__mclassdef, /* pointer to model:MAttributeDef:model#MPropDef#mclassdef */
@@ -7044,8 +6273,8 @@ const struct class class_model__MAttributeDef = {
 (nitmethod_t)VIRTUAL_model__MPropDef__to_s_61d, /* pointer to model:MAttributeDef:model#MPropDef#to_s= */
 (nitmethod_t)VIRTUAL_model__MPropDef__is_intro, /* pointer to model:MAttributeDef:model#MPropDef#is_intro */
 (nitmethod_t)VIRTUAL_model__MPropDef__lookup_next_definition, /* pointer to model:MAttributeDef:model#MPropDef#lookup_next_definition */
-(nitmethod_t)VIRTUAL_typing__MPropDef__has_supercall, /* pointer to model:MAttributeDef:typing#MPropDef#has_supercall */
-(nitmethod_t)VIRTUAL_typing__MPropDef__has_supercall_61d, /* pointer to model:MAttributeDef:typing#MPropDef#has_supercall= */
+(nitmethod_t)VIRTUAL_modelize_property__MPropDef__has_supercall, /* pointer to model:MAttributeDef:modelize_property#MPropDef#has_supercall */
+(nitmethod_t)VIRTUAL_modelize_property__MPropDef__has_supercall_61d, /* pointer to model:MAttributeDef:modelize_property#MPropDef#has_supercall= */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name_cache, /* pointer to model:MAttributeDef:abstract_compiler#MPropDef#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name_cache_61d, /* pointer to model:MAttributeDef:abstract_compiler#MPropDef#c_name_cache= */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name, /* pointer to model:MAttributeDef:abstract_compiler#MPropDef#c_name */
@@ -7064,46 +6293,18 @@ self = nit_alloc(sizeof(struct instance) + 7*sizeof(nitattribute_t));
 self->type = type;
 self->class = &class_model__MAttributeDef;
 var = 0;
-self->attrs[COLOR_typing__MPropDef___64dhas_supercall].s = var; /* @has_supercall on <self:MAttributeDef exact> */
+self->attrs[COLOR_modelize_property__MPropDef___64dhas_supercall].s = var; /* @has_supercall on <self:MAttributeDef exact> */
 var1 = NULL;
 self->attrs[COLOR_model__MAttributeDef___64dstatic_mtype].val = var1; /* @static_mtype on <self:MAttributeDef exact> */
 return self;
 }
-/* allocate MAttributeDef */
-void CHECK_NEW_model__MAttributeDef(val* self) {
-val* var /* : Location */;
-val* var1 /* : MClassDef */;
-val* var2 /* : MProperty */;
-val* var3 /* : String */;
-val* var4 /* : nullable String */;
-var = self->attrs[COLOR_model__MPropDef___64dlocation].val; /* @location on <self:MAttributeDef> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @location", "src/model/model.nit", 1791);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MPropDef___64dmclassdef].val; /* @mclassdef on <self:MAttributeDef> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclassdef", "src/model/model.nit", 1794);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MPropDef___64dmproperty].val; /* @mproperty on <self:MAttributeDef> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mproperty", "src/model/model.nit", 1797);
-exit(1);
-}
-var3 = self->attrs[COLOR_model__MPropDef___64dto_s].val; /* @to_s on <self:MAttributeDef> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model.nit", 1810);
-exit(1);
-}
-var4 = self->attrs[COLOR_abstract_compiler__MPropDef___64dc_name_cache].val; /* @c_name_cache on <self:MAttributeDef> */
-}
 /* runtime class model__MVirtualTypeDef */
 const struct class class_model__MVirtualTypeDef = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MVirtualTypeDef:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MVirtualTypeDef:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MVirtualTypeDef:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MVirtualTypeDef:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MVirtualTypeDef:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MVirtualTypeDef:kernel#Object#output */
@@ -7111,16 +6312,17 @@ const struct class class_model__MVirtualTypeDef = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MVirtualTypeDef:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MVirtualTypeDef:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MVirtualTypeDef:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MVirtualTypeDef:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MVirtualTypeDef:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MVirtualTypeDef:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MVirtualTypeDef:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MPropDef__to_s, /* pointer to model:MVirtualTypeDef:model#MPropDef#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MVirtualTypeDef:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MVirtualTypeDef:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MVirtualTypeDef:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MVirtualTypeDef:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MVirtualTypeDef:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MVirtualTypeDef:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MVirtualTypeDef:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MVirtualTypeDef:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MVirtualTypeDef:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MVirtualTypeDef:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MVirtualTypeDef:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MVirtualTypeDef:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MVirtualTypeDef:time#Object#get_time */
@@ -7143,6 +6345,14 @@ const struct class class_model__MVirtualTypeDef = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MVirtualTypeDef:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MVirtualTypeDef:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MVirtualTypeDef:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MVirtualTypeDef:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MVirtualTypeDef:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MVirtualTypeDef:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MVirtualTypeDef:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MVirtualTypeDef:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MVirtualTypeDef:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MVirtualTypeDef:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MVirtualTypeDef:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MPropDef__location, /* pointer to model:MVirtualTypeDef:model#MPropDef#location */
 (nitmethod_t)VIRTUAL_model__MPropDef__location_61d, /* pointer to model:MVirtualTypeDef:model#MPropDef#location= */
 (nitmethod_t)VIRTUAL_model__MPropDef__mclassdef, /* pointer to model:MVirtualTypeDef:model#MPropDef#mclassdef */
@@ -7153,8 +6363,8 @@ const struct class class_model__MVirtualTypeDef = {
 (nitmethod_t)VIRTUAL_model__MPropDef__to_s_61d, /* pointer to model:MVirtualTypeDef:model#MPropDef#to_s= */
 (nitmethod_t)VIRTUAL_model__MPropDef__is_intro, /* pointer to model:MVirtualTypeDef:model#MPropDef#is_intro */
 (nitmethod_t)VIRTUAL_model__MPropDef__lookup_next_definition, /* pointer to model:MVirtualTypeDef:model#MPropDef#lookup_next_definition */
-(nitmethod_t)VIRTUAL_typing__MPropDef__has_supercall, /* pointer to model:MVirtualTypeDef:typing#MPropDef#has_supercall */
-(nitmethod_t)VIRTUAL_typing__MPropDef__has_supercall_61d, /* pointer to model:MVirtualTypeDef:typing#MPropDef#has_supercall= */
+(nitmethod_t)VIRTUAL_modelize_property__MPropDef__has_supercall, /* pointer to model:MVirtualTypeDef:modelize_property#MPropDef#has_supercall */
+(nitmethod_t)VIRTUAL_modelize_property__MPropDef__has_supercall_61d, /* pointer to model:MVirtualTypeDef:modelize_property#MPropDef#has_supercall= */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name_cache, /* pointer to model:MVirtualTypeDef:abstract_compiler#MPropDef#c_name_cache */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name_cache_61d, /* pointer to model:MVirtualTypeDef:abstract_compiler#MPropDef#c_name_cache= */
 (nitmethod_t)VIRTUAL_abstract_compiler__MPropDef__c_name, /* pointer to model:MVirtualTypeDef:abstract_compiler#MPropDef#c_name */
@@ -7173,46 +6383,18 @@ self = nit_alloc(sizeof(struct instance) + 7*sizeof(nitattribute_t));
 self->type = type;
 self->class = &class_model__MVirtualTypeDef;
 var = 0;
-self->attrs[COLOR_typing__MPropDef___64dhas_supercall].s = var; /* @has_supercall on <self:MVirtualTypeDef exact> */
+self->attrs[COLOR_modelize_property__MPropDef___64dhas_supercall].s = var; /* @has_supercall on <self:MVirtualTypeDef exact> */
 var1 = NULL;
 self->attrs[COLOR_model__MVirtualTypeDef___64dbound].val = var1; /* @bound on <self:MVirtualTypeDef exact> */
 return self;
 }
-/* allocate MVirtualTypeDef */
-void CHECK_NEW_model__MVirtualTypeDef(val* self) {
-val* var /* : Location */;
-val* var1 /* : MClassDef */;
-val* var2 /* : MProperty */;
-val* var3 /* : String */;
-val* var4 /* : nullable String */;
-var = self->attrs[COLOR_model__MPropDef___64dlocation].val; /* @location on <self:MVirtualTypeDef> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @location", "src/model/model.nit", 1791);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MPropDef___64dmclassdef].val; /* @mclassdef on <self:MVirtualTypeDef> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mclassdef", "src/model/model.nit", 1794);
-exit(1);
-}
-var2 = self->attrs[COLOR_model__MPropDef___64dmproperty].val; /* @mproperty on <self:MVirtualTypeDef> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mproperty", "src/model/model.nit", 1797);
-exit(1);
-}
-var3 = self->attrs[COLOR_model__MPropDef___64dto_s].val; /* @to_s on <self:MVirtualTypeDef> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model.nit", 1810);
-exit(1);
-}
-var4 = self->attrs[COLOR_abstract_compiler__MPropDef___64dc_name_cache].val; /* @c_name_cache on <self:MVirtualTypeDef> */
-}
 /* runtime class model__MClassKind */
 const struct class class_model__MClassKind = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model:MClassKind:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model:MClassKind:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model:MClassKind:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model:MClassKind:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model:MClassKind:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model:MClassKind:kernel#Object#output */
@@ -7220,16 +6402,17 @@ const struct class class_model__MClassKind = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model:MClassKind:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model:MClassKind:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model:MClassKind:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassKind:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassKind:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassKind:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassKind:math#Object#srand */
 (nitmethod_t)VIRTUAL_model__MClassKind__to_s, /* pointer to model:MClassKind:model#MClassKind#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model:MClassKind:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model:MClassKind:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model:MClassKind:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model:MClassKind:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model:MClassKind:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model:MClassKind:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model:MClassKind:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model:MClassKind:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model:MClassKind:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model:MClassKind:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model:MClassKind:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model:MClassKind:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model:MClassKind:time#Object#get_time */
@@ -7252,6 +6435,14 @@ const struct class class_model__MClassKind = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model:MClassKind:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model:MClassKind:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model:MClassKind:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model:MClassKind:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model:MClassKind:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model:MClassKind:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model:MClassKind:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model:MClassKind:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model:MClassKind:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model:MClassKind:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model:MClassKind:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model__MClassKind__to_s_61d, /* pointer to model:MClassKind:model#MClassKind#to_s= */
 (nitmethod_t)VIRTUAL_model__MClassKind__need_init, /* pointer to model:MClassKind:model#MClassKind#need_init */
 (nitmethod_t)VIRTUAL_model__MClassKind__need_init_61d, /* pointer to model:MClassKind:model#MClassKind#need_init= */
@@ -7266,23 +6457,13 @@ self->type = type;
 self->class = &class_model__MClassKind;
 return self;
 }
-/* allocate MClassKind */
-void CHECK_NEW_model__MClassKind(val* self) {
-val* var /* : String */;
-short int var1 /* : Bool */;
-var = self->attrs[COLOR_model__MClassKind___64dto_s].val; /* @to_s on <self:MClassKind> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model.nit", 1898);
-exit(1);
-}
-var1 = self->attrs[COLOR_model__MClassKind___64dneed_init].s; /* @need_init on <self:MClassKind> */
-}
 /* runtime class poset__POSet */
 const struct class class_poset__POSet = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to poset:POSet:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to poset:POSet:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to poset:POSet:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to poset:POSet:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to poset:POSet:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to poset:POSet:kernel#Object#output */
@@ -7290,16 +6471,17 @@ const struct class class_poset__POSet = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to poset:POSet:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to poset:POSet:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to poset:POSet:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to poset:POSet:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to poset:POSet:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to poset:POSet:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to poset:POSet:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Collection__to_s, /* pointer to poset:POSet:string#Collection#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to poset:POSet:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to poset:POSet:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to poset:POSet:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to poset:POSet:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to poset:POSet:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to poset:POSet:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to poset:POSet:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to poset:POSet:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to poset:POSet:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to poset:POSet:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to poset:POSet:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to poset:POSet:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to poset:POSet:time#Object#get_time */
@@ -7322,7 +6504,14 @@ const struct class class_poset__POSet = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to poset:POSet:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to poset:POSet:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to poset:POSet:model#Object#extern_kind */
-NULL, /* empty */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to poset:POSet:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to poset:POSet:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to poset:POSet:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to poset:POSet:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to poset:POSet:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to poset:POSet:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to poset:POSet:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to poset:POSet:cpp#Object#from_cpp_call_context */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -7341,7 +6530,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 (nitmethod_t)VIRTUAL_poset__POSet__iterator, /* pointer to poset:POSet:poset#POSet#iterator */
-(nitmethod_t)VIRTUAL_abstract_collection__Collection__iterate, /* pointer to poset:POSet:abstract_collection#Collection#iterate */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__is_empty, /* pointer to poset:POSet:abstract_collection#Collection#is_empty */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__length, /* pointer to poset:POSet:abstract_collection#Collection#length */
 (nitmethod_t)VIRTUAL_poset__POSet__has, /* pointer to poset:POSet:poset#POSet#has */
@@ -7350,8 +6538,8 @@ NULL, /* empty */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__first, /* pointer to poset:POSet:abstract_collection#Collection#first */
 (nitmethod_t)VIRTUAL_abstract_collection__Collection__has_all, /* pointer to poset:POSet:abstract_collection#Collection#has_all */
 (nitmethod_t)VIRTUAL_array__Collection__to_a, /* pointer to poset:POSet:array#Collection#to_a */
-(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to poset:POSet:string#Collection#join */
 (nitmethod_t)VIRTUAL_math__Collection__rand, /* pointer to poset:POSet:math#Collection#rand */
+(nitmethod_t)VIRTUAL_string__Collection__join, /* pointer to poset:POSet:string#Collection#join */
 (nitmethod_t)VIRTUAL_poset__POSet__compare, /* pointer to poset:POSet:poset#POSet#compare */
 (nitmethod_t)VIRTUAL_sorter__AbstractSorter__sort, /* pointer to poset:POSet:sorter#AbstractSorter#sort */
 (nitmethod_t)VIRTUAL_sorter__AbstractSorter__sub_sort, /* pointer to poset:POSet:sorter#AbstractSorter#sub_sort */
@@ -7377,19 +6565,16 @@ self->type = type;
 self->class = &class_poset__POSet;
 var = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMapposet__POSet_FT0poset__POSetElementposet__POSet_FT0]);
 ((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashMap__init]))(var) /* init on <var:HashMap[Object, POSetElement[Object]]>*/;
-CHECK_NEW_hash_collection__HashMap(var);
 self->attrs[COLOR_poset__POSet___64delements].val = var; /* @elements on <self:POSet[Object] exact> */
 return self;
 }
-/* allocate POSet[Object] */
-void CHECK_NEW_poset__POSet(val* self) {
-}
 /* runtime class poset__POSetElement */
 const struct class class_poset__POSetElement = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to poset:POSetElement:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to poset:POSetElement:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to poset:POSetElement:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to poset:POSetElement:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to poset:POSetElement:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to poset:POSetElement:kernel#Object#output */
@@ -7397,16 +6582,17 @@ const struct class class_poset__POSetElement = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to poset:POSetElement:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to poset:POSetElement:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to poset:POSetElement:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to poset:POSetElement:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to poset:POSetElement:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to poset:POSetElement:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to poset:POSetElement:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to poset:POSetElement:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to poset:POSetElement:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to poset:POSetElement:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to poset:POSetElement:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to poset:POSetElement:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to poset:POSetElement:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to poset:POSetElement:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to poset:POSetElement:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to poset:POSetElement:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to poset:POSetElement:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to poset:POSetElement:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to poset:POSetElement:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to poset:POSetElement:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to poset:POSetElement:time#Object#get_time */
@@ -7429,6 +6615,14 @@ const struct class class_poset__POSetElement = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to poset:POSetElement:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to poset:POSetElement:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to poset:POSetElement:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to poset:POSetElement:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to poset:POSetElement:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to poset:POSetElement:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to poset:POSetElement:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to poset:POSetElement:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to poset:POSetElement:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to poset:POSetElement:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to poset:POSetElement:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_poset__POSetElement__poset, /* pointer to poset:POSetElement:poset#POSetElement#poset */
 (nitmethod_t)VIRTUAL_poset__POSetElement__poset_61d, /* pointer to poset:POSetElement:poset#POSetElement#poset= */
 (nitmethod_t)VIRTUAL_poset__POSetElement__element, /* pointer to poset:POSetElement:poset#POSetElement#element */
@@ -7449,6 +6643,7 @@ const struct class class_poset__POSetElement = {
 (nitmethod_t)VIRTUAL_poset__POSetElement__direct_smallers, /* pointer to poset:POSetElement:poset#POSetElement#direct_smallers */
 (nitmethod_t)VIRTUAL_poset__POSetElement___60d_61d, /* pointer to poset:POSetElement:poset#POSetElement#<= */
 (nitmethod_t)VIRTUAL_poset__POSetElement___60d, /* pointer to poset:POSetElement:poset#POSetElement#< */
+(nitmethod_t)VIRTUAL_poset__POSetElement__depth, /* pointer to poset:POSetElement:poset#POSetElement#depth */
 (nitmethod_t)VIRTUAL_poset__POSetElement__init, /* pointer to poset:POSetElement:poset#POSetElement#init */
 }
 };
@@ -7464,38 +6659,342 @@ self->type = type;
 self->class = &class_poset__POSetElement;
 var = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetposet__POSetElement_FT0]);
 ((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashSet__init]))(var) /* init on <var:HashSet[Object]>*/;
-CHECK_NEW_hash_collection__HashSet(var);
 self->attrs[COLOR_poset__POSetElement___64dtos].val = var; /* @tos on <self:POSetElement[Object] exact> */
 var1 = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetposet__POSetElement_FT0]);
 ((void (*)(val*))(var1->class->vft[COLOR_hash_collection__HashSet__init]))(var1) /* init on <var1:HashSet[Object]>*/;
-CHECK_NEW_hash_collection__HashSet(var1);
 self->attrs[COLOR_poset__POSetElement___64dfroms].val = var1; /* @froms on <self:POSetElement[Object] exact> */
 var2 = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetposet__POSetElement_FT0]);
 ((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashSet__init]))(var2) /* init on <var2:HashSet[Object]>*/;
-CHECK_NEW_hash_collection__HashSet(var2);
 self->attrs[COLOR_poset__POSetElement___64ddtos].val = var2; /* @dtos on <self:POSetElement[Object] exact> */
 var3 = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetposet__POSetElement_FT0]);
 ((void (*)(val*))(var3->class->vft[COLOR_hash_collection__HashSet__init]))(var3) /* init on <var3:HashSet[Object]>*/;
-CHECK_NEW_hash_collection__HashSet(var3);
 self->attrs[COLOR_poset__POSetElement___64ddfroms].val = var3; /* @dfroms on <self:POSetElement[Object] exact> */
 return self;
 }
-/* allocate POSetElement[Object] */
-void CHECK_NEW_poset__POSetElement(val* self) {
-val* var /* : POSet[Object] */;
-val* var1 /* : Object */;
-long var2 /* : Int */;
-var = self->attrs[COLOR_poset__POSetElement___64dposet].val; /* @poset on <self:POSetElement[Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @poset", "lib/poset.nit", 181);
-exit(1);
+/* runtime class mmodule__MModule */
+const struct class class_mmodule__MModule = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to mmodule:MModule:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to mmodule:MModule:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to mmodule:MModule:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to mmodule:MModule:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to mmodule:MModule:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to mmodule:MModule:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to mmodule:MModule:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to mmodule:MModule:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to mmodule:MModule:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to mmodule:MModule:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to mmodule:MModule:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to mmodule:MModule:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to mmodule:MModule:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to mmodule:MModule:math#Object#srand */
+(nitmethod_t)VIRTUAL_mmodule__MModule__to_s, /* pointer to mmodule:MModule:mmodule#MModule#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to mmodule:MModule:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to mmodule:MModule:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to mmodule:MModule:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to mmodule:MModule:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to mmodule:MModule:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to mmodule:MModule:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to mmodule:MModule:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to mmodule:MModule:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to mmodule:MModule:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to mmodule:MModule:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to mmodule:MModule:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to mmodule:MModule:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to mmodule:MModule:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to mmodule:MModule:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to mmodule:MModule:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to mmodule:MModule:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to mmodule:MModule:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to mmodule:MModule:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to mmodule:MModule:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to mmodule:MModule:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to mmodule:MModule:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to mmodule:MModule:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to mmodule:MModule:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to mmodule:MModule:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to mmodule:MModule:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to mmodule:MModule:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to mmodule:MModule:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to mmodule:MModule:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to mmodule:MModule:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to mmodule:MModule:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to mmodule:MModule:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to mmodule:MModule:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to mmodule:MModule:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to mmodule:MModule:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to mmodule:MModule:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to mmodule:MModule:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_mmodule__MModule__model, /* pointer to mmodule:MModule:mmodule#MModule#model */
+(nitmethod_t)VIRTUAL_mmodule__MModule__model_61d, /* pointer to mmodule:MModule:mmodule#MModule#model= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__direct_owner, /* pointer to mmodule:MModule:mmodule#MModule#direct_owner */
+(nitmethod_t)VIRTUAL_mmodule__MModule__direct_owner_61d, /* pointer to mmodule:MModule:mmodule#MModule#direct_owner= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__mgroup, /* pointer to mmodule:MModule:mmodule#MModule#mgroup */
+(nitmethod_t)VIRTUAL_mmodule__MModule__mgroup_61d, /* pointer to mmodule:MModule:mmodule#MModule#mgroup= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__name, /* pointer to mmodule:MModule:mmodule#MModule#name */
+(nitmethod_t)VIRTUAL_mmodule__MModule__name_61d, /* pointer to mmodule:MModule:mmodule#MModule#name= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__location, /* pointer to mmodule:MModule:mmodule#MModule#location */
+(nitmethod_t)VIRTUAL_mmodule__MModule__location_61d, /* pointer to mmodule:MModule:mmodule#MModule#location= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__in_nesting, /* pointer to mmodule:MModule:mmodule#MModule#in_nesting */
+(nitmethod_t)VIRTUAL_mmodule__MModule__in_nesting_61d, /* pointer to mmodule:MModule:mmodule#MModule#in_nesting= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__in_importation, /* pointer to mmodule:MModule:mmodule#MModule#in_importation */
+(nitmethod_t)VIRTUAL_mmodule__MModule__in_importation_61d, /* pointer to mmodule:MModule:mmodule#MModule#in_importation= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__full_name, /* pointer to mmodule:MModule:mmodule#MModule#full_name */
+(nitmethod_t)VIRTUAL_mmodule__MModule__init, /* pointer to mmodule:MModule:mmodule#MModule#init */
+(nitmethod_t)VIRTUAL_mmodule__MModule__set_imported_mmodules, /* pointer to mmodule:MModule:mmodule#MModule#set_imported_mmodules */
+(nitmethod_t)VIRTUAL_mmodule__MModule__intrude_mmodules, /* pointer to mmodule:MModule:mmodule#MModule#intrude_mmodules */
+(nitmethod_t)VIRTUAL_mmodule__MModule__intrude_mmodules_61d, /* pointer to mmodule:MModule:mmodule#MModule#intrude_mmodules= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__public_mmodules, /* pointer to mmodule:MModule:mmodule#MModule#public_mmodules */
+(nitmethod_t)VIRTUAL_mmodule__MModule__public_mmodules_61d, /* pointer to mmodule:MModule:mmodule#MModule#public_mmodules= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__private_mmodules, /* pointer to mmodule:MModule:mmodule#MModule#private_mmodules */
+(nitmethod_t)VIRTUAL_mmodule__MModule__private_mmodules_61d, /* pointer to mmodule:MModule:mmodule#MModule#private_mmodules= */
+(nitmethod_t)VIRTUAL_mmodule__MModule__visibility_for, /* pointer to mmodule:MModule:mmodule#MModule#visibility_for */
+(nitmethod_t)VIRTUAL_mmodule__MModule__set_visibility_for, /* pointer to mmodule:MModule:mmodule#MModule#set_visibility_for */
+(nitmethod_t)VIRTUAL_mmodule__MModule__public_owner, /* pointer to mmodule:MModule:mmodule#MModule#public_owner */
+(nitmethod_t)VIRTUAL_mmodule__MModule__is_visible, /* pointer to mmodule:MModule:mmodule#MModule#is_visible */
+(nitmethod_t)VIRTUAL_model__MModule__intro_mclasses, /* pointer to mmodule:MModule:model#MModule#intro_mclasses */
+(nitmethod_t)VIRTUAL_model__MModule__intro_mclasses_61d, /* pointer to mmodule:MModule:model#MModule#intro_mclasses= */
+(nitmethod_t)VIRTUAL_model__MModule__mclassdefs, /* pointer to mmodule:MModule:model#MModule#mclassdefs */
+(nitmethod_t)VIRTUAL_model__MModule__mclassdefs_61d, /* pointer to mmodule:MModule:model#MModule#mclassdefs= */
+(nitmethod_t)VIRTUAL_model__MModule__has_mclass, /* pointer to mmodule:MModule:model#MModule#has_mclass */
+(nitmethod_t)VIRTUAL_model__MModule__flatten_mclass_hierarchy, /* pointer to mmodule:MModule:model#MModule#flatten_mclass_hierarchy */
+(nitmethod_t)VIRTUAL_model__MModule__linearize_mclasses, /* pointer to mmodule:MModule:model#MModule#linearize_mclasses */
+(nitmethod_t)VIRTUAL_model__MModule__linearize_mclassdefs, /* pointer to mmodule:MModule:model#MModule#linearize_mclassdefs */
+(nitmethod_t)VIRTUAL_model__MModule__linearize_mpropdefs, /* pointer to mmodule:MModule:model#MModule#linearize_mpropdefs */
+(nitmethod_t)VIRTUAL_model__MModule__flatten_mclass_hierarchy_cache, /* pointer to mmodule:MModule:model#MModule#flatten_mclass_hierarchy_cache */
+(nitmethod_t)VIRTUAL_model__MModule__flatten_mclass_hierarchy_cache_61d, /* pointer to mmodule:MModule:model#MModule#flatten_mclass_hierarchy_cache= */
+(nitmethod_t)VIRTUAL_model__MModule__object_type, /* pointer to mmodule:MModule:model#MModule#object_type */
+(nitmethod_t)VIRTUAL_model__MModule__object_type_cache, /* pointer to mmodule:MModule:model#MModule#object_type_cache */
+(nitmethod_t)VIRTUAL_model__MModule__object_type_cache_61d, /* pointer to mmodule:MModule:model#MModule#object_type_cache= */
+(nitmethod_t)VIRTUAL_model__MModule__bool_type, /* pointer to mmodule:MModule:model#MModule#bool_type */
+(nitmethod_t)VIRTUAL_model__MModule__bool_type_cache, /* pointer to mmodule:MModule:model#MModule#bool_type_cache */
+(nitmethod_t)VIRTUAL_model__MModule__bool_type_cache_61d, /* pointer to mmodule:MModule:model#MModule#bool_type_cache= */
+(nitmethod_t)VIRTUAL_model__MModule__sys_type, /* pointer to mmodule:MModule:model#MModule#sys_type */
+(nitmethod_t)VIRTUAL_model__MModule__get_primitive_class, /* pointer to mmodule:MModule:model#MModule#get_primitive_class */
+(nitmethod_t)VIRTUAL_model__MModule__try_get_primitive_method, /* pointer to mmodule:MModule:model#MModule#try_get_primitive_method */
+(nitmethod_t)VIRTUAL_platform__MModule__local_target_platform, /* pointer to mmodule:MModule:platform#MModule#local_target_platform */
+(nitmethod_t)VIRTUAL_platform__MModule__local_target_platform_61d, /* pointer to mmodule:MModule:platform#MModule#local_target_platform= */
+(nitmethod_t)VIRTUAL_platform__MModule__target_platform, /* pointer to mmodule:MModule:platform#MModule#target_platform */
+(nitmethod_t)VIRTUAL_header_dependency__MModule__header_dependencies_cache, /* pointer to mmodule:MModule:header_dependency#MModule#header_dependencies_cache */
+(nitmethod_t)VIRTUAL_header_dependency__MModule__header_dependencies_cache_61d, /* pointer to mmodule:MModule:header_dependency#MModule#header_dependencies_cache= */
+(nitmethod_t)VIRTUAL_header_dependency__MModule__header_dependencies, /* pointer to mmodule:MModule:header_dependency#MModule#header_dependencies */
+(nitmethod_t)VIRTUAL_header_dependency__MModule__compute_header_dependencies, /* pointer to mmodule:MModule:header_dependency#MModule#compute_header_dependencies */
+(nitmethod_t)VIRTUAL_common_ffi__MModule__uses_ffi, /* pointer to mmodule:MModule:common_ffi#MModule#uses_ffi */
+(nitmethod_t)VIRTUAL_common_ffi__MModule__uses_ffi_61d, /* pointer to mmodule:MModule:common_ffi#MModule#uses_ffi= */
+(nitmethod_t)VIRTUAL_abstract_compiler__MModule__properties, /* pointer to mmodule:MModule:abstract_compiler#MModule#properties */
+(nitmethod_t)VIRTUAL_abstract_compiler__MModule__properties_cache, /* pointer to mmodule:MModule:abstract_compiler#MModule#properties_cache */
+(nitmethod_t)VIRTUAL_abstract_compiler__MModule__properties_cache_61d, /* pointer to mmodule:MModule:abstract_compiler#MModule#properties_cache= */
+}
+};
+/* allocate MModule */
+val* NEW_mmodule__MModule(const struct type* type) {
+val* self /* : MModule */;
+val* var /* : HashSet[MModule] */;
+val* var1 /* : HashSet[MModule] */;
+val* var2 /* : HashSet[MModule] */;
+val* var3 /* : Array[MClass] */;
+val* var4 /* : Array[MClassDef] */;
+val* var5 /* : null */;
+val* var6 /* : null */;
+val* var7 /* : null */;
+short int var8 /* : Bool */;
+val* var9 /* : HashMap[MClass, Set[MProperty]] */;
+self = nit_alloc(sizeof(struct instance) + 19*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_mmodule__MModule;
+var = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmmodule__MModule);
+((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashSet__init]))(var) /* init on <var:HashSet[MModule]>*/;
+self->attrs[COLOR_mmodule__MModule___64dintrude_mmodules].val = var; /* @intrude_mmodules on <self:MModule exact> */
+var1 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmmodule__MModule);
+((void (*)(val*))(var1->class->vft[COLOR_hash_collection__HashSet__init]))(var1) /* init on <var1:HashSet[MModule]>*/;
+self->attrs[COLOR_mmodule__MModule___64dpublic_mmodules].val = var1; /* @public_mmodules on <self:MModule exact> */
+var2 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmmodule__MModule);
+((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashSet__init]))(var2) /* init on <var2:HashSet[MModule]>*/;
+self->attrs[COLOR_mmodule__MModule___64dprivate_mmodules].val = var2; /* @private_mmodules on <self:MModule exact> */
+var3 = NEW_array__Array(&type_array__Arraymodel__MClass);
+((void (*)(val*))(var3->class->vft[COLOR_array__Array__init]))(var3) /* init on <var3:Array[MClass]>*/;
+self->attrs[COLOR_model__MModule___64dintro_mclasses].val = var3; /* @intro_mclasses on <self:MModule exact> */
+var4 = NEW_array__Array(&type_array__Arraymodel__MClassDef);
+((void (*)(val*))(var4->class->vft[COLOR_array__Array__init]))(var4) /* init on <var4:Array[MClassDef]>*/;
+self->attrs[COLOR_model__MModule___64dmclassdefs].val = var4; /* @mclassdefs on <self:MModule exact> */
+var5 = NULL;
+self->attrs[COLOR_model__MModule___64dflatten_mclass_hierarchy_cache].val = var5; /* @flatten_mclass_hierarchy_cache on <self:MModule exact> */
+var6 = NULL;
+self->attrs[COLOR_platform__MModule___64dlocal_target_platform].val = var6; /* @local_target_platform on <self:MModule exact> */
+var7 = NULL;
+self->attrs[COLOR_header_dependency__MModule___64dheader_dependencies_cache].val = var7; /* @header_dependencies_cache on <self:MModule exact> */
+var8 = 0;
+self->attrs[COLOR_common_ffi__MModule___64duses_ffi].s = var8; /* @uses_ffi on <self:MModule exact> */
+var9 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty);
+((void (*)(val*))(var9->class->vft[COLOR_hash_collection__HashMap__init]))(var9) /* init on <var9:HashMap[MClass, Set[MProperty]]>*/;
+self->attrs[COLOR_abstract_compiler__MModule___64dproperties_cache].val = var9; /* @properties_cache on <self:MModule exact> */
+return self;
+}
+/* runtime class mproject__MProject */
+const struct class class_mproject__MProject = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to mproject:MProject:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to mproject:MProject:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to mproject:MProject:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to mproject:MProject:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to mproject:MProject:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to mproject:MProject:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to mproject:MProject:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to mproject:MProject:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to mproject:MProject:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to mproject:MProject:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to mproject:MProject:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to mproject:MProject:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to mproject:MProject:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to mproject:MProject:math#Object#srand */
+(nitmethod_t)VIRTUAL_mproject__MProject__to_s, /* pointer to mproject:MProject:mproject#MProject#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to mproject:MProject:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to mproject:MProject:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to mproject:MProject:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to mproject:MProject:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to mproject:MProject:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to mproject:MProject:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to mproject:MProject:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to mproject:MProject:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to mproject:MProject:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to mproject:MProject:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to mproject:MProject:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to mproject:MProject:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to mproject:MProject:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to mproject:MProject:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to mproject:MProject:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to mproject:MProject:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to mproject:MProject:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to mproject:MProject:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to mproject:MProject:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to mproject:MProject:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to mproject:MProject:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to mproject:MProject:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to mproject:MProject:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to mproject:MProject:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to mproject:MProject:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to mproject:MProject:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to mproject:MProject:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to mproject:MProject:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to mproject:MProject:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to mproject:MProject:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to mproject:MProject:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to mproject:MProject:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to mproject:MProject:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to mproject:MProject:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to mproject:MProject:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to mproject:MProject:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_mproject__MProject__name, /* pointer to mproject:MProject:mproject#MProject#name */
+(nitmethod_t)VIRTUAL_mproject__MProject__name_61d, /* pointer to mproject:MProject:mproject#MProject#name= */
+(nitmethod_t)VIRTUAL_mproject__MProject__model, /* pointer to mproject:MProject:mproject#MProject#model */
+(nitmethod_t)VIRTUAL_mproject__MProject__model_61d, /* pointer to mproject:MProject:mproject#MProject#model= */
+(nitmethod_t)VIRTUAL_mproject__MProject__root, /* pointer to mproject:MProject:mproject#MProject#root */
+(nitmethod_t)VIRTUAL_mproject__MProject__root_61d, /* pointer to mproject:MProject:mproject#MProject#root= */
+(nitmethod_t)VIRTUAL_mproject__MProject__mgroups, /* pointer to mproject:MProject:mproject#MProject#mgroups */
+(nitmethod_t)VIRTUAL_mproject__MProject__mgroups_61d, /* pointer to mproject:MProject:mproject#MProject#mgroups= */
+(nitmethod_t)VIRTUAL_mproject__MProject__init, /* pointer to mproject:MProject:mproject#MProject#init */
+}
+};
+/* allocate MProject */
+val* NEW_mproject__MProject(const struct type* type) {
+val* self /* : MProject */;
+val* var /* : null */;
+val* var1 /* : POSet[MGroup] */;
+self = nit_alloc(sizeof(struct instance) + 4*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_mproject__MProject;
+var = NULL;
+self->attrs[COLOR_mproject__MProject___64droot].val = var; /* @root on <self:MProject exact> */
+var1 = NEW_poset__POSet(&type_poset__POSetmproject__MGroup);
+((void (*)(val*))(var1->class->vft[COLOR_poset__POSet__init]))(var1) /* init on <var1:POSet[MGroup]>*/;
+self->attrs[COLOR_mproject__MProject___64dmgroups].val = var1; /* @mgroups on <self:MProject exact> */
+return self;
 }
-var1 = self->attrs[COLOR_poset__POSetElement___64delement].val; /* @element on <self:POSetElement[Object]> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @element", "lib/poset.nit", 184);
-exit(1);
+/* runtime class mproject__MGroup */
+const struct class class_mproject__MGroup = {
+0, /* box_kind */
+{
+(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to mproject:MGroup:kernel#Object#object_id */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to mproject:MGroup:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to mproject:MGroup:kernel#Object#is_same_instance */
+(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to mproject:MGroup:kernel#Object#== */
+(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to mproject:MGroup:kernel#Object#!= */
+(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to mproject:MGroup:kernel#Object#output */
+(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to mproject:MGroup:kernel#Object#output_class_name */
+(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to mproject:MGroup:kernel#Object#exit */
+(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to mproject:MGroup:kernel#Object#sys */
+(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to mproject:MGroup:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to mproject:MGroup:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to mproject:MGroup:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to mproject:MGroup:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to mproject:MGroup:math#Object#srand */
+(nitmethod_t)VIRTUAL_mproject__MGroup__to_s, /* pointer to mproject:MGroup:mproject#MGroup#to_s */
+(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to mproject:MGroup:string#Object#native_class_name */
+(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to mproject:MGroup:string#Object#class_name */
+(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to mproject:MGroup:string#Object#inspect */
+(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to mproject:MGroup:string#Object#inspect_head */
+(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to mproject:MGroup:string#Object#args */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to mproject:MGroup:string#Object#alpha_comparator */
+(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to mproject:MGroup:stream#Object#poll */
+(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to mproject:MGroup:stream#Object#intern_poll */
+(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to mproject:MGroup:time#Object#get_time */
+(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to mproject:MGroup:file#Object#printn */
+(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to mproject:MGroup:file#Object#print */
+(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to mproject:MGroup:file#Object#getc */
+(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to mproject:MGroup:file#Object#gets */
+(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to mproject:MGroup:file#Object#getcwd */
+(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to mproject:MGroup:file#Object#file_getcwd */
+(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to mproject:MGroup:file#Object#stdin */
+(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to mproject:MGroup:file#Object#stdout */
+(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to mproject:MGroup:file#Object#stderr */
+(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to mproject:MGroup:model_base#Object#intrude_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to mproject:MGroup:model_base#Object#public_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to mproject:MGroup:model_base#Object#protected_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to mproject:MGroup:model_base#Object#private_visibility */
+(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to mproject:MGroup:model_base#Object#none_visibility */
+(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to mproject:MGroup:model#Object#abstract_kind */
+(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to mproject:MGroup:model#Object#concrete_kind */
+(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to mproject:MGroup:model#Object#interface_kind */
+(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to mproject:MGroup:model#Object#enum_kind */
+(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to mproject:MGroup:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to mproject:MGroup:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to mproject:MGroup:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to mproject:MGroup:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to mproject:MGroup:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to mproject:MGroup:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to mproject:MGroup:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to mproject:MGroup:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to mproject:MGroup:cpp#Object#from_cpp_call_context */
+(nitmethod_t)VIRTUAL_mproject__MGroup__name, /* pointer to mproject:MGroup:mproject#MGroup#name */
+(nitmethod_t)VIRTUAL_mproject__MGroup__name_61d, /* pointer to mproject:MGroup:mproject#MGroup#name= */
+(nitmethod_t)VIRTUAL_mproject__MGroup__mproject, /* pointer to mproject:MGroup:mproject#MGroup#mproject */
+(nitmethod_t)VIRTUAL_mproject__MGroup__mproject_61d, /* pointer to mproject:MGroup:mproject#MGroup#mproject= */
+(nitmethod_t)VIRTUAL_mproject__MGroup__parent, /* pointer to mproject:MGroup:mproject#MGroup#parent */
+(nitmethod_t)VIRTUAL_mproject__MGroup__parent_61d, /* pointer to mproject:MGroup:mproject#MGroup#parent= */
+(nitmethod_t)VIRTUAL_mproject__MGroup__full_name, /* pointer to mproject:MGroup:mproject#MGroup#full_name */
+(nitmethod_t)VIRTUAL_mproject__MGroup__in_nesting, /* pointer to mproject:MGroup:mproject#MGroup#in_nesting */
+(nitmethod_t)VIRTUAL_mproject__MGroup__in_nesting_61d, /* pointer to mproject:MGroup:mproject#MGroup#in_nesting= */
+(nitmethod_t)VIRTUAL_mproject__MGroup__filepath, /* pointer to mproject:MGroup:mproject#MGroup#filepath */
+(nitmethod_t)VIRTUAL_mproject__MGroup__filepath_61d, /* pointer to mproject:MGroup:mproject#MGroup#filepath= */
+(nitmethod_t)VIRTUAL_mproject__MGroup__init, /* pointer to mproject:MGroup:mproject#MGroup#init */
+(nitmethod_t)VIRTUAL_mmodule__MGroup__mmodules, /* pointer to mproject:MGroup:mmodule#MGroup#mmodules */
+(nitmethod_t)VIRTUAL_mmodule__MGroup__mmodules_61d, /* pointer to mproject:MGroup:mmodule#MGroup#mmodules= */
+(nitmethod_t)VIRTUAL_mmodule__MGroup__fuzzy_owner, /* pointer to mproject:MGroup:mmodule#MGroup#fuzzy_owner */
 }
-var2 = self->attrs[COLOR_poset__POSetElement___64dcount].l; /* @count on <self:POSetElement[Object]> */
+};
+/* allocate MGroup */
+val* NEW_mproject__MGroup(const struct type* type) {
+val* self /* : MGroup */;
+val* var /* : Array[MModule] */;
+self = nit_alloc(sizeof(struct instance) + 6*sizeof(nitattribute_t));
+self->type = type;
+self->class = &class_mproject__MGroup;
+var = NEW_array__Array(&type_array__Arraymmodule__MModule);
+((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MModule]>*/;
+self->attrs[COLOR_mmodule__MGroup___64dmmodules].val = var; /* @mmodules on <self:MGroup exact> */
+return self;
 }
 /* runtime class model_base__Model */
 const struct class class_model_base__Model = {
@@ -7503,6 +7002,7 @@ const struct class class_model_base__Model = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model_base:Model:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model_base:Model:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model_base:Model:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model_base:Model:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model_base:Model:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model_base:Model:kernel#Object#output */
@@ -7510,16 +7010,17 @@ const struct class class_model_base__Model = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model_base:Model:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model_base:Model:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model_base:Model:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model_base:Model:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model_base:Model:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model_base:Model:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model_base:Model:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to model_base:Model:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model_base:Model:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model_base:Model:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model_base:Model:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model_base:Model:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model_base:Model:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model_base:Model:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model_base:Model:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model_base:Model:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model_base:Model:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model_base:Model:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model_base:Model:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model_base:Model:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model_base:Model:time#Object#get_time */
@@ -7542,16 +7043,29 @@ const struct class class_model_base__Model = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model_base:Model:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model_base:Model:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model_base:Model:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodules, /* pointer to model_base:Model:model_base#Model#mmodules */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodules_61d, /* pointer to model_base:Model:model_base#Model#mmodules= */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodule_nesting_hierarchy, /* pointer to model_base:Model:model_base#Model#mmodule_nesting_hierarchy */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodule_nesting_hierarchy_61d, /* pointer to model_base:Model:model_base#Model#mmodule_nesting_hierarchy= */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodule_importation_hierarchy, /* pointer to model_base:Model:model_base#Model#mmodule_importation_hierarchy */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodule_importation_hierarchy_61d, /* pointer to model_base:Model:model_base#Model#mmodule_importation_hierarchy= */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodules_by_name, /* pointer to model_base:Model:model_base#Model#mmodules_by_name */
-(nitmethod_t)VIRTUAL_model_base__Model__mmodules_by_name_61d, /* pointer to model_base:Model:model_base#Model#mmodules_by_name= */
-(nitmethod_t)VIRTUAL_model_base__Model__get_mmodules_by_name, /* pointer to model_base:Model:model_base#Model#get_mmodules_by_name */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model_base:Model:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model_base:Model:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model_base:Model:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model_base:Model:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model_base:Model:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model_base:Model:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model_base:Model:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model_base:Model:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model_base__Model__init, /* pointer to model_base:Model:model_base#Model#init */
+(nitmethod_t)VIRTUAL_mproject__Model__mprojects, /* pointer to model_base:Model:mproject#Model#mprojects */
+(nitmethod_t)VIRTUAL_mproject__Model__mprojects_61d, /* pointer to model_base:Model:mproject#Model#mprojects= */
+(nitmethod_t)VIRTUAL_mproject__Model__mproject_by_name, /* pointer to model_base:Model:mproject#Model#mproject_by_name */
+(nitmethod_t)VIRTUAL_mproject__Model__mproject_by_name_61d, /* pointer to model_base:Model:mproject#Model#mproject_by_name= */
+(nitmethod_t)VIRTUAL_mproject__Model__get_mprojects_by_name, /* pointer to model_base:Model:mproject#Model#get_mprojects_by_name */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodules, /* pointer to model_base:Model:mmodule#Model#mmodules */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodules_61d, /* pointer to model_base:Model:mmodule#Model#mmodules= */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodule_nesting_hierarchy, /* pointer to model_base:Model:mmodule#Model#mmodule_nesting_hierarchy */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodule_nesting_hierarchy_61d, /* pointer to model_base:Model:mmodule#Model#mmodule_nesting_hierarchy= */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodule_importation_hierarchy, /* pointer to model_base:Model:mmodule#Model#mmodule_importation_hierarchy */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodule_importation_hierarchy_61d, /* pointer to model_base:Model:mmodule#Model#mmodule_importation_hierarchy= */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodules_by_name, /* pointer to model_base:Model:mmodule#Model#mmodules_by_name */
+(nitmethod_t)VIRTUAL_mmodule__Model__mmodules_by_name_61d, /* pointer to model_base:Model:mmodule#Model#mmodules_by_name= */
+(nitmethod_t)VIRTUAL_mmodule__Model__get_mmodules_by_name, /* pointer to model_base:Model:mmodule#Model#get_mmodules_by_name */
 (nitmethod_t)VIRTUAL_model__Model__mclasses, /* pointer to model_base:Model:model#Model#mclasses */
 (nitmethod_t)VIRTUAL_model__Model__mclasses_61d, /* pointer to model_base:Model:model#Model#mclasses= */
 (nitmethod_t)VIRTUAL_model__Model__mproperties, /* pointer to model_base:Model:model#Model#mproperties */
@@ -7575,255 +7089,74 @@ const struct class class_model_base__Model = {
 /* allocate Model */
 val* NEW_model_base__Model(const struct type* type) {
 val* self /* : Model */;
-val* var /* : Array[MModule] */;
-val* var1 /* : POSet[MModule] */;
-val* var2 /* : POSet[MModule] */;
-val* var3 /* : MultiHashMap[String, MModule] */;
-val* var4 /* : Array[MClass] */;
-val* var5 /* : Array[MProperty] */;
-val* var6 /* : POSet[MClassDef] */;
-val* var7 /* : POSet[MClassType] */;
-val* var8 /* : POSet[MClassType] */;
-val* var9 /* : MultiHashMap[String, MClass] */;
-val* var10 /* : MultiHashMap[String, MProperty] */;
-val* var11 /* : MNullType */;
-self = nit_alloc(sizeof(struct instance) + 12*sizeof(nitattribute_t));
+val* var /* : Array[MProject] */;
+val* var1 /* : MultiHashMap[String, MProject] */;
+val* var2 /* : Array[MModule] */;
+val* var3 /* : POSet[MModule] */;
+val* var4 /* : POSet[MModule] */;
+val* var5 /* : MultiHashMap[String, MModule] */;
+val* var6 /* : Array[MClass] */;
+val* var7 /* : Array[MProperty] */;
+val* var8 /* : POSet[MClassDef] */;
+val* var9 /* : POSet[MClassType] */;
+val* var10 /* : POSet[MClassType] */;
+val* var11 /* : MultiHashMap[String, MClass] */;
+val* var12 /* : MultiHashMap[String, MProperty] */;
+val* var13 /* : MNullType */;
+self = nit_alloc(sizeof(struct instance) + 14*sizeof(nitattribute_t));
 self->type = type;
 self->class = &class_model_base__Model;
-var = NEW_array__Array(&type_array__Arraymodel_base__MModule);
-((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MModule]>*/;
-CHECK_NEW_array__Array(var);
-self->attrs[COLOR_model_base__Model___64dmmodules].val = var; /* @mmodules on <self:Model exact> */
-var1 = NEW_poset__POSet(&type_poset__POSetmodel_base__MModule);
-((void (*)(val*))(var1->class->vft[COLOR_poset__POSet__init]))(var1) /* init on <var1:POSet[MModule]>*/;
-CHECK_NEW_poset__POSet(var1);
-self->attrs[COLOR_model_base__Model___64dmmodule_nesting_hierarchy].val = var1; /* @mmodule_nesting_hierarchy on <self:Model exact> */
-var2 = NEW_poset__POSet(&type_poset__POSetmodel_base__MModule);
-((void (*)(val*))(var2->class->vft[COLOR_poset__POSet__init]))(var2) /* init on <var2:POSet[MModule]>*/;
-CHECK_NEW_poset__POSet(var2);
-self->attrs[COLOR_model_base__Model___64dmmodule_importation_hierarchy].val = var2; /* @mmodule_importation_hierarchy on <self:Model exact> */
-var3 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMapstring__Stringmodel_base__MModule);
-((void (*)(val*))(var3->class->vft[COLOR_more_collections__MultiHashMap__init]))(var3) /* init on <var3:MultiHashMap[String, MModule]>*/;
-CHECK_NEW_more_collections__MultiHashMap(var3);
-self->attrs[COLOR_model_base__Model___64dmmodules_by_name].val = var3; /* @mmodules_by_name on <self:Model exact> */
-var4 = NEW_array__Array(&type_array__Arraymodel__MClass);
-((void (*)(val*))(var4->class->vft[COLOR_array__Array__init]))(var4) /* init on <var4:Array[MClass]>*/;
-CHECK_NEW_array__Array(var4);
-self->attrs[COLOR_model__Model___64dmclasses].val = var4; /* @mclasses on <self:Model exact> */
-var5 = NEW_array__Array(&type_array__Arraymodel__MProperty);
-((void (*)(val*))(var5->class->vft[COLOR_array__Array__init]))(var5) /* init on <var5:Array[MProperty]>*/;
-CHECK_NEW_array__Array(var5);
-self->attrs[COLOR_model__Model___64dmproperties].val = var5; /* @mproperties on <self:Model exact> */
-var6 = NEW_poset__POSet(&type_poset__POSetmodel__MClassDef);
-((void (*)(val*))(var6->class->vft[COLOR_poset__POSet__init]))(var6) /* init on <var6:POSet[MClassDef]>*/;
-CHECK_NEW_poset__POSet(var6);
-self->attrs[COLOR_model__Model___64dmclassdef_hierarchy].val = var6; /* @mclassdef_hierarchy on <self:Model exact> */
-var7 = NEW_poset__POSet(&type_poset__POSetmodel__MClassType);
-((void (*)(val*))(var7->class->vft[COLOR_poset__POSet__init]))(var7) /* init on <var7:POSet[MClassType]>*/;
-CHECK_NEW_poset__POSet(var7);
-self->attrs[COLOR_model__Model___64dintro_mtype_specialization_hierarchy].val = var7; /* @intro_mtype_specialization_hierarchy on <self:Model exact> */
-var8 = NEW_poset__POSet(&type_poset__POSetmodel__MClassType);
-((void (*)(val*))(var8->class->vft[COLOR_poset__POSet__init]))(var8) /* init on <var8:POSet[MClassType]>*/;
-CHECK_NEW_poset__POSet(var8);
-self->attrs[COLOR_model__Model___64dfull_mtype_specialization_hierarchy].val = var8; /* @full_mtype_specialization_hierarchy on <self:Model exact> */
-var9 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMapstring__Stringmodel__MClass);
-((void (*)(val*))(var9->class->vft[COLOR_more_collections__MultiHashMap__init]))(var9) /* init on <var9:MultiHashMap[String, MClass]>*/;
-CHECK_NEW_more_collections__MultiHashMap(var9);
-self->attrs[COLOR_model__Model___64dmclasses_by_name].val = var9; /* @mclasses_by_name on <self:Model exact> */
-var10 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMapstring__Stringmodel__MProperty);
-((void (*)(val*))(var10->class->vft[COLOR_more_collections__MultiHashMap__init]))(var10) /* init on <var10:MultiHashMap[String, MProperty]>*/;
-CHECK_NEW_more_collections__MultiHashMap(var10);
-self->attrs[COLOR_model__Model___64dmproperties_by_name].val = var10; /* @mproperties_by_name on <self:Model exact> */
-var11 = NEW_model__MNullType(&type_model__MNullType);
-((void (*)(val*, val*))(var11->class->vft[COLOR_model__MNullType__init]))(var11, self) /* init on <var11:MNullType>*/;
-CHECK_NEW_model__MNullType(var11);
-self->attrs[COLOR_model__Model___64dnull_type].val = var11; /* @null_type on <self:Model exact> */
-return self;
-}
-/* allocate Model */
-void CHECK_NEW_model_base__Model(val* self) {
-}
-/* runtime class model_base__MModule */
-const struct class class_model_base__MModule = {
-0, /* box_kind */
-{
-(nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model_base:MModule:kernel#Object#object_id */
-(nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model_base:MModule:kernel#Object#is_same_type */
-(nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model_base:MModule:kernel#Object#== */
-(nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model_base:MModule:kernel#Object#!= */
-(nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model_base:MModule:kernel#Object#output */
-(nitmethod_t)VIRTUAL_kernel__Object__output_class_name, /* pointer to model_base:MModule:kernel#Object#output_class_name */
-(nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model_base:MModule:kernel#Object#exit */
-(nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model_base:MModule:kernel#Object#sys */
-(nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model_base:MModule:kernel#Object#hash */
-(nitmethod_t)VIRTUAL_model_base__MModule__to_s, /* pointer to model_base:MModule:model_base#MModule#to_s */
-(nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model_base:MModule:string#Object#native_class_name */
-(nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model_base:MModule:string#Object#class_name */
-(nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model_base:MModule:string#Object#inspect */
-(nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model_base:MModule:string#Object#inspect_head */
-(nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model_base:MModule:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model_base:MModule:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model_base:MModule:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model_base:MModule:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model_base:MModule:math#Object#srand */
-(nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model_base:MModule:stream#Object#poll */
-(nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model_base:MModule:stream#Object#intern_poll */
-(nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model_base:MModule:time#Object#get_time */
-(nitmethod_t)VIRTUAL_file__Object__printn, /* pointer to model_base:MModule:file#Object#printn */
-(nitmethod_t)VIRTUAL_file__Object__print, /* pointer to model_base:MModule:file#Object#print */
-(nitmethod_t)VIRTUAL_file__Object__getc, /* pointer to model_base:MModule:file#Object#getc */
-(nitmethod_t)VIRTUAL_file__Object__gets, /* pointer to model_base:MModule:file#Object#gets */
-(nitmethod_t)VIRTUAL_file__Object__getcwd, /* pointer to model_base:MModule:file#Object#getcwd */
-(nitmethod_t)VIRTUAL_file__Object__file_getcwd, /* pointer to model_base:MModule:file#Object#file_getcwd */
-(nitmethod_t)VIRTUAL_file__Object__stdin, /* pointer to model_base:MModule:file#Object#stdin */
-(nitmethod_t)VIRTUAL_file__Object__stdout, /* pointer to model_base:MModule:file#Object#stdout */
-(nitmethod_t)VIRTUAL_file__Object__stderr, /* pointer to model_base:MModule:file#Object#stderr */
-(nitmethod_t)VIRTUAL_model_base__Object__intrude_visibility, /* pointer to model_base:MModule:model_base#Object#intrude_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__public_visibility, /* pointer to model_base:MModule:model_base#Object#public_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__protected_visibility, /* pointer to model_base:MModule:model_base#Object#protected_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__private_visibility, /* pointer to model_base:MModule:model_base#Object#private_visibility */
-(nitmethod_t)VIRTUAL_model_base__Object__none_visibility, /* pointer to model_base:MModule:model_base#Object#none_visibility */
-(nitmethod_t)VIRTUAL_model__Object__abstract_kind, /* pointer to model_base:MModule:model#Object#abstract_kind */
-(nitmethod_t)VIRTUAL_model__Object__concrete_kind, /* pointer to model_base:MModule:model#Object#concrete_kind */
-(nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model_base:MModule:model#Object#interface_kind */
-(nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model_base:MModule:model#Object#enum_kind */
-(nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model_base:MModule:model#Object#extern_kind */
-(nitmethod_t)VIRTUAL_model_base__MModule__model, /* pointer to model_base:MModule:model_base#MModule#model */
-(nitmethod_t)VIRTUAL_model_base__MModule__model_61d, /* pointer to model_base:MModule:model_base#MModule#model= */
-(nitmethod_t)VIRTUAL_model_base__MModule__direct_owner, /* pointer to model_base:MModule:model_base#MModule#direct_owner */
-(nitmethod_t)VIRTUAL_model_base__MModule__direct_owner_61d, /* pointer to model_base:MModule:model_base#MModule#direct_owner= */
-(nitmethod_t)VIRTUAL_model_base__MModule__name, /* pointer to model_base:MModule:model_base#MModule#name */
-(nitmethod_t)VIRTUAL_model_base__MModule__name_61d, /* pointer to model_base:MModule:model_base#MModule#name= */
-(nitmethod_t)VIRTUAL_model_base__MModule__location, /* pointer to model_base:MModule:model_base#MModule#location */
-(nitmethod_t)VIRTUAL_model_base__MModule__location_61d, /* pointer to model_base:MModule:model_base#MModule#location= */
-(nitmethod_t)VIRTUAL_model_base__MModule__in_nesting, /* pointer to model_base:MModule:model_base#MModule#in_nesting */
-(nitmethod_t)VIRTUAL_model_base__MModule__in_nesting_61d, /* pointer to model_base:MModule:model_base#MModule#in_nesting= */
-(nitmethod_t)VIRTUAL_model_base__MModule__in_importation, /* pointer to model_base:MModule:model_base#MModule#in_importation */
-(nitmethod_t)VIRTUAL_model_base__MModule__in_importation_61d, /* pointer to model_base:MModule:model_base#MModule#in_importation= */
-(nitmethod_t)VIRTUAL_model_base__MModule__full_name, /* pointer to model_base:MModule:model_base#MModule#full_name */
-(nitmethod_t)VIRTUAL_model_base__MModule__init, /* pointer to model_base:MModule:model_base#MModule#init */
-(nitmethod_t)VIRTUAL_model_base__MModule__set_imported_mmodules, /* pointer to model_base:MModule:model_base#MModule#set_imported_mmodules */
-(nitmethod_t)VIRTUAL_model_base__MModule__intrude_mmodules, /* pointer to model_base:MModule:model_base#MModule#intrude_mmodules */
-(nitmethod_t)VIRTUAL_model_base__MModule__intrude_mmodules_61d, /* pointer to model_base:MModule:model_base#MModule#intrude_mmodules= */
-(nitmethod_t)VIRTUAL_model_base__MModule__public_mmodules, /* pointer to model_base:MModule:model_base#MModule#public_mmodules */
-(nitmethod_t)VIRTUAL_model_base__MModule__public_mmodules_61d, /* pointer to model_base:MModule:model_base#MModule#public_mmodules= */
-(nitmethod_t)VIRTUAL_model_base__MModule__private_mmodules, /* pointer to model_base:MModule:model_base#MModule#private_mmodules */
-(nitmethod_t)VIRTUAL_model_base__MModule__private_mmodules_61d, /* pointer to model_base:MModule:model_base#MModule#private_mmodules= */
-(nitmethod_t)VIRTUAL_model_base__MModule__visibility_for, /* pointer to model_base:MModule:model_base#MModule#visibility_for */
-(nitmethod_t)VIRTUAL_model_base__MModule__set_visibility_for, /* pointer to model_base:MModule:model_base#MModule#set_visibility_for */
-(nitmethod_t)VIRTUAL_model_base__MModule__public_owner, /* pointer to model_base:MModule:model_base#MModule#public_owner */
-(nitmethod_t)VIRTUAL_model_base__MModule__is_visible, /* pointer to model_base:MModule:model_base#MModule#is_visible */
-(nitmethod_t)VIRTUAL_model__MModule__intro_mclasses, /* pointer to model_base:MModule:model#MModule#intro_mclasses */
-(nitmethod_t)VIRTUAL_model__MModule__intro_mclasses_61d, /* pointer to model_base:MModule:model#MModule#intro_mclasses= */
-(nitmethod_t)VIRTUAL_model__MModule__mclassdefs, /* pointer to model_base:MModule:model#MModule#mclassdefs */
-(nitmethod_t)VIRTUAL_model__MModule__mclassdefs_61d, /* pointer to model_base:MModule:model#MModule#mclassdefs= */
-(nitmethod_t)VIRTUAL_model__MModule__has_mclass, /* pointer to model_base:MModule:model#MModule#has_mclass */
-(nitmethod_t)VIRTUAL_model__MModule__flatten_mclass_hierarchy, /* pointer to model_base:MModule:model#MModule#flatten_mclass_hierarchy */
-(nitmethod_t)VIRTUAL_model__MModule__linearize_mclasses, /* pointer to model_base:MModule:model#MModule#linearize_mclasses */
-(nitmethod_t)VIRTUAL_model__MModule__linearize_mclassdefs, /* pointer to model_base:MModule:model#MModule#linearize_mclassdefs */
-(nitmethod_t)VIRTUAL_model__MModule__linearize_mpropdefs, /* pointer to model_base:MModule:model#MModule#linearize_mpropdefs */
-(nitmethod_t)VIRTUAL_model__MModule__flatten_mclass_hierarchy_cache, /* pointer to model_base:MModule:model#MModule#flatten_mclass_hierarchy_cache */
-(nitmethod_t)VIRTUAL_model__MModule__flatten_mclass_hierarchy_cache_61d, /* pointer to model_base:MModule:model#MModule#flatten_mclass_hierarchy_cache= */
-(nitmethod_t)VIRTUAL_model__MModule__object_type, /* pointer to model_base:MModule:model#MModule#object_type */
-(nitmethod_t)VIRTUAL_model__MModule__object_type_cache, /* pointer to model_base:MModule:model#MModule#object_type_cache */
-(nitmethod_t)VIRTUAL_model__MModule__object_type_cache_61d, /* pointer to model_base:MModule:model#MModule#object_type_cache= */
-(nitmethod_t)VIRTUAL_model__MModule__bool_type, /* pointer to model_base:MModule:model#MModule#bool_type */
-(nitmethod_t)VIRTUAL_model__MModule__bool_type_cache, /* pointer to model_base:MModule:model#MModule#bool_type_cache */
-(nitmethod_t)VIRTUAL_model__MModule__bool_type_cache_61d, /* pointer to model_base:MModule:model#MModule#bool_type_cache= */
-(nitmethod_t)VIRTUAL_model__MModule__sys_type, /* pointer to model_base:MModule:model#MModule#sys_type */
-(nitmethod_t)VIRTUAL_model__MModule__get_primitive_class, /* pointer to model_base:MModule:model#MModule#get_primitive_class */
-(nitmethod_t)VIRTUAL_model__MModule__try_get_primitive_method, /* pointer to model_base:MModule:model#MModule#try_get_primitive_method */
-(nitmethod_t)VIRTUAL_abstract_compiler__MModule__properties, /* pointer to model_base:MModule:abstract_compiler#MModule#properties */
-(nitmethod_t)VIRTUAL_abstract_compiler__MModule__properties_cache, /* pointer to model_base:MModule:abstract_compiler#MModule#properties_cache */
-(nitmethod_t)VIRTUAL_abstract_compiler__MModule__properties_cache_61d, /* pointer to model_base:MModule:abstract_compiler#MModule#properties_cache= */
-}
-};
-/* allocate MModule */
-val* NEW_model_base__MModule(const struct type* type) {
-val* self /* : MModule */;
-val* var /* : HashSet[MModule] */;
-val* var1 /* : HashSet[MModule] */;
-val* var2 /* : HashSet[MModule] */;
-val* var3 /* : Array[MClass] */;
-val* var4 /* : Array[MClassDef] */;
-val* var5 /* : null */;
-val* var6 /* : HashMap[MClass, Set[MProperty]] */;
-self = nit_alloc(sizeof(struct instance) + 15*sizeof(nitattribute_t));
-self->type = type;
-self->class = &class_model_base__MModule;
-var = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel_base__MModule);
-((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashSet__init]))(var) /* init on <var:HashSet[MModule]>*/;
-CHECK_NEW_hash_collection__HashSet(var);
-self->attrs[COLOR_model_base__MModule___64dintrude_mmodules].val = var; /* @intrude_mmodules on <self:MModule exact> */
-var1 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel_base__MModule);
-((void (*)(val*))(var1->class->vft[COLOR_hash_collection__HashSet__init]))(var1) /* init on <var1:HashSet[MModule]>*/;
-CHECK_NEW_hash_collection__HashSet(var1);
-self->attrs[COLOR_model_base__MModule___64dpublic_mmodules].val = var1; /* @public_mmodules on <self:MModule exact> */
-var2 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel_base__MModule);
-((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashSet__init]))(var2) /* init on <var2:HashSet[MModule]>*/;
-CHECK_NEW_hash_collection__HashSet(var2);
-self->attrs[COLOR_model_base__MModule___64dprivate_mmodules].val = var2; /* @private_mmodules on <self:MModule exact> */
-var3 = NEW_array__Array(&type_array__Arraymodel__MClass);
-((void (*)(val*))(var3->class->vft[COLOR_array__Array__init]))(var3) /* init on <var3:Array[MClass]>*/;
-CHECK_NEW_array__Array(var3);
-self->attrs[COLOR_model__MModule___64dintro_mclasses].val = var3; /* @intro_mclasses on <self:MModule exact> */
-var4 = NEW_array__Array(&type_array__Arraymodel__MClassDef);
-((void (*)(val*))(var4->class->vft[COLOR_array__Array__init]))(var4) /* init on <var4:Array[MClassDef]>*/;
-CHECK_NEW_array__Array(var4);
-self->attrs[COLOR_model__MModule___64dmclassdefs].val = var4; /* @mclassdefs on <self:MModule exact> */
-var5 = NULL;
-self->attrs[COLOR_model__MModule___64dflatten_mclass_hierarchy_cache].val = var5; /* @flatten_mclass_hierarchy_cache on <self:MModule exact> */
-var6 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty);
-((void (*)(val*))(var6->class->vft[COLOR_hash_collection__HashMap__init]))(var6) /* init on <var6:HashMap[MClass, Set[MProperty]]>*/;
-CHECK_NEW_hash_collection__HashMap(var6);
-self->attrs[COLOR_abstract_compiler__MModule___64dproperties_cache].val = var6; /* @properties_cache on <self:MModule exact> */
+var = NEW_array__Array(&type_array__Arraymproject__MProject);
+((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on <var:Array[MProject]>*/;
+self->attrs[COLOR_mproject__Model___64dmprojects].val = var; /* @mprojects on <self:Model exact> */
+var1 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMapstring__Stringmproject__MProject);
+((void (*)(val*))(var1->class->vft[COLOR_more_collections__MultiHashMap__init]))(var1) /* init on <var1:MultiHashMap[String, MProject]>*/;
+self->attrs[COLOR_mproject__Model___64dmproject_by_name].val = var1; /* @mproject_by_name on <self:Model exact> */
+var2 = NEW_array__Array(&type_array__Arraymmodule__MModule);
+((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on <var2:Array[MModule]>*/;
+self->attrs[COLOR_mmodule__Model___64dmmodules].val = var2; /* @mmodules on <self:Model exact> */
+var3 = NEW_poset__POSet(&type_poset__POSetmmodule__MModule);
+((void (*)(val*))(var3->class->vft[COLOR_poset__POSet__init]))(var3) /* init on <var3:POSet[MModule]>*/;
+self->attrs[COLOR_mmodule__Model___64dmmodule_nesting_hierarchy].val = var3; /* @mmodule_nesting_hierarchy on <self:Model exact> */
+var4 = NEW_poset__POSet(&type_poset__POSetmmodule__MModule);
+((void (*)(val*))(var4->class->vft[COLOR_poset__POSet__init]))(var4) /* init on <var4:POSet[MModule]>*/;
+self->attrs[COLOR_mmodule__Model___64dmmodule_importation_hierarchy].val = var4; /* @mmodule_importation_hierarchy on <self:Model exact> */
+var5 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMapstring__Stringmmodule__MModule);
+((void (*)(val*))(var5->class->vft[COLOR_more_collections__MultiHashMap__init]))(var5) /* init on <var5:MultiHashMap[String, MModule]>*/;
+self->attrs[COLOR_mmodule__Model___64dmmodules_by_name].val = var5; /* @mmodules_by_name on <self:Model exact> */
+var6 = NEW_array__Array(&type_array__Arraymodel__MClass);
+((void (*)(val*))(var6->class->vft[COLOR_array__Array__init]))(var6) /* init on <var6:Array[MClass]>*/;
+self->attrs[COLOR_model__Model___64dmclasses].val = var6; /* @mclasses on <self:Model exact> */
+var7 = NEW_array__Array(&type_array__Arraymodel__MProperty);
+((void (*)(val*))(var7->class->vft[COLOR_array__Array__init]))(var7) /* init on <var7:Array[MProperty]>*/;
+self->attrs[COLOR_model__Model___64dmproperties].val = var7; /* @mproperties on <self:Model exact> */
+var8 = NEW_poset__POSet(&type_poset__POSetmodel__MClassDef);
+((void (*)(val*))(var8->class->vft[COLOR_poset__POSet__init]))(var8) /* init on <var8:POSet[MClassDef]>*/;
+self->attrs[COLOR_model__Model___64dmclassdef_hierarchy].val = var8; /* @mclassdef_hierarchy on <self:Model exact> */
+var9 = NEW_poset__POSet(&type_poset__POSetmodel__MClassType);
+((void (*)(val*))(var9->class->vft[COLOR_poset__POSet__init]))(var9) /* init on <var9:POSet[MClassType]>*/;
+self->attrs[COLOR_model__Model___64dintro_mtype_specialization_hierarchy].val = var9; /* @intro_mtype_specialization_hierarchy on <self:Model exact> */
+var10 = NEW_poset__POSet(&type_poset__POSetmodel__MClassType);
+((void (*)(val*))(var10->class->vft[COLOR_poset__POSet__init]))(var10) /* init on <var10:POSet[MClassType]>*/;
+self->attrs[COLOR_model__Model___64dfull_mtype_specialization_hierarchy].val = var10; /* @full_mtype_specialization_hierarchy on <self:Model exact> */
+var11 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMapstring__Stringmodel__MClass);
+((void (*)(val*))(var11->class->vft[COLOR_more_collections__MultiHashMap__init]))(var11) /* init on <var11:MultiHashMap[String, MClass]>*/;
+self->attrs[COLOR_model__Model___64dmclasses_by_name].val = var11; /* @mclasses_by_name on <self:Model exact> */
+var12 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMapstring__Stringmodel__MProperty);
+((void (*)(val*))(var12->class->vft[COLOR_more_collections__MultiHashMap__init]))(var12) /* init on <var12:MultiHashMap[String, MProperty]>*/;
+self->attrs[COLOR_model__Model___64dmproperties_by_name].val = var12; /* @mproperties_by_name on <self:Model exact> */
+var13 = NEW_model__MNullType(&type_model__MNullType);
+((void (*)(val*, val*))(var13->class->vft[COLOR_model__MNullType__init]))(var13, self) /* init on <var13:MNullType>*/;
+self->attrs[COLOR_model__Model___64dnull_type].val = var13; /* @null_type on <self:Model exact> */
 return self;
 }
-/* allocate MModule */
-void CHECK_NEW_model_base__MModule(val* self) {
-val* var /* : Model */;
-val* var1 /* : nullable MModule */;
-val* var2 /* : String */;
-val* var3 /* : Location */;
-val* var4 /* : POSetElement[MModule] */;
-val* var5 /* : POSetElement[MModule] */;
-val* var6 /* : nullable MClassType */;
-val* var7 /* : nullable MClassType */;
-var = self->attrs[COLOR_model_base__MModule___64dmodel].val; /* @model on <self:MModule> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @model", "src/model/model_base.nit", 56);
-exit(1);
-}
-var1 = self->attrs[COLOR_model_base__MModule___64ddirect_owner].val; /* @direct_owner on <self:MModule> */
-var2 = self->attrs[COLOR_model_base__MModule___64dname].val; /* @name on <self:MModule> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/model/model_base.nit", 62);
-exit(1);
-}
-var3 = self->attrs[COLOR_model_base__MModule___64dlocation].val; /* @location on <self:MModule> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @location", "src/model/model_base.nit", 65);
-exit(1);
-}
-var4 = self->attrs[COLOR_model_base__MModule___64din_nesting].val; /* @in_nesting on <self:MModule> */
-if (var4 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @in_nesting", "src/model/model_base.nit", 71);
-exit(1);
-}
-var5 = self->attrs[COLOR_model_base__MModule___64din_importation].val; /* @in_importation on <self:MModule> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @in_importation", "src/model/model_base.nit", 74);
-exit(1);
-}
-var6 = self->attrs[COLOR_model__MModule___64dobject_type_cache].val; /* @object_type_cache on <self:MModule> */
-var7 = self->attrs[COLOR_model__MModule___64dbool_type_cache].val; /* @bool_type_cache on <self:MModule> */
-}
 /* runtime class model_base__MVisibility */
 const struct class class_model_base__MVisibility = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to model_base:MVisibility:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to model_base:MVisibility:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to model_base:MVisibility:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to model_base:MVisibility:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to model_base:MVisibility:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to model_base:MVisibility:kernel#Object#output */
@@ -7831,16 +7164,17 @@ const struct class class_model_base__MVisibility = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to model_base:MVisibility:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to model_base:MVisibility:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to model_base:MVisibility:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model_base:MVisibility:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model_base:MVisibility:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model_base:MVisibility:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model_base:MVisibility:math#Object#srand */
 (nitmethod_t)VIRTUAL_model_base__MVisibility__to_s, /* pointer to model_base:MVisibility:model_base#MVisibility#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to model_base:MVisibility:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to model_base:MVisibility:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to model_base:MVisibility:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to model_base:MVisibility:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to model_base:MVisibility:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to model_base:MVisibility:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to model_base:MVisibility:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to model_base:MVisibility:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to model_base:MVisibility:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to model_base:MVisibility:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to model_base:MVisibility:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to model_base:MVisibility:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to model_base:MVisibility:time#Object#get_time */
@@ -7863,6 +7197,14 @@ const struct class class_model_base__MVisibility = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to model_base:MVisibility:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to model_base:MVisibility:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to model_base:MVisibility:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to model_base:MVisibility:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to model_base:MVisibility:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to model_base:MVisibility:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to model_base:MVisibility:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to model_base:MVisibility:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to model_base:MVisibility:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to model_base:MVisibility:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to model_base:MVisibility:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_model_base__MVisibility___60d, /* pointer to model_base:MVisibility:model_base#MVisibility#< */
 (nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d, /* pointer to model_base:MVisibility:kernel#Comparable#<= */
 (nitmethod_t)VIRTUAL_kernel__Comparable___62d_61d, /* pointer to model_base:MVisibility:kernel#Comparable#>= */
@@ -7885,23 +7227,13 @@ self->type = type;
 self->class = &class_model_base__MVisibility;
 return self;
 }
-/* allocate MVisibility */
-void CHECK_NEW_model_base__MVisibility(val* self) {
-val* var /* : String */;
-long var1 /* : Int */;
-var = self->attrs[COLOR_model_base__MVisibility___64dto_s].val; /* @to_s on <self:MVisibility> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @to_s", "src/model/model_base.nit", 200);
-exit(1);
-}
-var1 = self->attrs[COLOR_model_base__MVisibility___64dlevel].l; /* @level on <self:MVisibility> */
-}
 /* runtime class more_collections__MultiHashMap */
 const struct class class_more_collections__MultiHashMap = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to more_collections:MultiHashMap:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to more_collections:MultiHashMap:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to more_collections:MultiHashMap:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to more_collections:MultiHashMap:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to more_collections:MultiHashMap:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to more_collections:MultiHashMap:kernel#Object#output */
@@ -7909,16 +7241,17 @@ const struct class class_more_collections__MultiHashMap = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to more_collections:MultiHashMap:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to more_collections:MultiHashMap:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to more_collections:MultiHashMap:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to more_collections:MultiHashMap:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to more_collections:MultiHashMap:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to more_collections:MultiHashMap:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to more_collections:MultiHashMap:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to more_collections:MultiHashMap:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to more_collections:MultiHashMap:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to more_collections:MultiHashMap:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to more_collections:MultiHashMap:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to more_collections:MultiHashMap:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to more_collections:MultiHashMap:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to more_collections:MultiHashMap:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to more_collections:MultiHashMap:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to more_collections:MultiHashMap:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to more_collections:MultiHashMap:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to more_collections:MultiHashMap:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to more_collections:MultiHashMap:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to more_collections:MultiHashMap:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to more_collections:MultiHashMap:time#Object#get_time */
@@ -7941,15 +7274,24 @@ const struct class class_more_collections__MultiHashMap = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to more_collections:MultiHashMap:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to more_collections:MultiHashMap:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to more_collections:MultiHashMap:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to more_collections:MultiHashMap:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to more_collections:MultiHashMap:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to more_collections:MultiHashMap:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to more_collections:MultiHashMap:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to more_collections:MultiHashMap:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to more_collections:MultiHashMap:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to more_collections:MultiHashMap:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to more_collections:MultiHashMap:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap___91d_93d, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#[] */
+(nitmethod_t)VIRTUAL_abstract_collection__MapRead__get_or_null, /* pointer to more_collections:MultiHashMap:abstract_collection#MapRead#get_or_null */
 (nitmethod_t)VIRTUAL_abstract_collection__MapRead__get_or_default, /* pointer to more_collections:MultiHashMap:abstract_collection#MapRead#get_or_default */
 (nitmethod_t)VIRTUAL_abstract_collection__MapRead__has_key, /* pointer to more_collections:MultiHashMap:abstract_collection#MapRead#has_key */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__iterator, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#iterator */
-(nitmethod_t)VIRTUAL_hash_collection__HashMap__iterate, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#iterate */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__values, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#values */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__keys, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#keys */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__is_empty, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#is_empty */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__length, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#length */
+(nitmethod_t)VIRTUAL_more_collections__MultiHashMap__provide_default_value, /* pointer to more_collections:MultiHashMap:more_collections#MultiHashMap#provide_default_value */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap___91d_93d_61d, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#[]= */
 (nitmethod_t)VIRTUAL_abstract_collection__Map__recover_with, /* pointer to more_collections:MultiHashMap:abstract_collection#Map#recover_with */
 (nitmethod_t)VIRTUAL_hash_collection__HashMap__clear, /* pointer to more_collections:MultiHashMap:hash_collection#HashMap#clear */
@@ -7996,9 +7338,6 @@ NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
 (nitmethod_t)VIRTUAL_array__ArrayCapable__calloc_array, /* pointer to more_collections:MultiHashMap:array#ArrayCapable#calloc_array */
 (nitmethod_t)VIRTUAL_hash_collection__HashCollection__first_item, /* pointer to more_collections:MultiHashMap:hash_collection#HashCollection#first_item */
 (nitmethod_t)VIRTUAL_hash_collection__HashCollection__index_at, /* pointer to more_collections:MultiHashMap:hash_collection#HashCollection#index_at */
@@ -8047,23 +7386,19 @@ var6 = NULL;
 self->attrs[COLOR_hash_collection__HashCollection___last_accessed_node].val = var6; /* _last_accessed_node on <self:MultiHashMap[Object, nullable Object] exact> */
 var7 = NEW_hash_collection__HashMapKeys(self->type->resolution_table->types[COLOR_hash_collection__HashMapKeyshash_collection__HashMap_FT0hash_collection__HashMap_FT1]);
 ((void (*)(val*, val*))(var7->class->vft[COLOR_hash_collection__HashMapKeys__init]))(var7, self) /* init on <var7:HashMapKeys[Object, Array[nullable Object]]>*/;
-CHECK_NEW_hash_collection__HashMapKeys(var7);
 self->attrs[COLOR_hash_collection__HashMap___64dkeys].val = var7; /* @keys on <self:MultiHashMap[Object, nullable Object] exact> */
 var8 = NEW_hash_collection__HashMapValues(self->type->resolution_table->types[COLOR_hash_collection__HashMapValueshash_collection__HashMap_FT0hash_collection__HashMap_FT1]);
 ((void (*)(val*, val*))(var8->class->vft[COLOR_hash_collection__HashMapValues__init]))(var8, self) /* init on <var8:HashMapValues[Object, Array[nullable Object]]>*/;
-CHECK_NEW_hash_collection__HashMapValues(var8);
 self->attrs[COLOR_hash_collection__HashMap___64dvalues].val = var8; /* @values on <self:MultiHashMap[Object, nullable Object] exact> */
 return self;
 }
-/* allocate MultiHashMap[Object, nullable Object] */
-void CHECK_NEW_more_collections__MultiHashMap(val* self) {
-}
 /* runtime class more_collections__HashMap2 */
 const struct class class_more_collections__HashMap2 = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to more_collections:HashMap2:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to more_collections:HashMap2:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to more_collections:HashMap2:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to more_collections:HashMap2:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to more_collections:HashMap2:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to more_collections:HashMap2:kernel#Object#output */
@@ -8071,16 +7406,17 @@ const struct class class_more_collections__HashMap2 = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to more_collections:HashMap2:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to more_collections:HashMap2:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to more_collections:HashMap2:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to more_collections:HashMap2:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to more_collections:HashMap2:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to more_collections:HashMap2:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to more_collections:HashMap2:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to more_collections:HashMap2:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to more_collections:HashMap2:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to more_collections:HashMap2:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to more_collections:HashMap2:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to more_collections:HashMap2:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to more_collections:HashMap2:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to more_collections:HashMap2:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to more_collections:HashMap2:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to more_collections:HashMap2:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to more_collections:HashMap2:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to more_collections:HashMap2:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to more_collections:HashMap2:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to more_collections:HashMap2:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to more_collections:HashMap2:time#Object#get_time */
@@ -8103,6 +7439,14 @@ const struct class class_more_collections__HashMap2 = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to more_collections:HashMap2:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to more_collections:HashMap2:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to more_collections:HashMap2:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to more_collections:HashMap2:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to more_collections:HashMap2:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to more_collections:HashMap2:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to more_collections:HashMap2:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to more_collections:HashMap2:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to more_collections:HashMap2:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to more_collections:HashMap2:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to more_collections:HashMap2:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_more_collections__HashMap2__level1, /* pointer to more_collections:HashMap2:more_collections#HashMap2#level1 */
 (nitmethod_t)VIRTUAL_more_collections__HashMap2__level1_61d, /* pointer to more_collections:HashMap2:more_collections#HashMap2#level1= */
 (nitmethod_t)VIRTUAL_more_collections__HashMap2___91d_93d, /* pointer to more_collections:HashMap2:more_collections#HashMap2#[] */
@@ -8119,19 +7463,16 @@ self->type = type;
 self->class = &class_more_collections__HashMap2;
 var = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMapmore_collections__HashMap2_FT0hash_collection__HashMapmore_collections__HashMap2_FT1more_collections__HashMap2_FT2]);
 ((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashMap__init]))(var) /* init on <var:HashMap[Object, HashMap[Object, nullable Object]]>*/;
-CHECK_NEW_hash_collection__HashMap(var);
 self->attrs[COLOR_more_collections__HashMap2___64dlevel1].val = var; /* @level1 on <self:HashMap2[Object, Object, nullable Object] exact> */
 return self;
 }
-/* allocate HashMap2[Object, Object, nullable Object] */
-void CHECK_NEW_more_collections__HashMap2(val* self) {
-}
 /* runtime class more_collections__HashMap3 */
 const struct class class_more_collections__HashMap3 = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to more_collections:HashMap3:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to more_collections:HashMap3:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to more_collections:HashMap3:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to more_collections:HashMap3:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to more_collections:HashMap3:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to more_collections:HashMap3:kernel#Object#output */
@@ -8139,16 +7480,17 @@ const struct class class_more_collections__HashMap3 = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to more_collections:HashMap3:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to more_collections:HashMap3:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to more_collections:HashMap3:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to more_collections:HashMap3:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to more_collections:HashMap3:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to more_collections:HashMap3:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to more_collections:HashMap3:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to more_collections:HashMap3:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to more_collections:HashMap3:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to more_collections:HashMap3:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to more_collections:HashMap3:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to more_collections:HashMap3:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to more_collections:HashMap3:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to more_collections:HashMap3:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to more_collections:HashMap3:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to more_collections:HashMap3:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to more_collections:HashMap3:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to more_collections:HashMap3:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to more_collections:HashMap3:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to more_collections:HashMap3:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to more_collections:HashMap3:time#Object#get_time */
@@ -8171,6 +7513,14 @@ const struct class class_more_collections__HashMap3 = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to more_collections:HashMap3:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to more_collections:HashMap3:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to more_collections:HashMap3:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to more_collections:HashMap3:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to more_collections:HashMap3:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to more_collections:HashMap3:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to more_collections:HashMap3:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to more_collections:HashMap3:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to more_collections:HashMap3:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to more_collections:HashMap3:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to more_collections:HashMap3:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_more_collections__HashMap3__level1, /* pointer to more_collections:HashMap3:more_collections#HashMap3#level1 */
 (nitmethod_t)VIRTUAL_more_collections__HashMap3__level1_61d, /* pointer to more_collections:HashMap3:more_collections#HashMap3#level1= */
 (nitmethod_t)VIRTUAL_more_collections__HashMap3___91d_93d, /* pointer to more_collections:HashMap3:more_collections#HashMap3#[] */
@@ -8187,23 +7537,15 @@ self->type = type;
 self->class = &class_more_collections__HashMap3;
 var = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMapmore_collections__HashMap3_FT0more_collections__HashMap2more_collections__HashMap3_FT1more_collections__HashMap3_FT2more_collections__HashMap3_FT3]);
 ((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashMap__init]))(var) /* init on <var:HashMap[Object, HashMap2[Object, Object, nullable Object]]>*/;
-CHECK_NEW_hash_collection__HashMap(var);
 self->attrs[COLOR_more_collections__HashMap3___64dlevel1].val = var; /* @level1 on <self:HashMap3[Object, Object, Object, nullable Object] exact> */
 return self;
 }
-/* allocate HashMap3[Object, Object, Object, nullable Object] */
-void CHECK_NEW_more_collections__HashMap3(val* self) {
-}
 /* runtime class opts__OptionText */
 /* allocate OptionText */
 val* NEW_opts__OptionText(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "OptionText is DEAD");
-exit(1);
-}
-/* allocate OptionText */
-void CHECK_NEW_opts__OptionText(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "OptionText is DEAD");
-exit(1);
+fprintf(stderr, "Runtime error: %s", "OptionText is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
 /* runtime class opts__OptionBool */
 const struct class class_opts__OptionBool = {
@@ -8211,6 +7553,7 @@ const struct class class_opts__OptionBool = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to opts:OptionBool:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to opts:OptionBool:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to opts:OptionBool:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to opts:OptionBool:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to opts:OptionBool:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to opts:OptionBool:kernel#Object#output */
@@ -8218,16 +7561,17 @@ const struct class class_opts__OptionBool = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to opts:OptionBool:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to opts:OptionBool:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to opts:OptionBool:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionBool:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionBool:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionBool:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionBool:math#Object#srand */
 (nitmethod_t)VIRTUAL_opts__Option__to_s, /* pointer to opts:OptionBool:opts#Option#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to opts:OptionBool:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to opts:OptionBool:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to opts:OptionBool:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to opts:OptionBool:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to opts:OptionBool:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionBool:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionBool:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionBool:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionBool:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to opts:OptionBool:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to opts:OptionBool:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to opts:OptionBool:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to opts:OptionBool:time#Object#get_time */
@@ -8250,6 +7594,14 @@ const struct class class_opts__OptionBool = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to opts:OptionBool:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to opts:OptionBool:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to opts:OptionBool:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to opts:OptionBool:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to opts:OptionBool:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to opts:OptionBool:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to opts:OptionBool:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to opts:OptionBool:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to opts:OptionBool:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to opts:OptionBool:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to opts:OptionBool:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_opts__Option__names, /* pointer to opts:OptionBool:opts#Option#names */
 (nitmethod_t)VIRTUAL_opts__Option__helptext, /* pointer to opts:OptionBool:opts#Option#helptext */
 (nitmethod_t)VIRTUAL_opts__Option__errors, /* pointer to opts:OptionBool:opts#Option#errors */
@@ -8277,41 +7629,13 @@ self->type = type;
 self->class = &class_opts__OptionBool;
 return self;
 }
-/* allocate OptionBool */
-void CHECK_NEW_opts__OptionBool(val* self) {
-val* var /* : Array[String] */;
-val* var1 /* : String */;
-val* var2 /* : Array[String] */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-val* var5 /* : nullable Object */;
-val* var6 /* : nullable Object */;
-var = self->attrs[COLOR_opts__Option___names].val; /* _names on <self:OptionBool> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 19);
-exit(1);
-}
-var1 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on <self:OptionBool> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _helptext", "lib/opts.nit", 25);
-exit(1);
-}
-var2 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on <self:OptionBool> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 28);
-exit(1);
-}
-var3 = self->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on <self:OptionBool> */
-var4 = self->attrs[COLOR_opts__Option___read].s; /* _read on <self:OptionBool> */
-var5 = self->attrs[COLOR_opts__Option___value].val; /* _value on <self:OptionBool> */
-var6 = self->attrs[COLOR_opts__Option___default_value].val; /* _default_value on <self:OptionBool> */
-}
 /* runtime class opts__OptionCount */
 const struct class class_opts__OptionCount = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to opts:OptionCount:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to opts:OptionCount:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to opts:OptionCount:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to opts:OptionCount:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to opts:OptionCount:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to opts:OptionCount:kernel#Object#output */
@@ -8319,16 +7643,17 @@ const struct class class_opts__OptionCount = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to opts:OptionCount:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to opts:OptionCount:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to opts:OptionCount:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionCount:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionCount:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionCount:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionCount:math#Object#srand */
 (nitmethod_t)VIRTUAL_opts__Option__to_s, /* pointer to opts:OptionCount:opts#Option#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to opts:OptionCount:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to opts:OptionCount:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to opts:OptionCount:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to opts:OptionCount:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to opts:OptionCount:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionCount:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionCount:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionCount:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionCount:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to opts:OptionCount:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to opts:OptionCount:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to opts:OptionCount:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to opts:OptionCount:time#Object#get_time */
@@ -8351,6 +7676,14 @@ const struct class class_opts__OptionCount = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to opts:OptionCount:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to opts:OptionCount:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to opts:OptionCount:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to opts:OptionCount:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to opts:OptionCount:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to opts:OptionCount:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to opts:OptionCount:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to opts:OptionCount:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to opts:OptionCount:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to opts:OptionCount:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to opts:OptionCount:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_opts__Option__names, /* pointer to opts:OptionCount:opts#Option#names */
 (nitmethod_t)VIRTUAL_opts__Option__helptext, /* pointer to opts:OptionCount:opts#Option#helptext */
 (nitmethod_t)VIRTUAL_opts__Option__errors, /* pointer to opts:OptionCount:opts#Option#errors */
@@ -8378,41 +7711,13 @@ self->type = type;
 self->class = &class_opts__OptionCount;
 return self;
 }
-/* allocate OptionCount */
-void CHECK_NEW_opts__OptionCount(val* self) {
-val* var /* : Array[String] */;
-val* var1 /* : String */;
-val* var2 /* : Array[String] */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-val* var5 /* : nullable Object */;
-val* var6 /* : nullable Object */;
-var = self->attrs[COLOR_opts__Option___names].val; /* _names on <self:OptionCount> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 19);
-exit(1);
-}
-var1 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on <self:OptionCount> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _helptext", "lib/opts.nit", 25);
-exit(1);
-}
-var2 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on <self:OptionCount> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 28);
-exit(1);
-}
-var3 = self->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on <self:OptionCount> */
-var4 = self->attrs[COLOR_opts__Option___read].s; /* _read on <self:OptionCount> */
-var5 = self->attrs[COLOR_opts__Option___value].val; /* _value on <self:OptionCount> */
-var6 = self->attrs[COLOR_opts__Option___default_value].val; /* _default_value on <self:OptionCount> */
-}
 /* runtime class opts__OptionString */
 const struct class class_opts__OptionString = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to opts:OptionString:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to opts:OptionString:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to opts:OptionString:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to opts:OptionString:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to opts:OptionString:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to opts:OptionString:kernel#Object#output */
@@ -8420,16 +7725,17 @@ const struct class class_opts__OptionString = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to opts:OptionString:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to opts:OptionString:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to opts:OptionString:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionString:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionString:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionString:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionString:math#Object#srand */
 (nitmethod_t)VIRTUAL_opts__Option__to_s, /* pointer to opts:OptionString:opts#Option#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to opts:OptionString:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to opts:OptionString:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to opts:OptionString:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to opts:OptionString:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to opts:OptionString:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionString:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionString:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionString:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionString:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to opts:OptionString:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to opts:OptionString:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to opts:OptionString:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to opts:OptionString:time#Object#get_time */
@@ -8452,6 +7758,14 @@ const struct class class_opts__OptionString = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to opts:OptionString:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to opts:OptionString:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to opts:OptionString:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to opts:OptionString:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to opts:OptionString:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to opts:OptionString:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to opts:OptionString:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to opts:OptionString:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to opts:OptionString:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to opts:OptionString:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to opts:OptionString:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_opts__Option__names, /* pointer to opts:OptionString:opts#Option#names */
 (nitmethod_t)VIRTUAL_opts__Option__helptext, /* pointer to opts:OptionString:opts#Option#helptext */
 (nitmethod_t)VIRTUAL_opts__Option__errors, /* pointer to opts:OptionString:opts#Option#errors */
@@ -8483,58 +7797,19 @@ self->type = type;
 self->class = &class_opts__OptionString;
 return self;
 }
-/* allocate OptionString */
-void CHECK_NEW_opts__OptionString(val* self) {
-val* var /* : Array[String] */;
-val* var1 /* : String */;
-val* var2 /* : Array[String] */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-val* var5 /* : nullable Object */;
-val* var6 /* : nullable Object */;
-short int var7 /* : Bool */;
-var = self->attrs[COLOR_opts__Option___names].val; /* _names on <self:OptionString> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 19);
-exit(1);
-}
-var1 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on <self:OptionString> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _helptext", "lib/opts.nit", 25);
-exit(1);
-}
-var2 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on <self:OptionString> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 28);
-exit(1);
-}
-var3 = self->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on <self:OptionString> */
-var4 = self->attrs[COLOR_opts__Option___read].s; /* _read on <self:OptionString> */
-var5 = self->attrs[COLOR_opts__Option___value].val; /* _value on <self:OptionString> */
-var6 = self->attrs[COLOR_opts__Option___default_value].val; /* _default_value on <self:OptionString> */
-var7 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on <self:OptionString> */
-}
 /* runtime class opts__OptionEnum */
 /* allocate OptionEnum */
 val* NEW_opts__OptionEnum(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "OptionEnum is DEAD");
-exit(1);
-}
-/* allocate OptionEnum */
-void CHECK_NEW_opts__OptionEnum(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "OptionEnum is DEAD");
-exit(1);
+fprintf(stderr, "Runtime error: %s", "OptionEnum is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
 /* runtime class opts__OptionInt */
 /* allocate OptionInt */
 val* NEW_opts__OptionInt(const struct type* type) {
-fprintf(stderr, "Runtime error: %s\n", "OptionInt is DEAD");
-exit(1);
-}
-/* allocate OptionInt */
-void CHECK_NEW_opts__OptionInt(val* self) {
-fprintf(stderr, "Runtime error: %s\n", "OptionInt is DEAD");
-exit(1);
+fprintf(stderr, "Runtime error: %s", "OptionInt is DEAD");
+fprintf(stderr, "\n");
+show_backtrace(1);
 }
 /* runtime class opts__OptionArray */
 const struct class class_opts__OptionArray = {
@@ -8542,6 +7817,7 @@ const struct class class_opts__OptionArray = {
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to opts:OptionArray:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to opts:OptionArray:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to opts:OptionArray:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to opts:OptionArray:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to opts:OptionArray:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to opts:OptionArray:kernel#Object#output */
@@ -8549,16 +7825,17 @@ const struct class class_opts__OptionArray = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to opts:OptionArray:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to opts:OptionArray:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to opts:OptionArray:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionArray:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionArray:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionArray:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionArray:math#Object#srand */
 (nitmethod_t)VIRTUAL_opts__Option__to_s, /* pointer to opts:OptionArray:opts#Option#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to opts:OptionArray:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to opts:OptionArray:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to opts:OptionArray:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to opts:OptionArray:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to opts:OptionArray:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionArray:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionArray:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionArray:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionArray:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to opts:OptionArray:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to opts:OptionArray:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to opts:OptionArray:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to opts:OptionArray:time#Object#get_time */
@@ -8581,6 +7858,14 @@ const struct class class_opts__OptionArray = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to opts:OptionArray:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to opts:OptionArray:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to opts:OptionArray:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to opts:OptionArray:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to opts:OptionArray:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to opts:OptionArray:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to opts:OptionArray:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to opts:OptionArray:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to opts:OptionArray:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to opts:OptionArray:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to opts:OptionArray:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_opts__Option__names, /* pointer to opts:OptionArray:opts#Option#names */
 (nitmethod_t)VIRTUAL_opts__Option__helptext, /* pointer to opts:OptionArray:opts#Option#helptext */
 (nitmethod_t)VIRTUAL_opts__Option__errors, /* pointer to opts:OptionArray:opts#Option#errors */
@@ -8612,49 +7897,13 @@ self->type = type;
 self->class = &class_opts__OptionArray;
 return self;
 }
-/* allocate OptionArray */
-void CHECK_NEW_opts__OptionArray(val* self) {
-val* var /* : Array[String] */;
-val* var1 /* : String */;
-val* var2 /* : Array[String] */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-val* var5 /* : nullable Object */;
-val* var6 /* : nullable Object */;
-short int var7 /* : Bool */;
-val* var8 /* : Array[String] */;
-var = self->attrs[COLOR_opts__Option___names].val; /* _names on <self:OptionArray> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 19);
-exit(1);
-}
-var1 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on <self:OptionArray> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _helptext", "lib/opts.nit", 25);
-exit(1);
-}
-var2 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on <self:OptionArray> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 28);
-exit(1);
-}
-var3 = self->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on <self:OptionArray> */
-var4 = self->attrs[COLOR_opts__Option___read].s; /* _read on <self:OptionArray> */
-var5 = self->attrs[COLOR_opts__Option___value].val; /* _value on <self:OptionArray> */
-var6 = self->attrs[COLOR_opts__Option___default_value].val; /* _default_value on <self:OptionArray> */
-var7 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on <self:OptionArray> */
-var8 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on <self:OptionArray> */
-if (var8 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 221);
-exit(1);
-}
-}
 /* runtime class opts__OptionContext */
 const struct class class_opts__OptionContext = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to opts:OptionContext:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to opts:OptionContext:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to opts:OptionContext:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to opts:OptionContext:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to opts:OptionContext:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to opts:OptionContext:kernel#Object#output */
@@ -8662,16 +7911,17 @@ const struct class class_opts__OptionContext = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to opts:OptionContext:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to opts:OptionContext:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to opts:OptionContext:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionContext:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionContext:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionContext:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionContext:math#Object#srand */
 (nitmethod_t)VIRTUAL_string__Object__to_s, /* pointer to opts:OptionContext:string#Object#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to opts:OptionContext:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to opts:OptionContext:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to opts:OptionContext:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to opts:OptionContext:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to opts:OptionContext:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to opts:OptionContext:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to opts:OptionContext:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to opts:OptionContext:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to opts:OptionContext:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to opts:OptionContext:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to opts:OptionContext:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to opts:OptionContext:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to opts:OptionContext:time#Object#get_time */
@@ -8694,6 +7944,14 @@ const struct class class_opts__OptionContext = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to opts:OptionContext:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to opts:OptionContext:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to opts:OptionContext:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to opts:OptionContext:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to opts:OptionContext:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to opts:OptionContext:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to opts:OptionContext:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to opts:OptionContext:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to opts:OptionContext:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to opts:OptionContext:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to opts:OptionContext:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_opts__OptionContext__options, /* pointer to opts:OptionContext:opts#OptionContext#options */
 (nitmethod_t)VIRTUAL_opts__OptionContext__rest, /* pointer to opts:OptionContext:opts#OptionContext#rest */
 (nitmethod_t)VIRTUAL_opts__OptionContext__errors, /* pointer to opts:OptionContext:opts#OptionContext#errors */
@@ -8714,39 +7972,13 @@ self->type = type;
 self->class = &class_opts__OptionContext;
 return self;
 }
-/* allocate OptionContext */
-void CHECK_NEW_opts__OptionContext(val* self) {
-val* var /* : Array[Option] */;
-val* var1 /* : Array[String] */;
-val* var2 /* : Array[String] */;
-val* var3 /* : Map[String, Option] */;
-var = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on <self:OptionContext> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 230);
-exit(1);
-}
-var1 = self->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on <self:OptionContext> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _rest", "lib/opts.nit", 231);
-exit(1);
-}
-var2 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on <self:OptionContext> */
-if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 232);
-exit(1);
-}
-var3 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on <self:OptionContext> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _optmap", "lib/opts.nit", 234);
-exit(1);
-}
-}
 /* runtime class toolcontext__Message */
 const struct class class_toolcontext__Message = {
 0, /* box_kind */
 {
 (nitmethod_t)VIRTUAL_kernel__Object__object_id, /* pointer to toolcontext:Message:kernel#Object#object_id */
 (nitmethod_t)VIRTUAL_kernel__Object__is_same_type, /* pointer to toolcontext:Message:kernel#Object#is_same_type */
+(nitmethod_t)VIRTUAL_kernel__Object__is_same_instance, /* pointer to toolcontext:Message:kernel#Object#is_same_instance */
 (nitmethod_t)VIRTUAL_kernel__Object___61d_61d, /* pointer to toolcontext:Message:kernel#Object#== */
 (nitmethod_t)VIRTUAL_kernel__Object___33d_61d, /* pointer to toolcontext:Message:kernel#Object#!= */
 (nitmethod_t)VIRTUAL_kernel__Object__output, /* pointer to toolcontext:Message:kernel#Object#output */
@@ -8754,16 +7986,17 @@ const struct class class_toolcontext__Message = {
 (nitmethod_t)VIRTUAL_kernel__Object__exit, /* pointer to toolcontext:Message:kernel#Object#exit */
 (nitmethod_t)VIRTUAL_kernel__Object__sys, /* pointer to toolcontext:Message:kernel#Object#sys */
 (nitmethod_t)VIRTUAL_kernel__Object__hash, /* pointer to toolcontext:Message:kernel#Object#hash */
+(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to toolcontext:Message:math#Object#atan2 */
+(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to toolcontext:Message:math#Object#pi */
+(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to toolcontext:Message:math#Object#srand_from */
+(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to toolcontext:Message:math#Object#srand */
 (nitmethod_t)VIRTUAL_toolcontext__Message__to_s, /* pointer to toolcontext:Message:toolcontext#Message#to_s */
 (nitmethod_t)VIRTUAL_string__Object__native_class_name, /* pointer to toolcontext:Message:string#Object#native_class_name */
 (nitmethod_t)VIRTUAL_string__Object__class_name, /* pointer to toolcontext:Message:string#Object#class_name */
 (nitmethod_t)VIRTUAL_string__Object__inspect, /* pointer to toolcontext:Message:string#Object#inspect */
 (nitmethod_t)VIRTUAL_string__Object__inspect_head, /* pointer to toolcontext:Message:string#Object#inspect_head */
 (nitmethod_t)VIRTUAL_string__Object__args, /* pointer to toolcontext:Message:string#Object#args */
-(nitmethod_t)VIRTUAL_math__Object__atan2, /* pointer to toolcontext:Message:math#Object#atan2 */
-(nitmethod_t)VIRTUAL_math__Object__pi, /* pointer to toolcontext:Message:math#Object#pi */
-(nitmethod_t)VIRTUAL_math__Object__srand_from, /* pointer to toolcontext:Message:math#Object#srand_from */
-(nitmethod_t)VIRTUAL_math__Object__srand, /* pointer to toolcontext:Message:math#Object#srand */
+(nitmethod_t)VIRTUAL_string__Object__alpha_comparator, /* pointer to toolcontext:Message:string#Object#alpha_comparator */
 (nitmethod_t)VIRTUAL_stream__Object__poll, /* pointer to toolcontext:Message:stream#Object#poll */
 (nitmethod_t)VIRTUAL_stream__Object__intern_poll, /* pointer to toolcontext:Message:stream#Object#intern_poll */
 (nitmethod_t)VIRTUAL_time__Object__get_time, /* pointer to toolcontext:Message:time#Object#get_time */
@@ -8786,6 +8019,14 @@ const struct class class_toolcontext__Message = {
 (nitmethod_t)VIRTUAL_model__Object__interface_kind, /* pointer to toolcontext:Message:model#Object#interface_kind */
 (nitmethod_t)VIRTUAL_model__Object__enum_kind, /* pointer to toolcontext:Message:model#Object#enum_kind */
 (nitmethod_t)VIRTUAL_model__Object__extern_kind, /* pointer to toolcontext:Message:model#Object#extern_kind */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__internal_call_context, /* pointer to toolcontext:Message:nitni_utilities#Object#internal_call_context */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__long_signature, /* pointer to toolcontext:Message:nitni_utilities#Object#long_signature */
+(nitmethod_t)VIRTUAL_nitni_utilities__Object__short_signature, /* pointer to toolcontext:Message:nitni_utilities#Object#short_signature */
+(nitmethod_t)VIRTUAL_c__Object__to_c_call_context, /* pointer to toolcontext:Message:c#Object#to_c_call_context */
+(nitmethod_t)VIRTUAL_c__Object__from_c_call_context, /* pointer to toolcontext:Message:c#Object#from_c_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__cpp_call_context, /* pointer to toolcontext:Message:cpp#Object#cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__to_cpp_call_context, /* pointer to toolcontext:Message:cpp#Object#to_cpp_call_context */
+(nitmethod_t)VIRTUAL_cpp__Object__from_cpp_call_context, /* pointer to toolcontext:Message:cpp#Object#from_cpp_call_context */
 (nitmethod_t)VIRTUAL_toolcontext__Message___60d, /* pointer to toolcontext:Message:toolcontext#Message#< */
 (nitmethod_t)VIRTUAL_kernel__Comparable___60d_61d, /* pointer to toolcontext:Message:kernel#Comparable#<= */
 (nitmethod_t)VIRTUAL_kernel__Comparable___62d_61d, /* pointer to toolcontext:Message:kernel#Comparable#>= */
@@ -8810,14 +8051,3 @@ self->type = type;
 self->class = &class_toolcontext__Message;
 return self;
 }
-/* allocate Message */
-void CHECK_NEW_toolcontext__Message(val* self) {
-val* var /* : nullable Location */;
-val* var1 /* : String */;
-var = self->attrs[COLOR_toolcontext__Message___64dlocation].val; /* @location on <self:Message> */
-var1 = self->attrs[COLOR_toolcontext__Message___64dtext].val; /* @text on <self:Message> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @text", "src/toolcontext.nit", 30);
-exit(1);
-}
-}