-#define COLOR_typing___MMSrcModule___do_typing SFT_typing[0]
-#define ID_TypingVisitor SFT_typing[1]
-#define COLOR_TypingVisitor SFT_typing[2]
-#define COLOR_typing___TypingVisitor____variable_ctx SFT_typing[3]
-#define COLOR_typing___TypingVisitor____self_var SFT_typing[4]
-#define COLOR_typing___TypingVisitor____top_block SFT_typing[5]
-#define COLOR_typing___TypingVisitor____closure SFT_typing[6]
-#define COLOR_typing___TypingVisitor____closure_break_stype SFT_typing[7]
-#define COLOR_typing___TypingVisitor____break_list SFT_typing[8]
-#define COLOR_typing___TypingVisitor____explicit_super_init_calls SFT_typing[9]
-#define COLOR_typing___TypingVisitor____explicit_other_init_call SFT_typing[10]
-#define INIT_TABLE_POS_TypingVisitor SFT_typing[11]
-#define COLOR_typing___TypingVisitor___variable_ctx SFT_typing[12]
-#define COLOR_typing___TypingVisitor___variable_ctx__eq SFT_typing[13]
-#define COLOR_typing___TypingVisitor___self_var SFT_typing[14]
-#define COLOR_typing___TypingVisitor___self_var__eq SFT_typing[15]
-#define COLOR_typing___TypingVisitor___top_block SFT_typing[16]
-#define COLOR_typing___TypingVisitor___top_block__eq SFT_typing[17]
-#define COLOR_typing___TypingVisitor___closure SFT_typing[18]
-#define COLOR_typing___TypingVisitor___closure__eq SFT_typing[19]
-#define COLOR_typing___TypingVisitor___closure_break_stype SFT_typing[20]
-#define COLOR_typing___TypingVisitor___closure_break_stype__eq SFT_typing[21]
-#define COLOR_typing___TypingVisitor___break_list SFT_typing[22]
-#define COLOR_typing___TypingVisitor___break_list__eq SFT_typing[23]
-#define COLOR_typing___TypingVisitor___explicit_super_init_calls SFT_typing[24]
-#define COLOR_typing___TypingVisitor___explicit_super_init_calls__eq SFT_typing[25]
-#define COLOR_typing___TypingVisitor___explicit_other_init_call SFT_typing[26]
-#define COLOR_typing___TypingVisitor___explicit_other_init_call__eq SFT_typing[27]
-#define COLOR_typing___TypingVisitor___init SFT_typing[28]
-#define COLOR_typing___TypingVisitor___get_default_constructor_for SFT_typing[29]
-#define ID_VariableContext SFT_typing[30]
-#define COLOR_VariableContext SFT_typing[31]
-#define COLOR_typing___VariableContext____dico SFT_typing[32]
-#define INIT_TABLE_POS_VariableContext SFT_typing[33]
-#define COLOR_typing___VariableContext_____bra SFT_typing[34]
-#define COLOR_typing___VariableContext___add SFT_typing[35]
-#define COLOR_typing___VariableContext___stype SFT_typing[36]
-#define COLOR_typing___VariableContext___sub SFT_typing[37]
-#define COLOR_typing___VariableContext___sub_with SFT_typing[38]
-#define COLOR_typing___VariableContext___init SFT_typing[39]
-#define ID_SubVariableContext SFT_typing[40]
-#define COLOR_SubVariableContext SFT_typing[41]
-#define COLOR_typing___SubVariableContext____prev SFT_typing[42]
-#define COLOR_typing___SubVariableContext____variable SFT_typing[43]
-#define COLOR_typing___SubVariableContext____var_type SFT_typing[44]
-#define INIT_TABLE_POS_SubVariableContext SFT_typing[45]
-#define COLOR_typing___SubVariableContext___prev SFT_typing[46]
-#define COLOR_typing___SubVariableContext___with_prev SFT_typing[47]
-#define COLOR_typing___PNode___accept_typing SFT_typing[48]
-#define COLOR_typing___PNode___after_typing SFT_typing[49]
-#define COLOR_SUPER_typing___PClassdef___accept_typing SFT_typing[50]
-#define COLOR_SUPER_typing___AAttrPropdef___accept_typing SFT_typing[51]
-#define COLOR_typing___AMethPropdef____self_var SFT_typing[52]
-#define COLOR_SUPER_typing___AMethPropdef___accept_typing SFT_typing[53]
-#define COLOR_typing___AConcreteInitPropdef____super_init_calls SFT_typing[54]
-#define COLOR_typing___AConcreteInitPropdef____explicit_super_init_calls SFT_typing[55]
-#define COLOR_typing___AConcreteInitPropdef___super_init_calls SFT_typing[56]
-#define COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls SFT_typing[57]
-#define COLOR_SUPER_typing___AConcreteInitPropdef___accept_typing SFT_typing[58]
-#define COLOR_SUPER_typing___AClosureDecl___accept_typing SFT_typing[59]
-#define COLOR_typing___PType____stype SFT_typing[60]
-#define COLOR_typing___PType___stype SFT_typing[61]
-#define COLOR_typing___PExpr____stype SFT_typing[62]
-#define COLOR_typing___PExpr____if_true_variable_ctx SFT_typing[63]
-#define COLOR_typing___PExpr___is_implicit_self SFT_typing[64]
-#define COLOR_typing___PExpr___is_self SFT_typing[65]
-#define COLOR_typing___PExpr___its_variable SFT_typing[66]
-#define COLOR_typing___PExpr___if_true_variable_ctx SFT_typing[67]
-#define COLOR_SUPER_typing___ABlockExpr___accept_typing SFT_typing[68]
-#define COLOR_typing___AReassignFormExpr____assign_method SFT_typing[69]
-#define COLOR_typing___AReassignFormExpr___do_lvalue_typing SFT_typing[70]
-#define COLOR_typing___AReassignFormExpr___assign_method SFT_typing[71]
-#define COLOR_typing___PAssignOp___method_name SFT_typing[72]
-#define COLOR_typing___AArrayExpr___stype__eq SFT_typing[73]
-#define COLOR_typing___ASuperExpr____init_in_superclass SFT_typing[74]
-#define COLOR_typing___ASuperExpr___init_in_superclass SFT_typing[75]
-#define COLOR_typing___AAttrFormExpr____prop SFT_typing[76]
-#define COLOR_typing___AAttrFormExpr____attr_type SFT_typing[77]
-#define COLOR_typing___AAttrFormExpr___prop SFT_typing[78]
-#define COLOR_typing___AAttrFormExpr___attr_type SFT_typing[79]
-#define COLOR_typing___AAttrFormExpr___do_typing SFT_typing[80]
-#define ID_AAbsSendExpr SFT_typing[81]
-#define COLOR_AAbsSendExpr SFT_typing[82]
-#define COLOR_typing___AAbsSendExpr____prop_signature SFT_typing[83]
-#define COLOR_typing___AAbsSendExpr____prop SFT_typing[84]
-#define COLOR_typing___AAbsSendExpr____arguments SFT_typing[85]
-#define COLOR_typing___AAbsSendExpr____return_type SFT_typing[86]
-#define INIT_TABLE_POS_AAbsSendExpr SFT_typing[87]
-#define COLOR_typing___AAbsSendExpr___prop_signature SFT_typing[88]
-#define COLOR_typing___AAbsSendExpr___do_typing SFT_typing[89]
-#define COLOR_typing___AAbsSendExpr___get_property SFT_typing[90]
-#define COLOR_typing___AAbsSendExpr___get_signature SFT_typing[91]
-#define COLOR_typing___AAbsSendExpr___process_signature SFT_typing[92]
-#define COLOR_typing___AAbsSendExpr___process_closures SFT_typing[93]
-#define COLOR_typing___AAbsSendExpr___prop SFT_typing[94]
-#define COLOR_typing___AAbsSendExpr___arguments SFT_typing[95]
-#define COLOR_typing___AAbsSendExpr___return_type SFT_typing[96]
-#define ID_ASuperInitCall SFT_typing[97]
-#define COLOR_ASuperInitCall SFT_typing[98]
-#define INIT_TABLE_POS_ASuperInitCall SFT_typing[99]
-#define COLOR_typing___ASuperInitCall___register_super_init_call SFT_typing[100]
-#define COLOR_typing___ASendExpr___name SFT_typing[101]
-#define COLOR_typing___ASendExpr___raw_arguments SFT_typing[102]
-#define COLOR_typing___ASendExpr___closure_defs SFT_typing[103]
-#define COLOR_typing___ASendExpr___do_all_typing SFT_typing[104]
-#define ID_ASendReassignExpr SFT_typing[105]
-#define COLOR_ASendReassignExpr SFT_typing[106]
-#define COLOR_typing___ASendReassignExpr____read_prop SFT_typing[107]
-#define INIT_TABLE_POS_ASendReassignExpr SFT_typing[108]
-#define COLOR_typing___ASendReassignExpr___read_prop SFT_typing[109]
-#define COLOR_SUPER_typing___ACallFormExpr___after_typing SFT_typing[110]
-#define COLOR_typing___ACallFormExpr___variable_create SFT_typing[111]
-#define COLOR_typing___PClosureDef____accept_typing2 SFT_typing[112]
-#define COLOR_SUPER_typing___PClosureDef___accept_typing SFT_typing[113]
-#define COLOR_typing___PClosureDef___accept_typing2 SFT_typing[114]
-val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3);
-typedef void (* typing___MMSrcModule___do_typing_t)(val_t self, val_t param0);
-void typing___MMSrcModule___do_typing(val_t self, val_t param0);
-#define LOCATE_typing___MMSrcModule___do_typing "typing::MMSrcModule::do_typing"
-typedef void (* typing___TypingVisitor___visit_t)(val_t self, val_t param0);
-void typing___TypingVisitor___visit(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___visit "typing::TypingVisitor::(parser_prod::Visitor::visit)"
-#define ATTR_typing___TypingVisitor____variable_ctx(recv) ATTR(recv, COLOR_typing___TypingVisitor____variable_ctx)
-typedef val_t (* typing___TypingVisitor___variable_ctx_t)(val_t self);
-val_t typing___TypingVisitor___variable_ctx(val_t self);
-#define LOCATE_typing___TypingVisitor___variable_ctx "typing::TypingVisitor::variable_ctx"
-typedef void (* typing___TypingVisitor___variable_ctx__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___variable_ctx__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___variable_ctx__eq "typing::TypingVisitor::variable_ctx="
-#define ATTR_typing___TypingVisitor____self_var(recv) ATTR(recv, COLOR_typing___TypingVisitor____self_var)
-typedef val_t (* typing___TypingVisitor___self_var_t)(val_t self);
-val_t typing___TypingVisitor___self_var(val_t self);
-#define LOCATE_typing___TypingVisitor___self_var "typing::TypingVisitor::self_var"
-typedef void (* typing___TypingVisitor___self_var__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___self_var__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___self_var__eq "typing::TypingVisitor::self_var="
-#define ATTR_typing___TypingVisitor____top_block(recv) ATTR(recv, COLOR_typing___TypingVisitor____top_block)
-typedef val_t (* typing___TypingVisitor___top_block_t)(val_t self);
-val_t typing___TypingVisitor___top_block(val_t self);
-#define LOCATE_typing___TypingVisitor___top_block "typing::TypingVisitor::top_block"
-typedef void (* typing___TypingVisitor___top_block__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___top_block__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___top_block__eq "typing::TypingVisitor::top_block="
-#define ATTR_typing___TypingVisitor____closure(recv) ATTR(recv, COLOR_typing___TypingVisitor____closure)
-typedef val_t (* typing___TypingVisitor___closure_t)(val_t self);
-val_t typing___TypingVisitor___closure(val_t self);
-#define LOCATE_typing___TypingVisitor___closure "typing::TypingVisitor::closure"
-typedef void (* typing___TypingVisitor___closure__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___closure__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___closure__eq "typing::TypingVisitor::closure="
-#define ATTR_typing___TypingVisitor____closure_break_stype(recv) ATTR(recv, COLOR_typing___TypingVisitor____closure_break_stype)
-typedef val_t (* typing___TypingVisitor___closure_break_stype_t)(val_t self);
-val_t typing___TypingVisitor___closure_break_stype(val_t self);
-#define LOCATE_typing___TypingVisitor___closure_break_stype "typing::TypingVisitor::closure_break_stype"
-typedef void (* typing___TypingVisitor___closure_break_stype__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___closure_break_stype__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___closure_break_stype__eq "typing::TypingVisitor::closure_break_stype="
-#define ATTR_typing___TypingVisitor____break_list(recv) ATTR(recv, COLOR_typing___TypingVisitor____break_list)
-typedef val_t (* typing___TypingVisitor___break_list_t)(val_t self);
-val_t typing___TypingVisitor___break_list(val_t self);
-#define LOCATE_typing___TypingVisitor___break_list "typing::TypingVisitor::break_list"
-typedef void (* typing___TypingVisitor___break_list__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___break_list__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___break_list__eq "typing::TypingVisitor::break_list="
-#define ATTR_typing___TypingVisitor____explicit_super_init_calls(recv) ATTR(recv, COLOR_typing___TypingVisitor____explicit_super_init_calls)
-typedef val_t (* typing___TypingVisitor___explicit_super_init_calls_t)(val_t self);
-val_t typing___TypingVisitor___explicit_super_init_calls(val_t self);
-#define LOCATE_typing___TypingVisitor___explicit_super_init_calls "typing::TypingVisitor::explicit_super_init_calls"
-typedef void (* typing___TypingVisitor___explicit_super_init_calls__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___explicit_super_init_calls__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq "typing::TypingVisitor::explicit_super_init_calls="
-#define ATTR_typing___TypingVisitor____explicit_other_init_call(recv) ATTR(recv, COLOR_typing___TypingVisitor____explicit_other_init_call)
-typedef val_t (* typing___TypingVisitor___explicit_other_init_call_t)(val_t self);
-val_t typing___TypingVisitor___explicit_other_init_call(val_t self);
-#define LOCATE_typing___TypingVisitor___explicit_other_init_call "typing::TypingVisitor::explicit_other_init_call"
-typedef void (* typing___TypingVisitor___explicit_other_init_call__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___explicit_other_init_call__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___explicit_other_init_call__eq "typing::TypingVisitor::explicit_other_init_call="
-typedef void (* typing___TypingVisitor___init_t)(val_t self, val_t param0, val_t param1, int* init_table);
-void typing___TypingVisitor___init(val_t self, val_t param0, val_t param1, int* init_table);
-#define LOCATE_typing___TypingVisitor___init "typing::TypingVisitor::init"
+#define CALL_typing___MMSrcModule___do_typing(recv) ((typing___MMSrcModule___do_typing_t)CALL((recv), (SFT_typing[0] + 0)))
+#define ID_TypingVisitor (SFT_typing[1])
+#define COLOR_TypingVisitor (SFT_typing[2])
+#define ATTR_typing___TypingVisitor____scope_ctx(recv) ATTR(recv, (SFT_typing[3] + 0))
+#define ATTR_typing___TypingVisitor____flow_ctx(recv) ATTR(recv, (SFT_typing[3] + 1))
+#define ATTR_typing___TypingVisitor____base_flow_ctx(recv) ATTR(recv, (SFT_typing[3] + 2))
+#define ATTR_typing___TypingVisitor____self_var(recv) ATTR(recv, (SFT_typing[3] + 3))
+#define ATTR_typing___TypingVisitor____top_block(recv) ATTR(recv, (SFT_typing[3] + 4))
+#define ATTR_typing___TypingVisitor____explicit_super_init_calls(recv) ATTR(recv, (SFT_typing[3] + 5))
+#define ATTR_typing___TypingVisitor____explicit_other_init_call(recv) ATTR(recv, (SFT_typing[3] + 6))
+#define ATTR_typing___TypingVisitor____is_default_closure_definition(recv) ATTR(recv, (SFT_typing[3] + 7))
+#define ATTR_typing___TypingVisitor____once_count(recv) ATTR(recv, (SFT_typing[3] + 8))
+#define INIT_TABLE_POS_TypingVisitor (SFT_typing[4] + 0)
+#define CALL_typing___TypingVisitor___scope_ctx(recv) ((typing___TypingVisitor___scope_ctx_t)CALL((recv), (SFT_typing[4] + 1)))
+#define CALL_typing___TypingVisitor___flow_ctx(recv) ((typing___TypingVisitor___flow_ctx_t)CALL((recv), (SFT_typing[4] + 2)))
+#define CALL_typing___TypingVisitor___flow_ctx__eq(recv) ((typing___TypingVisitor___flow_ctx__eq_t)CALL((recv), (SFT_typing[4] + 3)))
+#define CALL_typing___TypingVisitor___mark_is_set(recv) ((typing___TypingVisitor___mark_is_set_t)CALL((recv), (SFT_typing[4] + 4)))
+#define CALL_typing___TypingVisitor___mark_unreash(recv) ((typing___TypingVisitor___mark_unreash_t)CALL((recv), (SFT_typing[4] + 5)))
+#define CALL_typing___TypingVisitor___enter_visit_block(recv) ((typing___TypingVisitor___enter_visit_block_t)CALL((recv), (SFT_typing[4] + 6)))
+#define CALL_typing___TypingVisitor___base_flow_ctx(recv) ((typing___TypingVisitor___base_flow_ctx_t)CALL((recv), (SFT_typing[4] + 7)))
+#define CALL_typing___TypingVisitor___base_flow_ctx__eq(recv) ((typing___TypingVisitor___base_flow_ctx__eq_t)CALL((recv), (SFT_typing[4] + 8)))
+#define CALL_typing___TypingVisitor___self_var(recv) ((typing___TypingVisitor___self_var_t)CALL((recv), (SFT_typing[4] + 9)))
+#define CALL_typing___TypingVisitor___self_var__eq(recv) ((typing___TypingVisitor___self_var__eq_t)CALL((recv), (SFT_typing[4] + 10)))
+#define CALL_typing___TypingVisitor___top_block(recv) ((typing___TypingVisitor___top_block_t)CALL((recv), (SFT_typing[4] + 11)))
+#define CALL_typing___TypingVisitor___top_block__eq(recv) ((typing___TypingVisitor___top_block__eq_t)CALL((recv), (SFT_typing[4] + 12)))
+#define CALL_typing___TypingVisitor___explicit_super_init_calls(recv) ((typing___TypingVisitor___explicit_super_init_calls_t)CALL((recv), (SFT_typing[4] + 13)))
+#define CALL_typing___TypingVisitor___explicit_super_init_calls__eq(recv) ((typing___TypingVisitor___explicit_super_init_calls__eq_t)CALL((recv), (SFT_typing[4] + 14)))
+#define CALL_typing___TypingVisitor___explicit_other_init_call(recv) ((typing___TypingVisitor___explicit_other_init_call_t)CALL((recv), (SFT_typing[4] + 15)))
+#define CALL_typing___TypingVisitor___explicit_other_init_call__eq(recv) ((typing___TypingVisitor___explicit_other_init_call__eq_t)CALL((recv), (SFT_typing[4] + 16)))
+#define CALL_typing___TypingVisitor___use_if_true_flow_ctx(recv) ((typing___TypingVisitor___use_if_true_flow_ctx_t)CALL((recv), (SFT_typing[4] + 17)))
+#define CALL_typing___TypingVisitor___use_if_false_flow_ctx(recv) ((typing___TypingVisitor___use_if_false_flow_ctx_t)CALL((recv), (SFT_typing[4] + 18)))
+#define CALL_typing___TypingVisitor___is_default_closure_definition(recv) ((typing___TypingVisitor___is_default_closure_definition_t)CALL((recv), (SFT_typing[4] + 19)))
+#define CALL_typing___TypingVisitor___is_default_closure_definition__eq(recv) ((typing___TypingVisitor___is_default_closure_definition__eq_t)CALL((recv), (SFT_typing[4] + 20)))
+#define CALL_typing___TypingVisitor___once_count(recv) ((typing___TypingVisitor___once_count_t)CALL((recv), (SFT_typing[4] + 21)))
+#define CALL_typing___TypingVisitor___once_count__eq(recv) ((typing___TypingVisitor___once_count__eq_t)CALL((recv), (SFT_typing[4] + 22)))
+#define CALL_typing___TypingVisitor___init(recv) ((typing___TypingVisitor___init_t)CALL((recv), (SFT_typing[4] + 23)))
+#define CALL_typing___TypingVisitor___get_default_constructor_for(recv) ((typing___TypingVisitor___get_default_constructor_for_t)CALL((recv), (SFT_typing[4] + 24)))
+#define CALL_typing___ANode___accept_typing(recv) ((typing___ANode___accept_typing_t)CALL((recv), (SFT_typing[5] + 0)))
+#define CALL_typing___ANode___after_typing(recv) ((typing___ANode___after_typing_t)CALL((recv), (SFT_typing[5] + 1)))
+#define CALL_SUPER_typing___AClassdef___accept_typing(recv) ((typing___AClassdef___accept_typing_t)CALL((recv), (SFT_typing[6] + 0)))
+#define ATTR_typing___APropdef____self_var(recv) ATTR(recv, (SFT_typing[7] + 0))
+#define CALL_SUPER_typing___AAttrPropdef___accept_typing(recv) ((typing___AAttrPropdef___accept_typing_t)CALL((recv), (SFT_typing[8] + 0)))
+#define CALL_SUPER_typing___AMethPropdef___accept_typing(recv) ((typing___AMethPropdef___accept_typing_t)CALL((recv), (SFT_typing[9] + 0)))
+#define CALL_SUPER_typing___AConcreteMethPropdef___after_typing(recv) ((typing___AConcreteMethPropdef___after_typing_t)CALL((recv), (SFT_typing[10] + 0)))
+#define CALL_SUPER_typing___AConcreteInitPropdef___accept_typing(recv) ((typing___AConcreteInitPropdef___accept_typing_t)CALL((recv), (SFT_typing[11] + 0)))
+#define CALL_SUPER_typing___AConcreteInitPropdef___after_typing(recv) ((typing___AConcreteInitPropdef___after_typing_t)CALL((recv), (SFT_typing[11] + 1)))
+#define ATTR_typing___AClosureDecl____escapable(recv) ATTR(recv, (SFT_typing[12] + 0))
+#define CALL_typing___AClosureDecl___escapable(recv) ((typing___AClosureDecl___escapable_t)CALL((recv), (SFT_typing[13] + 0)))
+#define CALL_SUPER_typing___AClosureDecl___accept_typing(recv) ((typing___AClosureDecl___accept_typing_t)CALL((recv), (SFT_typing[13] + 1)))
+#define ATTR_typing___AType____stype(recv) ATTR(recv, (SFT_typing[14] + 0))
+#define ATTR_typing___AExpr____is_typed(recv) ATTR(recv, (SFT_typing[15] + 0))
+#define ATTR_typing___AExpr____stype(recv) ATTR(recv, (SFT_typing[15] + 1))
+#define ATTR_typing___AExpr____if_true_flow_ctx(recv) ATTR(recv, (SFT_typing[15] + 2))
+#define ATTR_typing___AExpr____if_false_flow_ctx(recv) ATTR(recv, (SFT_typing[15] + 3))
+#define CALL_typing___AExpr___is_implicit_self(recv) ((typing___AExpr___is_implicit_self_t)CALL((recv), (SFT_typing[16] + 0)))
+#define CALL_typing___AExpr___is_self(recv) ((typing___AExpr___is_self_t)CALL((recv), (SFT_typing[16] + 1)))
+#define CALL_typing___AExpr___its_variable(recv) ((typing___AExpr___its_variable_t)CALL((recv), (SFT_typing[16] + 2)))
+#define CALL_typing___AExpr___if_true_flow_ctx(recv) ((typing___AExpr___if_true_flow_ctx_t)CALL((recv), (SFT_typing[16] + 3)))
+#define CALL_typing___AExpr___if_false_flow_ctx(recv) ((typing___AExpr___if_false_flow_ctx_t)CALL((recv), (SFT_typing[16] + 4)))
+#define ATTR_typing___AVardeclExpr____variable(recv) ATTR(recv, (SFT_typing[17] + 0))
+#define ID_AAbsControl (SFT_typing[18])
+#define COLOR_AAbsControl (SFT_typing[19])
+#define ATTR_typing___AAbsControl____escapable(recv) ATTR(recv, (SFT_typing[20] + 0))
+#define INIT_TABLE_POS_AAbsControl (SFT_typing[21] + 0)
+#define CALL_typing___AAbsControl___escapable(recv) ((typing___AAbsControl___escapable_t)CALL((recv), (SFT_typing[21] + 1)))
+#define CALL_typing___AAbsControl___process_control(recv) ((typing___AAbsControl___process_control_t)CALL((recv), (SFT_typing[21] + 2)))
+#define CALL_typing___AAbsControl___process_control_inside(recv) ((typing___AAbsControl___process_control_inside_t)CALL((recv), (SFT_typing[21] + 3)))
+#define ATTR_typing___AForExpr____variable(recv) ATTR(recv, (SFT_typing[22] + 0))
+#define ATTR_typing___AVarFormExpr____variable(recv) ATTR(recv, (SFT_typing[23] + 0))
+#define ATTR_typing___AReassignFormExpr____assign_method(recv) ATTR(recv, (SFT_typing[24] + 0))
+#define CALL_typing___AReassignFormExpr___do_rvalue_typing(recv) ((typing___AReassignFormExpr___do_rvalue_typing_t)CALL((recv), (SFT_typing[25] + 0)))
+#define CALL_typing___AAssignOp___method_name(recv) ((typing___AAssignOp___method_name_t)CALL((recv), (SFT_typing[26] + 0)))
+#define ATTR_typing___ASelfExpr____variable(recv) ATTR(recv, (SFT_typing[27] + 0))
+#define ATTR_typing___ASuperstringExpr____atype(recv) ATTR(recv, (SFT_typing[28] + 0))
+#define CALL_typing___AArrayExpr___do_typing(recv) ((typing___AArrayExpr___do_typing_t)CALL((recv), (SFT_typing[29] + 0)))
+#define ATTR_typing___ASuperExpr____init_in_superclass(recv) ATTR(recv, (SFT_typing[30] + 0))
+#define ATTR_typing___AAttrFormExpr____prop(recv) ATTR(recv, (SFT_typing[31] + 0))
+#define ATTR_typing___AAttrFormExpr____attr_type(recv) ATTR(recv, (SFT_typing[31] + 1))
+#define CALL_typing___AAttrFormExpr___do_typing(recv) ((typing___AAttrFormExpr___do_typing_t)CALL((recv), (SFT_typing[32] + 0)))
+#define ATTR_typing___AAbsAbsSendExpr____prop_signature(recv) ATTR(recv, (SFT_typing[33] + 0))
+#define ATTR_typing___AAbsAbsSendExpr____raw_arguments_cache(recv) ATTR(recv, (SFT_typing[33] + 1))
+#define CALL_typing___AAbsAbsSendExpr___compute_raw_arguments(recv) ((typing___AAbsAbsSendExpr___compute_raw_arguments_t)CALL((recv), (SFT_typing[34] + 0)))
+#define CALL_typing___AAbsAbsSendExpr___process_signature(recv) ((typing___AAbsAbsSendExpr___process_signature_t)CALL((recv), (SFT_typing[34] + 1)))
+#define CALL_typing___AAbsAbsSendExpr___process_closures(recv) ((typing___AAbsAbsSendExpr___process_closures_t)CALL((recv), (SFT_typing[34] + 2)))
+#define ATTR_typing___AAbsSendExpr____prop(recv) ATTR(recv, (SFT_typing[35] + 0))
+#define ATTR_typing___AAbsSendExpr____return_type(recv) ATTR(recv, (SFT_typing[35] + 1))
+#define CALL_typing___AAbsSendExpr___do_typing(recv) ((typing___AAbsSendExpr___do_typing_t)CALL((recv), (SFT_typing[36] + 0)))
+#define CALL_typing___AAbsSendExpr___get_property(recv) ((typing___AAbsSendExpr___get_property_t)CALL((recv), (SFT_typing[36] + 1)))
+#define CALL_typing___AAbsSendExpr___get_signature(recv) ((typing___AAbsSendExpr___get_signature_t)CALL((recv), (SFT_typing[36] + 2)))
+#define CALL_typing___ASuperInitCall___register_super_init_call(recv) ((typing___ASuperInitCall___register_super_init_call_t)CALL((recv), (SFT_typing[37] + 0)))
+#define CALL_typing___ASendExpr___name(recv) ((typing___ASendExpr___name_t)CALL((recv), (SFT_typing[38] + 0)))
+#define CALL_typing___ASendExpr___do_all_typing(recv) ((typing___ASendExpr___do_all_typing_t)CALL((recv), (SFT_typing[38] + 1)))
+#define ATTR_typing___ASendReassignExpr____read_prop(recv) ATTR(recv, (SFT_typing[39] + 0))
+#define CALL_SUPER_typing___AEqExpr___after_typing(recv) ((typing___AEqExpr___after_typing_t)CALL((recv), (SFT_typing[40] + 0)))
+#define CALL_typing___AEqExpr___try_to_isa(recv) ((typing___AEqExpr___try_to_isa_t)CALL((recv), (SFT_typing[40] + 1)))
+#define CALL_SUPER_typing___ANeExpr___after_typing(recv) ((typing___ANeExpr___after_typing_t)CALL((recv), (SFT_typing[41] + 0)))
+#define CALL_typing___ANeExpr___try_to_isa(recv) ((typing___ANeExpr___try_to_isa_t)CALL((recv), (SFT_typing[41] + 1)))
+#define CALL_SUPER_typing___ACallFormExpr___after_typing(recv) ((typing___ACallFormExpr___after_typing_t)CALL((recv), (SFT_typing[42] + 0)))
+#define CALL_typing___ACallFormExpr___variable_create(recv) ((typing___ACallFormExpr___variable_create_t)CALL((recv), (SFT_typing[42] + 1)))
+#define ATTR_typing___AClosureCallExpr____variable(recv) ATTR(recv, (SFT_typing[43] + 0))
+#define CALL_typing___AClosureId___to_symbol(recv) ((typing___AClosureId___to_symbol_t)CALL((recv), (SFT_typing[44] + 0)))
+#define ATTR_typing___AClosureDef____closure(recv) ATTR(recv, (SFT_typing[45] + 0))
+#define ATTR_typing___AClosureDef____escapable(recv) ATTR(recv, (SFT_typing[45] + 1))
+#define ATTR_typing___AClosureDef____accept_typing2(recv) ATTR(recv, (SFT_typing[45] + 2))
+#define CALL_typing___AClosureDef___escapable(recv) ((typing___AClosureDef___escapable_t)CALL((recv), (SFT_typing[46] + 0)))
+#define CALL_SUPER_typing___AClosureDef___accept_typing(recv) ((typing___AClosureDef___accept_typing_t)CALL((recv), (SFT_typing[46] + 1)))
+#define CALL_typing___AClosureDef___accept_typing2(recv) ((typing___AClosureDef___accept_typing2_t)CALL((recv), (SFT_typing[46] + 2)))
+#define ID_ATypeCheckExpr (SFT_typing[47])
+#define COLOR_ATypeCheckExpr (SFT_typing[48])
+#define INIT_TABLE_POS_ATypeCheckExpr (SFT_typing[49] + 0)
+#define CALL_typing___ATypeCheckExpr___check_expr_cast(recv) ((typing___ATypeCheckExpr___check_expr_cast_t)CALL((recv), (SFT_typing[49] + 1)))
+#define CALL_SUPER_typing___AOnceExpr___accept_typing(recv) ((typing___AOnceExpr___accept_typing_t)CALL((recv), (SFT_typing[50] + 0)))
+static const char * const LOCATE_typing___MMSrcModule___do_typing = "typing::MMSrcModule::do_typing";
+void typing___MMSrcModule___do_typing(val_t p0, val_t p1);
+typedef void (*typing___MMSrcModule___do_typing_t)(val_t p0, val_t p1);
+val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_typing___TypingVisitor___visit = "typing::TypingVisitor::(parser_prod::Visitor::visit)";
+void typing___TypingVisitor___visit(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___visit_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___scope_ctx = "typing::TypingVisitor::scope_ctx";
+val_t typing___TypingVisitor___scope_ctx(val_t p0);
+typedef val_t (*typing___TypingVisitor___scope_ctx_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___flow_ctx = "typing::TypingVisitor::flow_ctx";
+val_t typing___TypingVisitor___flow_ctx(val_t p0);
+typedef val_t (*typing___TypingVisitor___flow_ctx_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___flow_ctx__eq = "typing::TypingVisitor::flow_ctx=";
+void typing___TypingVisitor___flow_ctx__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___flow_ctx__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___mark_is_set = "typing::TypingVisitor::mark_is_set";
+void typing___TypingVisitor___mark_is_set(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___mark_is_set_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___mark_unreash = "typing::TypingVisitor::mark_unreash";
+void typing___TypingVisitor___mark_unreash(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___mark_unreash_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___enter_visit_block = "typing::TypingVisitor::enter_visit_block";
+void typing___TypingVisitor___enter_visit_block(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___enter_visit_block_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___base_flow_ctx = "typing::TypingVisitor::base_flow_ctx";
+val_t typing___TypingVisitor___base_flow_ctx(val_t p0);
+typedef val_t (*typing___TypingVisitor___base_flow_ctx_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___base_flow_ctx__eq = "typing::TypingVisitor::base_flow_ctx=";
+void typing___TypingVisitor___base_flow_ctx__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___base_flow_ctx__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___self_var = "typing::TypingVisitor::self_var";
+val_t typing___TypingVisitor___self_var(val_t p0);
+typedef val_t (*typing___TypingVisitor___self_var_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___self_var__eq = "typing::TypingVisitor::self_var=";
+void typing___TypingVisitor___self_var__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___self_var__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___top_block = "typing::TypingVisitor::top_block";
+val_t typing___TypingVisitor___top_block(val_t p0);
+typedef val_t (*typing___TypingVisitor___top_block_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___top_block__eq = "typing::TypingVisitor::top_block=";
+void typing___TypingVisitor___top_block__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___top_block__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___explicit_super_init_calls = "typing::TypingVisitor::explicit_super_init_calls";
+val_t typing___TypingVisitor___explicit_super_init_calls(val_t p0);
+typedef val_t (*typing___TypingVisitor___explicit_super_init_calls_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq = "typing::TypingVisitor::explicit_super_init_calls=";
+void typing___TypingVisitor___explicit_super_init_calls__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___explicit_super_init_calls__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___explicit_other_init_call = "typing::TypingVisitor::explicit_other_init_call";
+val_t typing___TypingVisitor___explicit_other_init_call(val_t p0);
+typedef val_t (*typing___TypingVisitor___explicit_other_init_call_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___explicit_other_init_call__eq = "typing::TypingVisitor::explicit_other_init_call=";
+void typing___TypingVisitor___explicit_other_init_call__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___explicit_other_init_call__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___use_if_true_flow_ctx = "typing::TypingVisitor::use_if_true_flow_ctx";
+void typing___TypingVisitor___use_if_true_flow_ctx(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___use_if_true_flow_ctx_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___use_if_false_flow_ctx = "typing::TypingVisitor::use_if_false_flow_ctx";
+void typing___TypingVisitor___use_if_false_flow_ctx(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___use_if_false_flow_ctx_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___is_default_closure_definition = "typing::TypingVisitor::is_default_closure_definition";
+val_t typing___TypingVisitor___is_default_closure_definition(val_t p0);
+typedef val_t (*typing___TypingVisitor___is_default_closure_definition_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___is_default_closure_definition__eq = "typing::TypingVisitor::is_default_closure_definition=";
+void typing___TypingVisitor___is_default_closure_definition__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___is_default_closure_definition__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___once_count = "typing::TypingVisitor::once_count";
+val_t typing___TypingVisitor___once_count(val_t p0);
+typedef val_t (*typing___TypingVisitor___once_count_t)(val_t p0);
+static const char * const LOCATE_typing___TypingVisitor___once_count__eq = "typing::TypingVisitor::once_count=";
+void typing___TypingVisitor___once_count__eq(val_t p0, val_t p1);
+typedef void (*typing___TypingVisitor___once_count__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___TypingVisitor___init = "typing::TypingVisitor::init";
+void typing___TypingVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*typing___TypingVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);