c_src: update
[nit.git] / c_src / typing._sep.h
index 4a9b25e..bdf9fe0 100644 (file)
 /* This C header file is generated by NIT to compile modules and programs that requires typing. */
 #ifndef typing_sep
 #define typing_sep
-#include "escape._sep.h"
-#include "control_flow._sep.h"
+#include "scope._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_TypingVisitor[];
 
+extern const classtable_elt_t VFT_AAbsControl[];
+
 extern const classtable_elt_t VFT_ATypeCheckExpr[];
 extern const char *LOCATE_typing;
 extern const int SFT_typing[];
 #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____variable_ctx(recv) ATTR(recv, (SFT_typing[3] + 0))
-#define ATTR_typing___TypingVisitor____base_variable_ctx(recv) ATTR(recv, (SFT_typing[3] + 1))
-#define ATTR_typing___TypingVisitor____escapable_ctx(recv) ATTR(recv, (SFT_typing[3] + 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____once_count(recv) ATTR(recv, (SFT_typing[3] + 7))
+#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___variable_ctx(recv) ((typing___TypingVisitor___variable_ctx_t)CALL((recv), (SFT_typing[4] + 1)))
-#define CALL_typing___TypingVisitor___variable_ctx__eq(recv) ((typing___TypingVisitor___variable_ctx__eq_t)CALL((recv), (SFT_typing[4] + 2)))
-#define CALL_typing___TypingVisitor___base_variable_ctx(recv) ((typing___TypingVisitor___base_variable_ctx_t)CALL((recv), (SFT_typing[4] + 3)))
-#define CALL_typing___TypingVisitor___base_variable_ctx__eq(recv) ((typing___TypingVisitor___base_variable_ctx__eq_t)CALL((recv), (SFT_typing[4] + 4)))
-#define CALL_typing___TypingVisitor___escapable_ctx(recv) ((typing___TypingVisitor___escapable_ctx_t)CALL((recv), (SFT_typing[4] + 5)))
-#define CALL_typing___TypingVisitor___escapable_ctx__eq(recv) ((typing___TypingVisitor___escapable_ctx__eq_t)CALL((recv), (SFT_typing[4] + 6)))
-#define CALL_typing___TypingVisitor___self_var(recv) ((typing___TypingVisitor___self_var_t)CALL((recv), (SFT_typing[4] + 7)))
-#define CALL_typing___TypingVisitor___self_var__eq(recv) ((typing___TypingVisitor___self_var__eq_t)CALL((recv), (SFT_typing[4] + 8)))
-#define CALL_typing___TypingVisitor___top_block(recv) ((typing___TypingVisitor___top_block_t)CALL((recv), (SFT_typing[4] + 9)))
-#define CALL_typing___TypingVisitor___top_block__eq(recv) ((typing___TypingVisitor___top_block__eq_t)CALL((recv), (SFT_typing[4] + 10)))
-#define CALL_typing___TypingVisitor___explicit_super_init_calls(recv) ((typing___TypingVisitor___explicit_super_init_calls_t)CALL((recv), (SFT_typing[4] + 11)))
-#define CALL_typing___TypingVisitor___explicit_super_init_calls__eq(recv) ((typing___TypingVisitor___explicit_super_init_calls__eq_t)CALL((recv), (SFT_typing[4] + 12)))
-#define CALL_typing___TypingVisitor___explicit_other_init_call(recv) ((typing___TypingVisitor___explicit_other_init_call_t)CALL((recv), (SFT_typing[4] + 13)))
-#define CALL_typing___TypingVisitor___explicit_other_init_call__eq(recv) ((typing___TypingVisitor___explicit_other_init_call__eq_t)CALL((recv), (SFT_typing[4] + 14)))
-#define CALL_typing___TypingVisitor___use_if_true_variable_ctx(recv) ((typing___TypingVisitor___use_if_true_variable_ctx_t)CALL((recv), (SFT_typing[4] + 15)))
-#define CALL_typing___TypingVisitor___use_if_false_variable_ctx(recv) ((typing___TypingVisitor___use_if_false_variable_ctx_t)CALL((recv), (SFT_typing[4] + 16)))
-#define CALL_typing___TypingVisitor___once_count(recv) ((typing___TypingVisitor___once_count_t)CALL((recv), (SFT_typing[4] + 17)))
-#define CALL_typing___TypingVisitor___once_count__eq(recv) ((typing___TypingVisitor___once_count__eq_t)CALL((recv), (SFT_typing[4] + 18)))
-#define CALL_typing___TypingVisitor___init(recv) ((typing___TypingVisitor___init_t)CALL((recv), (SFT_typing[4] + 19)))
-#define CALL_typing___TypingVisitor___get_default_constructor_for(recv) ((typing___TypingVisitor___get_default_constructor_for_t)CALL((recv), (SFT_typing[4] + 20)))
-#define ATTR_typing___VarVariable____is_typed(recv) ATTR(recv, (SFT_typing[5] + 0))
-#define CALL_typing___ANode___accept_typing(recv) ((typing___ANode___accept_typing_t)CALL((recv), (SFT_typing[6] + 0)))
-#define CALL_typing___ANode___after_typing(recv) ((typing___ANode___after_typing_t)CALL((recv), (SFT_typing[6] + 1)))
-#define CALL_SUPER_typing___AClassdef___accept_typing(recv) ((typing___AClassdef___accept_typing_t)CALL((recv), (SFT_typing[7] + 0)))
-#define ATTR_typing___APropdef____self_var(recv) ATTR(recv, (SFT_typing[8] + 0))
-#define CALL_SUPER_typing___AAttrPropdef___accept_typing(recv) ((typing___AAttrPropdef___accept_typing_t)CALL((recv), (SFT_typing[9] + 0)))
-#define CALL_SUPER_typing___AMethPropdef___accept_typing(recv) ((typing___AMethPropdef___accept_typing_t)CALL((recv), (SFT_typing[10] + 0)))
-#define CALL_SUPER_typing___AConcreteMethPropdef___after_typing(recv) ((typing___AConcreteMethPropdef___after_typing_t)CALL((recv), (SFT_typing[11] + 0)))
-#define CALL_SUPER_typing___AConcreteInitPropdef___accept_typing(recv) ((typing___AConcreteInitPropdef___accept_typing_t)CALL((recv), (SFT_typing[12] + 0)))
-#define CALL_SUPER_typing___AConcreteInitPropdef___after_typing(recv) ((typing___AConcreteInitPropdef___after_typing_t)CALL((recv), (SFT_typing[12] + 1)))
-#define ATTR_typing___AClosureDecl____escapable(recv) ATTR(recv, (SFT_typing[13] + 0))
-#define CALL_typing___AClosureDecl___escapable(recv) ((typing___AClosureDecl___escapable_t)CALL((recv), (SFT_typing[14] + 0)))
-#define CALL_SUPER_typing___AClosureDecl___accept_typing(recv) ((typing___AClosureDecl___accept_typing_t)CALL((recv), (SFT_typing[14] + 1)))
-#define ATTR_typing___AType____stype(recv) ATTR(recv, (SFT_typing[15] + 0))
-#define ATTR_typing___AExpr____is_typed(recv) ATTR(recv, (SFT_typing[16] + 0))
-#define ATTR_typing___AExpr____stype(recv) ATTR(recv, (SFT_typing[16] + 1))
-#define ATTR_typing___AExpr____if_true_variable_ctx(recv) ATTR(recv, (SFT_typing[16] + 2))
-#define ATTR_typing___AExpr____if_false_variable_ctx(recv) ATTR(recv, (SFT_typing[16] + 3))
-#define CALL_typing___AExpr___is_implicit_self(recv) ((typing___AExpr___is_implicit_self_t)CALL((recv), (SFT_typing[17] + 0)))
-#define CALL_typing___AExpr___is_self(recv) ((typing___AExpr___is_self_t)CALL((recv), (SFT_typing[17] + 1)))
-#define CALL_typing___AExpr___its_variable(recv) ((typing___AExpr___its_variable_t)CALL((recv), (SFT_typing[17] + 2)))
-#define CALL_typing___AExpr___if_true_variable_ctx(recv) ((typing___AExpr___if_true_variable_ctx_t)CALL((recv), (SFT_typing[17] + 3)))
-#define CALL_typing___AExpr___if_false_variable_ctx(recv) ((typing___AExpr___if_false_variable_ctx_t)CALL((recv), (SFT_typing[17] + 4)))
-#define ATTR_typing___AVardeclExpr____variable(recv) ATTR(recv, (SFT_typing[18] + 0))
-#define ATTR_typing___ADoExpr____escapable(recv) ATTR(recv, (SFT_typing[19] + 0))
-#define CALL_typing___ADoExpr___escapable(recv) ((typing___ADoExpr___escapable_t)CALL((recv), (SFT_typing[20] + 0)))
-#define CALL_SUPER_typing___ADoExpr___accept_typing(recv) ((typing___ADoExpr___accept_typing_t)CALL((recv), (SFT_typing[20] + 1)))
-#define ATTR_typing___AWhileExpr____escapable(recv) ATTR(recv, (SFT_typing[21] + 0))
-#define CALL_typing___AWhileExpr___escapable(recv) ((typing___AWhileExpr___escapable_t)CALL((recv), (SFT_typing[22] + 0)))
-#define ATTR_typing___ALoopExpr____escapable(recv) ATTR(recv, (SFT_typing[23] + 0))
-#define CALL_typing___ALoopExpr___escapable(recv) ((typing___ALoopExpr___escapable_t)CALL((recv), (SFT_typing[24] + 0)))
-#define ATTR_typing___AForExpr____variable(recv) ATTR(recv, (SFT_typing[25] + 0))
-#define ATTR_typing___AForExpr____escapable(recv) ATTR(recv, (SFT_typing[25] + 1))
-#define CALL_typing___AForExpr___escapable(recv) ((typing___AForExpr___escapable_t)CALL((recv), (SFT_typing[26] + 0)))
-#define ATTR_typing___AVarFormExpr____variable(recv) ATTR(recv, (SFT_typing[27] + 0))
-#define ATTR_typing___AReassignFormExpr____assign_method(recv) ATTR(recv, (SFT_typing[28] + 0))
-#define CALL_typing___AReassignFormExpr___do_rvalue_typing(recv) ((typing___AReassignFormExpr___do_rvalue_typing_t)CALL((recv), (SFT_typing[29] + 0)))
-#define CALL_typing___AAssignOp___method_name(recv) ((typing___AAssignOp___method_name_t)CALL((recv), (SFT_typing[30] + 0)))
-#define ATTR_typing___ASelfExpr____variable(recv) ATTR(recv, (SFT_typing[31] + 0))
-#define ATTR_typing___ASuperstringExpr____atype(recv) ATTR(recv, (SFT_typing[32] + 0))
-#define CALL_typing___AArrayExpr___do_typing(recv) ((typing___AArrayExpr___do_typing_t)CALL((recv), (SFT_typing[33] + 0)))
-#define ATTR_typing___ASuperExpr____init_in_superclass(recv) ATTR(recv, (SFT_typing[34] + 0))
-#define ATTR_typing___AAttrFormExpr____prop(recv) ATTR(recv, (SFT_typing[35] + 0))
-#define ATTR_typing___AAttrFormExpr____attr_type(recv) ATTR(recv, (SFT_typing[35] + 1))
-#define CALL_typing___AAttrFormExpr___do_typing(recv) ((typing___AAttrFormExpr___do_typing_t)CALL((recv), (SFT_typing[36] + 0)))
-#define ATTR_typing___AAbsAbsSendExpr____prop_signature(recv) ATTR(recv, (SFT_typing[37] + 0))
-#define ATTR_typing___AAbsAbsSendExpr____raw_arguments_cache(recv) ATTR(recv, (SFT_typing[37] + 1))
-#define CALL_typing___AAbsAbsSendExpr___compute_raw_arguments(recv) ((typing___AAbsAbsSendExpr___compute_raw_arguments_t)CALL((recv), (SFT_typing[38] + 0)))
-#define CALL_typing___AAbsAbsSendExpr___process_signature(recv) ((typing___AAbsAbsSendExpr___process_signature_t)CALL((recv), (SFT_typing[38] + 1)))
-#define CALL_typing___AAbsAbsSendExpr___process_closures(recv) ((typing___AAbsAbsSendExpr___process_closures_t)CALL((recv), (SFT_typing[38] + 2)))
-#define ATTR_typing___AAbsSendExpr____prop(recv) ATTR(recv, (SFT_typing[39] + 0))
-#define ATTR_typing___AAbsSendExpr____return_type(recv) ATTR(recv, (SFT_typing[39] + 1))
-#define CALL_typing___AAbsSendExpr___do_typing(recv) ((typing___AAbsSendExpr___do_typing_t)CALL((recv), (SFT_typing[40] + 0)))
-#define CALL_typing___AAbsSendExpr___get_property(recv) ((typing___AAbsSendExpr___get_property_t)CALL((recv), (SFT_typing[40] + 1)))
-#define CALL_typing___AAbsSendExpr___get_signature(recv) ((typing___AAbsSendExpr___get_signature_t)CALL((recv), (SFT_typing[40] + 2)))
-#define CALL_typing___ASuperInitCall___register_super_init_call(recv) ((typing___ASuperInitCall___register_super_init_call_t)CALL((recv), (SFT_typing[41] + 0)))
-#define CALL_typing___ASendExpr___name(recv) ((typing___ASendExpr___name_t)CALL((recv), (SFT_typing[42] + 0)))
-#define CALL_typing___ASendExpr___do_all_typing(recv) ((typing___ASendExpr___do_all_typing_t)CALL((recv), (SFT_typing[42] + 1)))
-#define ATTR_typing___ASendReassignExpr____read_prop(recv) ATTR(recv, (SFT_typing[43] + 0))
-#define CALL_SUPER_typing___AEqExpr___after_typing(recv) ((typing___AEqExpr___after_typing_t)CALL((recv), (SFT_typing[44] + 0)))
-#define CALL_typing___AEqExpr___try_to_isa(recv) ((typing___AEqExpr___try_to_isa_t)CALL((recv), (SFT_typing[44] + 1)))
-#define CALL_SUPER_typing___ANeExpr___after_typing(recv) ((typing___ANeExpr___after_typing_t)CALL((recv), (SFT_typing[45] + 0)))
-#define CALL_typing___ANeExpr___try_to_isa(recv) ((typing___ANeExpr___try_to_isa_t)CALL((recv), (SFT_typing[45] + 1)))
-#define CALL_SUPER_typing___ACallFormExpr___after_typing(recv) ((typing___ACallFormExpr___after_typing_t)CALL((recv), (SFT_typing[46] + 0)))
-#define CALL_typing___ACallFormExpr___variable_create(recv) ((typing___ACallFormExpr___variable_create_t)CALL((recv), (SFT_typing[46] + 1)))
-#define ATTR_typing___AClosureCallExpr____variable(recv) ATTR(recv, (SFT_typing[47] + 0))
-#define CALL_typing___AClosureId___to_symbol(recv) ((typing___AClosureId___to_symbol_t)CALL((recv), (SFT_typing[48] + 0)))
-#define ATTR_typing___AClosureDef____closure(recv) ATTR(recv, (SFT_typing[49] + 0))
-#define ATTR_typing___AClosureDef____escapable(recv) ATTR(recv, (SFT_typing[49] + 1))
-#define ATTR_typing___AClosureDef____accept_typing2(recv) ATTR(recv, (SFT_typing[49] + 2))
-#define CALL_typing___AClosureDef___escapable(recv) ((typing___AClosureDef___escapable_t)CALL((recv), (SFT_typing[50] + 0)))
-#define CALL_SUPER_typing___AClosureDef___accept_typing(recv) ((typing___AClosureDef___accept_typing_t)CALL((recv), (SFT_typing[50] + 1)))
-#define CALL_typing___AClosureDef___accept_typing2(recv) ((typing___AClosureDef___accept_typing2_t)CALL((recv), (SFT_typing[50] + 2)))
-#define ID_ATypeCheckExpr (SFT_typing[51])
-#define COLOR_ATypeCheckExpr (SFT_typing[52])
-#define INIT_TABLE_POS_ATypeCheckExpr (SFT_typing[53] + 0)
-#define CALL_typing___ATypeCheckExpr___check_expr_cast(recv) ((typing___ATypeCheckExpr___check_expr_cast_t)CALL((recv), (SFT_typing[53] + 1)))
-#define CALL_SUPER_typing___AOnceExpr___accept_typing(recv) ((typing___AOnceExpr___accept_typing_t)CALL((recv), (SFT_typing[54] + 0)))
-val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___MMSrcModule___do_typing "typing::MMSrcModule::do_typing"
+#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);
-#define LOCATE_typing___TypingVisitor___visit "typing::TypingVisitor::(parser_prod::Visitor::visit)"
+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);
-#define LOCATE_typing___TypingVisitor___variable_ctx "typing::TypingVisitor::variable_ctx"
-val_t typing___TypingVisitor___variable_ctx(val_t p0);
-typedef val_t (*typing___TypingVisitor___variable_ctx_t)(val_t p0);
-#define LOCATE_typing___TypingVisitor___variable_ctx__eq "typing::TypingVisitor::variable_ctx="
-void typing___TypingVisitor___variable_ctx__eq(val_t p0, val_t p1);
-typedef void (*typing___TypingVisitor___variable_ctx__eq_t)(val_t p0, val_t p1);
-#define LOCATE_typing___TypingVisitor___base_variable_ctx "typing::TypingVisitor::base_variable_ctx"
-val_t typing___TypingVisitor___base_variable_ctx(val_t p0);
-typedef val_t (*typing___TypingVisitor___base_variable_ctx_t)(val_t p0);
-#define LOCATE_typing___TypingVisitor___base_variable_ctx__eq "typing::TypingVisitor::base_variable_ctx="
-void typing___TypingVisitor___base_variable_ctx__eq(val_t p0, val_t p1);
-typedef void (*typing___TypingVisitor___base_variable_ctx__eq_t)(val_t p0, val_t p1);
-#define LOCATE_typing___TypingVisitor___escapable_ctx "typing::TypingVisitor::escapable_ctx"
-val_t typing___TypingVisitor___escapable_ctx(val_t p0);
-typedef val_t (*typing___TypingVisitor___escapable_ctx_t)(val_t p0);
-#define LOCATE_typing___TypingVisitor___escapable_ctx__eq "typing::TypingVisitor::escapable_ctx="
-void typing___TypingVisitor___escapable_ctx__eq(val_t p0, val_t p1);
-typedef void (*typing___TypingVisitor___escapable_ctx__eq_t)(val_t p0, val_t p1);
-#define LOCATE_typing___TypingVisitor___self_var "typing::TypingVisitor::self_var"
+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);
-#define LOCATE_typing___TypingVisitor___self_var__eq "typing::TypingVisitor::self_var="
+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);
-#define LOCATE_typing___TypingVisitor___top_block "typing::TypingVisitor::top_block"
+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);
-#define LOCATE_typing___TypingVisitor___top_block__eq "typing::TypingVisitor::top_block="
+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);
-#define LOCATE_typing___TypingVisitor___explicit_super_init_calls "typing::TypingVisitor::explicit_super_init_calls"
+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);
-#define LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq "typing::TypingVisitor::explicit_super_init_calls="
+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);
-#define LOCATE_typing___TypingVisitor___explicit_other_init_call "typing::TypingVisitor::explicit_other_init_call"
+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);
-#define LOCATE_typing___TypingVisitor___explicit_other_init_call__eq "typing::TypingVisitor::explicit_other_init_call="
+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);
-#define LOCATE_typing___TypingVisitor___use_if_true_variable_ctx "typing::TypingVisitor::use_if_true_variable_ctx"
-void typing___TypingVisitor___use_if_true_variable_ctx(val_t p0, val_t p1);
-typedef void (*typing___TypingVisitor___use_if_true_variable_ctx_t)(val_t p0, val_t p1);
-#define LOCATE_typing___TypingVisitor___use_if_false_variable_ctx "typing::TypingVisitor::use_if_false_variable_ctx"
-void typing___TypingVisitor___use_if_false_variable_ctx(val_t p0, val_t p1);
-typedef void (*typing___TypingVisitor___use_if_false_variable_ctx_t)(val_t p0, val_t p1);
-#define LOCATE_typing___TypingVisitor___once_count "typing::TypingVisitor::once_count"
+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);
-#define LOCATE_typing___TypingVisitor___once_count__eq "typing::TypingVisitor::once_count="
+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);
-#define LOCATE_typing___TypingVisitor___init "typing::TypingVisitor::init"
+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);
 val_t NEW_TypingVisitor_typing___TypingVisitor___init(val_t p0, val_t p1);
