#include "nit.common.h"
-#define COLOR_nit__modelbuilder_base__ToolContext___modelbuilder_real 37
+#define COLOR_nit__modelbuilder_base__ToolContext___modelbuilder_real 6
extern const char FILE_nit__modelbuilder_base[];
-#define COLOR_nit__modelbuilder_base__ModelBuilder___model 0
-#define COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext 1
+#define COLOR_nit__modelbuilder_base__ModelBuilder___model 9
+#define COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext 10
val* nit__model___Model___get_mclasses_by_name(val* self, val* p0);
short int standard___standard__Array___standard__kernel__Object___61d_61d(val* self, val* p0);
val* standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(val* self);
short int standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(val* self);
val* standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(val* self);
-#define COLOR_nit__mmodule__MModule___in_importation 8
+#define COLOR_nit__mmodule__MModule___in_importation 33
extern const char FILE_nit__mmodule[];
-#define COLOR_nit__model__MClass___intro_mmodule 4
+#define COLOR_nit__model__MClass___intro_mmodule 5
extern const char FILE_nit__model[];
short int poset___poset__POSetElement____60d_61d(val* self, val* p0);
-#define COLOR_nit__model__MClass___visibility 13
+#define COLOR_nit__model__MClass___visibility 14
short int nit___nit__MModule___is_visible(val* self, val* p0, val* p1);
+val* NEW_standard__NativeArray(int length, const struct type* type);
+extern const struct type type_standard__NativeArray__standard__String;
val* standard___standard__NativeString___to_s_with_length(char* self, long p0);
val* nit___nit__MClass___nit__model_base__MEntity__full_name(val* self);
-val* NEW_standard__Array(const struct type* type);
-extern const struct type type_standard__Array__standard__Object;
-val* NEW_standard__NativeArray(int length, const struct type* type);
-extern const struct type type_standard__NativeArray__standard__Object;
-#define COLOR_standard__array__Array__with_native 73
-#define COLOR_standard__string__Object__to_s 9
+#define COLOR_standard__string__NativeArray__native_to_s 16
void nit___nit__ModelBuilder___error(val* self, val* p0, val* p1);
void standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(val* self);
+void standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(val* self);
+val* nit___nit__ModelBuilder___try_get_mclass_by_name(val* self, val* p0, val* p1, val* p2);
val* nit__model___Model___get_mproperties_by_name(val* self, val* p0);
-#define COLOR_nit__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache 2
+#define COLOR_nit__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache 11
val* more_collections___more_collections__HashMap3____91d_93d(val* self, val* p0, val* p1, val* p2);
-#define COLOR_standard__kernel__Object___61d_61d 2
+#define COLOR_standard__kernel__Object___61d_61d 4
short int nit___nit__MType___has_mproperty(val* self, val* p0, val* p1);
#define COLOR_nit__model__MProperty___intro_mclassdef 4
-#define COLOR_nit__model__MClassDef___mmodule 4
+#define COLOR_nit__model__MClassDef___mmodule 5
#define COLOR_nit__model__MProperty___visibility 10
extern const struct type type_nit__MMethod;
-#define COLOR_nit__model__MMethod___is_new 18
+#define COLOR_nit__model__MMethod___is_new 19
extern const struct type type_nit__MClassType;
-#define COLOR_nit__model__MClassDef___mclass 5
-#define COLOR_nit__model__MClassType___mclass 5
-#define COLOR_nit__model__MMethod___is_init 16
-#define COLOR_nit__model__MClassDef___bound_mtype 6
+#define COLOR_nit__model__MClassDef___mclass 6
+#define COLOR_nit__model__MClassType___mclass 6
+#define COLOR_nit__model__MMethod___is_init 17
+#define COLOR_nit__model__MClassDef___bound_mtype 7
short int nit___nit__MType___is_subtype(val* self, val* p0, val* p1, val* p2);
+val* NEW_standard__Array(const struct type* type);
extern const struct type type_standard__Array__nit__MProperty;
void standard___standard__Array___standard__kernel__Object__init(val* self);
void standard___standard__Array___standard__abstract_collection__SimpleCollection__add(val* self, val* p0);
extern const char FILE_standard__kernel[];
extern const struct type type_standard__Array__standard__String;
val* nit___nit__MProperty___nit__model_base__MEntity__full_name(val* self);
+#define COLOR_standard__string__Object__to_s 3
val* standard__string___Collection___join(val* self, val* p0);
void more_collections___more_collections__HashMap3____91d_93d_61d(val* self, val* p0, val* p1, val* p2, val* p3);
val* nit___nit__ModelBuilder___try_get_mproperty_by_name2(val* self, val* p0, val* p1, val* p2, val* p3);
-#define COLOR_nit__parser_nodes__ANode__hot_location 34
-void nit___nit__ToolContext___error(val* self, val* p0, val* p1);
-void nit___nit__ToolContext___warning(val* self, val* p0, val* p1, val* p2);
-void nit___nit__ToolContext___advice(val* self, val* p0, val* p1, val* p2);
+#define COLOR_nit__parser_nodes__ANode__hot_location 18
+val* nit___nit__ToolContext___error(val* self, val* p0, val* p1);
+val* nit___nit__ToolContext___warning(val* self, val* p0, val* p1, val* p2);
+val* nit___nit__ToolContext___advice(val* self, val* p0, val* p1, val* p2);
val* nit__model___MModule___try_get_primitive_method(val* self, val* p0, val* p1);
void nit___nit__ToolContext___fatal_error(val* self, val* p0, val* p1);
-val* nit__model_base___standard__Object___intrude_visibility(val* self);
-val* nit__model_base___standard__Object___public_visibility(val* self);
-val* nit__model_base___standard__Object___protected_visibility(val* self);
-val* nit__model_base___standard__Object___private_visibility(val* self);
-#define COLOR_nit__modelbuilder_base__ADoc___mdoc_cache 5
-val* NEW_nit__MDoc(const struct type* type);
-extern const struct type type_nit__MDoc;
-#define COLOR_nit__parser_nodes__ADoc___n_comment 4
+#define COLOR_nit__parser_nodes__AType___n_id 7
extern const char FILE_nit__parser_nodes[];
-val* nit___nit__ANodes___standard__abstract_collection__Collection__iterator(val* self);
-#define COLOR_standard__abstract_collection__Iterator__is_ok 34
-#define COLOR_standard__abstract_collection__Iterator__item 32
val* nit__lexer_work___Token___text(val* self);
-#define COLOR_standard__string__Text__length 47
+val* nit___nit__ModelBuilder___try_get_mproperty_by_name(val* self, val* p0, val* p1, val* p2);
+extern const struct type type_nullable__nit__MVirtualTypeProp;
+#define COLOR_nit__parser_nodes__AType___n_types 9
+short int nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(val* self);
+#define COLOR_nit__model__MVirtualTypeProp___mvirtualtype 16
+#define COLOR_nit__parser_nodes__AType___n_kwnullable 6
+val* nit___nit__MType___as_nullable(val* self);
+#define COLOR_nit__modelbuilder_base__AType___mtype 4
+#define COLOR_nit__model__MClass___mparameters 12
+#define COLOR_nit__model__MParameterType___name 10
+long nit___nit__ANodes___standard__abstract_collection__Collection__length(val* self);
+#define COLOR_nit__model__MClass___arity 11
+val* nit___nit__MClass___signature_to_s(val* self);
+val* standard__string___Int___Object__to_s(long self);
+#define COLOR_nit__model__MClass___mclass_type 17
+extern const struct type type_standard__Array__nit__MType;
+val* nit___nit__ANodes___standard__abstract_collection__Collection__iterator(val* self);
+#define COLOR_standard__abstract_collection__Iterator__is_ok 16
+#define COLOR_standard__abstract_collection__Iterator__item 17
+val* nit___nit__ModelBuilder___resolve_mtype_unchecked(val* self, val* p0, val* p1, val* p2, short int p3);
+#define COLOR_standard__abstract_collection__Iterator__next 18
+#define COLOR_standard__abstract_collection__Iterator__finish 19
+val* nit___nit__MClass___get_mtype(val* self, val* p0);
+#define COLOR_nit__modelbuilder_base__AType___checked_mtype 5
+extern const struct type type_nit__MGenericType;
+val* nit___nit__MClass___try_intro(val* self);
+#define COLOR_nit__model__MClassType__arguments 54
+val* standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0);
+val* nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0);
+val* nit___nit__ModelBuilder___resolve_mtype(val* self, val* p0, val* p1, val* p2);
+short int nit___nit__ModelBuilder___check_subtype(val* self, val* p0, val* p1, val* p2, val* p3, val* p4);
+long standard___standard__Int___Discrete__successor(long self, long p0);
+val* nit__model_base___standard__Sys___intrude_visibility(val* self);
+val* nit__model_base___standard__Sys___public_visibility(val* self);
+val* nit__model_base___standard__Sys___protected_visibility(val* self);
+val* nit__model_base___standard__Sys___private_visibility(val* self);
+#define COLOR_nit__modelbuilder_base__ADoc___mdoc_cache 4
+val* NEW_nit__MDoc(const struct type* type);
+extern const struct type type_nit__MDoc;
+#define COLOR_nit__parser_nodes__ANode___location 0
+#define COLOR_nit__mdoc__MDoc__location_61d 17
+#define COLOR_standard__kernel__Object__init 0
+#define COLOR_nit__parser_nodes__ADoc___n_comment 5
+#define COLOR_standard__string__Text__length 26
#define COLOR_nit__mdoc__MDoc___content 0
extern const char FILE_nit__mdoc[];
-#define COLOR_standard__string__Text__chars 46
-#define COLOR_standard__abstract_collection__SequenceRead___91d_93d 45
-extern const struct class class_standard__Char;
+#define COLOR_standard__string__Text__chars 27
+#define COLOR_standard__abstract_collection__SequenceRead___91d_93d 31
val* standard___standard__Text___substring_from(val* self, long p0);
-#define COLOR_standard__abstract_collection__SequenceRead__last 46
-#define COLOR_standard__string__Text__substring 48
-#define COLOR_standard__abstract_collection__Iterator__next 33
+#define COLOR_standard__abstract_collection__SequenceRead__last 35
+#define COLOR_standard__string__Text__substring 28