-#define LOCATE_typing___TypingVisitor___get_default_constructor_for "typing::TypingVisitor::get_default_constructor_for"
+static const char * const LOCATE_typing___TypingVisitor___get_default_constructor_for = "typing::TypingVisitor::get_default_constructor_for";
 val_t typing___TypingVisitor___get_default_constructor_for(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef val_t (*typing___TypingVisitor___get_default_constructor_for_t)(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___VarVariable___is_typed "typing::VarVariable::(syntax_base::Variable::is_typed)"
-val_t typing___VarVariable___is_typed(val_t p0);
-typedef val_t (*typing___VarVariable___is_typed_t)(val_t p0);
-val_t NEW_VarVariable_syntax_base___VarVariable___init(val_t p0, val_t p1);
-val_t NEW_ANode_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___ANode___accept_typing "typing::ANode::accept_typing"
+  typedef void (*CLOS_OC_typing___TypingVisitor___get_default_constructor_for_1_0)(struct stack_frame_t *);
+  void OC_typing___TypingVisitor___get_default_constructor_for_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_typing___TypingVisitor___get_default_constructor_for_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+static const char * const LOCATE_typing___ANode___accept_typing = "typing::ANode::accept_typing";
 void typing___ANode___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___ANode___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ANode___after_typing "typing::ANode::after_typing"
+static const char * const LOCATE_typing___ANode___after_typing = "typing::ANode::after_typing";
 void typing___ANode___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ANode___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AClassdef_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AClassdef___accept_typing "typing::AClassdef::(typing::ANode::accept_typing)"
+val_t NEW_ANode_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AClassdef___accept_typing = "typing::AClassdef::(typing::ANode::accept_typing)";
 void typing___AClassdef___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AClassdef___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_APropdef_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___APropdef___self_var "typing::APropdef::(syntax_base::APropdef::self_var)"
+val_t NEW_AClassdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___APropdef___self_var = "typing::APropdef::(syntax_base::APropdef::self_var)";
 val_t typing___APropdef___self_var(val_t p0);
 typedef val_t (*typing___APropdef___self_var_t)(val_t p0);
-val_t NEW_AAttrPropdef_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___empty_init();
-val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8);
-#define LOCATE_typing___AAttrPropdef___accept_typing "typing::AAttrPropdef::(typing::ANode::accept_typing)"
+val_t NEW_APropdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAttrPropdef___accept_typing = "typing::AAttrPropdef::(typing::ANode::accept_typing)";
 void typing___AAttrPropdef___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AAttrPropdef___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_AMethPropdef_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AMethPropdef_parser_prod___AMethPropdef___empty_init();
-val_t NEW_AMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___AMethPropdef___accept_typing "typing::AMethPropdef::(typing::ANode::accept_typing)"
+val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___empty_init();
+val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8, val_t p9);
+val_t NEW_AAttrPropdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AMethPropdef___accept_typing = "typing::AMethPropdef::(typing::ANode::accept_typing)";
 void typing___AMethPropdef___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AMethPropdef___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_AConcreteMethPropdef_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AMethPropdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AConcreteMethPropdef___after_typing = "typing::AConcreteMethPropdef::(typing::ANode::after_typing)";
+void typing___AConcreteMethPropdef___after_typing(val_t p0, val_t p1);
+typedef void (*typing___AConcreteMethPropdef___after_typing_t)(val_t p0, val_t p1);
 val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___empty_init();
-val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___empty_init();
 val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
-#define LOCATE_typing___AConcreteMethPropdef___after_typing "typing::AConcreteMethPropdef::(typing::ANode::after_typing)"
-void typing___AConcreteMethPropdef___after_typing(val_t p0, val_t p1);
-typedef void (*typing___AConcreteMethPropdef___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AConcreteInitPropdef_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___empty_init();
-val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___empty_init();
-val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
-val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___empty_init();
-val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
-#define LOCATE_typing___AConcreteInitPropdef___accept_typing "typing::AConcreteInitPropdef::(typing::ANode::accept_typing)"
+val_t NEW_AConcreteMethPropdef_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_typing___AConcreteInitPropdef___accept_typing = "typing::AConcreteInitPropdef::(typing::ANode::accept_typing)";
 void typing___AConcreteInitPropdef___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AConcreteInitPropdef___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AConcreteInitPropdef___after_typing "typing::AConcreteInitPropdef::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___AConcreteInitPropdef___after_typing = "typing::AConcreteInitPropdef::(typing::ANode::after_typing)";
 void typing___AConcreteInitPropdef___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AConcreteInitPropdef___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AParam_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AParam_parser_prod___AParam___empty_init();
-val_t NEW_AParam_parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AParam___after_typing "typing::AParam::(typing::ANode::after_typing)"
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___empty_init();
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___empty_init();
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AConcreteInitPropdef_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_typing___AParam___after_typing = "typing::AParam::(typing::ANode::after_typing)";
 void typing___AParam___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AParam___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AClosureDecl_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AClosureDecl_parser_prod___AClosureDecl___empty_init();
-val_t NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___AClosureDecl___accept_typing "typing::AClosureDecl::(typing::ANode::accept_typing)"
-void typing___AClosureDecl___accept_typing(val_t p0, val_t p1);
-typedef void (*typing___AClosureDecl___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AClosureDecl___escapable "typing::AClosureDecl::escapable"
+val_t NEW_AParam_parser_prod___AParam___empty_init();
+val_t NEW_AParam_parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2);
+val_t NEW_AParam_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AClosureDecl___escapable = "typing::AClosureDecl::escapable";
 val_t typing___AClosureDecl___escapable(val_t p0);
 typedef val_t (*typing___AClosureDecl___escapable_t)(val_t p0);
-val_t NEW_AType_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AType_parser_prod___AType___empty_init();
-val_t NEW_AType_parser_prod___AType___init_atype(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AType___is_typed "typing::AType::(syntax_base::AType::is_typed)"
-val_t typing___AType___is_typed(val_t p0);
-typedef val_t (*typing___AType___is_typed_t)(val_t p0);
-#define LOCATE_typing___AType___stype "typing::AType::(syntax_base::AType::stype)"
+static const char * const LOCATE_typing___AClosureDecl___accept_typing = "typing::AClosureDecl::(typing::ANode::accept_typing)";
+void typing___AClosureDecl___accept_typing(val_t p0, val_t p1);
+typedef void (*typing___AClosureDecl___accept_typing_t)(val_t p0, val_t p1);
+val_t NEW_AClosureDecl_parser_prod___AClosureDecl___empty_init();
+val_t NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AClosureDecl_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AType___stype = "typing::AType::(syntax_base::AType::stype)";
 val_t typing___AType___stype(val_t p0);
 typedef val_t (*typing___AType___stype_t)(val_t p0);
-#define LOCATE_typing___AType___after_typing "typing::AType::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___AType___is_typed = "typing::AType::(syntax_base::AType::is_typed)";
+val_t typing___AType___is_typed(val_t p0);
+typedef val_t (*typing___AType___is_typed_t)(val_t p0);
+static const char * const LOCATE_typing___AType___after_typing = "typing::AType::(typing::ANode::after_typing)";
 void typing___AType___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AType___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AExpr___is_typed "typing::AExpr::(syntax_base::AExpr::is_typed)"
+val_t NEW_AType_parser_prod___AType___empty_init();
+val_t NEW_AType_parser_prod___AType___init_atype(val_t p0, val_t p1, val_t p2);
+val_t NEW_AType_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AExpr___is_typed = "typing::AExpr::(syntax_base::AExpr::is_typed)";
 val_t typing___AExpr___is_typed(val_t p0);
 typedef val_t (*typing___AExpr___is_typed_t)(val_t p0);
-#define LOCATE_typing___AExpr___is_statement "typing::AExpr::(syntax_base::AExpr::is_statement)"
+static const char * const LOCATE_typing___AExpr___is_statement = "typing::AExpr::(syntax_base::AExpr::is_statement)";
 val_t typing___AExpr___is_statement(val_t p0);
 typedef val_t (*typing___AExpr___is_statement_t)(val_t p0);
-#define LOCATE_typing___AExpr___stype "typing::AExpr::(syntax_base::AExpr::stype)"
+static const char * const LOCATE_typing___AExpr___stype = "typing::AExpr::(syntax_base::AExpr::stype)";
 val_t typing___AExpr___stype(val_t p0);
 typedef val_t (*typing___AExpr___stype_t)(val_t p0);
-#define LOCATE_typing___AExpr___after_typing "typing::AExpr::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___AExpr___after_typing = "typing::AExpr::(typing::ANode::after_typing)";
 void typing___AExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AExpr___is_implicit_self "typing::AExpr::is_implicit_self"
+static const char * const LOCATE_typing___AExpr___is_implicit_self = "typing::AExpr::is_implicit_self";
 val_t typing___AExpr___is_implicit_self(val_t p0);
 typedef val_t (*typing___AExpr___is_implicit_self_t)(val_t p0);
-#define LOCATE_typing___AExpr___is_self "typing::AExpr::is_self"
+static const char * const LOCATE_typing___AExpr___is_self = "typing::AExpr::is_self";
 val_t typing___AExpr___is_self(val_t p0);
 typedef val_t (*typing___AExpr___is_self_t)(val_t p0);
-#define LOCATE_typing___AExpr___its_variable "typing::AExpr::its_variable"
+static const char * const LOCATE_typing___AExpr___its_variable = "typing::AExpr::its_variable";
 val_t typing___AExpr___its_variable(val_t p0);
 typedef val_t (*typing___AExpr___its_variable_t)(val_t p0);
-#define LOCATE_typing___AExpr___if_true_variable_ctx "typing::AExpr::if_true_variable_ctx"
-val_t typing___AExpr___if_true_variable_ctx(val_t p0);
-typedef val_t (*typing___AExpr___if_true_variable_ctx_t)(val_t p0);
-#define LOCATE_typing___AExpr___if_false_variable_ctx "typing::AExpr::if_false_variable_ctx"
-val_t typing___AExpr___if_false_variable_ctx(val_t p0);
-typedef val_t (*typing___AExpr___if_false_variable_ctx_t)(val_t p0);
-val_t NEW_AVardeclExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___empty_init();
-val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___AVardeclExpr___variable "typing::AVardeclExpr::(syntax_base::AVardeclExpr::variable)"
+static const char * const LOCATE_typing___AExpr___if_true_flow_ctx = "typing::AExpr::if_true_flow_ctx";
+val_t typing___AExpr___if_true_flow_ctx(val_t p0);
+typedef val_t (*typing___AExpr___if_true_flow_ctx_t)(val_t p0);
+static const char * const LOCATE_typing___AExpr___if_false_flow_ctx = "typing::AExpr::if_false_flow_ctx";
+val_t typing___AExpr___if_false_flow_ctx(val_t p0);
+typedef val_t (*typing___AExpr___if_false_flow_ctx_t)(val_t p0);
+val_t NEW_AExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AVardeclExpr___variable = "typing::AVardeclExpr::(syntax_base::AVardeclExpr::variable)";
 val_t typing___AVardeclExpr___variable(val_t p0);
 typedef val_t (*typing___AVardeclExpr___variable_t)(val_t p0);
-#define LOCATE_typing___AVardeclExpr___after_typing "typing::AVardeclExpr::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___AVardeclExpr___after_typing = "typing::AVardeclExpr::(typing::ANode::after_typing)";
 void typing___AVardeclExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AVardeclExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_ABlockExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ABlockExpr_parser_prod___ABlockExpr___empty_init();
-val_t NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(val_t p0);
-#define LOCATE_typing___ABlockExpr___accept_typing "typing::ABlockExpr::(typing::ANode::accept_typing)"
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___empty_init();
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AVardeclExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ABlockExpr___accept_typing = "typing::ABlockExpr::(typing::ANode::accept_typing)";
 void typing___ABlockExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___ABlockExpr___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_AReturnExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AReturnExpr_parser_prod___AReturnExpr___empty_init();
-val_t NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AReturnExpr___after_typing "typing::AReturnExpr::(typing::ANode::after_typing)"
+  typedef void (*CLOS_OC_typing___ABlockExpr___accept_typing_1_0)(struct stack_frame_t *);
+  void OC_typing___ABlockExpr___accept_typing_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_typing___ABlockExpr___accept_typing_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___empty_init();
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(val_t p0);
+val_t NEW_ABlockExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AReturnExpr___after_typing = "typing::AReturnExpr::(typing::ANode::after_typing)";
 void typing___AReturnExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AReturnExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AContinueExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AContinueExpr_parser_prod___AContinueExpr___empty_init();
-val_t NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AContinueExpr___after_typing "typing::AContinueExpr::(typing::ANode::after_typing)"
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___empty_init();
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1);
+val_t NEW_AReturnExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AContinueExpr___after_typing = "typing::AContinueExpr::(typing::ANode::after_typing)";
 void typing___AContinueExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AContinueExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_ABreakExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ABreakExpr_parser_prod___ABreakExpr___empty_init();
-val_t NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___ABreakExpr___after_typing "typing::ABreakExpr::(typing::ANode::after_typing)"
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___empty_init();
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AContinueExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ABreakExpr___after_typing = "typing::ABreakExpr::(typing::ANode::after_typing)";
 void typing___ABreakExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ABreakExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAbortExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAbortExpr_parser_prod___AAbortExpr___empty_init();
-val_t NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(val_t p0);
-#define LOCATE_typing___AAbortExpr___after_typing "typing::AAbortExpr::(typing::ANode::after_typing)"
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___empty_init();
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_ABreakExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAbortExpr___after_typing = "typing::AAbortExpr::(typing::ANode::after_typing)";
 void typing___AAbortExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AAbortExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_ADoExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ADoExpr_parser_prod___ADoExpr___empty_init();
-val_t NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___ADoExpr___accept_typing "typing::ADoExpr::(typing::ANode::accept_typing)"
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___empty_init();
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(val_t p0);
+val_t NEW_AAbortExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAbsControl___escapable = "typing::AAbsControl::escapable";
+val_t typing___AAbsControl___escapable(val_t p0);
+typedef val_t (*typing___AAbsControl___escapable_t)(val_t p0);
+static const char * const LOCATE_typing___AAbsControl___process_control = "typing::AAbsControl::process_control";
+void typing___AAbsControl___process_control(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+typedef void (*typing___AAbsControl___process_control_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_typing___AAbsControl___process_control_inside = "typing::AAbsControl::process_control_inside";
+void typing___AAbsControl___process_control_inside(val_t p0, val_t p1);
+typedef void (*typing___AAbsControl___process_control_inside_t)(val_t p0, val_t p1);
+val_t NEW_AAbsControl_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ADoExpr___accept_typing = "typing::ADoExpr::(typing::ANode::accept_typing)";
 void typing___ADoExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___ADoExpr___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ADoExpr___escapable "typing::ADoExpr::escapable"
-val_t typing___ADoExpr___escapable(val_t p0);
-typedef val_t (*typing___ADoExpr___escapable_t)(val_t p0);
-val_t NEW_AIfExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AIfExpr_parser_prod___AIfExpr___empty_init();
-val_t NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___AIfExpr___accept_typing "typing::AIfExpr::(typing::ANode::accept_typing)"
+static const char * const LOCATE_typing___ADoExpr___process_control_inside = "typing::ADoExpr::(typing::AAbsControl::process_control_inside)";
+void typing___ADoExpr___process_control_inside(val_t p0, val_t p1);
+typedef void (*typing___ADoExpr___process_control_inside_t)(val_t p0, val_t p1);
+val_t NEW_ADoExpr_parser_prod___ADoExpr___empty_init();
+val_t NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_ADoExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AIfExpr___accept_typing = "typing::AIfExpr::(typing::ANode::accept_typing)";
 void typing___AIfExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AIfExpr___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_AWhileExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AWhileExpr_parser_prod___AWhileExpr___empty_init();
-val_t NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___AWhileExpr___accept_typing "typing::AWhileExpr::(typing::ANode::accept_typing)"
+val_t NEW_AIfExpr_parser_prod___AIfExpr___empty_init();
+val_t NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AIfExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AWhileExpr___accept_typing = "typing::AWhileExpr::(typing::ANode::accept_typing)";
 void typing___AWhileExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AWhileExpr___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AWhileExpr___escapable "typing::AWhileExpr::escapable"
-val_t typing___AWhileExpr___escapable(val_t p0);
-typedef val_t (*typing___AWhileExpr___escapable_t)(val_t p0);
-val_t NEW_ALoopExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ALoopExpr_parser_prod___ALoopExpr___empty_init();
-val_t NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___ALoopExpr___accept_typing "typing::ALoopExpr::(typing::ANode::accept_typing)"
+static const char * const LOCATE_typing___AWhileExpr___process_control_inside = "typing::AWhileExpr::(typing::AAbsControl::process_control_inside)";
+void typing___AWhileExpr___process_control_inside(val_t p0, val_t p1);
+typedef void (*typing___AWhileExpr___process_control_inside_t)(val_t p0, val_t p1);
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___empty_init();
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AWhileExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ALoopExpr___accept_typing = "typing::ALoopExpr::(typing::ANode::accept_typing)";
 void typing___ALoopExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___ALoopExpr___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ALoopExpr___escapable "typing::ALoopExpr::escapable"
-val_t typing___ALoopExpr___escapable(val_t p0);
-typedef val_t (*typing___ALoopExpr___escapable_t)(val_t p0);
-val_t NEW_AForExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AForExpr_parser_prod___AForExpr___empty_init();
-val_t NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
-#define LOCATE_typing___AForExpr___variable "typing::AForExpr::(syntax_base::AForExpr::variable)"
+static const char * const LOCATE_typing___ALoopExpr___process_control_inside = "typing::ALoopExpr::(typing::AAbsControl::process_control_inside)";
+void typing___ALoopExpr___process_control_inside(val_t p0, val_t p1);
+typedef void (*typing___ALoopExpr___process_control_inside_t)(val_t p0, val_t p1);
+val_t NEW_ALoopExpr_parser_prod___ALoopExpr___empty_init();
+val_t NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_ALoopExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AForExpr___variable = "typing::AForExpr::(syntax_base::AForExpr::variable)";
 val_t typing___AForExpr___variable(val_t p0);
 typedef val_t (*typing___AForExpr___variable_t)(val_t p0);
-#define LOCATE_typing___AForExpr___accept_typing "typing::AForExpr::(typing::ANode::accept_typing)"
+static const char * const LOCATE_typing___AForExpr___accept_typing = "typing::AForExpr::(typing::ANode::accept_typing)";
 void typing___AForExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AForExpr___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AForExpr___escapable "typing::AForExpr::escapable"
-val_t typing___AForExpr___escapable(val_t p0);
-typedef val_t (*typing___AForExpr___escapable_t)(val_t p0);
-val_t NEW_AAssertExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAssertExpr_parser_prod___AAssertExpr___empty_init();
-val_t NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___AAssertExpr___accept_typing "typing::AAssertExpr::(typing::ANode::accept_typing)"
+static const char * const LOCATE_typing___AForExpr___process_control_inside = "typing::AForExpr::(typing::AAbsControl::process_control_inside)";
+void typing___AForExpr___process_control_inside(val_t p0, val_t p1);
+typedef void (*typing___AForExpr___process_control_inside_t)(val_t p0, val_t p1);
+val_t NEW_AForExpr_parser_prod___AForExpr___empty_init();
+val_t NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
+val_t NEW_AForExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAssertExpr___accept_typing = "typing::AAssertExpr::(typing::ANode::accept_typing)";
 void typing___AAssertExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AAssertExpr___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_AVarFormExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AVarFormExpr___variable "typing::AVarFormExpr::(syntax_base::AVarFormExpr::variable)"
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___empty_init();
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AAssertExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AVarFormExpr___variable = "typing::AVarFormExpr::(syntax_base::AVarFormExpr::variable)";
 val_t typing___AVarFormExpr___variable(val_t p0);
 typedef val_t (*typing___AVarFormExpr___variable_t)(val_t p0);
-val_t NEW_AVarExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AVarExpr_parser_prod___AVarExpr___empty_init();
-val_t NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(val_t p0);
-#define LOCATE_typing___AVarExpr___after_typing "typing::AVarExpr::(typing::ANode::after_typing)"
-void typing___AVarExpr___after_typing(val_t p0, val_t p1);
-typedef void (*typing___AVarExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AVarExpr___its_variable "typing::AVarExpr::(typing::AExpr::its_variable)"
+val_t NEW_AVarFormExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AVarExpr___its_variable = "typing::AVarExpr::(typing::AExpr::its_variable)";
 val_t typing___AVarExpr___its_variable(val_t p0);
 typedef val_t (*typing___AVarExpr___its_variable_t)(val_t p0);
-val_t NEW_AVarAssignExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___empty_init();
-val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AVarAssignExpr___after_typing "typing::AVarAssignExpr::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___AVarExpr___after_typing = "typing::AVarExpr::(typing::ANode::after_typing)";
+void typing___AVarExpr___after_typing(val_t p0, val_t p1);
+typedef void (*typing___AVarExpr___after_typing_t)(val_t p0, val_t p1);
+val_t NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(val_t p0);
+val_t NEW_AVarExpr_parser_prod___AVarExpr___empty_init();
+val_t NEW_AVarExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AVarAssignExpr___after_typing = "typing::AVarAssignExpr::(typing::ANode::after_typing)";
 void typing___AVarAssignExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AVarAssignExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AReassignFormExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AReassignFormExpr___assign_method "typing::AReassignFormExpr::(syntax_base::AReassignFormExpr::assign_method)"
-val_t typing___AReassignFormExpr___assign_method(val_t p0);
-typedef val_t (*typing___AReassignFormExpr___assign_method_t)(val_t p0);
-#define LOCATE_typing___AReassignFormExpr___do_rvalue_typing "typing::AReassignFormExpr::do_rvalue_typing"
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___empty_init();
+val_t NEW_AVarAssignExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AReassignFormExpr___do_rvalue_typing = "typing::AReassignFormExpr::do_rvalue_typing";
 val_t typing___AReassignFormExpr___do_rvalue_typing(val_t p0, val_t p1, val_t p2);
 typedef val_t (*typing___AReassignFormExpr___do_rvalue_typing_t)(val_t p0, val_t p1, val_t p2);
-val_t NEW_AVarReassignExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___empty_init();
-val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AVarReassignExpr___after_typing "typing::AVarReassignExpr::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___AReassignFormExpr___assign_method = "typing::AReassignFormExpr::(syntax_base::AReassignFormExpr::assign_method)";
+val_t typing___AReassignFormExpr___assign_method(val_t p0);
+typedef val_t (*typing___AReassignFormExpr___assign_method_t)(val_t p0);
+val_t NEW_AReassignFormExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AVarReassignExpr___after_typing = "typing::AVarReassignExpr::(typing::ANode::after_typing)";
 void typing___AVarReassignExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AVarReassignExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAssignOp_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AAssignOp___method_name "typing::AAssignOp::method_name"
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___empty_init();
+val_t NEW_AVarReassignExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAssignOp___method_name = "typing::AAssignOp::method_name";
 val_t typing___AAssignOp___method_name(val_t p0);
 typedef val_t (*typing___AAssignOp___method_name_t)(val_t p0);
-val_t NEW_APlusAssignOp_parser_nodes___ANode___init(val_t p0);
-val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___empty_init();
-val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop(val_t p0);
-#define LOCATE_typing___APlusAssignOp___method_name "typing::APlusAssignOp::(typing::AAssignOp::method_name)"
+val_t NEW_AAssignOp_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___APlusAssignOp___method_name = "typing::APlusAssignOp::(typing::AAssignOp::method_name)";
 val_t typing___APlusAssignOp___method_name(val_t p0);
 typedef val_t (*typing___APlusAssignOp___method_name_t)(val_t p0);
-val_t NEW_AMinusAssignOp_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___empty_init();
-val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop(val_t p0);
-#define LOCATE_typing___AMinusAssignOp___method_name "typing::AMinusAssignOp::(typing::AAssignOp::method_name)"
+val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___empty_init();
+val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop(val_t p0);
+val_t NEW_APlusAssignOp_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AMinusAssignOp___method_name = "typing::AMinusAssignOp::(typing::AAssignOp::method_name)";
 val_t typing___AMinusAssignOp___method_name(val_t p0);
 typedef val_t (*typing___AMinusAssignOp___method_name_t)(val_t p0);
-val_t NEW_ASelfExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ASelfExpr_parser_prod___ASelfExpr___empty_init();
-val_t NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0);
-#define LOCATE_typing___ASelfExpr___variable "typing::ASelfExpr::(syntax_base::ASelfExpr::variable)"
+val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___empty_init();
+val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop(val_t p0);
+val_t NEW_AMinusAssignOp_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ASelfExpr___variable = "typing::ASelfExpr::(syntax_base::ASelfExpr::variable)";
 val_t typing___ASelfExpr___variable(val_t p0);
 typedef val_t (*typing___ASelfExpr___variable_t)(val_t p0);
-#define LOCATE_typing___ASelfExpr___after_typing "typing::ASelfExpr::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___ASelfExpr___its_variable = "typing::ASelfExpr::(typing::AExpr::its_variable)";
+val_t typing___ASelfExpr___its_variable(val_t p0);
+typedef val_t (*typing___ASelfExpr___its_variable_t)(val_t p0);
+static const char * const LOCATE_typing___ASelfExpr___after_typing = "typing::ASelfExpr::(typing::ANode::after_typing)";
 void typing___ASelfExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ASelfExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ASelfExpr___is_self "typing::ASelfExpr::(typing::AExpr::is_self)"
+static const char * const LOCATE_typing___ASelfExpr___is_self = "typing::ASelfExpr::(typing::AExpr::is_self)";
 val_t typing___ASelfExpr___is_self(val_t p0);
 typedef val_t (*typing___ASelfExpr___is_self_t)(val_t p0);
-#define LOCATE_typing___ASelfExpr___its_variable "typing::ASelfExpr::(typing::AExpr::its_variable)"
-val_t typing___ASelfExpr___its_variable(val_t p0);
-typedef val_t (*typing___ASelfExpr___its_variable_t)(val_t p0);
-val_t NEW_AImplicitSelfExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___empty_init();
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0);
+val_t NEW_ASelfExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AImplicitSelfExpr___is_implicit_self = "typing::AImplicitSelfExpr::(typing::AExpr::is_implicit_self)";
+val_t typing___AImplicitSelfExpr___is_implicit_self(val_t p0);
+typedef val_t (*typing___AImplicitSelfExpr___is_implicit_self_t)(val_t p0);
 val_t NEW_AImplicitSelfExpr_parser_prod___ASelfExpr___empty_init();
-val_t NEW_AImplicitSelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0);
 val_t NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___empty_init();
 val_t NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
-#define LOCATE_typing___AImplicitSelfExpr___is_implicit_self "typing::AImplicitSelfExpr::(typing::AExpr::is_implicit_self)"
-val_t typing___AImplicitSelfExpr___is_implicit_self(val_t p0);
-typedef val_t (*typing___AImplicitSelfExpr___is_implicit_self_t)(val_t p0);
-val_t NEW_AIfexprExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___empty_init();
-val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
-#define LOCATE_typing___AIfexprExpr___accept_typing "typing::AIfexprExpr::(typing::ANode::accept_typing)"
+val_t NEW_AImplicitSelfExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AImplicitSelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0);
+static const char * const LOCATE_typing___AIfexprExpr___accept_typing = "typing::AIfexprExpr::(typing::ANode::accept_typing)";
 void typing___AIfexprExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AIfexprExpr___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_ABoolExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___ABoolExpr___after_typing "typing::ABoolExpr::(typing::ANode::after_typing)"
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___empty_init();
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
+val_t NEW_AIfexprExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ABoolExpr___after_typing = "typing::ABoolExpr::(typing::ANode::after_typing)";
 void typing___ABoolExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ABoolExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AOrExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AOrExpr_parser_prod___AOrExpr___empty_init();
-val_t NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AOrExpr___accept_typing "typing::AOrExpr::(typing::ANode::accept_typing)"
+val_t NEW_ABoolExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AOrExpr___accept_typing = "typing::AOrExpr::(typing::ANode::accept_typing)";
 void typing___AOrExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AOrExpr___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAndExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAndExpr_parser_prod___AAndExpr___empty_init();
-val_t NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AAndExpr___accept_typing "typing::AAndExpr::(typing::ANode::accept_typing)"
+val_t NEW_AOrExpr_parser_prod___AOrExpr___empty_init();
+val_t NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1);
+val_t NEW_AOrExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAndExpr___accept_typing = "typing::AAndExpr::(typing::ANode::accept_typing)";
 void typing___AAndExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AAndExpr___accept_typing_t)(val_t p0, val_t p1);
-val_t NEW_ANotExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ANotExpr_parser_prod___ANotExpr___empty_init();
-val_t NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1);
-#define LOCATE_typing___ANotExpr___after_typing "typing::ANotExpr::(typing::ANode::after_typing)"
+val_t NEW_AAndExpr_parser_prod___AAndExpr___empty_init();
+val_t NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1);
+val_t NEW_AAndExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ANotExpr___after_typing = "typing::ANotExpr::(typing::ANode::after_typing)";
 void typing___ANotExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ANotExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AIntExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AIntExpr_parser_prod___AIntExpr___empty_init();
-val_t NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(val_t p0);
-#define LOCATE_typing___AIntExpr___after_typing "typing::AIntExpr::(typing::ANode::after_typing)"
+val_t NEW_ANotExpr_parser_prod___ANotExpr___empty_init();
+val_t NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1);
+val_t NEW_ANotExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AOrElseExpr___after_typing = "typing::AOrElseExpr::(typing::ANode::after_typing)";
+void typing___AOrElseExpr___after_typing(val_t p0, val_t p1);
+typedef void (*typing___AOrElseExpr___after_typing_t)(val_t p0, val_t p1);
+val_t NEW_AOrElseExpr_parser_prod___AOrElseExpr___empty_init();
+val_t NEW_AOrElseExpr_parser_prod___AOrElseExpr___init_aorelseexpr(val_t p0, val_t p1);
+val_t NEW_AOrElseExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AIntExpr___after_typing = "typing::AIntExpr::(typing::ANode::after_typing)";
 void typing___AIntExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AIntExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AFloatExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AFloatExpr_parser_prod___AFloatExpr___empty_init();
-val_t NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(val_t p0);
-#define LOCATE_typing___AFloatExpr___after_typing "typing::AFloatExpr::(typing::ANode::after_typing)"
+val_t NEW_AIntExpr_parser_prod___AIntExpr___empty_init();
+val_t NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(val_t p0);
+val_t NEW_AIntExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AFloatExpr___after_typing = "typing::AFloatExpr::(typing::ANode::after_typing)";
 void typing___AFloatExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AFloatExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_ACharExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ACharExpr_parser_prod___ACharExpr___empty_init();
-val_t NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(val_t p0);
-#define LOCATE_typing___ACharExpr___after_typing "typing::ACharExpr::(typing::ANode::after_typing)"
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___empty_init();
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(val_t p0);
+val_t NEW_AFloatExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ACharExpr___after_typing = "typing::ACharExpr::(typing::ANode::after_typing)";
 void typing___ACharExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ACharExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AStringFormExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AStringFormExpr___after_typing "typing::AStringFormExpr::(typing::ANode::after_typing)"
+val_t NEW_ACharExpr_parser_prod___ACharExpr___empty_init();
+val_t NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(val_t p0);
+val_t NEW_ACharExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AStringFormExpr___after_typing = "typing::AStringFormExpr::(typing::ANode::after_typing)";
 void typing___AStringFormExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AStringFormExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_ASuperstringExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___empty_init();
-val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0);
-#define LOCATE_typing___ASuperstringExpr___atype "typing::ASuperstringExpr::(syntax_base::ASuperstringExpr::atype)"
+val_t NEW_AStringFormExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ASuperstringExpr___atype = "typing::ASuperstringExpr::(syntax_base::ASuperstringExpr::atype)";
 val_t typing___ASuperstringExpr___atype(val_t p0);
 typedef val_t (*typing___ASuperstringExpr___atype_t)(val_t p0);
-#define LOCATE_typing___ASuperstringExpr___after_typing "typing::ASuperstringExpr::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___ASuperstringExpr___after_typing = "typing::ASuperstringExpr::(typing::ANode::after_typing)";
 void typing___ASuperstringExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ASuperstringExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_ANullExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ANullExpr_parser_prod___ANullExpr___empty_init();
-val_t NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(val_t p0);
-#define LOCATE_typing___ANullExpr___after_typing "typing::ANullExpr::(typing::ANode::after_typing)"
-void typing___ANullExpr___after_typing(val_t p0, val_t p1);
+  typedef void (*CLOS_OC_typing___ASuperstringExpr___after_typing_1_0)(struct stack_frame_t *);
+  void OC_typing___ASuperstringExpr___after_typing_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_typing___ASuperstringExpr___after_typing_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___empty_init();
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0);
+val_t NEW_ASuperstringExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ANullExpr___after_typing = "typing::ANullExpr::(typing::ANode::after_typing)";
+void typing___ANullExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ANullExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AArrayExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AArrayExpr_parser_prod___AArrayExpr___empty_init();
-val_t NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr(val_t p0);
-#define LOCATE_typing___AArrayExpr___after_typing "typing::AArrayExpr::(typing::ANode::after_typing)"
+val_t NEW_ANullExpr_parser_prod___ANullExpr___empty_init();
+val_t NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(val_t p0);
+val_t NEW_ANullExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AArrayExpr___after_typing = "typing::AArrayExpr::(typing::ANode::after_typing)";
 void typing___AArrayExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AArrayExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AArrayExpr___do_typing "typing::AArrayExpr::do_typing"
+static const char * const LOCATE_typing___AArrayExpr___do_typing = "typing::AArrayExpr::do_typing";
 void typing___AArrayExpr___do_typing(val_t p0, val_t p1, val_t p2);
 typedef void (*typing___AArrayExpr___do_typing_t)(val_t p0, val_t p1, val_t p2);
-val_t NEW_ARangeExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ARangeExpr_parser_prod___ARangeExpr___empty_init();
-val_t NEW_ARangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1);
-#define LOCATE_typing___ARangeExpr___after_typing "typing::ARangeExpr::(typing::ANode::after_typing)"
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___empty_init();
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr(val_t p0);
+val_t NEW_AArrayExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ARangeExpr___after_typing = "typing::ARangeExpr::(typing::ANode::after_typing)";
 void typing___ARangeExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ARangeExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_ASuperExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ASuperExpr_parser_prod___ASuperExpr___empty_init();
-val_t NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___ASuperExpr___init_in_superclass "typing::ASuperExpr::(syntax_base::ASuperExpr::init_in_superclass)"
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___empty_init();
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1);
+val_t NEW_ARangeExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ASuperExpr___init_in_superclass = "typing::ASuperExpr::(syntax_base::ASuperExpr::init_in_superclass)";
 val_t typing___ASuperExpr___init_in_superclass(val_t p0);
 typedef val_t (*typing___ASuperExpr___init_in_superclass_t)(val_t p0);
-#define LOCATE_typing___ASuperExpr___after_typing "typing::ASuperExpr::(typing::ANode::after_typing)"
-void typing___ASuperExpr___after_typing(val_t p0, val_t p1);
-typedef void (*typing___ASuperExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ASuperExpr___compute_raw_arguments "typing::ASuperExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
+static const char * const LOCATE_typing___ASuperExpr___compute_raw_arguments = "typing::ASuperExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
 val_t typing___ASuperExpr___compute_raw_arguments(val_t p0);
 typedef val_t (*typing___ASuperExpr___compute_raw_arguments_t)(val_t p0);
-val_t NEW_AAttrFormExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AAttrFormExpr___prop "typing::AAttrFormExpr::(syntax_base::AAttrFormExpr::prop)"
+static const char * const LOCATE_typing___ASuperExpr___after_typing = "typing::ASuperExpr::(typing::ANode::after_typing)";
+void typing___ASuperExpr___after_typing(val_t p0, val_t p1);
+typedef void (*typing___ASuperExpr___after_typing_t)(val_t p0, val_t p1);
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___empty_init();
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_ASuperExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAttrFormExpr___prop = "typing::AAttrFormExpr::(syntax_base::AAttrFormExpr::prop)";
 val_t typing___AAttrFormExpr___prop(val_t p0);
 typedef val_t (*typing___AAttrFormExpr___prop_t)(val_t p0);
-#define LOCATE_typing___AAttrFormExpr___attr_type "typing::AAttrFormExpr::(syntax_base::AAttrFormExpr::attr_type)"
+static const char * const LOCATE_typing___AAttrFormExpr___attr_type = "typing::AAttrFormExpr::(syntax_base::AAttrFormExpr::attr_type)";
 val_t typing___AAttrFormExpr___attr_type(val_t p0);
 typedef val_t (*typing___AAttrFormExpr___attr_type_t)(val_t p0);
-#define LOCATE_typing___AAttrFormExpr___do_typing "typing::AAttrFormExpr::do_typing"
+static const char * const LOCATE_typing___AAttrFormExpr___do_typing = "typing::AAttrFormExpr::do_typing";
 void typing___AAttrFormExpr___do_typing(val_t p0, val_t p1);
 typedef void (*typing___AAttrFormExpr___do_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAttrExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAttrExpr_parser_prod___AAttrExpr___empty_init();
-val_t NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AAttrExpr___after_typing "typing::AAttrExpr::(typing::ANode::after_typing)"
+val_t NEW_AAttrFormExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAttrExpr___after_typing = "typing::AAttrExpr::(typing::ANode::after_typing)";
 void typing___AAttrExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AAttrExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAttrAssignExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___empty_init();
-val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___AAttrAssignExpr___after_typing "typing::AAttrAssignExpr::(typing::ANode::after_typing)"
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___empty_init();
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1);
+val_t NEW_AAttrExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAttrAssignExpr___after_typing = "typing::AAttrAssignExpr::(typing::ANode::after_typing)";
 void typing___AAttrAssignExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AAttrAssignExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAttrReassignExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___empty_init();
-val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___AAttrReassignExpr___after_typing "typing::AAttrReassignExpr::(typing::ANode::after_typing)"
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___empty_init();
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AAttrAssignExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAttrReassignExpr___after_typing = "typing::AAttrReassignExpr::(typing::ANode::after_typing)";
 void typing___AAttrReassignExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AAttrReassignExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AIssetAttrExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___empty_init();
-val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AIssetAttrExpr___after_typing "typing::AIssetAttrExpr::(typing::ANode::after_typing)"
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___empty_init();
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AAttrReassignExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AIssetAttrExpr___after_typing = "typing::AIssetAttrExpr::(typing::ANode::after_typing)";
 void typing___AIssetAttrExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AIssetAttrExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAbsAbsSendExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AAbsAbsSendExpr___prop_signature "typing::AAbsAbsSendExpr::(syntax_base::AAbsAbsSendExpr::prop_signature)"
+val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___empty_init();
+val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AIssetAttrExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAbsAbsSendExpr___prop_signature = "typing::AAbsAbsSendExpr::(syntax_base::AAbsAbsSendExpr::prop_signature)";
 val_t typing___AAbsAbsSendExpr___prop_signature(val_t p0);
 typedef val_t (*typing___AAbsAbsSendExpr___prop_signature_t)(val_t p0);
-#define LOCATE_typing___AAbsAbsSendExpr___raw_arguments "typing::AAbsAbsSendExpr::(syntax_base::AAbsAbsSendExpr::raw_arguments)"
+static const char * const LOCATE_typing___AAbsAbsSendExpr___raw_arguments = "typing::AAbsAbsSendExpr::(syntax_base::AAbsAbsSendExpr::raw_arguments)";
 val_t typing___AAbsAbsSendExpr___raw_arguments(val_t p0);
 typedef val_t (*typing___AAbsAbsSendExpr___raw_arguments_t)(val_t p0);
-#define LOCATE_typing___AAbsAbsSendExpr___compute_raw_arguments "typing::AAbsAbsSendExpr::compute_raw_arguments"
+static const char * const LOCATE_typing___AAbsAbsSendExpr___compute_raw_arguments = "typing::AAbsAbsSendExpr::compute_raw_arguments";
 val_t typing___AAbsAbsSendExpr___compute_raw_arguments(val_t p0);
 typedef val_t (*typing___AAbsAbsSendExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___AAbsAbsSendExpr___process_signature "typing::AAbsAbsSendExpr::process_signature"
+static const char * const LOCATE_typing___AAbsAbsSendExpr___process_signature = "typing::AAbsAbsSendExpr::process_signature";
 val_t typing___AAbsAbsSendExpr___process_signature(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef val_t (*typing___AAbsAbsSendExpr___process_signature_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___AAbsAbsSendExpr___process_closures "typing::AAbsAbsSendExpr::process_closures"
+static const char * const LOCATE_typing___AAbsAbsSendExpr___process_closures = "typing::AAbsAbsSendExpr::process_closures";
 val_t typing___AAbsAbsSendExpr___process_closures(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef val_t (*typing___AAbsAbsSendExpr___process_closures_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-val_t NEW_AAbsSendExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AAbsSendExpr___prop "typing::AAbsSendExpr::(syntax_base::AAbsSendExpr::prop)"
-val_t typing___AAbsSendExpr___prop(val_t p0);
-typedef val_t (*typing___AAbsSendExpr___prop_t)(val_t p0);
-#define LOCATE_typing___AAbsSendExpr___return_type "typing::AAbsSendExpr::(syntax_base::AAbsSendExpr::return_type)"
-val_t typing___AAbsSendExpr___return_type(val_t p0);
-typedef val_t (*typing___AAbsSendExpr___return_type_t)(val_t p0);
-#define LOCATE_typing___AAbsSendExpr___do_typing "typing::AAbsSendExpr::do_typing"
+val_t NEW_AAbsAbsSendExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAbsSendExpr___do_typing = "typing::AAbsSendExpr::do_typing";
 void typing___AAbsSendExpr___do_typing(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7);
 typedef void (*typing___AAbsSendExpr___do_typing_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7);
-#define LOCATE_typing___AAbsSendExpr___get_property "typing::AAbsSendExpr::get_property"
+static const char * const LOCATE_typing___AAbsSendExpr___get_property = "typing::AAbsSendExpr::get_property";
 val_t typing___AAbsSendExpr___get_property(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef val_t (*typing___AAbsSendExpr___get_property_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___AAbsSendExpr___get_signature "typing::AAbsSendExpr::get_signature"
+static const char * const LOCATE_typing___AAbsSendExpr___get_signature = "typing::AAbsSendExpr::get_signature";
 val_t typing___AAbsSendExpr___get_signature(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef val_t (*typing___AAbsSendExpr___get_signature_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-val_t NEW_ASuperInitCall_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___ASuperInitCall___register_super_init_call "typing::ASuperInitCall::register_super_init_call"
+static const char * const LOCATE_typing___AAbsSendExpr___prop = "typing::AAbsSendExpr::(syntax_base::AAbsSendExpr::prop)";
+val_t typing___AAbsSendExpr___prop(val_t p0);
+typedef val_t (*typing___AAbsSendExpr___prop_t)(val_t p0);
+static const char * const LOCATE_typing___AAbsSendExpr___return_type = "typing::AAbsSendExpr::(syntax_base::AAbsSendExpr::return_type)";
+val_t typing___AAbsSendExpr___return_type(val_t p0);
+typedef val_t (*typing___AAbsSendExpr___return_type_t)(val_t p0);
+val_t NEW_AAbsSendExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ASuperInitCall___register_super_init_call = "typing::ASuperInitCall::register_super_init_call";
 void typing___ASuperInitCall___register_super_init_call(val_t p0, val_t p1, val_t p2);
 typedef void (*typing___ASuperInitCall___register_super_init_call_t)(val_t p0, val_t p1, val_t p2);
-val_t NEW_ANewExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ANewExpr_parser_prod___ANewExpr___empty_init();
-val_t NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___ANewExpr___after_typing "typing::ANewExpr::(typing::ANode::after_typing)"
-void typing___ANewExpr___after_typing(val_t p0, val_t p1);
-typedef void (*typing___ANewExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ANewExpr___compute_raw_arguments "typing::ANewExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
+val_t NEW_ASuperInitCall_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ANewExpr___compute_raw_arguments = "typing::ANewExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
 val_t typing___ANewExpr___compute_raw_arguments(val_t p0);
 typedef val_t (*typing___ANewExpr___compute_raw_arguments_t)(val_t p0);
-val_t NEW_ASendExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ASendExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ASendExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
-#define LOCATE_typing___ASendExpr___closure_defs "typing::ASendExpr::(syntax_base::ASendExpr::closure_defs)"
+static const char * const LOCATE_typing___ANewExpr___after_typing = "typing::ANewExpr::(typing::ANode::after_typing)";
+void typing___ANewExpr___after_typing(val_t p0, val_t p1);
+typedef void (*typing___ANewExpr___after_typing_t)(val_t p0, val_t p1);
+val_t NEW_ANewExpr_parser_prod___ANewExpr___empty_init();
+val_t NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_ANewExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ASendExpr___name = "typing::ASendExpr::name";
+val_t typing___ASendExpr___name(val_t p0);
+typedef val_t (*typing___ASendExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___ASendExpr___closure_defs = "typing::ASendExpr::(syntax_base::ASendExpr::closure_defs)";
 val_t typing___ASendExpr___closure_defs(val_t p0);
 typedef val_t (*typing___ASendExpr___closure_defs_t)(val_t p0);
-#define LOCATE_typing___ASendExpr___after_typing "typing::ASendExpr::(typing::ANode::after_typing)"
+static const char * const LOCATE_typing___ASendExpr___after_typing = "typing::ASendExpr::(typing::ANode::after_typing)";
 void typing___ASendExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ASendExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ASendExpr___name "typing::ASendExpr::name"
-val_t typing___ASendExpr___name(val_t p0);
-typedef val_t (*typing___ASendExpr___name_t)(val_t p0);
-#define LOCATE_typing___ASendExpr___do_all_typing "typing::ASendExpr::do_all_typing"
+static const char * const LOCATE_typing___ASendExpr___do_all_typing = "typing::ASendExpr::do_all_typing";
 void typing___ASendExpr___do_all_typing(val_t p0, val_t p1);
 typedef void (*typing___ASendExpr___do_all_typing_t)(val_t p0, val_t p1);
-val_t NEW_ASendReassignExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
-#define LOCATE_typing___ASendReassignExpr___read_prop "typing::ASendReassignExpr::(syntax_base::ASendReassignExpr::read_prop)"
+val_t NEW_ASendExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASendExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ASendExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ASendReassignExpr___read_prop = "typing::ASendReassignExpr::(syntax_base::ASendReassignExpr::read_prop)";
 val_t typing___ASendReassignExpr___read_prop(val_t p0);
 typedef val_t (*typing___ASendReassignExpr___read_prop_t)(val_t p0);
-#define LOCATE_typing___ASendReassignExpr___do_all_typing "typing::ASendReassignExpr::(typing::ASendExpr::do_all_typing)"
+static const char * const LOCATE_typing___ASendReassignExpr___do_all_typing = "typing::ASendReassignExpr::(typing::ASendExpr::do_all_typing)";
 void typing___ASendReassignExpr___do_all_typing(val_t p0, val_t p1);
 typedef void (*typing___ASendReassignExpr___do_all_typing_t)(val_t p0, val_t p1);
-val_t NEW_ABinopExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ASendReassignExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ABinopExpr___compute_raw_arguments = "typing::ABinopExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___ABinopExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___ABinopExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_ABinopExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ABinopExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_ABinopExpr_parser_prod___ABinopExpr___empty_init();
 val_t NEW_ABinopExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
-#define LOCATE_typing___ABinopExpr___compute_raw_arguments "typing::ABinopExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___ABinopExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___ABinopExpr___compute_raw_arguments_t)(val_t p0);
-val_t NEW_AEqExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AEqExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AEqExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
-val_t NEW_AEqExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_AEqExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
-val_t NEW_AEqExpr_parser_prod___AEqExpr___empty_init();
-val_t NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AEqExpr___after_typing "typing::AEqExpr::(typing::ANode::after_typing)"
-void typing___AEqExpr___after_typing(val_t p0, val_t p1);
-typedef void (*typing___AEqExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AEqExpr___name "typing::AEqExpr::(typing::ASendExpr::name)"
+val_t NEW_ABinopExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ABinopExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AEqExpr___name = "typing::AEqExpr::(typing::ASendExpr::name)";
 val_t typing___AEqExpr___name(val_t p0);
 typedef val_t (*typing___AEqExpr___name_t)(val_t p0);
-#define LOCATE_typing___AEqExpr___try_to_isa "typing::AEqExpr::try_to_isa"
+static const char * const LOCATE_typing___AEqExpr___after_typing = "typing::AEqExpr::(typing::ANode::after_typing)";
+void typing___AEqExpr___after_typing(val_t p0, val_t p1);
+typedef void (*typing___AEqExpr___after_typing_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___AEqExpr___try_to_isa = "typing::AEqExpr::try_to_isa";
 void typing___AEqExpr___try_to_isa(val_t p0, val_t p1, val_t p2);
 typedef void (*typing___AEqExpr___try_to_isa_t)(val_t p0, val_t p1, val_t p2);
-val_t NEW_ANeExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ANeExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ANeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
-val_t NEW_ANeExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_ANeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
-val_t NEW_ANeExpr_parser_prod___ANeExpr___empty_init();
-val_t NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1);
-#define LOCATE_typing___ANeExpr___after_typing "typing::ANeExpr::(typing::ANode::after_typing)"
-void typing___ANeExpr___after_typing(val_t p0, val_t p1);
-typedef void (*typing___ANeExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ANeExpr___name "typing::ANeExpr::(typing::ASendExpr::name)"
+val_t NEW_AEqExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AEqExpr_parser_prod___AEqExpr___empty_init();
+val_t NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1);
+val_t NEW_AEqExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AEqExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AEqExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AEqExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ANeExpr___name = "typing::ANeExpr::(typing::ASendExpr::name)";
 val_t typing___ANeExpr___name(val_t p0);
 typedef val_t (*typing___ANeExpr___name_t)(val_t p0);
-#define LOCATE_typing___ANeExpr___try_to_isa "typing::ANeExpr::try_to_isa"
+static const char * const LOCATE_typing___ANeExpr___after_typing = "typing::ANeExpr::(typing::ANode::after_typing)";
+void typing___ANeExpr___after_typing(val_t p0, val_t p1);
+typedef void (*typing___ANeExpr___after_typing_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___ANeExpr___try_to_isa = "typing::ANeExpr::try_to_isa";
 void typing___ANeExpr___try_to_isa(val_t p0, val_t p1, val_t p2);
 typedef void (*typing___ANeExpr___try_to_isa_t)(val_t p0, val_t p1, val_t p2);
-val_t NEW_ALtExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ALtExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ALtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ANeExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_ANeExpr_parser_prod___ANeExpr___empty_init();
+val_t NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1);
+val_t NEW_ANeExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ANeExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ANeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ANeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ALtExpr___name = "typing::ALtExpr::(typing::ASendExpr::name)";
+val_t typing___ALtExpr___name(val_t p0);
+typedef val_t (*typing___ALtExpr___name_t)(val_t p0);
 val_t NEW_ALtExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_ALtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_ALtExpr_parser_prod___ALtExpr___empty_init();
 val_t NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(val_t p0, val_t p1);
-#define LOCATE_typing___ALtExpr___name "typing::ALtExpr::(typing::ASendExpr::name)"
-val_t typing___ALtExpr___name(val_t p0);
-typedef val_t (*typing___ALtExpr___name_t)(val_t p0);
-val_t NEW_ALeExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ALeExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ALeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ALtExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ALtExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ALtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ALtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ALeExpr___name = "typing::ALeExpr::(typing::ASendExpr::name)";
+val_t typing___ALeExpr___name(val_t p0);
+typedef val_t (*typing___ALeExpr___name_t)(val_t p0);
 val_t NEW_ALeExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_ALeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_ALeExpr_parser_prod___ALeExpr___empty_init();
 val_t NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(val_t p0, val_t p1);
-#define LOCATE_typing___ALeExpr___name "typing::ALeExpr::(typing::ASendExpr::name)"
-val_t typing___ALeExpr___name(val_t p0);
-typedef val_t (*typing___ALeExpr___name_t)(val_t p0);
-val_t NEW_AGtExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AGtExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AGtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ALeExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ALeExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ALeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ALeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ALlExpr___name = "typing::ALlExpr::(typing::ASendExpr::name)";
+val_t typing___ALlExpr___name(val_t p0);
+typedef val_t (*typing___ALlExpr___name_t)(val_t p0);
+val_t NEW_ALlExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_ALlExpr_parser_prod___ALlExpr___empty_init();
+val_t NEW_ALlExpr_parser_prod___ALlExpr___init_allexpr(val_t p0, val_t p1);
+val_t NEW_ALlExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ALlExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ALlExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ALlExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AGtExpr___name = "typing::AGtExpr::(typing::ASendExpr::name)";
+val_t typing___AGtExpr___name(val_t p0);
+typedef val_t (*typing___AGtExpr___name_t)(val_t p0);
 val_t NEW_AGtExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_AGtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_AGtExpr_parser_prod___AGtExpr___empty_init();
 val_t NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AGtExpr___name "typing::AGtExpr::(typing::ASendExpr::name)"
-val_t typing___AGtExpr___name(val_t p0);
-typedef val_t (*typing___AGtExpr___name_t)(val_t p0);
-val_t NEW_AGeExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AGeExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AGeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AGtExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AGtExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AGtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AGtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AGeExpr___name = "typing::AGeExpr::(typing::ASendExpr::name)";
+val_t typing___AGeExpr___name(val_t p0);
+typedef val_t (*typing___AGeExpr___name_t)(val_t p0);
 val_t NEW_AGeExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_AGeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_AGeExpr_parser_prod___AGeExpr___empty_init();
 val_t NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AGeExpr___name "typing::AGeExpr::(typing::ASendExpr::name)"
-val_t typing___AGeExpr___name(val_t p0);
-typedef val_t (*typing___AGeExpr___name_t)(val_t p0);
-val_t NEW_APlusExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_APlusExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_APlusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AGeExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AGeExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AGeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AGeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AGgExpr___name = "typing::AGgExpr::(typing::ASendExpr::name)";
+val_t typing___AGgExpr___name(val_t p0);
+typedef val_t (*typing___AGgExpr___name_t)(val_t p0);
+val_t NEW_AGgExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AGgExpr_parser_prod___AGgExpr___empty_init();
+val_t NEW_AGgExpr_parser_prod___AGgExpr___init_aggexpr(val_t p0, val_t p1);
+val_t NEW_AGgExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AGgExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AGgExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AGgExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___APlusExpr___name = "typing::APlusExpr::(typing::ASendExpr::name)";
+val_t typing___APlusExpr___name(val_t p0);
+typedef val_t (*typing___APlusExpr___name_t)(val_t p0);
 val_t NEW_APlusExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_APlusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_APlusExpr_parser_prod___APlusExpr___empty_init();
 val_t NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(val_t p0, val_t p1);
-#define LOCATE_typing___APlusExpr___name "typing::APlusExpr::(typing::ASendExpr::name)"
-val_t typing___APlusExpr___name(val_t p0);
-typedef val_t (*typing___APlusExpr___name_t)(val_t p0);
-val_t NEW_AMinusExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AMinusExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AMinusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_APlusExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_APlusExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_APlusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_APlusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AMinusExpr___name = "typing::AMinusExpr::(typing::ASendExpr::name)";
+val_t typing___AMinusExpr___name(val_t p0);
+typedef val_t (*typing___AMinusExpr___name_t)(val_t p0);
 val_t NEW_AMinusExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_AMinusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_AMinusExpr_parser_prod___AMinusExpr___empty_init();
 val_t NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AMinusExpr___name "typing::AMinusExpr::(typing::ASendExpr::name)"
-val_t typing___AMinusExpr___name(val_t p0);
-typedef val_t (*typing___AMinusExpr___name_t)(val_t p0);
-val_t NEW_AStarshipExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AStarshipExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AStarshipExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AMinusExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AMinusExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AMinusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AMinusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AStarshipExpr___name = "typing::AStarshipExpr::(typing::ASendExpr::name)";
+val_t typing___AStarshipExpr___name(val_t p0);
+typedef val_t (*typing___AStarshipExpr___name_t)(val_t p0);
 val_t NEW_AStarshipExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_AStarshipExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_AStarshipExpr_parser_prod___AStarshipExpr___empty_init();
 val_t NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AStarshipExpr___name "typing::AStarshipExpr::(typing::ASendExpr::name)"
-val_t typing___AStarshipExpr___name(val_t p0);
-typedef val_t (*typing___AStarshipExpr___name_t)(val_t p0);
-val_t NEW_AStarExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AStarExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AStarExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AStarshipExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AStarshipExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AStarshipExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AStarshipExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AStarExpr___name = "typing::AStarExpr::(typing::ASendExpr::name)";
+val_t typing___AStarExpr___name(val_t p0);
+typedef val_t (*typing___AStarExpr___name_t)(val_t p0);
 val_t NEW_AStarExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_AStarExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_AStarExpr_parser_prod___AStarExpr___empty_init();
 val_t NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AStarExpr___name "typing::AStarExpr::(typing::ASendExpr::name)"
-val_t typing___AStarExpr___name(val_t p0);
-typedef val_t (*typing___AStarExpr___name_t)(val_t p0);
-val_t NEW_ASlashExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ASlashExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ASlashExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AStarExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AStarExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AStarExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AStarExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ASlashExpr___name = "typing::ASlashExpr::(typing::ASendExpr::name)";
+val_t typing___ASlashExpr___name(val_t p0);
+typedef val_t (*typing___ASlashExpr___name_t)(val_t p0);
 val_t NEW_ASlashExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_ASlashExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_ASlashExpr_parser_prod___ASlashExpr___empty_init();
 val_t NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(val_t p0, val_t p1);
-#define LOCATE_typing___ASlashExpr___name "typing::ASlashExpr::(typing::ASendExpr::name)"
-val_t typing___ASlashExpr___name(val_t p0);
-typedef val_t (*typing___ASlashExpr___name_t)(val_t p0);
-val_t NEW_APercentExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_APercentExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_APercentExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ASlashExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ASlashExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASlashExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ASlashExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___APercentExpr___name = "typing::APercentExpr::(typing::ASendExpr::name)";
+val_t typing___APercentExpr___name(val_t p0);
+typedef val_t (*typing___APercentExpr___name_t)(val_t p0);
 val_t NEW_APercentExpr_parser_prod___ABinopExpr___empty_init();
-val_t NEW_APercentExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
 val_t NEW_APercentExpr_parser_prod___APercentExpr___empty_init();
 val_t NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(val_t p0, val_t p1);
-#define LOCATE_typing___APercentExpr___name "typing::APercentExpr::(typing::ASendExpr::name)"
-val_t typing___APercentExpr___name(val_t p0);
-typedef val_t (*typing___APercentExpr___name_t)(val_t p0);
-val_t NEW_AUminusExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_APercentExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_APercentExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_APercentExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_APercentExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AUminusExpr___name = "typing::AUminusExpr::(typing::ASendExpr::name)";
+val_t typing___AUminusExpr___name(val_t p0);
+typedef val_t (*typing___AUminusExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___AUminusExpr___compute_raw_arguments = "typing::AUminusExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___AUminusExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___AUminusExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_AUminusExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AUminusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_AUminusExpr_parser_prod___AUminusExpr___empty_init();
 val_t NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AUminusExpr___compute_raw_arguments "typing::AUminusExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___AUminusExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___AUminusExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___AUminusExpr___name "typing::AUminusExpr::(typing::ASendExpr::name)"
-val_t typing___AUminusExpr___name(val_t p0);
-typedef val_t (*typing___AUminusExpr___name_t)(val_t p0);
-val_t NEW_ACallFormExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ACallFormExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ACallFormExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
-#define LOCATE_typing___ACallFormExpr___closure_defs "typing::ACallFormExpr::(syntax_base::ASendExpr::closure_defs)"
-val_t typing___ACallFormExpr___closure_defs(val_t p0);
-typedef val_t (*typing___ACallFormExpr___closure_defs_t)(val_t p0);
-#define LOCATE_typing___ACallFormExpr___after_typing "typing::ACallFormExpr::(typing::ANode::after_typing)"
+val_t NEW_AUminusExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AUminusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ACallFormExpr___after_typing = "typing::ACallFormExpr::(typing::ANode::after_typing)";
 void typing___ACallFormExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___ACallFormExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___ACallFormExpr___variable_create "typing::ACallFormExpr::variable_create"
+static const char * const LOCATE_typing___ACallFormExpr___closure_defs = "typing::ACallFormExpr::(syntax_base::ASendExpr::closure_defs)";
+val_t typing___ACallFormExpr___closure_defs(val_t p0);
+typedef val_t (*typing___ACallFormExpr___closure_defs_t)(val_t p0);
+static const char * const LOCATE_typing___ACallFormExpr___variable_create = "typing::ACallFormExpr::variable_create";
 val_t typing___ACallFormExpr___variable_create(val_t p0, val_t p1);
 typedef val_t (*typing___ACallFormExpr___variable_create_t)(val_t p0, val_t p1);
-val_t NEW_ACallExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallFormExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallFormExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ACallFormExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ACallExpr___variable_create = "typing::ACallExpr::(typing::ACallFormExpr::variable_create)";
+val_t typing___ACallExpr___variable_create(val_t p0, val_t p1);
+typedef val_t (*typing___ACallExpr___variable_create_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___ACallExpr___name = "typing::ACallExpr::(typing::ASendExpr::name)";
+val_t typing___ACallExpr___name(val_t p0);
+typedef val_t (*typing___ACallExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___ACallExpr___compute_raw_arguments = "typing::ACallExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___ACallExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___ACallExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_ACallExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ACallExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_ACallExpr_parser_prod___ACallExpr___empty_init();
 val_t NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___ACallExpr___compute_raw_arguments "typing::ACallExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___ACallExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___ACallExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___ACallExpr___name "typing::ACallExpr::(typing::ASendExpr::name)"
-val_t typing___ACallExpr___name(val_t p0);
-typedef val_t (*typing___ACallExpr___name_t)(val_t p0);
-#define LOCATE_typing___ACallExpr___variable_create "typing::ACallExpr::(typing::ACallFormExpr::variable_create)"
-val_t typing___ACallExpr___variable_create(val_t p0, val_t p1);
-typedef val_t (*typing___ACallExpr___variable_create_t)(val_t p0, val_t p1);
-val_t NEW_ACallAssignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ACallAssignExpr___variable_create = "typing::ACallAssignExpr::(typing::ACallFormExpr::variable_create)";
+val_t typing___ACallAssignExpr___variable_create(val_t p0, val_t p1);
+typedef val_t (*typing___ACallAssignExpr___variable_create_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___ACallAssignExpr___name = "typing::ACallAssignExpr::(typing::ASendExpr::name)";
+val_t typing___ACallAssignExpr___name(val_t p0);
+typedef val_t (*typing___ACallAssignExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___ACallAssignExpr___compute_raw_arguments = "typing::ACallAssignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___ACallAssignExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___ACallAssignExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_ACallAssignExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ACallAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___empty_init();
 val_t NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___ACallAssignExpr___compute_raw_arguments "typing::ACallAssignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___ACallAssignExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___ACallAssignExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___ACallAssignExpr___name "typing::ACallAssignExpr::(typing::ASendExpr::name)"
-val_t typing___ACallAssignExpr___name(val_t p0);
-typedef val_t (*typing___ACallAssignExpr___name_t)(val_t p0);
-#define LOCATE_typing___ACallAssignExpr___variable_create "typing::ACallAssignExpr::(typing::ACallFormExpr::variable_create)"
-val_t typing___ACallAssignExpr___variable_create(val_t p0, val_t p1);
-typedef val_t (*typing___ACallAssignExpr___variable_create_t)(val_t p0, val_t p1);
-val_t NEW_ACallReassignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallAssignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ACallReassignExpr___variable_create = "typing::ACallReassignExpr::(typing::ACallFormExpr::variable_create)";
+val_t typing___ACallReassignExpr___variable_create(val_t p0, val_t p1);
+typedef val_t (*typing___ACallReassignExpr___variable_create_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___ACallReassignExpr___name = "typing::ACallReassignExpr::(typing::ASendExpr::name)";
+val_t typing___ACallReassignExpr___name(val_t p0);
+typedef val_t (*typing___ACallReassignExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___ACallReassignExpr___compute_raw_arguments = "typing::ACallReassignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___ACallReassignExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___ACallReassignExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_ACallReassignExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ACallReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___empty_init();
 val_t NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_typing___ACallReassignExpr___compute_raw_arguments "typing::ACallReassignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___ACallReassignExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___ACallReassignExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___ACallReassignExpr___name "typing::ACallReassignExpr::(typing::ASendExpr::name)"
-val_t typing___ACallReassignExpr___name(val_t p0);
-typedef val_t (*typing___ACallReassignExpr___name_t)(val_t p0);
-#define LOCATE_typing___ACallReassignExpr___variable_create "typing::ACallReassignExpr::(typing::ACallFormExpr::variable_create)"
-val_t typing___ACallReassignExpr___variable_create(val_t p0, val_t p1);
-typedef val_t (*typing___ACallReassignExpr___variable_create_t)(val_t p0, val_t p1);
-val_t NEW_ABraExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallReassignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ACallReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ABraExpr___name = "typing::ABraExpr::(typing::ASendExpr::name)";
+val_t typing___ABraExpr___name(val_t p0);
+typedef val_t (*typing___ABraExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___ABraExpr___compute_raw_arguments = "typing::ABraExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___ABraExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___ABraExpr___compute_raw_arguments_t)(val_t p0);
+static const char * const LOCATE_typing___ABraExpr___closure_defs = "typing::ABraExpr::(syntax_base::ASendExpr::closure_defs)";
+val_t typing___ABraExpr___closure_defs(val_t p0);
+typedef val_t (*typing___ABraExpr___closure_defs_t)(val_t p0);
 val_t NEW_ABraExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ABraExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_ABraExpr_parser_prod___ABraExpr___empty_init();
 val_t NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___ABraExpr___closure_defs "typing::ABraExpr::(syntax_base::ASendExpr::closure_defs)"
-val_t typing___ABraExpr___closure_defs(val_t p0);
-typedef val_t (*typing___ABraExpr___closure_defs_t)(val_t p0);
-#define LOCATE_typing___ABraExpr___compute_raw_arguments "typing::ABraExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___ABraExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___ABraExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___ABraExpr___name "typing::ABraExpr::(typing::ASendExpr::name)"
-val_t typing___ABraExpr___name(val_t p0);
-typedef val_t (*typing___ABraExpr___name_t)(val_t p0);
-val_t NEW_ABraAssignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ABraExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ABraExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ABraAssignExpr___name = "typing::ABraAssignExpr::(typing::ASendExpr::name)";
+val_t typing___ABraAssignExpr___name(val_t p0);
+typedef val_t (*typing___ABraAssignExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___ABraAssignExpr___compute_raw_arguments = "typing::ABraAssignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___ABraAssignExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___ABraAssignExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_ABraAssignExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ABraAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___empty_init();
 val_t NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___ABraAssignExpr___compute_raw_arguments "typing::ABraAssignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___ABraAssignExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___ABraAssignExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___ABraAssignExpr___name "typing::ABraAssignExpr::(typing::ASendExpr::name)"
-val_t typing___ABraAssignExpr___name(val_t p0);
-typedef val_t (*typing___ABraAssignExpr___name_t)(val_t p0);
-val_t NEW_ABraReassignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ABraAssignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ABraAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___ABraReassignExpr___name = "typing::ABraReassignExpr::(typing::ASendExpr::name)";
+val_t typing___ABraReassignExpr___name(val_t p0);
+typedef val_t (*typing___ABraReassignExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___ABraReassignExpr___compute_raw_arguments = "typing::ABraReassignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___ABraReassignExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___ABraReassignExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_ABraReassignExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_ABraReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___empty_init();
 val_t NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___ABraReassignExpr___compute_raw_arguments "typing::ABraReassignExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___ABraReassignExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___ABraReassignExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___ABraReassignExpr___name "typing::ABraReassignExpr::(typing::ASendExpr::name)"
-val_t typing___ABraReassignExpr___name(val_t p0);
-typedef val_t (*typing___ABraReassignExpr___name_t)(val_t p0);
-val_t NEW_AInitExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ABraReassignExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_ABraReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AInitExpr___name = "typing::AInitExpr::(typing::ASendExpr::name)";
+val_t typing___AInitExpr___name(val_t p0);
+typedef val_t (*typing___AInitExpr___name_t)(val_t p0);
+static const char * const LOCATE_typing___AInitExpr___compute_raw_arguments = "typing::AInitExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
+val_t typing___AInitExpr___compute_raw_arguments(val_t p0);
+typedef val_t (*typing___AInitExpr___compute_raw_arguments_t)(val_t p0);
 val_t NEW_AInitExpr_parser_prod___ASendExpr___empty_init();
-val_t NEW_AInitExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 val_t NEW_AInitExpr_parser_prod___AInitExpr___empty_init();
 val_t NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AInitExpr___compute_raw_arguments "typing::AInitExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
-val_t typing___AInitExpr___compute_raw_arguments(val_t p0);
-typedef val_t (*typing___AInitExpr___compute_raw_arguments_t)(val_t p0);
-#define LOCATE_typing___AInitExpr___name "typing::AInitExpr::(typing::ASendExpr::name)"
-val_t typing___AInitExpr___name(val_t p0);
-typedef val_t (*typing___AInitExpr___name_t)(val_t p0);
-val_t NEW_AClosureCallExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___empty_init();
-val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___init_aclosurecallexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AClosureCallExpr___variable "typing::AClosureCallExpr::(syntax_base::AClosureCallExpr::variable)"
+val_t NEW_AInitExpr_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AInitExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+static const char * const LOCATE_typing___AClosureCallExpr___variable = "typing::AClosureCallExpr::(syntax_base::AClosureCallExpr::variable)";
 val_t typing___AClosureCallExpr___variable(val_t p0);
 typedef val_t (*typing___AClosureCallExpr___variable_t)(val_t p0);
-#define LOCATE_typing___AClosureCallExpr___after_typing "typing::AClosureCallExpr::(typing::ANode::after_typing)"
-void typing___AClosureCallExpr___after_typing(val_t p0, val_t p1);
-typedef void (*typing___AClosureCallExpr___after_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AClosureCallExpr___compute_raw_arguments "typing::AClosureCallExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)"
+static const char * const LOCATE_typing___AClosureCallExpr___compute_raw_arguments = "typing::AClosureCallExpr::(typing::AAbsAbsSendExpr::compute_raw_arguments)";
 val_t typing___AClosureCallExpr___compute_raw_arguments(val_t p0);
 typedef val_t (*typing___AClosureCallExpr___compute_raw_arguments_t)(val_t p0);
-val_t NEW_AClosureId_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AClosureId___to_symbol "typing::AClosureId::to_symbol"
+static const char * const LOCATE_typing___AClosureCallExpr___after_typing = "typing::AClosureCallExpr::(typing::ANode::after_typing)";
+void typing___AClosureCallExpr___after_typing(val_t p0, val_t p1);
+typedef void (*typing___AClosureCallExpr___after_typing_t)(val_t p0, val_t p1);
+val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___init_aclosurecallexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___empty_init();
+val_t NEW_AClosureCallExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AClosureId___to_symbol = "typing::AClosureId::to_symbol";
 val_t typing___AClosureId___to_symbol(val_t p0);
 typedef val_t (*typing___AClosureId___to_symbol_t)(val_t p0);
-val_t NEW_ASimpleClosureId_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ASimpleClosureId_parser_prod___ASimpleClosureId___empty_init();
-val_t NEW_ASimpleClosureId_parser_prod___ASimpleClosureId___init_asimpleclosureid(val_t p0);
-#define LOCATE_typing___ASimpleClosureId___to_symbol "typing::ASimpleClosureId::(typing::AClosureId::to_symbol)"
+val_t NEW_AClosureId_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ASimpleClosureId___to_symbol = "typing::ASimpleClosureId::(typing::AClosureId::to_symbol)";
 val_t typing___ASimpleClosureId___to_symbol(val_t p0);
 typedef val_t (*typing___ASimpleClosureId___to_symbol_t)(val_t p0);
-val_t NEW_ABreakClosureId_parser_nodes___ANode___init(val_t p0);
-val_t NEW_ABreakClosureId_parser_prod___ABreakClosureId___empty_init();
-val_t NEW_ABreakClosureId_parser_prod___ABreakClosureId___init_abreakclosureid(val_t p0);
-#define LOCATE_typing___ABreakClosureId___to_symbol "typing::ABreakClosureId::(typing::AClosureId::to_symbol)"
+val_t NEW_ASimpleClosureId_parser_prod___ASimpleClosureId___empty_init();
+val_t NEW_ASimpleClosureId_parser_prod___ASimpleClosureId___init_asimpleclosureid(val_t p0);
+val_t NEW_ASimpleClosureId_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ABreakClosureId___to_symbol = "typing::ABreakClosureId::(typing::AClosureId::to_symbol)";
 val_t typing___ABreakClosureId___to_symbol(val_t p0);
 typedef val_t (*typing___ABreakClosureId___to_symbol_t)(val_t p0);
-val_t NEW_AClosureDef_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AClosureDef_parser_prod___AClosureDef___empty_init();
-val_t NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
-#define LOCATE_typing___AClosureDef___closure "typing::AClosureDef::(syntax_base::AClosureDef::closure)"
+val_t NEW_ABreakClosureId_parser_prod___ABreakClosureId___empty_init();
+val_t NEW_ABreakClosureId_parser_prod___ABreakClosureId___init_abreakclosureid(val_t p0);
+val_t NEW_ABreakClosureId_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AClosureDef___closure = "typing::AClosureDef::(syntax_base::AClosureDef::closure)";
 val_t typing___AClosureDef___closure(val_t p0);
 typedef val_t (*typing___AClosureDef___closure_t)(val_t p0);
-#define LOCATE_typing___AClosureDef___accept_typing "typing::AClosureDef::(typing::ANode::accept_typing)"
-void typing___AClosureDef___accept_typing(val_t p0, val_t p1);
-typedef void (*typing___AClosureDef___accept_typing_t)(val_t p0, val_t p1);
-#define LOCATE_typing___AClosureDef___escapable "typing::AClosureDef::escapable"
+static const char * const LOCATE_typing___AClosureDef___escapable = "typing::AClosureDef::escapable";
 val_t typing___AClosureDef___escapable(val_t p0);
 typedef val_t (*typing___AClosureDef___escapable_t)(val_t p0);
-#define LOCATE_typing___AClosureDef___accept_typing2 "typing::AClosureDef::accept_typing2"
+static const char * const LOCATE_typing___AClosureDef___accept_typing = "typing::AClosureDef::(typing::ANode::accept_typing)";
+void typing___AClosureDef___accept_typing(val_t p0, val_t p1);
+typedef void (*typing___AClosureDef___accept_typing_t)(val_t p0, val_t p1);
+static const char * const LOCATE_typing___AClosureDef___accept_typing2 = "typing::AClosureDef::accept_typing2";
 void typing___AClosureDef___accept_typing2(val_t p0, val_t p1, val_t p2);
 typedef void (*typing___AClosureDef___accept_typing2_t)(val_t p0, val_t p1, val_t p2);
-val_t NEW_ATypeCheckExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___ATypeCheckExpr___check_expr_cast "typing::ATypeCheckExpr::check_expr_cast"
+val_t NEW_AClosureDef_parser_prod___AClosureDef___empty_init();
+val_t NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
+val_t NEW_AClosureDef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___ATypeCheckExpr___check_expr_cast = "typing::ATypeCheckExpr::check_expr_cast";
 void typing___ATypeCheckExpr___check_expr_cast(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef void (*typing___ATypeCheckExpr___check_expr_cast_t)(val_t p0, val_t p1, val_t p2, val_t p3);
-val_t NEW_AIsaExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AIsaExpr_parser_prod___AIsaExpr___empty_init();
-val_t NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AIsaExpr___after_typing "typing::AIsaExpr::(typing::ANode::after_typing)"
+val_t NEW_ATypeCheckExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AIsaExpr___after_typing = "typing::AIsaExpr::(typing::ANode::after_typing)";
 void typing___AIsaExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AIsaExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAsCastExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___empty_init();
-val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(val_t p0, val_t p1, val_t p2);
-#define LOCATE_typing___AAsCastExpr___after_typing "typing::AAsCastExpr::(typing::ANode::after_typing)"
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___empty_init();
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1);
+val_t NEW_AIsaExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAsCastExpr___after_typing = "typing::AAsCastExpr::(typing::ANode::after_typing)";
 void typing___AAsCastExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AAsCastExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AAsNotnullExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___empty_init();
-val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-#define LOCATE_typing___AAsNotnullExpr___after_typing "typing::AAsNotnullExpr::(typing::ANode::after_typing)"
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___empty_init();
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AAsCastExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AAsNotnullExpr___after_typing = "typing::AAsNotnullExpr::(typing::ANode::after_typing)";
 void typing___AAsNotnullExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AAsNotnullExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AProxyExpr_parser_nodes___ANode___init(val_t p0);
-#define LOCATE_typing___AProxyExpr___after_typing "typing::AProxyExpr::(typing::ANode::after_typing)"
+val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___empty_init();
+val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AAsNotnullExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AProxyExpr___after_typing = "typing::AProxyExpr::(typing::ANode::after_typing)";
 void typing___AProxyExpr___after_typing(val_t p0, val_t p1);
 typedef void (*typing___AProxyExpr___after_typing_t)(val_t p0, val_t p1);
-val_t NEW_AOnceExpr_parser_nodes___ANode___init(val_t p0);
-val_t NEW_AOnceExpr_parser_prod___AOnceExpr___empty_init();
-val_t NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1);
-#define LOCATE_typing___AOnceExpr___accept_typing "typing::AOnceExpr::(typing::ANode::accept_typing)"
+val_t NEW_AProxyExpr_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_typing___AOnceExpr___accept_typing = "typing::AOnceExpr::(typing::ANode::accept_typing)";
 void typing___AOnceExpr___accept_typing(val_t p0, val_t p1);
 typedef void (*typing___AOnceExpr___accept_typing_t)(val_t p0, val_t p1);
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___empty_init();
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1);
+val_t NEW_AOnceExpr_parser_nodes___ANode___init(val_t p0);
 #endif