/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_Con__kIEtpimm10X8hzM4RzpcKg tyObject_Con__kIEtpimm10X8hzM4RzpcKg;
typedef struct tySequence__1xFov7v9c2rs44orw6d9bPmw tySequence__1xFov7v9c2rs44orw6d9bPmw;
typedef struct tySequence__1xFov7v9c2rs44orw6d9bPmw_Content tySequence__1xFov7v9c2rs44orw6d9bPmw_Content;
typedef struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA;
typedef struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA tySequence__ZeWVlH6DqG79b1pTDhrrUYA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA tySequence__ZCZaCk14bTmSb6LMW9aWPVA;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw tySequence__hRbbzIynOoxrYjHTIKZ3Gw;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content;
typedef struct tySequence__TfHJycarvNts8E4mVG4Mfg tySequence__TfHJycarvNts8E4mVG4Mfg;
typedef struct tySequence__TfHJycarvNts8E4mVG4Mfg_Content tySequence__TfHJycarvNts8E4mVG4Mfg_Content;
typedef struct tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg;
typedef struct tySequence__5reviU45axUMPQgL9aoENrg tySequence__5reviU45axUMPQgL9aoENrg;
typedef struct tySequence__5reviU45axUMPQgL9aoENrg_Content tySequence__5reviU45axUMPQgL9aoENrg_Content;
typedef struct tySequence__dtr79aXjHrgHuH79ac55I2aw tySequence__dtr79aXjHrgHuH79ac55I2aw;
typedef struct tySequence__dtr79aXjHrgHuH79ac55I2aw_Content tySequence__dtr79aXjHrgHuH79ac55I2aw_Content;
typedef struct tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg;
typedef struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw tySequence__8y0Gi4GwtXi2wk2mK1IOzw;
typedef struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content;
typedef struct tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w;
typedef struct tySequence__C2ivDnhTZ6IxAdui1rfuqw tySequence__C2ivDnhTZ6IxAdui1rfuqw;
typedef struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content;
typedef struct tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA;
typedef struct tySequence__3vEEVfBECLN6NIRA3FIp5g tySequence__3vEEVfBECLN6NIRA3FIp5g;
typedef struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content tySequence__3vEEVfBECLN6NIRA3FIp5g_Content;
typedef struct tyObject_Table__tEqt8LkShErhjQ9acvGyE7g tyObject_Table__tEqt8LkShErhjQ9acvGyE7g;
typedef struct tySequence__9aSa87aKMiolq9a7z3kC0jTw tySequence__9aSa87aKMiolq9a7z3kC0jTw;
typedef struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content;
typedef struct tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw;
typedef struct tySequence__N589c2UsUgqqOITU2JfIuAQ tySequence__N589c2UsUgqqOITU2JfIuAQ;
typedef struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content tySequence__N589c2UsUgqqOITU2JfIuAQ_Content;
typedef struct tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw;
typedef struct tySequence__GYDW6wGgERshoSd16jJ3eQ tySequence__GYDW6wGgERshoSd16jJ3eQ;
typedef struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content tySequence__GYDW6wGgERshoSd16jJ3eQ_Content;
typedef struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ;
typedef struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg;
typedef struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content;
typedef struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA tyObject_Table__AC9bec2JdoOuC3xQePGWgmA;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content tySequence__kxu4GK0onha2t9bo86mdVAg_Content;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content;
typedef struct RootObj RootObj;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg tySequence__fz0REU1l0nYmKHXgMLRrIg;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content tySequence__fz0REU1l0nYmKHXgMLRrIg_Content;
typedef struct tyObject_Table__w2vCG1OPnHmNolvQVT168g tyObject_Table__w2vCG1OPnHmNolvQVT168g;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ tySequence__Ip9aV1IKO2gVdheNOM31DCQ;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg tySequence__kHjIdgrpmuSn9cUIIKpSiDg;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content;
typedef struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA tySequence__Wd0Vle6gxRCPPoSlNEvfTA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content;
typedef struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag tyObject_Table__fZyCWkMwhdvr3pauCNDaag;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw tySequence__T7nNEWoEbKBa0G5Htr45Xw;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content;
typedef struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ tyObject_Table__5vmBY49areSIlgIs4A1LLKQ;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA tySequence__q9cHvMDDxYU1hSCdG4YwIhA;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA tySequence__olFOFaYzOJN9aV5BWqK4b9bA;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content;
typedef struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA tySequence__vJcM7B74R2U5db9cxyXT9coA;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content tySequence__vJcM7B74R2U5db9cxyXT9coA_Content;
typedef struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content;
typedef struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg tySequence__R9c39btP6BwOBBPnbaNUtMQg;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content;
typedef struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content;
typedef struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw tySequence__3nALyQgqjnfK2Qjc6ny2Uw;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg tySequence__WbW5Q8QVks0bQpUJSGmuVg;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content;
typedef struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_Instr__q6FqGagLCvmrvQAVu3oy4g tyObject_Instr__q6FqGagLCvmrvQAVu3oy4g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyTuple__Oubp8LPEu86EPyDuc56AXg tyTuple__Oubp8LPEu86EPyDuc56AXg;
typedef struct tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow;
typedef struct tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA;
typedef struct tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content tySequence__PXIzfWocnrafGz5p3CP5LA_Content;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content;
typedef struct tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w;
typedef struct tySequence__OxRbUT0qZaZN5UjnqQjGPA tySequence__OxRbUT0qZaZN5UjnqQjGPA;
typedef struct tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content;
typedef struct tySequence__ezS5mGPcRfBURJyMgqYVzA tySequence__ezS5mGPcRfBURJyMgqYVzA;
typedef struct tySequence__ezS5mGPcRfBURJyMgqYVzA_Content tySequence__ezS5mGPcRfBURJyMgqYVzA_Content;
typedef struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA tySequence__wW7xkohjuUKO9aMaB0nt9cqA;
typedef struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg_Content tySequence__b89aLriiJnVTD186H6zNIgg_Content;
typedef struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg tySequence__hIPTk9aFdaMMVAOzEbnPyqg;
typedef struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content;
typedef struct tySequence__YYy1721YAuPF0ajBYHd8Wg tySequence__YYy1721YAuPF0ajBYHd8Wg;
typedef struct tySequence__YYy1721YAuPF0ajBYHd8Wg_Content tySequence__YYy1721YAuPF0ajBYHd8Wg_Content;
typedef struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ tySequence__UODJbvzmu39c3Ho9cqhSk9agQ;
typedef struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content;
typedef struct tySequence__F1qNdU7m0Czu7Y2q0eksXw tySequence__F1qNdU7m0Czu7Y2q0eksXw;
typedef struct tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content;
typedef struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q tySequence__r3Kz9breImOXyFFoJ29aBM8Q;
typedef struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw tySequence__qBes3XzcQQ9cyia9bRwnmbJw;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content;
typedef struct tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw;
typedef struct tySequence__Vl1abU3gfp0RqCb1KKfmDA tySequence__Vl1abU3gfp0RqCb1KKfmDA;
typedef struct tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content;
typedef struct tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw;
typedef struct tySequence__qyyNkmlc4fzOzelC8spUkQ tySequence__qyyNkmlc4fzOzelC8spUkQ;
typedef struct tySequence__qyyNkmlc4fzOzelC8spUkQ_Content tySequence__qyyNkmlc4fzOzelC8spUkQ_Content;
typedef struct tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA;
typedef struct tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content tySequence__IHUFRsFxZNv7YydiUO2esQ_Content;
typedef struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw tySequence__orxtl6CusdjXleqrxi67gw;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw_Content tySequence__orxtl6CusdjXleqrxi67gw_Content;
typedef struct tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ;
typedef struct tySequence__K0j67V58u5FW0dCC534FQw tySequence__K0j67V58u5FW0dCC534FQw;
typedef struct tySequence__K0j67V58u5FW0dCC534FQw_Content tySequence__K0j67V58u5FW0dCC534FQw_Content;
typedef struct tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ;
typedef struct tySequence__UE4b6iUkm1b3zTPamTTkDw tySequence__UE4b6iUkm1b3zTPamTTkDw;
typedef struct tySequence__UE4b6iUkm1b3zTPamTTkDw_Content tySequence__UE4b6iUkm1b3zTPamTTkDw_Content;
typedef struct tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg;
typedef struct tySequence__FmsTQiIcS9arxHxs3QY48vA tySequence__FmsTQiIcS9arxHxs3QY48vA;
typedef struct tySequence__FmsTQiIcS9arxHxs3QY48vA_Content tySequence__FmsTQiIcS9arxHxs3QY48vA_Content;
typedef struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ;
typedef struct tyObject_Table__uaQEKxLZNO5fpFluyxnhTg tyObject_Table__uaQEKxLZNO5fpFluyxnhTg;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content;
typedef struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ tySequence__vb3AGHvMJTxdOSSwMmBmTQ;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content;
typedef struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q tyTuple__F1mMODXmKFMNQ5rLCtcv0Q;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA tySequence__apM9bRAO19cVjhWlxqd1PGeA;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content;
typedef struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw;
typedef struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA;
typedef struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ;
typedef struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig;
typedef struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw tySequence__9bW2eTK9b7vXE70Sx5VPH1mw;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content;
typedef struct tyTuple__bnJwOH0eJlAwCAMbr1inhw tyTuple__bnJwOH0eJlAwCAMbr1inhw;
typedef struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw tyTuple__YG7h1OUHzgfgTeH9cl0U0dw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ tyTuple__tG5yYi8DnD7bl00aT9cgctQ;
typedef struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content;
typedef struct tySequence__yUWoZehF86MIc40opFgacw tySequence__yUWoZehF86MIc40opFgacw;
typedef struct tySequence__yUWoZehF86MIc40opFgacw_Content tySequence__yUWoZehF86MIc40opFgacw_Content;
typedef struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw;
typedef struct tyTuple__gnRkA1L4XiR4uByriyHW8Q tyTuple__gnRkA1L4XiR4uByriyHW8Q;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA tySequence__nSO1ltijM4vhc0UrrXKEqA;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content tySequence__nSO1ltijM4vhc0UrrXKEqA_Content;
typedef struct tyTuple__CvjVmQeIfivirDme2r5MRw tyTuple__CvjVmQeIfivirDme2r5MRw;
typedef struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g tyTuple__2QDyOgS51ZMPO0W1pWCY6g;
typedef struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ tyTuple__UbCNQED4XJUgxOgPHJUcAQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ tySequence__juxPMVNF1FoR2ltzeQu8NQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content;
typedef struct tyTuple__zExIg9bDTcVf2FHROUpzoow tyTuple__zExIg9bDTcVf2FHROUpzoow;
typedef struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA tyTuple__XrHNJHOzS3O7uwF9bvCySiA;
typedef struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ tyTuple__EdLY4EJQ37VFgbAn5g5rXQ;
typedef struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA tyTuple__OtlgAx3kBps9cOSMNDZSzBA;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ;
typedef struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw;
typedef struct tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q;
typedef struct tyTuple__O3g9a8zTXSX36ljWponcAoA tyTuple__O3g9a8zTXSX36ljWponcAoA;
typedef struct tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
typedef struct tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w;
typedef struct tyTuple__48iPM3yLBKU5nyEuYwJvuQ tyTuple__48iPM3yLBKU5nyEuYwJvuQ;
typedef struct tyTuple__R3ddFrA0G9buJY57Qhf9cTpg tyTuple__R3ddFrA0G9buJY57Qhf9cTpg;
typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
typedef struct tyTuple__7rmdAMLZ8fDd79brQn2ixZA tyTuple__7rmdAMLZ8fDd79brQn2ixZA;
typedef struct tyTuple__qPXRCRNQuZLLKto7CIIEzw tyTuple__qPXRCRNQuZLLKto7CIIEzw;
typedef struct tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg;
typedef struct tyTuple__6kG8KAxm9aXPdLdlxcxqJJw tyTuple__6kG8KAxm9aXPdLdlxcxqJJw;
typedef struct tyTuple__TRK7rrwoha9bbDAdPWsqJMw tyTuple__TRK7rrwoha9bbDAdPWsqJMw;
typedef struct tyTuple__V1VWX9bHapuzCjpMfFfys5Q tyTuple__V1VWX9bHapuzCjpMfFfys5Q;
typedef struct tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw;
typedef struct tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg;
typedef struct tyTuple__anemVmHCFglLFt6LiEhFvg tyTuple__anemVmHCFglLFt6LiEhFvg;
typedef struct tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ;
typedef struct tyTuple__MaWaKZwaGUqCXKsSK12rVg tyTuple__MaWaKZwaGUqCXKsSK12rVg;
typedef struct tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA;
typedef struct tyTuple__1xWeGeoNoZxaLhTUDDWYyA tyTuple__1xWeGeoNoZxaLhTUDDWYyA;
typedef struct tyTuple__MZVSn3SE3XUBJOaMu7ofRQ tyTuple__MZVSn3SE3XUBJOaMu7ofRQ;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
typedef struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA;
typedef struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ tySequence__YxH9cgSorHRI8ZPzHf47NNQ;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content;
typedef struct tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ;
typedef struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw tyTuple__lGHLhAAUpxgfrnQkIzNrMw;
typedef struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA;
typedef struct tyTuple__V6P73hvHy70PBBwharKjig tyTuple__V6P73hvHy70PBBwharKjig;
struct tySequence__1xFov7v9c2rs44orw6d9bPmw {
  NI len; tySequence__1xFov7v9c2rs44orw6d9bPmw_Content* p;
};
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA {
  NI len; tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content* p;
};
typedef NI tyArray__k7D0lwfLmYccbQxUd49bbcQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
struct tyObject_Con__kIEtpimm10X8hzM4RzpcKg {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner;
	tySequence__1xFov7v9c2rs44orw6d9bPmw g;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph;
	NI inLoop;
	NI inSpawn;
	NI inLoopCond;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA uninit;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA otherUsage;
	NI inUncheckedAssignSection;
	NI inEnsureMove;
};
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA {
  NI len; tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content* p;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA vars;
	tySequence__9ahcSjIErJohSBBFLwuF56Q wasMoved;
	tySequence__9ahcSjIErJohSBBFLwuF56Q final;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA locals;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body;
	NIM_BOOL needsTry;
	tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* parent;
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
union{
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* gcUnsafetyReason;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ast;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* annex;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* instantiatedFrom;
};
typedef NU8 tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw {
  NI len; tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content* p;
};
struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ {
	tySequence__hRbbzIynOoxrYjHTIKZ3Gw data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug {
	NI32 module;
	NI32 symId;
	NI32 typeId_0;
	NIM_BOOL sealed;
	tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ disambTable;
};
typedef NU tyArray__yYbpDJlxVAahcZb4EP3s9cA[16];
struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* next;
	NI key;
	tyArray__yYbpDJlxVAahcZb4EP3s9cA bits;
};
struct tySequence__TfHJycarvNts8E4mVG4Mfg {
  NI len; tySequence__TfHJycarvNts8E4mVG4Mfg_Content* p;
};
struct tySequence__5reviU45axUMPQgL9aoENrg {
  NI len; tySequence__5reviU45axUMPQgL9aoENrg_Content* p;
};
struct tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg {
	tySequence__5reviU45axUMPQgL9aoENrg pm;
};
struct tySequence__dtr79aXjHrgHuH79ac55I2aw {
  NI len; tySequence__dtr79aXjHrgHuH79ac55I2aw_Content* p;
};
struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw {
  NI len; tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content* p;
};
struct tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg {
	tySequence__8y0Gi4GwtXi2wk2mK1IOzw data;
	NI counter;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw {
  NI len; tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content* p;
};
struct tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w {
	tySequence__C2ivDnhTZ6IxAdui1rfuqw data;
	NI counter;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g {
  NI len; tySequence__3vEEVfBECLN6NIRA3FIp5g_Content* p;
};
struct tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA {
	tySequence__3vEEVfBECLN6NIRA3FIp5g data;
	NI counter;
};
typedef tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA tyArray__HTPiakF26bUQGH9bgtmrtkA[7];
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw {
  NI len; tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content* p;
};
struct tyObject_Table__tEqt8LkShErhjQ9acvGyE7g {
	tySequence__9aSa87aKMiolq9a7z3kC0jTw data;
	NI counter;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ {
  NI len; tySequence__N589c2UsUgqqOITU2JfIuAQ_Content* p;
};
struct tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw {
	tySequence__N589c2UsUgqqOITU2JfIuAQ data;
	NI counter;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ {
  NI len; tySequence__GYDW6wGgERshoSd16jJ3eQ_Content* p;
};
struct tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw {
	tySequence__GYDW6wGgERshoSd16jJ3eQ data;
	NI counter;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
struct tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
};
struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg {
	NI counter;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA data;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p;
};
struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw {
	tySequence__fdmz6VkIf1ewwrssKYqRFg data;
	NI counter;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p;
};
struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA {
	tySequence__kxu4GK0onha2t9bo86mdVAg data;
	NI counter;
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
struct tySequence__fz0REU1l0nYmKHXgMLRrIg {
  NI len; tySequence__fz0REU1l0nYmKHXgMLRrIg_Content* p;
};
struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ {
	tySequence__fz0REU1l0nYmKHXgMLRrIg data;
	NI counter;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ {
  NI len; tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content* p;
};
struct tyObject_Table__w2vCG1OPnHmNolvQVT168g {
	tySequence__Ip9aV1IKO2gVdheNOM31DCQ data;
	NI counter;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg {
  NI len; tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content* p;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA {
  NI len; tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content* p;
};
struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA {
	tySequence__Wd0Vle6gxRCPPoSlNEvfTA data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw {
  NI len; tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content* p;
};
struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag {
	tySequence__T7nNEWoEbKBa0G5Htr45Xw data;
	NI counter;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA {
  NI len; tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content* p;
};
struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ {
	tySequence__q9cHvMDDxYU1hSCdG4YwIhA data;
	NI counter;
};
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA {
  NI len; tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content* p;
};
typedef tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tyArray__EOkbZZXacNOZHC8p7xc7hw[65];
struct tySequence__vJcM7B74R2U5db9cxyXT9coA {
  NI len; tySequence__vJcM7B74R2U5db9cxyXT9coA_Content* p;
};
struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw {
	tySequence__vJcM7B74R2U5db9cxyXT9coA data;
	NI counter;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg {
  NI len; tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content* p;
};
struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg {
	tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg data;
	NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, tyProc__QieBhPPkGvcmpFg89a4ftcA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__F2ahyGAjs3aNLJYEXzu07g) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg {
  NI len; tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content* p;
};
struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ {
	tySequence__R9c39btP6BwOBBPnbaNUtMQg data;
	NI counter;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p;
};
struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA data;
	NI counter;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw {
  NI len; tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content* p;
};
struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ {
	tySequence__3nALyQgqjnfK2Qjc6ny2Uw data;
	NI counter;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg {
  NI len; tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content* p;
};
typedef NU8 tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg;
typedef N_NIMCALL_PTR(void, tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
typedef N_NIMCALL_PTR(void, tyProc__kj3TYePLaHBuXxhRznQQNQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__D3Q9bYoPIpHZVLfEIxpBssA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actual_p2);
struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opNot;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opContains;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLe;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLt;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAnd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opOr;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opIsNil;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opEq;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAdd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opSub;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opMul;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opDiv;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw {
	tySequence__TfHJycarvNts8E4mVG4Mfg ifaces;
	tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg packed_0;
	tySequence__dtr79aXjHrgHuH79ac55I2aw encoders;
	tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg typeInstCache;
	tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w procInstCache;
	tyArray__HTPiakF26bUQGH9bgtmrtkA attachedOps;
	tyObject_Table__tEqt8LkShErhjQ9acvGyE7g methodsPerGenericType;
	tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw memberProcsPerType;
	tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw initializersPerType;
	tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA enumToStringProcs;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A emittedTypeInfo;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ startupPackedConfig;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA deps;
	tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw importDeps;
	NIM_BOOL suggestMode;
	NIM_BOOL invalidTransitiveClosure;
	NIM_BOOL interactive;
	NIM_BOOL withinSystem;
	tyObject_Table__AC9bec2JdoOuC3xQePGWgmA inclToMod;
	tySequence__48JTohSgTy339bRxHzUD8KA importStack;
	RootObj* backend;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	RootObj* vm;
	RootObj* repl;
	tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* usageSym;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA owners;
	tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ suggestSymbols;
	tyObject_Table__w2vCG1OPnHmNolvQVT168g suggestErrors;
	tySequence__kHjIdgrpmuSn9cUIIKpSiDg methods;
	tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA bucketTable;
	tyObject_Table__fZyCWkMwhdvr3pauCNDaag objectTree;
	tyObject_Table__5vmBY49areSIlgIs4A1LLKQ methodsPerType;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA dispatchers;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* systemModule;
	tyArray__EOkbZZXacNOZHC8p7xc7hw sysTypes;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg compilerprocs;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg exposed;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageTypes;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* emptyNode;
	tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw canonTypes;
	tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg symBodyHashes;
	tyProc__QieBhPPkGvcmpFg89a4ftcA importModuleCallback;
	tyProc__F2ahyGAjs3aNLJYEXzu07g includeFileCallback;
	tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ cacheSeqs;
	tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw cacheCounters;
	tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ cacheTables;
	tySequence__WbW5Q8QVks0bQpUJSGmuVg passes;
	tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg pipelinePass;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinition;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinitionResolveForward;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onUsage;
	tySequence__9ahcSjIErJohSBBFLwuF56Q globalDestructors;
	tyProc__kj3TYePLaHBuXxhRznQQNQ strongSemCheck;
	tyProc__D3Q9bYoPIpHZVLfEIxpBssA compatibleProps;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
	tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ operators;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cachedFiles;
	tySequence__9ahcSjIErJohSBBFLwuF56Q procGlobals;
};
typedef NU8 tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw;
typedef NU8 tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw;
struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA {
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw targetCPU;
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw hostCPU;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw targetOS;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA {
  NI len; tySequence__hTEiKNj3evQAjIXUI21elA_Content* p;
};
struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw errorOutputs;
	tySequence__E0kio2ZnplNTuln9bsnljSA msgContext;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastError;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A filenameToIndexTbl;
	tySequence__hTEiKNj3evQAjIXUI21elA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ;
typedef NU8 tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw modifiedyNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw cmdlineNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw foreignPackageNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef NU8 tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q;
typedef NU8 tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw[21];
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ[3];
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q;
typedef NU8 tyArray__dnD8kjh6rJ1Yy5jHvid0Ow[16];
typedef NU8 tySet_tyEnum_ConsiderFlag__iOxKC1NBHc1yjhSaSfU9aPg;
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef NimStringV2 tyArray__dwfJdPZJYBY1vfSlirNUOQ[7];
typedef NU8 tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q;
typedef NU16 tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg;
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__al2p7ldDMvbBVYNFCuu4Rw[2];
typedef NU8 tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA;
typedef NU16 tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw;
typedef NU8 tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA;
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg;
typedef NU8 tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg;
struct tyObject_Instr__q6FqGagLCvmrvQAVu3oy4g {
	tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg kind;
union{
	NI dest;
	struct {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
} _kind_2;
};
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
typedef NU8 tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__TAsXwXSUBvAawE1kIQ5ziQ[1];
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__Nwi28HyTG9cEj6FfWArgLbQ[1];
struct tySequence__1xFov7v9c2rs44orw6d9bPmw_Content { NI cap; tyObject_Instr__q6FqGagLCvmrvQAVu3oy4g data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content { NI cap; tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* data[SEQ_DECL_SIZE]; };
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tyTuple__Oubp8LPEu86EPyDuc56AXg {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field0;
	NI Field1;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content { NI cap; tyTuple__Oubp8LPEu86EPyDuc56AXg data[SEQ_DECL_SIZE]; };
struct tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA converters;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA patterns;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA pureEnums;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg interf;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg interfHidden;
	NimStringV2 uniqueName;
};
struct tySequence__TfHJycarvNts8E4mVG4Mfg_Content { NI cap; tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_ModuleStatus__uT4B39a2dNaG9a9aunVdyhQtQ;
struct tySequence__PXIzfWocnrafGz5p3CP5LA {
  NI len; tySequence__PXIzfWocnrafGz5p3CP5LA_Content* p;
};
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
  NI len; tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content* p;
};
struct tySequence__OxRbUT0qZaZN5UjnqQjGPA {
  NI len; tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content* p;
};
struct tySequence__ezS5mGPcRfBURJyMgqYVzA {
  NI len; tySequence__ezS5mGPcRfBURJyMgqYVzA_Content* p;
};
struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA {
  NI len; tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content* p;
};
struct tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w {
	tySequence__OxRbUT0qZaZN5UjnqQjGPA nodes;
	tySequence__ezS5mGPcRfBURJyMgqYVzA withFlags;
	tySequence__wW7xkohjuUKO9aMaB0nt9cqA withTypes;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg {
  NI len; tySequence__b89aLriiJnVTD186H6zNIgg_Content* p;
};
struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg {
  NI len; tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content* p;
};
struct tySequence__YYy1721YAuPF0ajBYHd8Wg {
  NI len; tySequence__YYy1721YAuPF0ajBYHd8Wg_Content* p;
};
struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ {
  NI len; tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content* p;
};
struct tySequence__F1qNdU7m0Czu7Y2q0eksXw {
  NI len; tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content* p;
};
struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q {
  NI len; tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content* p;
};
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw {
  NI len; tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content* p;
};
typedef NU8 tySet_tyEnum_ModuleBackendFlag__5FvIlwIIbpcHU0ZRU9a5hrQ;
struct tySequence__Vl1abU3gfp0RqCb1KKfmDA {
  NI len; tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content* p;
};
struct tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw {
	tySequence__Vl1abU3gfp0RqCb1KKfmDA data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__qyyNkmlc4fzOzelC8spUkQ {
  NI len; tySequence__qyyNkmlc4fzOzelC8spUkQ_Content* p;
};
struct tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw {
	tySequence__qyyNkmlc4fzOzelC8spUkQ data;
	NI counter;
	NI first;
	NI last;
};
struct tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ vals;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
  NI len; tySequence__IHUFRsFxZNv7YydiUO2esQ_Content* p;
};
struct tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg {
	tySequence__IHUFRsFxZNv7YydiUO2esQ vals;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__orxtl6CusdjXleqrxi67gw {
  NI len; tySequence__orxtl6CusdjXleqrxi67gw_Content* p;
};
struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ {
	tySequence__orxtl6CusdjXleqrxi67gw aside;
};
struct tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ {
	NimStringV2 definedSymbols;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg moduleFlags;
	tySequence__PXIzfWocnrafGz5p3CP5LA includes;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA imports;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w toReplay;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w topLevel;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w bodies;
	tySequence__b89aLriiJnVTD186H6zNIgg exports;
	tySequence__b89aLriiJnVTD186H6zNIgg hidden;
	tySequence__hIPTk9aFdaMMVAOzEbnPyqg reexports;
	tySequence__b89aLriiJnVTD186H6zNIgg compilerProcs;
	tySequence__48JTohSgTy339bRxHzUD8KA converters;
	tySequence__48JTohSgTy339bRxHzUD8KA methods;
	tySequence__48JTohSgTy339bRxHzUD8KA trmacros;
	tySequence__48JTohSgTy339bRxHzUD8KA pureEnums;
	tySequence__YYy1721YAuPF0ajBYHd8Wg typeInstCache;
	tySequence__UODJbvzmu39c3Ho9cqhSk9agQ procInstCache;
	tySequence__F1qNdU7m0Czu7Y2q0eksXw attachedOps;
	tySequence__r3Kz9breImOXyFFoJ29aBM8Q methodsPerGenericType;
	tySequence__YYy1721YAuPF0ajBYHd8Wg enumToStringProcs;
	tySequence__YYy1721YAuPF0ajBYHd8Wg methodsPerType;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw dispatchers;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ emittedTypeInfo;
	tySet_tyEnum_ModuleBackendFlag__5FvIlwIIbpcHU0ZRU9a5hrQ backendFlags;
	tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw syms;
	tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw types;
	tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA strings;
	tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg numbers;
	tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ man;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ cfg;
};
struct tySequence__K0j67V58u5FW0dCC534FQw {
  NI len; tySequence__K0j67V58u5FW0dCC534FQw_Content* p;
};
struct tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ {
	tySequence__K0j67V58u5FW0dCC534FQw data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__UE4b6iUkm1b3zTPamTTkDw {
  NI len; tySequence__UE4b6iUkm1b3zTPamTTkDw_Content* p;
};
struct tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ {
	tySequence__UE4b6iUkm1b3zTPamTTkDw data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__FmsTQiIcS9arxHxs3QY48vA {
  NI len; tySequence__FmsTQiIcS9arxHxs3QY48vA_Content* p;
};
struct tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg {
	tySequence__FmsTQiIcS9arxHxs3QY48vA data;
	NI counter;
};
struct tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA {
	tyEnum_ModuleStatus__uT4B39a2dNaG9a9aunVdyhQtQ status;
	NIM_BOOL symsInit;
	NIM_BOOL typesInit;
	NIM_BOOL loadedButAliveSetChanged;
	tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ fromDisk;
	tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ syms;
	tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ types;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg iface;
	tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg ifaceHidden;
};
struct tySequence__5reviU45axUMPQgL9aoENrg_Content { NI cap; tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA data[SEQ_DECL_SIZE]; };
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
  NI len; tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content* p;
};
struct tyObject_Table__uaQEKxLZNO5fpFluyxnhTg {
	tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data;
	NI counter;
};
struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ {
	NI32 thisModule;
	NI32 lastFile;
	NU32 lastLit;
	tyObject_Table__uaQEKxLZNO5fpFluyxnhTg filenames;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg pendingTypes;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA pendingSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA typeMarker;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA symMarker;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
struct tySequence__dtr79aXjHrgHuH79ac55I2aw_Content { NI cap; tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ data[SEQ_DECL_SIZE]; };
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ {
  NI len; tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content* p;
};
struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__vb3AGHvMJTxdOSSwMmBmTQ Field2;
};
struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content { NI cap; tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q data[SEQ_DECL_SIZE]; };
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA {
  NI len; tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content* p;
};
struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__apM9bRAO19cVjhWlxqd1PGeA Field2;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content { NI cap; tyTuple__F1mMODXmKFMNQ5rLCtcv0Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig {
	NU32 module;
	NI32 item;
};
struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ {
	NI module;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig packed_0;
};
struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
};
struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field2;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content { NI cap; tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw data[SEQ_DECL_SIZE]; };
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw {
  NI len; tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content* p;
};
struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__9bW2eTK9b7vXE70Sx5VPH1mw Field2;
};
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content { NI cap; tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ data[SEQ_DECL_SIZE]; };
struct tyTuple__bnJwOH0eJlAwCAMbr1inhw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field2;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content { NI cap; tyTuple__bnJwOH0eJlAwCAMbr1inhw data[SEQ_DECL_SIZE]; };
struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content { NI cap; tyTuple__YG7h1OUHzgfgTeH9cl0U0dw data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
	NI Field0;
	NI32 Field1;
	tySequence__48JTohSgTy339bRxHzUD8KA Field2;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE]; };
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
	NI Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; };
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE]; };
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg {
  NI len; tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content* p;
};
struct tySequence__yUWoZehF86MIc40opFgacw {
  NI len; tySequence__yUWoZehF86MIc40opFgacw_Content* p;
};
struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA s;
	NI len;
};
struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ {
	tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg lineInfo;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA sym;
	tySequence__yUWoZehF86MIc40opFgacw caughtExceptions;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw caughtExceptionsSet;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isDecl;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isGenericInstance;
	NI32 fileIndex;
	NIM_BOOL trackCaughtExceptions;
	NIM_BOOL isSorted;
};
struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ {
	NI Field0;
	NI32 Field1;
	tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ Field2;
};
struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content { NI cap; tyTuple__tG5yYi8DnD7bl00aT9cgctQ data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA {
  NI len; tySequence__nSO1ltijM4vhc0UrrXKEqA_Content* p;
};
struct tyTuple__gnRkA1L4XiR4uByriyHW8Q {
	NI Field0;
	NI32 Field1;
	tySequence__nSO1ltijM4vhc0UrrXKEqA Field2;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content { NI cap; tyTuple__gnRkA1L4XiR4uByriyHW8Q data[SEQ_DECL_SIZE]; };
struct tyTuple__CvjVmQeIfivirDme2r5MRw {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field0;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field1;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content { NI cap; tyTuple__CvjVmQeIfivirDme2r5MRw data[SEQ_DECL_SIZE]; };
struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field0;
	NI Field1;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content { NI cap; tyTuple__2QDyOgS51ZMPO0W1pWCY6g data[SEQ_DECL_SIZE]; };
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ {
  NI len; tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content* p;
};
struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__juxPMVNF1FoR2ltzeQu8NQ Field2;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content { NI cap; tyTuple__UbCNQED4XJUgxOgPHJUcAQ data[SEQ_DECL_SIZE]; };
struct tyTuple__zExIg9bDTcVf2FHROUpzoow {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA Field2;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content { NI cap; tyTuple__zExIg9bDTcVf2FHROUpzoow data[SEQ_DECL_SIZE]; };
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content { NI cap; tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA data[SEQ_DECL_SIZE]; };
struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA {
	NI Field0;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content { NI cap; tyTuple__XrHNJHOzS3O7uwF9bvCySiA data[SEQ_DECL_SIZE]; };
struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ {
	NI Field0;
	NI Field1;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field2;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content { NI cap; tyTuple__EdLY4EJQ37VFgbAn5g5rXQ data[SEQ_DECL_SIZE]; };
struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA {
	NI Field0;
	NimStringV2 Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content { NI cap; tyTuple__OtlgAx3kBps9cOSMNDZSzBA data[SEQ_DECL_SIZE]; };
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
	NI Field0;
	NimStringV2 Field1;
	NI64 Field2;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE]; };
struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw {
	tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q* root;
	NI entries;
};
struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ {
	NI Field0;
	NimStringV2 Field1;
	tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw Field2;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content { NI cap; tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ data[SEQ_DECL_SIZE]; };
typedef N_NIMCALL_PTR(tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ*, tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__74nHWc2UIRu3iSR9akqDDBg) (tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* topLevelStmt_p1);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__S9bLWKf8jgjzoiotAmEyFSw) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
struct tyTuple__O3g9a8zTXSX36ljWponcAoA {
	tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ Field0;
	tyProc__74nHWc2UIRu3iSR9akqDDBg Field1;
	tyProc__S9bLWKf8jgjzoiotAmEyFSw Field2;
	NIM_BOOL Field3;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content { NI cap; tyTuple__O3g9a8zTXSX36ljWponcAoA data[SEQ_DECL_SIZE]; };
struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NimStringV2 Field1;
};
struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content { NI cap; tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ data[SEQ_DECL_SIZE]; };
struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA_Content { NI cap; tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ;
struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ flags;
	NimStringV2 customArgs;
};
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content { NI cap; tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg data[SEQ_DECL_SIZE]; };
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
	NU32 Field0;
	NimStringV2 Field1;
};
struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content { NI cap; tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE]; };
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE]; };
struct tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w {
	NU32 x;
	NU32 info;
};
struct tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content { NI cap; tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w data[SEQ_DECL_SIZE]; };
struct tyTuple__48iPM3yLBKU5nyEuYwJvuQ {
	NI32 Field0;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw Field1;
};
struct tySequence__ezS5mGPcRfBURJyMgqYVzA_Content { NI cap; tyTuple__48iPM3yLBKU5nyEuYwJvuQ data[SEQ_DECL_SIZE]; };
struct tyTuple__R3ddFrA0G9buJY57Qhf9cTpg {
	NI32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content { NI cap; tyTuple__R3ddFrA0G9buJY57Qhf9cTpg data[SEQ_DECL_SIZE]; };
struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
	NU32 Field0;
	NI32 Field1;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE]; };
struct tyTuple__7rmdAMLZ8fDd79brQn2ixZA {
	NU32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content { NI cap; tyTuple__7rmdAMLZ8fDd79brQn2ixZA data[SEQ_DECL_SIZE]; };
struct tyTuple__qPXRCRNQuZLLKto7CIIEzw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__YYy1721YAuPF0ajBYHd8Wg_Content { NI cap; tyTuple__qPXRCRNQuZLLKto7CIIEzw data[SEQ_DECL_SIZE]; };
struct tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig key;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw concreteTypes;
};
struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content { NI cap; tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg data[SEQ_DECL_SIZE]; };
struct tyTuple__6kG8KAxm9aXPdLdlxcxqJJw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content { NI cap; tyTuple__6kG8KAxm9aXPdLdlxcxqJJw data[SEQ_DECL_SIZE]; };
struct tyTuple__TRK7rrwoha9bbDAdPWsqJMw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	NI Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content { NI cap; tyTuple__TRK7rrwoha9bbDAdPWsqJMw data[SEQ_DECL_SIZE]; };
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content { NI cap; tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A;
struct tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg {
	tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A kind;
	NIM_BOOL generated;
	NIM_BOOL isOverridden;
	NU32 name;
	NI32 path;
};
struct tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw {
	NI32 id;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
	NU32 name;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typ;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	NU32 info;
	NI32 ast;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig guard;
	NI bitsize;
	NI alignment;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	NU32 externalName;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg locFlags;
	tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg annex;
	NI32 constraint;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig instantiatedFrom;
};
struct tyTuple__V1VWX9bHapuzCjpMfFfys5Q {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw Field3;
};
struct tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content { NI cap; tyTuple__V1VWX9bHapuzCjpMfFfys5Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ {
	NI32 id;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw types;
	NI32 n;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typeInst;
	NI32 nonUniqueId;
};
struct tyTuple__anemVmHCFglLFt6LiEhFvg {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ Field3;
};
struct tySequence__qyyNkmlc4fzOzelC8spUkQ_Content { NI cap; tyTuple__anemVmHCFglLFt6LiEhFvg data[SEQ_DECL_SIZE]; };
struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content { NI cap; NI64 data[SEQ_DECL_SIZE]; };
struct tyTuple__MaWaKZwaGUqCXKsSK12rVg {
	NU32 Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__orxtl6CusdjXleqrxi67gw_Content { NI cap; tyTuple__MaWaKZwaGUqCXKsSK12rVg data[SEQ_DECL_SIZE]; };
struct tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field3;
};
struct tySequence__K0j67V58u5FW0dCC534FQw_Content { NI cap; tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA data[SEQ_DECL_SIZE]; };
struct tyTuple__1xWeGeoNoZxaLhTUDDWYyA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field3;
};
struct tySequence__UE4b6iUkm1b3zTPamTTkDw_Content { NI cap; tyTuple__1xWeGeoNoZxaLhTUDDWYyA data[SEQ_DECL_SIZE]; };
struct tyTuple__MZVSn3SE3XUBJOaMu7ofRQ {
	NI Field0;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field1;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw Field2;
};
struct tySequence__FmsTQiIcS9arxHxs3QY48vA_Content { NI cap; tyTuple__MZVSn3SE3XUBJOaMu7ofRQ data[SEQ_DECL_SIZE]; };
struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
	NI Field0;
	NI32 Field1;
	NU32 Field2;
};
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content { NI cap; tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE]; };
struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
};
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content { NI cap; tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ {
  NI len; tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content* p;
};
struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA {
	NI module;
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ sym;
	tySequence__YxH9cgSorHRI8ZPzHf47NNQ concreteTypes;
	tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst;
};
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content { NI cap; tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA data[SEQ_DECL_SIZE]; };
struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw {
	NI Field0;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field1;
};
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content { NI cap; tyTuple__lGHLhAAUpxgfrnQkIzNrMw data[SEQ_DECL_SIZE]; };
struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA {
	NU16 line;
	NI16 col;
};
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content { NI cap; tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA data[SEQ_DECL_SIZE]; };
struct tySequence__yUWoZehF86MIc40opFgacw_Content { NI cap; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content { NI cap; tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* data[SEQ_DECL_SIZE]; };
struct tyTuple__V6P73hvHy70PBBwharKjig {
	NI Field0;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field1;
};
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content { NI cap; tyTuple__V6P73hvHy70PBBwharKjig data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content { NI cap; tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ data[SEQ_DECL_SIZE]; };
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(NIM_BOOL, isInlineIterator__ast_u7400)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___injectdestructors_u127)(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3125)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3270)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4848)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___injectdestructors_u3470)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3074)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u100)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u66)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u13532)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_u1525)(tySequence__1xFov7v9c2rs44orw6d9bPmw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3469)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, eqdup___ast_u4580)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw*, eqdup___modulegraphs_u14759)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug*, eqdup___ast_u3106)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3258)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, eqdup___lineinfos_u2056)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA src_p0);
N_LIB_PRIVATE N_NIMCALL(void, computeCursors__varpartitions_u2627)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, p__injectdestructors_u159)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2, tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q mode_p3, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg tmpFlags_p4, NIM_BOOL inReturn_p5);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyNode__ast_u6736)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7234)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, shallowCopy__ast_u6876)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyTree__ast_u6891)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_u85)(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* parent_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* Result);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, processScope__injectdestructors_u1058)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ret_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTree__ast_u4170)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p1, NI children_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5168)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTryFinally__lowerings_u110)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* final_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeIT__ast_u4112)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getTemp__injectdestructors_u69)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, NIM_BOOL needsInit_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSym__ast_u4205)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getIdent__idents_u206)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, NimStringV2 identifier_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__renderer_u83)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* x_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_u57)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3225)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genDestroy__injectdestructors_u603)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genOp__injectdestructors_u502)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q kind_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getAttachedOp__modulegraphs_u4987)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p2);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_u7081)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, isGenericParams__ast_u7070)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, hashType__sighashes_u411)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, tySet_tyEnum_ConsiderFlag__iOxKC1NBHc1yjhSaSfU9aPg flags_p2, tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getOrDefault__liftdestructors_u824)(tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw t_p0, tyArray__dnD8kjh6rJ1Yy5jHvid0Ow key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u4583)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1207)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, typeToString__types_u54)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_u465)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p2, NimStringV2 opname_p3, NIM_BOOL inferredFromCopy_p4);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_u59)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg renderFlags_p1);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_u1083)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA a_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___msgs_u695)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
static N_INLINE(NIM_BOOL, isSinkType__ast_u7481)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genOp__injectdestructors_u488)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2);
static N_INLINE(NI, signatureLen__ast_u5610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, firstParamType__ast_u5363)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makePtrType__injectdestructors_u484)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newType__ast_u5900)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p3);
N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_u135)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* id_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, moveOrCopy__injectdestructors_u173)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p2, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p3, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_u2466)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_u2470)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_u456)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichPragma__trees_u218)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genSink__injectdestructors_u649)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__aliasanalysis_u8)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_u447)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConvDfa__aliasanalysis_u5)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_u629)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, deepAliases__injectdestructors_u640)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg, aliases__aliasanalysis_u67)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* obj_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_u433)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2);
static N_INLINE(NIM_BOOL, isTrivial__liftdestructors_u1826)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastReadImpl__injectdestructors_u179)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* scope_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, exprRoot__parampatterns_u294)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL allowCalls_p1);
static N_INLINE(NIM_BOOL, contains__injectdestructors_u198)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** a_p0, NI a_p0Len_0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* item_p1);
static N_INLINE(NI, find__injectdestructors_u203)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** a_p0, NI a_p0Len_0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* item_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___dfa_u1534)(tySequence__1xFov7v9c2rs44orw6d9bPmw* dest_p0, tySequence__1xFov7v9c2rs44orw6d9bPmw src_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__1xFov7v9c2rs44orw6d9bPmw, constructCfg__dfa_u1495)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* root_p2);
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_u37)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
static N_INLINE(NI, pop__injectdestructors_u256)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u8130)(NI* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, shrink__pureZosproc_u404)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI newLen_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_u2846)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astyaml_u242)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u1538)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u230)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u479)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_u366)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
static N_INLINE(NIM_BOOL, isAtom__ast_u7223)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genWasMoved__injectdestructors_u796)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, createMagic__modulegraphs_u10814)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, NimStringV2 name_p2, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genFieldAccessSideEffects__injectdestructors_u2499)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4095)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NI children_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, destructiveMoveVar__injectdestructors_u815)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConv__types_u3715)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_u713)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_u1174)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, callCodegenProc__lowerings_u430)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NimStringV2 name_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg1_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg2_p4, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg3_p5, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* optionalArgs_p6);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genBuiltin__liftdestructors_u100)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic_p2, NimStringV2 name_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* i_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3387)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getSysType__magicsys_u55)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genCopy__injectdestructors_u741)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p2, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2166)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genCopyNoCheck__injectdestructors_u727)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p2, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q a_p3);
N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_u694)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p3, NIM_BOOL isFromSink_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, boolLit__liftdestructors_u333)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NIM_BOOL value_p2);
static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_u687)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_u909)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
static N_INLINE(NIM_BOOL, isSinkParam__ast_u7466)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_u608)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pRaiseStmt__injectdestructors_u1142)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, ownsData__injectdestructors_u2512)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3273)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_u921)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, passCopyToSink__injectdestructors_u849)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTreeIT__ast_u4191)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p3, NI children_p3Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTreeI__ast_u4180)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p2, NI children_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue__parampatterns_u491)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_u841)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getRoot__trees_u373)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3375)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupFieldAgain__types_u4194)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ty_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCustomDestructor__injectdestructors_u1185)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, ensureDestruction__injectdestructors_u938)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p1, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p2, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p3);
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_u3641)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_u4187)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise__ast_u7516)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fn_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lowerTupleUnpacking__lowerings_u56)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipPragmaExpr__ast_u4047)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_u1005)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genDefaultCall__injectdestructors_u810)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_u953)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_u63)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, NIM_BOOL strictSymEquality_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField__astalgo_u3497)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genDiscriminantAsgn__injectdestructors_u772)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, produceDestructorForDiscriminator__liftdestructors_u1728)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getMagicEqSymForType__magicsys_u176)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_u1578)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 errMsg_p2, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___nodekinds_u168)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw e_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, optimize__optimizer_u405)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
static NIM_CONST tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0xb8, 0x03, 0x04, 0x09, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3 = { 5 | NIM_STRLIT_FLAG, ":tmpD" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4 = {5, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6 = { 17 | NIM_STRLIT_FLAG, "internal error: \'" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7 = {17, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8 = { 30 | NIM_STRLIT_FLAG, "\' operator not found for type " };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9 = {30, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8};
static const struct {
  NI cap; NIM_CHAR data[72+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11 = { 72 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/injectdestructors.nim" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12 = {17, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13 = { 21 | NIM_STRLIT_FLAG, "\' operator is generic" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14 = {21, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17 = {1, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18 = { 29 | NIM_STRLIT_FLAG, "\' is not available for type <" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19 = {29, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20 = { 1 | NIM_STRLIT_FLAG, ">" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21 = {1, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22 = { 44 | NIM_STRLIT_FLAG, ", which is inferred from unavailable \'=copy\'" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23 = {44, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24 = { 1 | NIM_STRLIT_FLAG, "=" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25 = {1, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26 = { 5 | NIM_STRLIT_FLAG, "=copy" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27 = {5, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28 = { 4 | NIM_STRLIT_FLAG, "=dup" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29 = {4, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30 = { 53 | NIM_STRLIT_FLAG, "; requires a copy because it\'s not the last read of \'" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31 = {53, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32 = { 29 | NIM_STRLIT_FLAG, "; another read is done here: " };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33 = {29, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34 = { 14 | NIM_STRLIT_FLAG, "; try to make " };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35 = {14, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36 = { 19 | NIM_STRLIT_FLAG, " a \'sink\' parameter" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37 = {19, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38 = { 11 | NIM_STRLIT_FLAG, "; routine: " };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39 = {11, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41 = { 9 | NIM_STRLIT_FLAG, "=wasMoved" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42 = {9, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43 = { 8 | NIM_STRLIT_FLAG, "wasMoved" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44 = {8, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45 = { 10 | NIM_STRLIT_FLAG, "bracketTmp" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46 = {10, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47 = { 7 | NIM_STRLIT_FLAG, "blitTmp" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48 = {7, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50 = { 13 | NIM_STRLIT_FLAG, "nimMarkCyclic" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51 = {13, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52 = { 9 | NIM_STRLIT_FLAG, "accessEnv" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53 = {9, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52};
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54 = {13, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55 = { 13 | NIM_STRLIT_FLAG, "cannot move \'" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56 = {13, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57 = { 36 | NIM_STRLIT_FLAG, "\', which introduces an implicit copy" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58 = {36, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_60 = { 5 | NIM_STRLIT_FLAG, "=sink" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_61 = {5, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_60};
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_62 = {5, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_63 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x30, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_65 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[73+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_66 = { 73 | NIM_STRLIT_FLAG, "cannot create an implicit openArray copy to be passed to a sink parameter" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_67 = {73, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_66};
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_69 = {4, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28};
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_70 = {4, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28};
static const struct {
  NI cap; NIM_CHAR data[126+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_71 = { 126 | NIM_STRLIT_FLAG, "passing \'$1\' to a sink parameter introduces an implicit copy; if possible, rearrange your program\'s control flow to prevent it" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_72 = {126, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_71};
static const struct {
  NI cap; NIM_CHAR data[78+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_74 = { 78 | NIM_STRLIT_FLAG, "cannot move \'$1\', passing \'$1\' to a sink parameter introduces an implicit copy" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_75 = {78, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_74};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_77 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_78 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_79 = { 7 | NIM_STRLIT_FLAG, "default" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_80 = {7, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_79};
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_81 = { 67 | NIM_STRLIT_FLAG, "\'$#\' creates an uncollectable ref cycle; annotate \'$#\' with .cursor" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_82 = {67, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_81};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_83 = { 39 | NIM_STRLIT_FLAG, "\'$#\' creates an uncollectable ref cycle" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_84 = {39, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_83};
static const struct {
  NI cap; NIM_CHAR data[249+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_86 = { 249 | NIM_STRLIT_FLAG, "Assignment to discriminant for objects with user defined destructor is not supported, object must have default destructor.\012It is best to factor out piece of object that needs custom destructor into separate object or not use discriminator assignment" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_87 = {249, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_86};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_89 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_90 = {3, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_89};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_91 = { 44 | NIM_STRLIT_FLAG, "nkWhileStmt should have been handled earlier" };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_92 = {44, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_91};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_94 = { 40 | NIM_STRLIT_FLAG, "cannot inject destructors to node kind: " };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_95 = {40, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_94};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__dJ4qrEWDmqGA8FWJ0TYKJQ_97 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_98 = { 13 | NIM_STRLIT_FLAG, "--expandArc: " };
static const NimStringV2 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_99 = {13, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_98};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__dJ4qrEWDmqGA8FWJ0TYKJQ_101 = { 44 | NIM_STRLIT_FLAG, "-- end of expandArc ------------------------" };
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u383;
extern NIM_CONST tyArray__dwfJdPZJYBY1vfSlirNUOQ AttachedOpToStr__ast_u5487;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)250),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)253),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)225),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_59 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)358),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_68 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)469),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_73 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)500),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_76 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)504),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_85 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)570),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_88 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)389),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_93 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)1021),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_96 = {{72, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11},
((NI)1109),
((NI)19)}
;
static NIM_CONST tyArray__YgExxhfgKcesA5EOUj1MOA TM__dJ4qrEWDmqGA8FWJ0TYKJQ_100 = {{44, (NimStrPayload*)&TM__dJ4qrEWDmqGA8FWJ0TYKJQ_101}}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(NIM_BOOL, isInlineIterator__ast_u7400)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
	if (!(T2_)) goto LA3_;
	T2_ = (((*typ_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15)))&63U)))!=0);
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = !(((*typ_p0).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9)));
LA4_: ;
	result = T1_;
	return result;
}
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3125(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___injectdestructors_u127)(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).body);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*(*dest_p0).body)));
		nimRawDispose((*dest_p0).body, ((NI)8));
	}
LA4_: ;
	eqdestroy___ast_u4848((*dest_p0).locals);
	eqdestroy___ast_u3696((*dest_p0).final);
	eqdestroy___ast_u3696((*dest_p0).wasMoved);
	eqdestroy___ast_u4848((*dest_p0).vars);
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((NI32)((*cell_1).rc) >> (NU32)(((NI)4) & (32 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___injectdestructors_u3470)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).body);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*(*dest_p0).body)));
		nimRawDispose((*dest_p0).body, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLast((*dest_p0).idgen);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3074((&(*(*dest_p0).idgen)));
		nimRawDispose((*dest_p0).idgen, ((NI)4));
	}
LA9_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).uninit.data);
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).uninit.head);
		if (!T13_) goto LA14_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).uninit.head)));
		nimRawDispose((*dest_p0).uninit.head, ((NI)4));
	}
LA14_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).graph);
		if (!T18_) goto LA19_;
		eqdestroy___modulegraphs_u13532((&(*(*dest_p0).graph)));
		nimRawDispose((*dest_p0).graph, ((NI)8));
	}
LA19_: ;
	eqdestroy___dfa_u1525((*dest_p0).g);
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = nimDecRefIsLastDyn((*dest_p0).owner);
		if (!T23_) goto LA24_;
		eqdestroy___ast_u3469((&(*(*dest_p0).owner)));
		nimRawDispose((*dest_p0).owner, ((NI)8));
	}
LA24_: ;
}
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7234)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (t_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (T1_) goto LA2_;
	T1_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7));
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_u85)(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* parent_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* Result) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
	(*Result).vars.len = 0; (*Result).vars.p = (tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content*) newSeqPayload(0, sizeof(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*), NIM_ALIGNOF(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*));
	(*Result).locals.len = 0; (*Result).locals.p = (tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content*) newSeqPayload(0, sizeof(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*), NIM_ALIGNOF(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*));
	(*Result).wasMoved.len = 0; (*Result).wasMoved.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	(*Result).final.len = 0; (*Result).final.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	colontmpD_ = eqdup___ast_u3258(body_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).body = colontmpD_;
	(*Result).needsTry = NIM_FALSE;
	(*Result).parent = parent_p0;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, processScope__injectdestructors_u1058)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ret_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*ret_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSection_1;
		T3_ = (*s_p1).vars.len;
		if (!(((NI)0) < T3_)) goto LA4_;
		varSection_1 = NIM_NIL;
		varSection_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*ret_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmp_1;
			NI i_1;
			NI L_1;
			NI T7_;
			tmp_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
			i_1 = ((NI)0);
			T7_ = (*s_p1).vars.len;
			L_1 = T7_;
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
					tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T10_;
					if (!(i_1 < L_1)) goto LA9;
					colontmpD_ = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					colontmpD__3 = NIM_NIL;
					colontmpD__4 = NIM_NIL;
					tmp_1 = &(*s_p1).vars.p->data[i_1];
					nimZeroMem((void*)T10_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
					colontmpD_ = newSymNode__ast_u5168((*tmp_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T10_[0] = colontmpD_;
					colontmpD__2 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*ret_p2).info);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T10_[1] = colontmpD__2;
					colontmpD__3 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*ret_p2).info);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T10_[2] = colontmpD__3;
					colontmpD__4 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T10_, 3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					add__ast_u3215(varSection_1, colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_1 += ((NI)1);
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA9: ;
			}
		}
		add__ast_u3215(result, varSection_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(varSection_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	{
		NIM_BOOL T13_;
		NI T14_;
		NI T16_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSection_1;
		T13_ = (NIM_BOOL)0;
		T14_ = (*s_p1).wasMoved.len;
		T13_ = (((NI)0) < T14_);
		if (T13_) goto LA15_;
		T16_ = (*s_p1).final.len;
		T13_ = (((NI)0) < T16_);
LA15_: ;
		if (!T13_) goto LA17_;
		finSection_1 = NIM_NIL;
		finSection_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*ret_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** m_1;
			NI i_2;
			NI L_2;
			NI T20_;
			m_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			i_2 = ((NI)0);
			T20_ = (*s_p1).wasMoved.len;
			L_2 = T20_;
			{
				while (1) {
					if (!(i_2 < L_2)) goto LA22;
					m_1 = &(*s_p1).wasMoved.p->data[i_2];
					add__ast_u3215(finSection_1, (*m_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA22: ;
			}
		}
		{
			NI i_3;
			NI colontmp_;
			NI T24_;
			NI res_1;
			i_3 = (NI)0;
			colontmp_ = (NI)0;
			T24_ = ((*s_p1).final.len-1);
			colontmp_ = T24_;
			res_1 = colontmp_;
			{
				while (1) {
					if (!(((NI)0) <= res_1)) goto LA26;
					i_3 = ((NI) (res_1));
					add__ast_u3215(finSection_1, (*s_p1).final.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					res_1 -= ((NI)1);
				} LA26: ;
			}
		}
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
			if (!(*s_p1).needsTry) goto LA29_;
			colontmpD__5 = NIM_NIL;
			colontmpD__5 = newTryFinally__lowerings_u110(ret_p2, finSection_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(result, colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA27_;
LA29_: ;
		{
			add__ast_u3215(result, ret_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(result, finSection_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA27_: ;
		eqdestroy___ast_u3252(finSection_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA11_;
LA17_: ;
	{
		add__ast_u3215(result, ret_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA11_: ;
	{
		NIM_BOOL T37_;
		if (!!(((*s_p1).parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA35_;
		T37_ = (NIM_BOOL)0;
		T37_ = (*(*s_p1).parent).needsTry;
		if (T37_) goto LA38_;
		T37_ = (*s_p1).needsTry;
LA38_: ;
		(*(*s_p1).parent).needsTry = T37_;
	}
LA35_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getTemp__injectdestructors_u69)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, NIM_BOOL needsInit_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	sym_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getIdent__idents_u206((*(*c_p0).graph).cache, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = 0;
	sym_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5), colontmpD_, (*c_p0).idgen, (*c_p0).owner, info_p3, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&(*sym_1).typ, typ_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(needsInit_p4)) goto LA4_;
		(*sym_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14))) & 63);
	}
LA4_: ;
	colontmpD__2 = eqdup___ast_u4580(sym_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__renderer_u83((&(*s_p1).vars), colontmpD__2);
	result = newSymNode__ast_u5168(sym_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___idents_u155(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(sym_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_u57)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	NIM_BOOL result;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T1_;
	T1_ = 0;
	result = !(((IL64(2147483664) & (*t_p1).flags) == T1_));
	return result;
}
static N_INLINE(NIM_BOOL, isGenericParams__ast_u7070)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = !((n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
	if (!(T1_)) goto LA2_;
	T1_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75));
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_u7081)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = !((n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
	if (!(T2_)) goto LA3_;
	T2_ = ((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52) || (*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = isGenericParams__ast_u7070((*n_p0)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
static N_INLINE(NIM_BOOL, isSinkType__ast_u7481)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46));
	if (T1_) goto LA2_;
	T1_ = (((*t_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4)))&63U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_u465)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p2, NimStringV2 opname_p3, NIM_BOOL inferredFromCopy_p4) {
	NimStringV2 m_1;
	NimStringV2 colontmpD_;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	m_1.len = 0; m_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	colontmpD_ = typeToString__types_u54(t_p1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = rawNewString(opname_p3.len + colontmpD_.len + 31);
appendString((&T2_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17);
appendString((&T2_), opname_p3);
appendString((&T2_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19);
appendString((&T2_), colontmpD_);
appendString((&T2_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21);
	m_1 = T2_;
	{
		if (!inferredFromCopy_p4) goto LA5_;
		prepareAdd((&m_1), 44);
appendString((&m_1), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23);
	}
LA5_: ;
	{
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		NimStringV2 colontmpD__2;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T18_;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T11_ = eqStrings(opname_p3, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25);
		if (T11_) goto LA12_;
		T11_ = eqStrings(opname_p3, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27);
LA12_: ;
		T10_ = T11_;
		if (T10_) goto LA13_;
		T10_ = eqStrings(opname_p3, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29);
LA13_: ;
		T9_ = T10_;
		if (!(T9_)) goto LA14_;
		T9_ = !((ri_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA14_: ;
		if (!T9_) goto LA15_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		prepareAdd((&m_1), 53);
appendString((&m_1), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31);
		T18_ = 0;
		colontmpD__2 = renderTree__renderer_u59(ri_p2, T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		prepareAdd((&m_1), colontmpD__2.len + 0);
appendString((&m_1), colontmpD__2);
		nimAddCharV1((&m_1), 39);
		{
			NIM_BOOL T21_;
			NimStringV2 colontmpD__3;
			T21_ = (NIM_BOOL)0;
			T21_ = eqeq___msgs_u1083((*c_p0).otherUsage, unknownLineInfo__lineinfos_u383);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			if (!!(T21_)) goto LA22_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			prepareAdd((&m_1), 29);
appendString((&m_1), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33);
			colontmpD__3 = dollar___msgs_u695((*(*c_p0).graph).config, (*c_p0).otherUsage);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			prepareAdd((&m_1), colontmpD__3.len + 0);
appendString((&m_1), colontmpD__3);
			{
				LA24_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		}
		goto LA19_;
LA22_: ;
		{
			NIM_BOOL T28_;
			NIM_BOOL T29_;
			NIM_BOOL T32_;
			NimStringV2 colontmpD__4;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T36_;
			T28_ = (NIM_BOOL)0;
			T29_ = (NIM_BOOL)0;
			T29_ = ((*ri_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T29_)) goto LA30_;
			T29_ = ((*(*ri_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA30_: ;
			T28_ = T29_;
			if (!(T28_)) goto LA31_;
			T32_ = (NIM_BOOL)0;
			T32_ = isSinkType__ast_u7481((*(*ri_p2)._kind_4.sym).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			T28_ = !(T32_);
LA31_: ;
			if (!T28_) goto LA33_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			prepareAdd((&m_1), 14);
appendString((&m_1), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35);
			T36_ = 0;
			colontmpD__4 = renderTree__renderer_u59(ri_p2, T36_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			prepareAdd((&m_1), colontmpD__4.len + 0);
appendString((&m_1), colontmpD__4);
			prepareAdd((&m_1), 19);
appendString((&m_1), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37);
			{
				LA35_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		}
		goto LA19_;
LA33_: ;
LA19_: ;
		{
			LA17_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA15_: ;
	prepareAdd((&m_1), 11);
appendString((&m_1), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39);
	prepareAdd((&m_1), (*(*(*c_p0).owner).name).s.len + 0);
appendString((&m_1), (*(*(*c_p0).owner).name).s);
	liMessage__msgs_u1207((*(*c_p0).graph).config, (*ri_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), m_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(m_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, signatureLen__ast_u5610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, firstParamType__ast_u5363)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makePtrType__injectdestructors_u484)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21), (*c_p0).idgen, (*c_p0).owner, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	addSonSkipIntLit__magicsys_u135(result, baseType_p1, (*c_p0).idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genOp__injectdestructors_u488)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* addrExp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	addrExp_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI T6_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*op_p1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		T6_ = (NI)0;
		T6_ = signatureLen__ast_u5610((*op_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T4_ = (((NI)1) < T6_);
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA7_;
		colontmpD_ = firstParamType__ast_u5363((*op_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23)));
LA7_: ;
		if (!T3_) goto LA8_;
		eqcopy___ast_u3255(&addrExp_1, dest_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA8_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = makePtrType__injectdestructors_u484(c_p0, (*dest_p2).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		addrExp_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64), (*dest_p2).info, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(addrExp_1, dest_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	nimZeroMem((void*)T11_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	colontmpD__2 = newSymNode__ast_u5168(op_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T11_[0] = colontmpD__2;
	T11_[1] = addrExp_1;
	result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), T11_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(addrExp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genOp__injectdestructors_u502)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q kind_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_1;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	op_1 = NIM_NIL;
	op_1 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_p1, kind_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* canon_1;
		tyArray__dnD8kjh6rJ1Yy5jHvid0Ow h_1;
		T4_ = (NIM_BOOL)0;
		T4_ = (op_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
		if (T4_) goto LA5_;
		T4_ = isGenericRoutine__ast_u7081((*op_1).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
		if (!T4_) goto LA6_;
		canon_1 = NIM_NIL;
		nimZeroMem((void*)h_1, sizeof(tyArray__dnD8kjh6rJ1Yy5jHvid0Ow));
		hashType__sighashes_u411(t_p1, (*(*c_p0).graph).config, 98, h_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		canon_1 = getOrDefault__liftdestructors_u824((*(*c_p0).graph).canonTypes, h_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T13_;
			if (!!((canon_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = getAttachedOp__modulegraphs_u4987((*c_p0).graph, canon_1, kind_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T13_); goto LA8_;}
			eqsink___ast_u4583(&op_1, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA11_: ;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(canon_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T21_;
		if (!(op_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA18_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T21_.len = 0; T21_.p = NIM_NIL;
		colontmpD_ = typeToString__types_u54(t_p1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		T21_ = rawNewString(AttachedOpToStr__ast_u5487[(kind_p2)- 0].len + colontmpD_.len + 47);
appendString((&T21_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7);
appendString((&T21_), AttachedOpToStr__ast_u5487[(kind_p2)- 0]);
appendString((&T21_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9);
appendString((&T21_), colontmpD_);
		colontmpD__2 = T21_;
		liMessage__msgs_u1207((*(*c_p0).graph).config, (*dest_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		{
			LA20_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA16_;
LA18_: ;
	{
		NIM_BOOL T25_;
		NimStringV2 colontmpD__3;
		NimStringV2 T29_;
		T25_ = (NIM_BOOL)0;
		T25_ = isGenericRoutine__ast_u7081((*op_1).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T25_) goto LA26_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T29_.len = 0; T29_.p = NIM_NIL;
		T29_ = rawNewString(AttachedOpToStr__ast_u5487[(kind_p2)- 0].len + 38);
appendString((&T29_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12);
appendString((&T29_), AttachedOpToStr__ast_u5487[(kind_p2)- 0]);
appendString((&T29_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14);
		colontmpD__3 = T29_;
		liMessage__msgs_u1207((*(*c_p0).graph).config, (*dest_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			LA28_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA16_;
LA26_: ;
LA16_: ;
	{
		if (!(((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0)) goto LA34_;
		{
			if (!!((ri_p4 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA38_;
			checkForErrorPragma__injectdestructors_u465((&(*c_p0)), t_p1, ri_p4, AttachedOpToStr__ast_u5487[(kind_p2)- 0], NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA36_;
LA38_: ;
		{
			checkForErrorPragma__injectdestructors_u465((&(*c_p0)), t_p1, dest_p3, AttachedOpToStr__ast_u5487[(kind_p2)- 0], NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA36_: ;
	}
LA34_: ;
	result = genOp__injectdestructors_u488(c_p0, op_1, dest_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genDestroy__injectdestructors_u603)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	t_1 = skipTypes__ast_u5379((*dest_p1).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = genOp__injectdestructors_u502(c_p0, t_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1), dest_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_u2470)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*a_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*a_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
	if (!(T2_)) goto LA3_;
	T2_ = ((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = ((*a_p0)._kind_1.intVal == (*b_p1)._kind_1.intVal);
LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_u2466)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	NIM_BOOL result;
	NIM_BOOL colontmpD_;
	NIM_BOOL colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = (NIM_BOOL)0;
	colontmpD__2 = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL colontmpD__3;
		NIM_BOOL colontmpD__4;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*a_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*a_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45) || (*a_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46) || (*a_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
		if (!(T3_)) goto LA4_;
		T3_ = ((*b_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*b_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45) || (*b_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46) || (*b_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
LA4_: ;
		if (!T3_) goto LA5_;
		colontmpD__3 = (NIM_BOOL)0;
		colontmpD__4 = (NIM_BOOL)0;
		{
			NIM_BOOL colontmpD__5;
			NIM_BOOL colontmpD__6;
			NIM_BOOL colontmpD__7;
			NIM_BOOL colontmpD__8;
			if (!((*a_p0).kind == (*b_p1).kind)) goto LA9_;
			colontmpD__5 = (NIM_BOOL)0;
			colontmpD__6 = (NIM_BOOL)0;
			colontmpD__7 = (NIM_BOOL)0;
			colontmpD__8 = (NIM_BOOL)0;
			switch ((*a_p0).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
			{
				colontmpD__5 = ((*a_p0)._kind_4.sym == (*b_p1)._kind_4.sym);
				colontmpD__3 = colontmpD__5;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
			{
				NIM_BOOL T13_;
				T13_ = (NIM_BOOL)0;
				T13_ = sameLocation__injectdestructors_u2466((*a_p0)._kind_6.sons.p->data[((NI)0)], (*b_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T13_)) goto LA14_;
				T13_ = sameLocation__injectdestructors_u2466((*a_p0)._kind_6.sons.p->data[((NI)1)], (*b_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA14_: ;
				colontmpD__6 = T13_;
				colontmpD__3 = colontmpD__6;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = sameLocation__injectdestructors_u2466((*a_p0)._kind_6.sons.p->data[((NI)0)], (*b_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T16_)) goto LA17_;
				T16_ = sameConstant__injectdestructors_u2470((*a_p0)._kind_6.sons.p->data[((NI)1)], (*b_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA17_: ;
				colontmpD__7 = T16_;
				colontmpD__3 = colontmpD__7;
			}
			break;
			default:
			{
				colontmpD__8 = NIM_FALSE;
				colontmpD__3 = colontmpD__8;
			}
			break;
			}
			colontmpD_ = colontmpD__3;
		}
		goto LA7_;
LA9_: ;
		{
			colontmpD__4 = NIM_FALSE;
			colontmpD_ = colontmpD__4;
		}
LA7_: ;
		result = colontmpD_;
	}
	goto LA1_;
LA5_: ;
	{
		NIM_BOOL colontmpD__9;
		NIM_BOOL colontmpD__10;
		NIM_BOOL colontmpD__11;
		NIM_BOOL colontmpD__12;
		NIM_BOOL colontmpD__13;
		colontmpD__9 = (NIM_BOOL)0;
		colontmpD__10 = (NIM_BOOL)0;
		colontmpD__11 = (NIM_BOOL)0;
		colontmpD__12 = (NIM_BOOL)0;
		colontmpD__13 = (NIM_BOOL)0;
		switch ((*a_p0).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
		{
			colontmpD__9 = sameLocation__injectdestructors_u2466(b_p1, a_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__2 = colontmpD__9;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
		{
			colontmpD__10 = sameLocation__injectdestructors_u2466((*a_p0)._kind_6.sons.p->data[((NI)0)], b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__2 = colontmpD__10;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
		{
			colontmpD__11 = sameLocation__injectdestructors_u2466((*a_p0)._kind_6.sons.p->data[((NI)0)], b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__2 = colontmpD__11;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
		{
			colontmpD__12 = sameLocation__injectdestructors_u2466((*a_p0)._kind_6.sons.p->data[((NI)1)], b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__2 = colontmpD__12;
		}
		break;
		default:
		{
			colontmpD__13 = NIM_FALSE;
			colontmpD__2 = colontmpD__13;
		}
		break;
		}
		result = colontmpD__2;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_u456)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = (((*(*n_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41)))&63U)))!=0);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		result = isCursor__injectdestructors_u456((*n_p0)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	{
		result = isCursor__injectdestructors_u456((*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_u447)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	m_1 = NIM_NIL;
	m_1 = skipConvDfa__aliasanalysis_u5(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((*m_1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)22)))&31U)))!=0);
	eqdestroy___ast_u3252(m_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_u629)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*dest_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T1_)) goto LA2_;
	T1_ = (((*(*dest_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14)))&63U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, deepAliases__injectdestructors_u640)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*ri_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_1;
			r_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(ri_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA6;
						i_1 = i_2;
						eqcopy___ast_u3255(&r_1, (*ri_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						{
							NIM_BOOL T9_;
							T9_ = (NIM_BOOL)0;
							T9_ = deepAliases__injectdestructors_u640(dest_p0, r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							if (!T9_) goto LA10_;
							result = NIM_TRUE;
							eqdestroy___ast_u3252(r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA10_: ;
						i_2 += ((NI)1);
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	default:
	{
		tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg T15_;
		T15_ = (tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)0;
		T15_ = aliases__aliasanalysis_u67(dest_p0, ri_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = !((T15_ == ((tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)1)));
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genSink__injectdestructors_u649)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		NIM_BOOL T17_;
		tyArray__al2p7ldDMvbBVYNFCuu4Rw T23_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*c_p0).inLoopCond == ((NI)0));
		if (!(T5_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T11_ = ((*dest_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T11_)) goto LA12_;
		T11_ = ((*(*dest_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5));
LA12_: ;
		T10_ = T11_;
		if (!(T10_)) goto LA13_;
		T10_ = ((*(*(*dest_p2)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
LA13_: ;
		T9_ = T10_;
		if (!(T9_)) goto LA14_;
		T9_ = !((((*(*dest_p2)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41)))&63U)))!=0));
LA14_: ;
		T8_ = T9_;
		if (T8_) goto LA15_;
		T8_ = ((flags_p4 &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA)0)))&7U)))!=0);
LA15_: ;
		T7_ = T8_;
		if (T7_) goto LA16_;
		T17_ = (NIM_BOOL)0;
		T17_ = isAnalysableFieldAccess__aliasanalysis_u8(dest_p2, (*c_p0).owner);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T17_)) goto LA18_;
		T17_ = isFirstWrite__injectdestructors_u447(dest_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
		T7_ = T17_;
LA16_: ;
		T5_ = T7_;
LA6_: ;
		T4_ = T5_;
		if (T4_) goto LA19_;
		T4_ = isNoInit__injectdestructors_u629(dest_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA19_: ;
		T3_ = T4_;
		if (T3_) goto LA20_;
		T3_ = ((flags_p4 &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA)2)))&7U)))!=0);
LA20_: ;
		if (!T3_) goto LA21_;
		nimZeroMem((void*)T23_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
		T23_[0] = dest_p2;
		T23_[1] = ri_p3;
		result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T23_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA21_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		t_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		t_1 = skipTypes__ast_u5379((*dest_p2).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		{
			colontmpD_ = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)4));
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			if (!!((colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA28_;
			result = genOp__injectdestructors_u502(c_p0, t_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)4), dest_p2, ri_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			add__ast_u3215(result, ri_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		}
		goto LA26_;
LA28_: ;
		{
			{
				NIM_BOOL T33_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmp_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T37_;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T38_;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T39_;
				T33_ = (NIM_BOOL)0;
				T33_ = deepAliases__injectdestructors_u640(dest_p2, ri_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				if (!T33_) goto LA34_;
				tmp_1 = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				colontmpD__4 = NIM_NIL;
				tmp_1 = getTemp__injectdestructors_u69(c_p0, s_p1, (*dest_p2).typField, (*dest_p2).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				nimZeroMem((void*)T37_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
				nimZeroMem((void*)T38_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T38_[0] = tmp_1;
				T38_[1] = dest_p2;
				colontmpD__2 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T38_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				T37_[0] = colontmpD__2;
				nimZeroMem((void*)T39_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T39_[0] = dest_p2;
				T39_[1] = ri_p3;
				colontmpD__3 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T39_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				T37_[1] = colontmpD__3;
				colontmpD__4 = genDestroy__injectdestructors_u603(c_p0, tmp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				T37_[2] = colontmpD__4;
				result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T37_, 3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				{
					LA36_:;
				}
				{
					oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					eqdestroy___ast_u3252(tmp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					*nimErr_ = oldNimErrFin36_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			}
			goto LA31_;
LA34_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T44_;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T45_;
				colontmpD__5 = NIM_NIL;
				colontmpD__6 = NIM_NIL;
				nimZeroMem((void*)T44_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				colontmpD__5 = genDestroy__injectdestructors_u603(c_p0, dest_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				T44_[0] = colontmpD__5;
				nimZeroMem((void*)T45_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T45_[0] = dest_p2;
				T45_[1] = ri_p3;
				colontmpD__6 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T45_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				T44_[1] = colontmpD__6;
				result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T44_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				{
					LA43_:;
				}
				{
					oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					eqdestroy___ast_u3252(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					*nimErr_ = oldNimErrFin43_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			}
LA31_: ;
		}
LA26_: ;
		{
			LA25_:;
		}
		{
			oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin25_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isTrivial__liftdestructors_u1826)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	NI T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = !(((*s_p0).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
	if (!(T3_)) goto LA4_;
	T5_ = (NI)0;
	T5_ = len__ast_u3190((*(*s_p0).ast)._kind_6.sons.p->data[((NI)6)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = (T5_ == ((NI)0));
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, find__injectdestructors_u203)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** a_p0, NI a_p0Len_0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* item_p1) {
	NI result;
{	result = ((NI)0);
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** i_1;
		NI i_2;
		i_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < a_p0Len_0)) goto LA3;
				i_1 = &a_p0[i_2];
				{
					if (!((*i_1) == item_p1)) goto LA6_;
					goto BeforeRet_;
				}
LA6_: ;
				result += ((NI)1);
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	result = ((NI)-1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__injectdestructors_u198)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** a_p0, NI a_p0Len_0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* item_p1) {
	NIM_BOOL result;
	NI T1_;
{	T1_ = (NI)0;
	T1_ = find__injectdestructors_u203(a_p0, a_p0Len_0, item_p1);
	result = (((NI)0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initPackedSet__pureZcollectionsZintsets_u37(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, pop__injectdestructors_u256)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s_p0) {
	NI result;
	NI L_1;
	NI T1_;
	T1_ = (*s_p0).len;
	L_1 = (NI)(T1_ - ((NI)1));
	result = (*s_p0).p->data[L_1];
	eqwasMoved___system_u8130((&(*s_p0).p->data[L_1]));
	shrink__pureZosproc_u404(s_p0, (L_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastReadImpl__injectdestructors_u179)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* scope_p2) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* root_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
	tySequence__1xFov7v9c2rs44orw6d9bPmw T22_;
	NI j_1;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	root_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	root_1 = exprRoot__parampatterns_u294(n_p0, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(root_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA4_;
		result = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		if (!(((*root_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)46)))&63U)))!=0)) goto LA7_;
		result = NIM_TRUE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA7_: ;
LA2_: ;
	s_1 = scope_p2;
	{
		while (1) {
			if (!!((s_1 == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA10;
			{
				NIM_BOOL T13_;
				T13_ = (NIM_BOOL)0;
				T13_ = contains__injectdestructors_u198((((*s_1).locals).p) ? ((*s_1).locals.p->data) : NIM_NIL, (*s_1).locals.len, root_1);
				if (!T13_) goto LA14_;
				goto LA9;
			}
LA14_: ;
			s_1 = (*s_1).parent;
		} LA10: ;
	} LA9: ;
	T16_ = NIM_NIL;
	{
		if (!!((s_1 == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA19_;
		eqcopy___ast_u3255(&colontmpD_, (*s_1).body);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T16_ = colontmpD_;
	}
	goto LA17_;
LA19_: ;
	{
		eqcopy___ast_u3255(&colontmpD__2, (*c_p1).body);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T16_ = colontmpD__2;
	}
LA17_: ;
	T22_.len = 0; T22_.p = NIM_NIL;
	T22_ = constructCfg__dfa_u1495((*c_p1).owner, T16_, root_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___dfa_u1525(T22_); goto LA1_;}
	eqsink___dfa_u1534((&(*c_p1).g), T22_);
	j_1 = ((NI)0);
	{
		while (1) {
			NI T25_;
			T25_ = (*c_p1).g.len;
			if (!(j_1 < T25_)) goto LA24;
			{
				NIM_BOOL T28_;
				T28_ = (NIM_BOOL)0;
				T28_ = ((*c_p1).g.p->data[j_1].kind == ((tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg)4));
				if (!(T28_)) goto LA29_;
				T28_ = ((*c_p1).g.p->data[j_1]._kind_2.n == n_p0);
LA29_: ;
				if (!T28_) goto LA30_;
				goto LA23;
			}
LA30_: ;
			j_1 += ((NI)1);
		} LA24: ;
	} LA23: ;
	(*c_p1).otherUsage = unknownLineInfo__lineinfos_u383;
	{
		NI T34_;
		tySequence__qwqHTkRvwhrRyENtudHQ7g pcs_1;
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA marked_1;
		T34_ = (*c_p1).g.len;
		if (!(j_1 < T34_)) goto LA35_;
		pcs_1.len = 0; pcs_1.p = NIM_NIL;
		nimZeroMem((void*)(&marked_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
		pcs_1.len = 1; pcs_1.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(1, sizeof(NI), NIM_ALIGNOF(NI));
		pcs_1.p->data[0] = (NI)(j_1 + ((NI)1));
		initIntSet__pureZcollectionsZintsets_u598((&marked_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		result = NIM_TRUE;
		{
			while (1) {
				NI T40_;
				NI pc_1;
				T40_ = pcs_1.len;
				if (!(((NI)0) < T40_)) goto LA39;
				pc_1 = pop__injectdestructors_u256((&pcs_1));
				{
					NIM_BOOL T43_;
					NI oldPc_1;
					T43_ = (NIM_BOOL)0;
					T43_ = contains__astalgo_u2846((&marked_1), pc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					if (!!(T43_)) goto LA44_;
					oldPc_1 = pc_1;
					{
						while (1) {
							NI T48_;
							T48_ = (*c_p1).g.len;
							if (!(pc_1 < T48_)) goto LA47;
							switch ((*c_p1).g.p->data[pc_1].kind) {
							case ((tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg)1):
							{
								NI back_1;
								back_1 = (NI)(pc_1 + (*c_p1).g.p->data[pc_1].dest);
								{
									NIM_BOOL T52_;
									T52_ = (NIM_BOOL)0;
									T52_ = containsOrIncl__astyaml_u242((&marked_1), back_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									if (!!(T52_)) goto LA53_;
									pc_1 = back_1;
								}
								goto LA50_;
LA53_: ;
								{
									goto LA46;
								}
LA50_: ;
							}
							break;
							case ((tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg)0):
							{
								pc_1 = (NI)(pc_1 + (*c_p1).g.p->data[pc_1].dest);
							}
							break;
							case ((tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg)2):
							{
								{
									NIM_BOOL T60_;
									T60_ = (NIM_BOOL)0;
									T60_ = contains__astalgo_u2846((&marked_1), (NI)(pc_1 + ((NI)1)));
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									if (!!(T60_)) goto LA61_;
									add__varpartitions_u1538((&pcs_1), (NI)(pc_1 + ((NI)1)));
								}
LA61_: ;
								pc_1 = (NI)(pc_1 + (*c_p1).g.p->data[pc_1].dest);
							}
							break;
							case ((tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg)4):
							{
								{
									NIM_BOOL T66_;
									tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg T67_;
									tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg T69_;
									T66_ = (NIM_BOOL)0;
									T67_ = (tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)0;
									T67_ = aliases__aliasanalysis_u67((*c_p1).g.p->data[pc_1]._kind_2.n, n_p0);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									T66_ = !((T67_ == ((tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)1)));
									if (T66_) goto LA68_;
									T69_ = (tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)0;
									T69_ = aliases__aliasanalysis_u67(n_p0, (*c_p1).g.p->data[pc_1]._kind_2.n);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									T66_ = !((T69_ == ((tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)1)));
LA68_: ;
									if (!T66_) goto LA70_;
									(*c_p1).otherUsage = (*(*c_p1).g.p->data[pc_1]._kind_2.n).info;
									result = NIM_FALSE;
									eqdestroy___pureZcollectionsZintsets_u230((&marked_1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									eqdestroy___pureZosproc_u479(pcs_1);
									eqdestroy___ast_u3252(colontmpD__2);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u3252(colontmpD_);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u4574(root_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									goto BeforeRet_;
								}
LA70_: ;
								pc_1 += ((NI)1);
							}
							break;
							case ((tyEnum_InstrKind__xkE9c36M77yqw0WqXYKG9aAg)3):
							{
								{
									tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg T75_;
									T75_ = (tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)0;
									T75_ = aliases__aliasanalysis_u67((*c_p1).g.p->data[pc_1]._kind_2.n, n_p0);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									if (!(T75_ == ((tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)0))) goto LA76_;
									goto LA46;
								}
								goto LA73_;
LA76_: ;
								{
									tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg T79_;
									T79_ = (tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)0;
									T79_ = aliases__aliasanalysis_u67(n_p0, (*c_p1).g.p->data[pc_1]._kind_2.n);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									if (!!((T79_ == ((tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)1)))) goto LA80_;
									(*c_p1).otherUsage = (*(*c_p1).g.p->data[pc_1]._kind_2.n).info;
									result = NIM_FALSE;
									eqdestroy___pureZcollectionsZintsets_u230((&marked_1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									eqdestroy___pureZosproc_u479(pcs_1);
									eqdestroy___ast_u3252(colontmpD__2);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u3252(colontmpD_);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u4574(root_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									goto BeforeRet_;
								}
								goto LA73_;
LA80_: ;
LA73_: ;
								pc_1 += ((NI)1);
							}
							break;
							default: __builtin_unreachable();
							}
						} LA47: ;
					} LA46: ;
					incl__pureZcollectionsZintsets_u366((&marked_1), oldPc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				}
LA44_: ;
			} LA39: ;
		}
		{
			LA37_:;
		}
		{
			oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___pureZcollectionsZintsets_u230((&marked_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___pureZosproc_u479(pcs_1);
			*nimErr_ = oldNimErrFin37_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA32_;
LA35_: ;
	{
		result = NIM_FALSE;
	}
LA32_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_u433)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	m_1 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		NIM_BOOL T10_;
		T4_ = (NIM_BOOL)0;
		T4_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*n_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T4_) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = ((*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6));
		if (!(T7_)) goto LA8_;
		T7_ = ((*(*n_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA8_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA9_;
		colontmpD_ = getAttachedOp__modulegraphs_u4987((*c_p1).graph, (*n_p0).typField, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = (NIM_BOOL)0;
		T10_ = isTrivial__liftdestructors_u1826(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T6_ = !(T10_);
LA9_: ;
		T4_ = T6_;
LA5_: ;
		if (!!(T4_)) goto LA11_;
		result = NIM_TRUE;
		eqdestroy___ast_u3252(m_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA11_: ;
	m_1 = skipConvDfa__aliasanalysis_u5(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = isLastReadImpl__injectdestructors_u179(n_p0, c_p1, s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(m_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isAtom__ast_u7223)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) <= (*n_p0).kind);
	if (!(T1_)) goto LA2_;
	T1_ = ((*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genWasMoved__injectdestructors_u796)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_1;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	typ_1 = NIM_NIL;
	op_1 = NIM_NIL;
	typ_1 = skipTypes__ast_u5379((*n_p1).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	op_1 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, (*n_p1).typField, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((op_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA4_;
		{
			if (!(((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0)) goto LA8_;
			checkForErrorPragma__injectdestructors_u465((&(*c_p0)), (*n_p1).typField, n_p1, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA8_: ;
		result = genOp__injectdestructors_u488(c_p0, op_1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		colontmpD_ = createMagic__modulegraphs_u10814((*c_p0).graph, (*c_p0).idgen, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)150));
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		colontmpD__2 = newSymNode__ast_u5168(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		colontmpD__3 = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genFieldAccessSideEffects__injectdestructors_u2499)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* temp_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tempAsNode_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* vpart_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newAccess_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* snk_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
	tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	temp_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	v_1 = NIM_NIL;
	tempAsNode_1 = NIM_NIL;
	vpart_1 = NIM_NIL;
	newAccess_1 = NIM_NIL;
	snk_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = getIdent__idents_u206((*(*c_p0).graph).cache, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	temp_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), colontmpD_, (*c_p0).idgen, (*c_p0).owner, (*(*ri_p3)._kind_6.sons.p->data[((NI)1)]).info, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*temp_1).typ, (*(*ri_p3)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	v_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100), (*(*ri_p3)._kind_6.sons.p->data[((NI)1)]).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	tempAsNode_1 = newSymNode__ast_u5168(temp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	vpart_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*tempAsNode_1).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*vpart_1)._kind_6.sons.p->data[((NI)0)], tempAsNode_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = NIM_NIL;
	T3_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*tempAsNode_1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA1_;}
	eqsink___ast_u3261(&(*vpart_1)._kind_6.sons.p->data[((NI)1)], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*vpart_1)._kind_6.sons.p->data[((NI)2)], (*ri_p3)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(v_1, vpart_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	newAccess_1 = copyNode__ast_u6736(ri_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(newAccess_1, (*ri_p3)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(newAccess_1, tempAsNode_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	snk_1 = genSink__injectdestructors_u649(c_p0, s_p1, dest_p2, newAccess_1, flags_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T4_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
	T4_[0] = v_1;
	T4_[1] = snk_1;
	colontmpD__2 = genWasMoved__injectdestructors_u796(c_p0, newAccess_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_[2] = colontmpD__2;
	result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T4_, 3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(snk_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(newAccess_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(vpart_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tempAsNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(temp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_u713)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2) {
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		if (!((*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5))) goto LA3_;
		t_1 = NIM_NIL;
		t_1 = skipTypes__ast_u5379((*dest_p2).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NIM_BOOL T8_;
			T8_ = (NIM_BOOL)0;
			T8_ = cyclicType__liftdestructors_u1174((*c_p0).graph, t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			if (!T8_) goto LA9_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22))) goto LA13_;
				colontmpD_ = NIM_NIL;
				colontmpD_ = callCodegenProc__lowerings_u430((*c_p0).graph, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51, (*dest_p2).info, dest_p2, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				add__ast_u3215(result_p1, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				{
					LA15_:;
				}
				{
					oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					*nimErr_ = oldNimErrFin15_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
			goto LA11_;
LA13_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* xenv_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T20_;
				xenv_1 = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				xenv_1 = genBuiltin__liftdestructors_u100((*c_p0).graph, (*c_p0).idgen, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)158), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53, dest_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				T20_ = NIM_NIL;
				T20_ = getSysType__magicsys_u55((*c_p0).graph, (*dest_p2).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T20_); goto LA19_;}
				eqsink___ast_u3387(&(*xenv_1).typField, T20_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				colontmpD__2 = callCodegenProc__lowerings_u430((*c_p0).graph, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54, (*dest_p2).info, xenv_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				add__ast_u3215(result_p1, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				{
					LA19_:;
				}
				{
					oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					eqdestroy___ast_u3252(xenv_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					*nimErr_ = oldNimErrFin19_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
LA11_: ;
		}
LA9_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, destructiveMoveVar__injectdestructors_u815)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*n_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = !(T4_);
		if (!(T3_)) goto LA5_;
		T3_ = ((*c_p1).inEnsureMove == ((NI)0));
LA5_: ;
		if (!T3_) goto LA6_;
		result = copyTree__ast_u6891(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA6_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* temp_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tempAsNode_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* vpart_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nn_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* wasMovedCall_1;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T10_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		temp_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		v_1 = NIM_NIL;
		tempAsNode_1 = NIM_NIL;
		vpart_1 = NIM_NIL;
		nn_1 = NIM_NIL;
		wasMovedCall_1 = NIM_NIL;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*n_p0).info, (*n_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD_ = getIdent__idents_u206((*(*c_p1).graph).cache, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T10_ = 0;
		temp_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), colontmpD_, (*c_p1).idgen, (*c_p1).owner, (*n_p0).info, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eqcopy___ast_u3381(&(*temp_1).typ, (*n_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		v_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100), (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		tempAsNode_1 = newSymNode__ast_u5168(temp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		vpart_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*tempAsNode_1).info, ((NI)3));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eqcopy___ast_u3255(&(*vpart_1)._kind_6.sons.p->data[((NI)0)], tempAsNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T11_ = NIM_NIL;
		T11_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*tempAsNode_1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA9_;}
		eqsink___ast_u3261(&(*vpart_1)._kind_6.sons.p->data[((NI)1)], T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eqcopy___ast_u3255(&(*vpart_1)._kind_6.sons.p->data[((NI)2)], n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(v_1, vpart_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(result, v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		nn_1 = skipConv__types_u3715(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*n_p0).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			if (!T14_) goto LA15_;
			genMarkCyclic__injectdestructors_u713(c_p1, result, nn_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		}
LA15_: ;
		wasMovedCall_1 = genWasMoved__injectdestructors_u796(c_p1, nn_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(result, wasMovedCall_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(result, tempAsNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(wasMovedCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(nn_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(vpart_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(tempAsNode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(v_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(temp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genCopyNoCheck__injectdestructors_u727)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p2, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q a_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	t_1 = skipTypes__ast_u5379((*dest_p1).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = genOp__injectdestructors_u502(c_p0, t_1, a_p3, dest_p1, ri_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genCopy__injectdestructors_u741)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p2, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmpD_;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmpD__2;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	colontmpD_ = (tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0;
	colontmpD__2 = (tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		NimStringV2 T7_;
		if (!(((NI)0) < (*c_p0).inEnsureMove)) goto LA4_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		T7_.len = 0; T7_.p = NIM_NIL;
		colontmpD__3 = dollar___renderer_u2166(ri_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = rawNewString(colontmpD__3.len + 49);
appendString((&T7_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56);
appendString((&T7_), colontmpD__3);
appendString((&T7_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58);
		colontmpD__4 = T7_;
		liMessage__msgs_u1207((*(*c_p0).graph).config, (*ri_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)18), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_59, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	eqcopy___ast_u3381(&t_1, (*dest_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T12_;
		T12_ = (NIM_BOOL)0;
		T12_ = (((*t_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4)))&63U)))!=0);
		if (!(T12_)) goto LA13_;
		T12_ = !(((*ri_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)));
LA13_: ;
		if (!T12_) goto LA14_;
		{
			if (!((flags_p3 &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA)1)))&7U)))!=0)) goto LA18_;
			checkForErrorPragma__injectdestructors_u465((&(*c_p0)), t_1, ri_p2, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_61, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA16_;
LA18_: ;
		{
			checkForErrorPragma__injectdestructors_u465((&(*c_p0)), t_1, ri_p2, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_62, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA16_: ;
	}
LA14_: ;
	{
		if (!((flags_p3 &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA)1)))&7U)))!=0)) goto LA23_;
		colontmpD_ = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)4);
		a_1 = colontmpD_;
	}
	goto LA21_;
LA23_: ;
	{
		colontmpD__2 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2);
		a_1 = colontmpD__2;
	}
LA21_: ;
	result = genCopyNoCheck__injectdestructors_u727(c_p0, dest_p1, ri_p2, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_u687)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0) {
	NIM_BOOL result;
	result = !(((*dest_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_u694)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p2, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p3, NIM_BOOL isFromSink_p4) {
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5));
		if (!(T3_)) goto LA4_;
		T3_ = !(((flags_p3 &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA)1)))&7U)))!=0));
LA4_: ;
		if (!T3_) goto LA5_;
		t_1 = NIM_NIL;
		t_1 = skipTypes__ast_u5379((*dest_p2).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_63);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			NIM_BOOL T10_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			NIM_BOOL T14_;
			T10_ = (NIM_BOOL)0;
			T10_ = cyclicType__liftdestructors_u1174((*c_p0).graph, t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			if (!T10_) goto LA11_;
			colontmpD_ = NIM_NIL;
			T14_ = (NIM_BOOL)0;
			T14_ = isFromSink_p4;
			if (T14_) goto LA15_;
			T14_ = isCriticalLink__injectdestructors_u687(dest_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
LA15_: ;
			colontmpD_ = boolLit__liftdestructors_u333((*c_p0).graph, (*result_p1).info, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__ast_u3215(result_p1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA11_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_u909)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	t_2 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	t_2 = skipTypes__ast_u5379(t_p0, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
	if (!(T1_)) goto LA2_;
	colontmpD_ = elementType__ast_u5331(t_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = !((((*colontmpD_).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4)))&63U)))!=0));
LA2_: ;
	result = T1_;
	eqdestroy___ast_u3378(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(t_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isSinkParam__ast_u7466)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*(*s_p0).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46));
	if (T3_) goto LA4_;
	T3_ = (((*(*s_p0).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4)))&63U)))!=0);
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_u608)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	t_2 = NIM_NIL;
	t_2 = skipTypes__ast_u5379(t_p1, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		NIM_BOOL T7_;
		if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA4_;
		colontmpD_ = NIM_NIL;
		T7_ = (NIM_BOOL)0;
		T7_ = !(((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22)));
		if (!(T7_)) goto LA8_;
		colontmpD_ = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_2, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)4));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = !((colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA8_: ;
		result = T7_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_2, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)4));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		result = !((colontmpD__2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pRaiseStmt__injectdestructors_u1142)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*(*(*c_p1).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0);
		if (!(T3_)) goto LA4_;
		T3_ = !(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA4_: ;
		if (!T3_) goto LA5_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
			if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32))) goto LA9_;
			call_1 = NIM_NIL;
			call_1 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			result = copyNode__ast_u6736(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			add__ast_u3215(result, call_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				LA11_:;
			}
			{
				oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(call_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin11_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA7_;
LA9_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmp_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* toDisarm_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA T16_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T17_;
			tyArray__TAsXwXSUBvAawE1kIQ5ziQ T32_;
			tmp_1 = NIM_NIL;
			m_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			toDisarm_1 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			tmp_1 = getTemp__injectdestructors_u69(c_p1, s_p2, (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField, (*n_p0).info, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			m_1 = genCopyNoCheck__injectdestructors_u727(c_p1, tmp_1, (*n_p0)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			colontmpD_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			add__ast_u3215(m_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			T16_ = 0;
			finishCopy__injectdestructors_u694(c_p1, m_1, (*n_p0)._kind_6.sons.p->data[((NI)0)], T16_, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			nimZeroMem((void*)T17_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			colontmpD__2 = genWasMoved__injectdestructors_u796(c_p1, tmp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			T17_[0] = colontmpD__2;
			T17_[1] = m_1;
			result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T17_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			eqcopy___ast_u3255(&toDisarm_1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
				if (!((*toDisarm_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126))) goto LA20_;
				T22_ = NIM_NIL;
				T22_ = lastSon__ast_u5208(toDisarm_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA15_;}
				eqsink___ast_u3261(&toDisarm_1, T22_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			}
LA20_: ;
			{
				NIM_BOOL T25_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
				T25_ = (NIM_BOOL)0;
				T25_ = ((*toDisarm_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T25_)) goto LA26_;
				colontmpD__3 = owner__ast_u6254((*toDisarm_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				T25_ = (colontmpD__3 == (*c_p1).owner);
LA26_: ;
				if (!T25_) goto LA27_;
				colontmpD__5 = NIM_NIL;
				colontmpD__5 = genWasMoved__injectdestructors_u796(c_p1, toDisarm_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				add__ast_u3215(result, colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				{
					LA29_:;
				}
				{
					oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
					*nimErr_ = oldNimErrFin29_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			}
LA27_: ;
			nimZeroMem((void*)T32_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
			T32_[0] = tmp_1;
			colontmpD__4 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108), T32_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			add__ast_u3215(result, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(toDisarm_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(m_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(tmp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin15_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
	goto LA1_;
LA5_: ;
	{
		result = copyNode__ast_u6736(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
			if (!!(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA38_;
			colontmpD__6 = NIM_NIL;
			colontmpD__6 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
			add__ast_u3215(result, colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
			{
				LA40_:;
			}
			{
				oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin40_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA36_;
LA38_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			colontmpD__7 = NIM_NIL;
			colontmpD__7 = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
			add__ast_u3215(result, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
			{
				LA44_:;
			}
			{
				oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin44_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA36_: ;
	}
LA1_: ;
	(*s_p2).needsTry = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, ownsData__injectdestructors_u2512)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	n_1 = NIM_NIL;
	eqcopy___ast_u3255(&n_1, orig_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			switch ((*n_1).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
			{
				eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
		}
	} LA2: ;
	{
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmp_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyArray__al2p7ldDMvbBVYNFCuu4Rw T15_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
		if (!(T9_)) goto LA10_;
		T9_ = !(((*n_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA10_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA11_;
		T8_ = hasDestructor__injectdestructors_u57((&(*c_p0)), (*n_1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA11_: ;
		if (!T8_) goto LA12_;
		tmp_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*orig_p2).info, (*orig_p2).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		tmp_1 = getTemp__injectdestructors_u69(c_p0, s_p1, (*n_1).typField, (*n_1).info, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		(*(*tmp_1)._kind_4.sym).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)46))) & 63);
		nimZeroMem((void*)T15_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
		T15_[0] = tmp_1;
		colontmpD_ = copyTree__ast_u6891(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T15_[1] = colontmpD_;
		colontmpD__2 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T15_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T16_ = NIM_NIL;
		T16_ = genDestroy__injectdestructors_u603(c_p0, tmp_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA14_;}
		add__ast_u3225((&(*s_p1).final), T16_);
		eqcopy___ast_u3273((&(*n_1)), (&(*tmp_1)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__3 = copyTree__ast_u6891(orig_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(tmp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA12_: ;
	{
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, moveOrCopy__injectdestructors_u173)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p2, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p3, tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_2;
	NI isEnsureMove_1;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL oldNimErrFin114_;
NIM_BOOL oldNimErrFin145_;
NIM_BOOL oldNimErrFin150_;
NIM_BOOL oldNimErrFin97_;
NIM_BOOL oldNimErrFin58_;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin167_;
NIM_BOOL oldNimErrFin171_;
NIM_BOOL oldNimErrFin189_;
NIM_BOOL oldNimErrFin204_;
NIM_BOOL oldNimErrFin230_;
NIM_BOOL oldNimErrFin235_;
NIM_BOOL oldNimErrFin194_;
NIM_BOOL oldNimErrFin181_;
NIM_BOOL oldNimErrFin268_;
NIM_BOOL oldNimErrFin308_;
NIM_BOOL oldNimErrFin339_;
NIM_BOOL oldNimErrFin344_;
NIM_BOOL oldNimErrFin291_;
NIM_BOOL oldNimErrFin252_;
NIM_BOOL oldNimErrFin367_;
NIM_BOOL oldNimErrFin395_;
NIM_BOOL oldNimErrFin421_;
NIM_BOOL oldNimErrFin438_;
NIM_BOOL oldNimErrFin385_;
NIM_BOOL oldNimErrFin477_;
NIM_BOOL oldNimErrFin524_;
NIM_BOOL oldNimErrFin555_;
NIM_BOOL oldNimErrFin560_;
NIM_BOOL oldNimErrFin507_;
NIM_BOOL oldNimErrFin465_;
NIM_BOOL oldNimErrFin359_;
NIM_BOOL oldNimErrFin579_;
NIM_BOOL oldNimErrFin615_;
NIM_BOOL oldNimErrFin628_;
NIM_BOOL oldNimErrFin642_;
NIM_BOOL oldNimErrFin660_;
NIM_BOOL oldNimErrFin666_;
NIM_BOOL oldNimErrFin670_;
NIM_BOOL oldNimErrFin681_;
NIM_BOOL oldNimErrFin685_;
NIM_BOOL oldNimErrFin689_;
NIM_BOOL oldNimErrFin699_;
NIM_BOOL oldNimErrFin712_;
NIM_BOOL oldNimErrFin717_;
NIM_BOOL oldNimErrFin725_;
NIM_BOOL oldNimErrFin729_;
NIM_BOOL oldNimErrFin744_;
NIM_BOOL oldNimErrFin734_;
NIM_BOOL oldNimErrFin786_;
NIM_BOOL oldNimErrFin826_;
NIM_BOOL oldNimErrFin857_;
NIM_BOOL oldNimErrFin862_;
NIM_BOOL oldNimErrFin809_;
NIM_BOOL oldNimErrFin770_;
NIM_BOOL oldNimErrFin766_;
NIM_BOOL oldNimErrFin879_;
NIM_BOOL oldNimErrFin883_;
NIM_BOOL oldNimErrFin901_;
NIM_BOOL oldNimErrFin916_;
NIM_BOOL oldNimErrFin942_;
NIM_BOOL oldNimErrFin947_;
NIM_BOOL oldNimErrFin906_;
NIM_BOOL oldNimErrFin893_;
NIM_BOOL oldNimErrFin980_;
NIM_BOOL oldNimErrFin1020_;
NIM_BOOL oldNimErrFin1051_;
NIM_BOOL oldNimErrFin1056_;
NIM_BOOL oldNimErrFin1003_;
NIM_BOOL oldNimErrFin964_;
NIM_BOOL oldNimErrFin1079_;
NIM_BOOL oldNimErrFin1107_;
NIM_BOOL oldNimErrFin1133_;
NIM_BOOL oldNimErrFin1150_;
NIM_BOOL oldNimErrFin1097_;
NIM_BOOL oldNimErrFin1189_;
NIM_BOOL oldNimErrFin1236_;
NIM_BOOL oldNimErrFin1267_;
NIM_BOOL oldNimErrFin1272_;
NIM_BOOL oldNimErrFin1219_;
NIM_BOOL oldNimErrFin1177_;
NIM_BOOL oldNimErrFin1071_;
NIM_BOOL oldNimErrFin1291_;
NIM_BOOL oldNimErrFin1340_;
NIM_BOOL oldNimErrFin1345_;
NIM_BOOL oldNimErrFin1328_;
NIM_BOOL oldNimErrFin620_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	ri_2 = NIM_NIL;
	eqcopy___ast_u3255(&ri_2, ri_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	isEnsureMove_1 = ((NI)0);
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
		if (!(T5_)) goto LA6_;
		T5_ = ((*(*ri_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = ((*(*(*ri_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)149));
LA7_: ;
		if (!T4_) goto LA8_;
		eqcopy___ast_u3255(&ri_2, (*ri_2)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		isEnsureMove_1 = ((NI)1);
	}
LA8_: ;
	{
		NIM_BOOL T12_;
		T12_ = (NIM_BOOL)0;
		T12_ = sameLocation__injectdestructors_u2466(dest_p0, ri_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T12_) goto LA13_;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*dest_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA13_: ;
	{
		NIM_BOOL T16_;
		T16_ = (NIM_BOOL)0;
		T16_ = isCursor__injectdestructors_u456(dest_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T16_) goto LA17_;
		T16_ = ((*(*dest_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*dest_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48));
LA17_: ;
		if (!T16_) goto LA18_;
		switch ((*ri_2).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
		{
			switch ((*ri_2).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
				colontmpD_ = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				{
					NI T25_;
					T25_ = (NI)0;
					T25_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					if (!(T25_ == ((NI)0))) goto LA26_;
					result = ri_2;
					eqwasMoved___ast_u3249(&ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA26_: ;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					NI iX60gensym915__1;
					NI colontmp_;
					NI T29_;
					NI i_1;
					iX60gensym915__1 = (NI)0;
					colontmp_ = (NI)0;
					T29_ = (NI)0;
					T29_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					colontmp_ = (NI)(T29_ - ((NI)1));
					i_1 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
							if (!(i_1 < colontmp_)) goto LA31;
							colontmpD__3 = NIM_NIL;
							iX60gensym915__1 = i_1;
							colontmpD__3 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[iX60gensym915__1], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							add__ast_u3215(result, colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							i_1 += ((NI)1);
							{
								LA32_:;
							}
							{
								oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								*nimErr_ = oldNimErrFin32_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						} LA31: ;
					}
				}
				T35_ = NIM_NIL;
				{
					NI T38_;
					NIM_BOOL T39_;
					NI T43_;
					T38_ = (NI)0;
					T38_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					T39_ = (NIM_BOOL)0;
					T39_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[(NI)(T38_ - ((NI)1))]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					if (!T39_) goto LA40_;
					T43_ = (NI)0;
					T43_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					colontmpD_ = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[(NI)(T43_ - ((NI)1))], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					T35_ = colontmpD_;
					{
						LA42_:;
					}
					{
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				}
				goto LA36_;
LA40_: ;
				{
					NI T48_;
					T48_ = (NI)0;
					T48_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
					colontmpD__2 = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[(NI)(T48_ - ((NI)1))], c_p2, s_p3, flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
					T35_ = colontmpD__2;
					{
						LA47_:;
					}
					{
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				}
LA36_: ;
				add__ast_u3215(result, T35_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					LA22_:;
				}
				{
					oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin22_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				colontmpD__4 = NIM_NIL;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
				colontmpD__4 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
				add__ast_u3215(result, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
				{
					NI iX60gensym915__2;
					NI colontmp__2;
					NI i_2;
					iX60gensym915__2 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					i_2 = ((NI)1);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym915__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym915__1;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ ofScopeX60gensym915__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
							if (!(i_2 < colontmp__2)) goto LA57;
							itX60gensym915__1 = NIM_NIL;
							branchX60gensym915__1 = NIM_NIL;
							nimZeroMem((void*)(&ofScopeX60gensym915__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
							colontmpD__5 = NIM_NIL;
							iX60gensym915__2 = i_2;
							eqcopy___ast_u3255(&itX60gensym915__1, (*ri_2)._kind_6.sons.p->data[iX60gensym915__2]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							branchX60gensym915__1 = shallowCopy__ast_u6876(itX60gensym915__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							{
								NI jX60gensym915__1;
								NI colontmp__3;
								NI T60_;
								NI i_3;
								jX60gensym915__1 = (NI)0;
								colontmp__3 = (NI)0;
								T60_ = (NI)0;
								T60_ = len__ast_u3190(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
								colontmp__3 = (NI)(T60_ - ((NI)1));
								i_3 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T63_;
										if (!(i_3 < colontmp__3)) goto LA62;
										jX60gensym915__1 = i_3;
										T63_ = NIM_NIL;
										T63_ = copyTree__ast_u6891((*itX60gensym915__1)._kind_6.sons.p->data[jX60gensym915__1]);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T63_); goto LA58_;}
										eqsink___ast_u3261(&(*branchX60gensym915__1)._kind_6.sons.p->data[jX60gensym915__1], T63_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
										i_3 += ((NI)1);
									} LA62: ;
								}
							}
							colontmpD__5 = lastSon__ast_u5208(itX60gensym915__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							nestedScope__injectdestructors_u85(s_p3, colontmpD__5, (&ofScopeX60gensym915__1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							T64_ = NIM_NIL;
							{
								NIM_BOOL T67_;
								NIM_BOOL T68_;
								NI T70_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
								NI T75_;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T76_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T77_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T93_;
								T67_ = (NIM_BOOL)0;
								T68_ = (NIM_BOOL)0;
								T68_ = isEmptyType__ast_u7234((*ri_2).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
								if (T68_) goto LA69_;
								T70_ = (NI)0;
								T70_ = len__ast_u3190(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
								T68_ = isEmptyType__ast_u7234((*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T70_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
LA69_: ;
								T67_ = T68_;
								if (T67_) goto LA71_;
								T67_ = NIM_TRUE;
LA71_: ;
								if (!T67_) goto LA72_;
								colontmpD__6 = NIM_NIL;
								colontmpD__7 = NIM_NIL;
								T75_ = (NI)0;
								T75_ = len__ast_u3190(branchX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								T76_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
								T76_ = (&ofScopeX60gensym915__1);
								T77_ = NIM_NIL;
								{
									NI T80_;
									NIM_BOOL T81_;
									NI T85_;
									T80_ = (NI)0;
									T80_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
									T81_ = (NIM_BOOL)0;
									T81_ = isEmptyType__ast_u7234((*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T80_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
									if (!T81_) goto LA82_;
									T85_ = (NI)0;
									T85_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
									colontmpD__6 = p__injectdestructors_u159((*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T85_ - ((NI)1))], c_p2, (&ofScopeX60gensym915__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
									T77_ = colontmpD__6;
									{
										LA84_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								}
								goto LA78_;
LA82_: ;
								{
									NI T90_;
									T90_ = (NI)0;
									T90_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									colontmpD__7 = moveOrCopy__injectdestructors_u173(dest_p0, (*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T90_ - ((NI)1))], c_p2, (&ofScopeX60gensym915__1), flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									T77_ = colontmpD__7;
									{
										LA89_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								}
LA78_: ;
								T93_ = NIM_NIL;
								T93_ = processScope__injectdestructors_u1058(c_p2, T76_, T77_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T93_); goto LA74_;}
								eqsink___ast_u3261(&(*branchX60gensym915__1)._kind_6.sons.p->data[(NI)(T75_ - ((NI)1))], T93_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								{
									LA74_:;
								}
								{
									oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__7);
									if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
									eqdestroy___ast_u3252(colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
									*nimErr_ = oldNimErrFin74_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							}
							goto LA65_;
LA72_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym957__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym957__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym957__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym957__1;
								NI T98_;
								NI T99_;
								NI T100_;
								NI T101_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T102_;
								NI T132_;
								NI T159_;
								resultX60gensym957__1 = NIM_NIL;
								tmpX60gensym957__1 = NIM_NIL;
								cpyX60gensym957__1 = NIM_NIL;
								finSectionX60gensym957__1 = NIM_NIL;
								T98_ = (NI)0;
								T98_ = len__ast_u3190(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								T99_ = (NI)0;
								T99_ = len__ast_u3190(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								resultX60gensym957__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T98_ - ((NI)1))]).info, (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T99_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								T100_ = (NI)0;
								T100_ = len__ast_u3190(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								T101_ = (NI)0;
								T101_ = len__ast_u3190(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								tmpX60gensym957__1 = getTemp__injectdestructors_u69(c_p2, ofScopeX60gensym915__1.parent, (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T100_ - ((NI)1))]).typField, (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T101_ - ((NI)1))]).info, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								(*(*tmpX60gensym957__1)._kind_4.sym).flags = IL64(70368744177664);
								T102_ = NIM_NIL;
								{
									NIM_BOOL T105_;
									NI T106_;
									NI T108_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T111_;
									NI T112_;
									T105_ = (NIM_BOOL)0;
									T106_ = (NI)0;
									T106_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
									T105_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T106_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
									if (!(T105_)) goto LA107_;
									T108_ = (NI)0;
									T108_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
									T105_ = !(((*(*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T108_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T108_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA107_: ;
									if (!T105_) goto LA109_;
									T111_ = NIM_NIL;
									T111_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T111_); goto LA97_;}
									add__ast_u3225((&(*ofScopeX60gensym915__1.parent).final), T111_);
									T112_ = (NI)0;
									T112_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
									cpyX60gensym957__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym957__1, (*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T112_ - ((NI)1))], c_p2, (&ofScopeX60gensym915__1), 1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								}
								goto LA103_;
LA109_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T115_;
									NI T116_;
									colontmpD__8 = NIM_NIL;
									nimZeroMem((void*)T115_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T115_[0] = tmpX60gensym957__1;
									T116_ = (NI)0;
									T116_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA114_;
									colontmpD__8 = p__injectdestructors_u159((*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T116_ - ((NI)1))], c_p2, (&ofScopeX60gensym915__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA114_;
									T115_[1] = colontmpD__8;
									cpyX60gensym957__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T115_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA114_;
									{
										LA114_:;
									}
									{
										oldNimErrFin114_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__8);
										if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
										*nimErr_ = oldNimErrFin114_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								}
LA103_: ;
								{
									NI T121_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym957__1;
									NI T124_;
									T121_ = ofScopeX60gensym915__1.vars.len;
									if (!(((NI)0) < T121_)) goto LA122_;
									varSectionX60gensym957__1 = NIM_NIL;
									T124_ = (NI)0;
									T124_ = len__ast_u3190(itX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
									varSectionX60gensym957__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T124_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym957__2;
										NI i_4;
										NI L_1;
										NI T126_;
										tmpX60gensym957__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
										i_4 = ((NI)0);
										T126_ = ofScopeX60gensym915__1.vars.len;
										L_1 = T126_;
										{
											while (1) {
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
												tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T129_;
												NI T130_;
												NI T131_;
												if (!(i_4 < L_1)) goto LA128;
												colontmpD__9 = NIM_NIL;
												colontmpD__10 = NIM_NIL;
												colontmpD__11 = NIM_NIL;
												colontmpD__12 = NIM_NIL;
												tmpX60gensym957__2 = &ofScopeX60gensym915__1.vars.p->data[i_4];
												nimZeroMem((void*)T129_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
												colontmpD__9 = newSymNode__ast_u5168((*tmpX60gensym957__2));
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												T129_[0] = colontmpD__9;
												T130_ = (NI)0;
												T130_ = len__ast_u3190(itX60gensym915__1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												colontmpD__10 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T130_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												T129_[1] = colontmpD__10;
												T131_ = (NI)0;
												T131_ = len__ast_u3190(itX60gensym915__1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												colontmpD__11 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T131_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												T129_[2] = colontmpD__11;
												colontmpD__12 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T129_, 3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												add__ast_u3215(varSectionX60gensym957__1, colontmpD__12);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												i_4 += ((NI)1);
												eqdestroy___ast_u3252(colontmpD__12);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												eqdestroy___ast_u3252(colontmpD__11);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												eqdestroy___ast_u3252(colontmpD__10);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
												eqdestroy___ast_u3252(colontmpD__9);
												if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
											} LA128: ;
										}
									}
									add__ast_u3215(resultX60gensym957__1, varSectionX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
									eqdestroy___ast_u3252(varSectionX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								}
LA122_: ;
								T132_ = (NI)0;
								T132_ = len__ast_u3190(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								finSectionX60gensym957__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym915__1)._kind_6.sons.p->data[(NI)(T132_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym957__1;
									NI i_5;
									NI L_2;
									NI T134_;
									mX60gensym957__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
									i_5 = ((NI)0);
									T134_ = ofScopeX60gensym915__1.wasMoved.len;
									L_2 = T134_;
									{
										while (1) {
											if (!(i_5 < L_2)) goto LA136;
											mX60gensym957__1 = &ofScopeX60gensym915__1.wasMoved.p->data[i_5];
											add__ast_u3215(finSectionX60gensym957__1, (*mX60gensym957__1));
											if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
											i_5 += ((NI)1);
										} LA136: ;
									}
								}
								{
									NI iX60gensym957__1;
									NI colontmp__4;
									NI T138_;
									NI res_1;
									iX60gensym957__1 = (NI)0;
									colontmp__4 = (NI)0;
									T138_ = (ofScopeX60gensym915__1.final.len-1);
									colontmp__4 = T138_;
									res_1 = colontmp__4;
									{
										while (1) {
											if (!(((NI)0) <= res_1)) goto LA140;
											iX60gensym957__1 = ((NI) (res_1));
											add__ast_u3215(finSectionX60gensym957__1, ofScopeX60gensym915__1.final.p->data[iX60gensym957__1]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
											res_1 -= ((NI)1);
										} LA140: ;
									}
								}
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__14;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T146_;
									if (!ofScopeX60gensym915__1.needsTry) goto LA143_;
									colontmpD__13 = NIM_NIL;
									colontmpD__14 = NIM_NIL;
									colontmpD__15 = NIM_NIL;
									nimZeroMem((void*)T146_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T146_[0] = cpyX60gensym957__1;
									colontmpD__13 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym957__1, c_p2, ofScopeX60gensym915__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
									T146_[1] = colontmpD__13;
									colontmpD__14 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T146_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
									colontmpD__15 = newTryFinally__lowerings_u110(colontmpD__14, finSectionX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
									add__ast_u3215(resultX60gensym957__1, colontmpD__15);
									if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
									{
										LA145_:;
									}
									{
										oldNimErrFin145_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__15);
										if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
										eqdestroy___ast_u3252(colontmpD__14);
										if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
										eqdestroy___ast_u3252(colontmpD__13);
										if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
										*nimErr_ = oldNimErrFin145_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								}
								goto LA141_;
LA143_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__16;
									colontmpD__16 = NIM_NIL;
									add__ast_u3215(resultX60gensym957__1, cpyX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
									add__ast_u3215(resultX60gensym957__1, finSectionX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
									colontmpD__16 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym957__1, c_p2, ofScopeX60gensym915__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
									add__ast_u3215(resultX60gensym957__1, colontmpD__16);
									if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
									{
										LA150_:;
									}
									{
										oldNimErrFin150_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__16);
										if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
										*nimErr_ = oldNimErrFin150_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								}
LA141_: ;
								{
									NIM_BOOL T157_;
									if (!!((ofScopeX60gensym915__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA155_;
									T157_ = (NIM_BOOL)0;
									T157_ = (*ofScopeX60gensym915__1.parent).needsTry;
									if (T157_) goto LA158_;
									T157_ = ofScopeX60gensym915__1.needsTry;
LA158_: ;
									(*ofScopeX60gensym915__1.parent).needsTry = T157_;
								}
LA155_: ;
								T159_ = (NI)0;
								T159_ = len__ast_u3190(branchX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								eqsink___ast_u3261(&(*branchX60gensym915__1)._kind_6.sons.p->data[(NI)(T159_ - ((NI)1))], resultX60gensym957__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								eqwasMoved___ast_u3249(&resultX60gensym957__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								{
									LA97_:;
								}
								{
									oldNimErrFin97_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(finSectionX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
									eqdestroy___ast_u3252(cpyX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
									eqdestroy___ast_u3252(tmpX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
									eqdestroy___ast_u3252(resultX60gensym957__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
									*nimErr_ = oldNimErrFin97_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							}
LA65_: ;
							add__ast_u3215(result, branchX60gensym915__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							i_2 += ((NI)1);
							{
								LA58_:;
							}
							{
								oldNimErrFin58_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__5);
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								eqdestroy___injectdestructors_u127((&ofScopeX60gensym915__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								eqdestroy___ast_u3252(branchX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								eqdestroy___ast_u3252(itX60gensym915__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								*nimErr_ = oldNimErrFin58_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
						} LA57: ;
					}
				}
				{
					LA54_:;
				}
				{
					oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin54_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__17;
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym915__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym915__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__18;
				colontmpD__17 = NIM_NIL;
				nimZeroMem((void*)(&bodyScopeX60gensym915__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				bodyResultX60gensym915__1 = NIM_NIL;
				colontmpD__18 = NIM_NIL;
				(*c_p2).inLoop += ((NI)1);
				(*c_p2).inLoopCond += ((NI)1);
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				colontmpD__17 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				add__ast_u3215(result, colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				(*c_p2).inLoopCond -= ((NI)1);
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym915__1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				bodyResultX60gensym915__1 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym915__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				colontmpD__18 = processScope__injectdestructors_u1058(c_p2, (&bodyScopeX60gensym915__1), bodyResultX60gensym915__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				add__ast_u3215(result, colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				(*c_p2).inLoop -= ((NI)1);
				{
					LA167_:;
				}
				{
					oldNimErrFin167_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__18);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(bodyResultX60gensym915__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___injectdestructors_u127((&bodyScopeX60gensym915__1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD__17);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin167_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
			{
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym915__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym915__2;
				NI lastX60gensym915__1;
				NI T172_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T176_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T177_;
				nimZeroMem((void*)(&bodyScopeX60gensym915__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				bodyResultX60gensym915__2 = NIM_NIL;
				(*c_p2).inLoop += ((NI)1);
				result = shallowCopy__ast_u6876(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA171_;
				T172_ = (NI)0;
				T172_ = len__ast_u3190(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA171_;
				lastX60gensym915__1 = (NI)(T172_ - ((NI)1));
				{
					NI iX60gensym915__3;
					NI colontmp__5;
					NI i_6;
					iX60gensym915__3 = (NI)0;
					colontmp__5 = (NI)0;
					colontmp__5 = (NI)(lastX60gensym915__1 - ((NI)1));
					i_6 = ((NI)0);
					{
						while (1) {
							if (!(i_6 < colontmp__5)) goto LA175;
							iX60gensym915__3 = i_6;
							eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[iX60gensym915__3], (*ri_2)._kind_6.sons.p->data[iX60gensym915__3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA171_;
							i_6 += ((NI)1);
						} LA175: ;
					}
				}
				T176_ = NIM_NIL;
				T176_ = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[(NI)(lastX60gensym915__1 - ((NI)1))], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T176_); goto LA171_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(lastX60gensym915__1 - ((NI)1))], T176_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA171_;
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym915__2));
				if (NIM_UNLIKELY(*nimErr_)) goto LA171_;
				bodyResultX60gensym915__2 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[lastX60gensym915__1], c_p2, (&bodyScopeX60gensym915__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA171_;
				T177_ = NIM_NIL;
				T177_ = processScope__injectdestructors_u1058(c_p2, (&bodyScopeX60gensym915__2), bodyResultX60gensym915__2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T177_); goto LA171_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[lastX60gensym915__1], T177_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA171_;
				(*c_p2).inLoop -= ((NI)1);
				{
					LA171_:;
				}
				{
					oldNimErrFin171_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(bodyResultX60gensym915__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___injectdestructors_u127((&bodyScopeX60gensym915__2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin171_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
			{
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym915__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__19;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__20;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T182_;
				nimZeroMem((void*)(&bodyScopeX60gensym915__3), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				colontmpD__19 = NIM_NIL;
				colontmpD__20 = NIM_NIL;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				add__ast_u3215(result, (*ri_2)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym915__3));
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				T182_ = NIM_NIL;
				{
					NIM_BOOL T185_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__21;
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T190_;
					T185_ = (NIM_BOOL)0;
					T185_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
					if (T185_) goto LA186_;
					T185_ = NIM_TRUE;
LA186_: ;
					if (!T185_) goto LA187_;
					colontmpD__21 = NIM_NIL;
					T190_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
					T190_ = (&bodyScopeX60gensym915__3);
					colontmpD__21 = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym915__3), flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
					colontmpD__19 = processScope__injectdestructors_u1058(c_p2, T190_, colontmpD__21);
					if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
					T182_ = colontmpD__19;
					{
						LA189_:;
					}
					{
						oldNimErrFin189_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__21);
						if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
						*nimErr_ = oldNimErrFin189_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				}
				goto LA183_;
LA187_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym989__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym989__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym989__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym989__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T195_;
					resultX60gensym989__1 = NIM_NIL;
					tmpX60gensym989__1 = NIM_NIL;
					cpyX60gensym989__1 = NIM_NIL;
					finSectionX60gensym989__1 = NIM_NIL;
					resultX60gensym989__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info, (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					tmpX60gensym989__1 = getTemp__injectdestructors_u69(c_p2, bodyScopeX60gensym915__3.parent, (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField, (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					(*(*tmpX60gensym989__1)._kind_4.sym).flags = IL64(70368744177664);
					T195_ = NIM_NIL;
					{
						NIM_BOOL T198_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T202_;
						T198_ = (NIM_BOOL)0;
						T198_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
						if (!(T198_)) goto LA199_;
						T198_ = !(((*(*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA199_: ;
						if (!T198_) goto LA200_;
						T202_ = NIM_NIL;
						T202_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T202_); goto LA194_;}
						add__ast_u3225((&(*bodyScopeX60gensym915__3.parent).final), T202_);
						cpyX60gensym989__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym989__1, (*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym915__3), 1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					}
					goto LA196_;
LA200_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__22;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T205_;
						colontmpD__22 = NIM_NIL;
						nimZeroMem((void*)T205_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T205_[0] = tmpX60gensym989__1;
						colontmpD__22 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym915__3), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
						T205_[1] = colontmpD__22;
						cpyX60gensym989__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T205_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
						{
							LA204_:;
						}
						{
							oldNimErrFin204_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__22);
							if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
							*nimErr_ = oldNimErrFin204_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					}
LA196_: ;
					{
						NI T210_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym989__1;
						T210_ = bodyScopeX60gensym915__3.vars.len;
						if (!(((NI)0) < T210_)) goto LA211_;
						varSectionX60gensym989__1 = NIM_NIL;
						varSectionX60gensym989__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym989__2;
							NI i_7;
							NI L_3;
							NI T214_;
							tmpX60gensym989__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
							i_7 = ((NI)0);
							T214_ = bodyScopeX60gensym915__3.vars.len;
							L_3 = T214_;
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__23;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__24;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__25;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__26;
									tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T217_;
									if (!(i_7 < L_3)) goto LA216;
									colontmpD__23 = NIM_NIL;
									colontmpD__24 = NIM_NIL;
									colontmpD__25 = NIM_NIL;
									colontmpD__26 = NIM_NIL;
									tmpX60gensym989__2 = &bodyScopeX60gensym915__3.vars.p->data[i_7];
									nimZeroMem((void*)T217_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
									colontmpD__23 = newSymNode__ast_u5168((*tmpX60gensym989__2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									T217_[0] = colontmpD__23;
									colontmpD__24 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									T217_[1] = colontmpD__24;
									colontmpD__25 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									T217_[2] = colontmpD__25;
									colontmpD__26 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T217_, 3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									add__ast_u3215(varSectionX60gensym989__1, colontmpD__26);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									i_7 += ((NI)1);
									eqdestroy___ast_u3252(colontmpD__26);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									eqdestroy___ast_u3252(colontmpD__25);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									eqdestroy___ast_u3252(colontmpD__24);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
									eqdestroy___ast_u3252(colontmpD__23);
									if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
								} LA216: ;
							}
						}
						add__ast_u3215(resultX60gensym989__1, varSectionX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
						eqdestroy___ast_u3252(varSectionX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					}
LA211_: ;
					finSectionX60gensym989__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym989__1;
						NI i_8;
						NI L_4;
						NI T219_;
						mX60gensym989__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						i_8 = ((NI)0);
						T219_ = bodyScopeX60gensym915__3.wasMoved.len;
						L_4 = T219_;
						{
							while (1) {
								if (!(i_8 < L_4)) goto LA221;
								mX60gensym989__1 = &bodyScopeX60gensym915__3.wasMoved.p->data[i_8];
								add__ast_u3215(finSectionX60gensym989__1, (*mX60gensym989__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
								i_8 += ((NI)1);
							} LA221: ;
						}
					}
					{
						NI iX60gensym989__1;
						NI colontmp__6;
						NI T223_;
						NI res_2;
						iX60gensym989__1 = (NI)0;
						colontmp__6 = (NI)0;
						T223_ = (bodyScopeX60gensym915__3.final.len-1);
						colontmp__6 = T223_;
						res_2 = colontmp__6;
						{
							while (1) {
								if (!(((NI)0) <= res_2)) goto LA225;
								iX60gensym989__1 = ((NI) (res_2));
								add__ast_u3215(finSectionX60gensym989__1, bodyScopeX60gensym915__3.final.p->data[iX60gensym989__1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
								res_2 -= ((NI)1);
							} LA225: ;
						}
					}
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__27;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__28;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__29;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T231_;
						if (!bodyScopeX60gensym915__3.needsTry) goto LA228_;
						colontmpD__27 = NIM_NIL;
						colontmpD__28 = NIM_NIL;
						colontmpD__29 = NIM_NIL;
						nimZeroMem((void*)T231_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T231_[0] = cpyX60gensym989__1;
						colontmpD__27 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym989__1, c_p2, bodyScopeX60gensym915__3.parent, flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA230_;
						T231_[1] = colontmpD__27;
						colontmpD__28 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T231_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA230_;
						colontmpD__29 = newTryFinally__lowerings_u110(colontmpD__28, finSectionX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA230_;
						add__ast_u3215(resultX60gensym989__1, colontmpD__29);
						if (NIM_UNLIKELY(*nimErr_)) goto LA230_;
						{
							LA230_:;
						}
						{
							oldNimErrFin230_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__29);
							if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
							eqdestroy___ast_u3252(colontmpD__28);
							if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
							eqdestroy___ast_u3252(colontmpD__27);
							if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
							*nimErr_ = oldNimErrFin230_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					}
					goto LA226_;
LA228_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__30;
						colontmpD__30 = NIM_NIL;
						add__ast_u3215(resultX60gensym989__1, cpyX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
						add__ast_u3215(resultX60gensym989__1, finSectionX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
						colontmpD__30 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym989__1, c_p2, bodyScopeX60gensym915__3.parent, flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
						add__ast_u3215(resultX60gensym989__1, colontmpD__30);
						if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
						{
							LA235_:;
						}
						{
							oldNimErrFin235_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__30);
							if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
							*nimErr_ = oldNimErrFin235_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					}
LA226_: ;
					{
						NIM_BOOL T242_;
						if (!!((bodyScopeX60gensym915__3.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA240_;
						T242_ = (NIM_BOOL)0;
						T242_ = (*bodyScopeX60gensym915__3.parent).needsTry;
						if (T242_) goto LA243_;
						T242_ = bodyScopeX60gensym915__3.needsTry;
LA243_: ;
						(*bodyScopeX60gensym915__3.parent).needsTry = T242_;
					}
LA240_: ;
					colontmpD__20 = resultX60gensym989__1;
					eqwasMoved___ast_u3249(&resultX60gensym989__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA194_;
					T182_ = colontmpD__20;
					{
						LA194_:;
					}
					{
						oldNimErrFin194_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(finSectionX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
						eqdestroy___ast_u3252(cpyX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
						eqdestroy___ast_u3252(tmpX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
						eqdestroy___ast_u3252(resultX60gensym989__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
						*nimErr_ = oldNimErrFin194_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				}
LA183_: ;
				add__ast_u3215(result, T182_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				{
					LA181_:;
				}
				{
					oldNimErrFin181_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__20);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD__19);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___injectdestructors_u127((&bodyScopeX60gensym915__3));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin181_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
			{
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					NI iX60gensym915__4;
					NI colontmp__7;
					NI i_9;
					iX60gensym915__4 = (NI)0;
					colontmp__7 = (NI)0;
					colontmp__7 = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					i_9 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym915__2;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym915__2;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym915__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__31;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T258_;
							if (!(i_9 < colontmp__7)) goto LA251;
							itX60gensym915__2 = NIM_NIL;
							branchX60gensym915__2 = NIM_NIL;
							nimZeroMem((void*)(&branchScopeX60gensym915__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
							colontmpD__31 = NIM_NIL;
							iX60gensym915__4 = i_9;
							eqcopy___ast_u3255(&itX60gensym915__2, (*ri_2)._kind_6.sons.p->data[iX60gensym915__4]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							branchX60gensym915__2 = shallowCopy__ast_u6876(itX60gensym915__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							colontmpD__31 = lastSon__ast_u5208(itX60gensym915__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							nestedScope__injectdestructors_u85(s_p3, colontmpD__31, (&branchScopeX60gensym915__1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T257_;
								if (!((*itX60gensym915__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86) || (*itX60gensym915__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49))) goto LA255_;
								T257_ = NIM_NIL;
								T257_ = p__injectdestructors_u159((*itX60gensym915__2)._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T257_); goto LA252_;}
								eqsink___ast_u3261(&(*branchX60gensym915__2)._kind_6.sons.p->data[((NI)0)], T257_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							}
LA255_: ;
							T258_ = NIM_NIL;
							{
								NIM_BOOL T261_;
								NIM_BOOL T262_;
								NI T264_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__32;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__33;
								NI T269_;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T270_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T271_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T287_;
								T261_ = (NIM_BOOL)0;
								T262_ = (NIM_BOOL)0;
								T262_ = isEmptyType__ast_u7234((*ri_2).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
								if (T262_) goto LA263_;
								T264_ = (NI)0;
								T264_ = len__ast_u3190(itX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
								T262_ = isEmptyType__ast_u7234((*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T264_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
LA263_: ;
								T261_ = T262_;
								if (T261_) goto LA265_;
								T261_ = NIM_TRUE;
LA265_: ;
								if (!T261_) goto LA266_;
								colontmpD__32 = NIM_NIL;
								colontmpD__33 = NIM_NIL;
								T269_ = (NI)0;
								T269_ = len__ast_u3190(branchX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA268_;
								T270_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
								T270_ = (&branchScopeX60gensym915__1);
								T271_ = NIM_NIL;
								{
									NI T274_;
									NIM_BOOL T275_;
									NI T279_;
									T274_ = (NI)0;
									T274_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA268_;
									T275_ = (NIM_BOOL)0;
									T275_ = isEmptyType__ast_u7234((*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T274_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA268_;
									if (!T275_) goto LA276_;
									T279_ = (NI)0;
									T279_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
									colontmpD__32 = p__injectdestructors_u159((*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T279_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
									T271_ = colontmpD__32;
									{
										LA278_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA268_;
								}
								goto LA272_;
LA276_: ;
								{
									NI T284_;
									T284_ = (NI)0;
									T284_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA283_;
									colontmpD__33 = moveOrCopy__injectdestructors_u173(dest_p0, (*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T284_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__1), flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA283_;
									T271_ = colontmpD__33;
									{
										LA283_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA268_;
								}
LA272_: ;
								T287_ = NIM_NIL;
								T287_ = processScope__injectdestructors_u1058(c_p2, T270_, T271_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T287_); goto LA268_;}
								eqsink___ast_u3261(&(*branchX60gensym915__2)._kind_6.sons.p->data[(NI)(T269_ - ((NI)1))], T287_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA268_;
								{
									LA268_:;
								}
								{
									oldNimErrFin268_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__33);
									if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
									eqdestroy___ast_u3252(colontmpD__32);
									if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
									*nimErr_ = oldNimErrFin268_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							}
							goto LA259_;
LA266_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1027__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1027__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1027__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1027__1;
								NI T292_;
								NI T293_;
								NI T294_;
								NI T295_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T296_;
								NI T326_;
								NI T353_;
								resultX60gensym1027__1 = NIM_NIL;
								tmpX60gensym1027__1 = NIM_NIL;
								cpyX60gensym1027__1 = NIM_NIL;
								finSectionX60gensym1027__1 = NIM_NIL;
								T292_ = (NI)0;
								T292_ = len__ast_u3190(itX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								T293_ = (NI)0;
								T293_ = len__ast_u3190(itX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								resultX60gensym1027__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T292_ - ((NI)1))]).info, (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T293_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								T294_ = (NI)0;
								T294_ = len__ast_u3190(itX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								T295_ = (NI)0;
								T295_ = len__ast_u3190(itX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								tmpX60gensym1027__1 = getTemp__injectdestructors_u69(c_p2, branchScopeX60gensym915__1.parent, (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T294_ - ((NI)1))]).typField, (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T295_ - ((NI)1))]).info, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								(*(*tmpX60gensym1027__1)._kind_4.sym).flags = IL64(70368744177664);
								T296_ = NIM_NIL;
								{
									NIM_BOOL T299_;
									NI T300_;
									NI T302_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T305_;
									NI T306_;
									T299_ = (NIM_BOOL)0;
									T300_ = (NI)0;
									T300_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
									T299_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T300_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
									if (!(T299_)) goto LA301_;
									T302_ = (NI)0;
									T302_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
									T299_ = !(((*(*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T302_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T302_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA301_: ;
									if (!T299_) goto LA303_;
									T305_ = NIM_NIL;
									T305_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T305_); goto LA291_;}
									add__ast_u3225((&(*branchScopeX60gensym915__1.parent).final), T305_);
									T306_ = (NI)0;
									T306_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
									cpyX60gensym1027__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1027__1, (*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T306_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__1), 1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								}
								goto LA297_;
LA303_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__34;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T309_;
									NI T310_;
									colontmpD__34 = NIM_NIL;
									nimZeroMem((void*)T309_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T309_[0] = tmpX60gensym1027__1;
									T310_ = (NI)0;
									T310_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA308_;
									colontmpD__34 = p__injectdestructors_u159((*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T310_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA308_;
									T309_[1] = colontmpD__34;
									cpyX60gensym1027__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T309_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA308_;
									{
										LA308_:;
									}
									{
										oldNimErrFin308_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__34);
										if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
										*nimErr_ = oldNimErrFin308_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								}
LA297_: ;
								{
									NI T315_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1027__1;
									NI T318_;
									T315_ = branchScopeX60gensym915__1.vars.len;
									if (!(((NI)0) < T315_)) goto LA316_;
									varSectionX60gensym1027__1 = NIM_NIL;
									T318_ = (NI)0;
									T318_ = len__ast_u3190(itX60gensym915__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
									varSectionX60gensym1027__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T318_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1027__2;
										NI i_10;
										NI L_5;
										NI T320_;
										tmpX60gensym1027__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
										i_10 = ((NI)0);
										T320_ = branchScopeX60gensym915__1.vars.len;
										L_5 = T320_;
										{
											while (1) {
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__35;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__36;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__37;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__38;
												tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T323_;
												NI T324_;
												NI T325_;
												if (!(i_10 < L_5)) goto LA322;
												colontmpD__35 = NIM_NIL;
												colontmpD__36 = NIM_NIL;
												colontmpD__37 = NIM_NIL;
												colontmpD__38 = NIM_NIL;
												tmpX60gensym1027__2 = &branchScopeX60gensym915__1.vars.p->data[i_10];
												nimZeroMem((void*)T323_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
												colontmpD__35 = newSymNode__ast_u5168((*tmpX60gensym1027__2));
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												T323_[0] = colontmpD__35;
												T324_ = (NI)0;
												T324_ = len__ast_u3190(itX60gensym915__2);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												colontmpD__36 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T324_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												T323_[1] = colontmpD__36;
												T325_ = (NI)0;
												T325_ = len__ast_u3190(itX60gensym915__2);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												colontmpD__37 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T325_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												T323_[2] = colontmpD__37;
												colontmpD__38 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T323_, 3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												add__ast_u3215(varSectionX60gensym1027__1, colontmpD__38);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												i_10 += ((NI)1);
												eqdestroy___ast_u3252(colontmpD__38);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												eqdestroy___ast_u3252(colontmpD__37);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												eqdestroy___ast_u3252(colontmpD__36);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
												eqdestroy___ast_u3252(colontmpD__35);
												if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
											} LA322: ;
										}
									}
									add__ast_u3215(resultX60gensym1027__1, varSectionX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
									eqdestroy___ast_u3252(varSectionX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								}
LA316_: ;
								T326_ = (NI)0;
								T326_ = len__ast_u3190(itX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								finSectionX60gensym1027__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym915__2)._kind_6.sons.p->data[(NI)(T326_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1027__1;
									NI i_11;
									NI L_6;
									NI T328_;
									mX60gensym1027__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
									i_11 = ((NI)0);
									T328_ = branchScopeX60gensym915__1.wasMoved.len;
									L_6 = T328_;
									{
										while (1) {
											if (!(i_11 < L_6)) goto LA330;
											mX60gensym1027__1 = &branchScopeX60gensym915__1.wasMoved.p->data[i_11];
											add__ast_u3215(finSectionX60gensym1027__1, (*mX60gensym1027__1));
											if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
											i_11 += ((NI)1);
										} LA330: ;
									}
								}
								{
									NI iX60gensym1027__1;
									NI colontmp__8;
									NI T332_;
									NI res_3;
									iX60gensym1027__1 = (NI)0;
									colontmp__8 = (NI)0;
									T332_ = (branchScopeX60gensym915__1.final.len-1);
									colontmp__8 = T332_;
									res_3 = colontmp__8;
									{
										while (1) {
											if (!(((NI)0) <= res_3)) goto LA334;
											iX60gensym1027__1 = ((NI) (res_3));
											add__ast_u3215(finSectionX60gensym1027__1, branchScopeX60gensym915__1.final.p->data[iX60gensym1027__1]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
											res_3 -= ((NI)1);
										} LA334: ;
									}
								}
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__39;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__40;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__41;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T340_;
									if (!branchScopeX60gensym915__1.needsTry) goto LA337_;
									colontmpD__39 = NIM_NIL;
									colontmpD__40 = NIM_NIL;
									colontmpD__41 = NIM_NIL;
									nimZeroMem((void*)T340_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T340_[0] = cpyX60gensym1027__1;
									colontmpD__39 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1027__1, c_p2, branchScopeX60gensym915__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
									T340_[1] = colontmpD__39;
									colontmpD__40 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T340_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
									colontmpD__41 = newTryFinally__lowerings_u110(colontmpD__40, finSectionX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
									add__ast_u3215(resultX60gensym1027__1, colontmpD__41);
									if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
									{
										LA339_:;
									}
									{
										oldNimErrFin339_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__41);
										if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
										eqdestroy___ast_u3252(colontmpD__40);
										if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
										eqdestroy___ast_u3252(colontmpD__39);
										if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
										*nimErr_ = oldNimErrFin339_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								}
								goto LA335_;
LA337_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__42;
									colontmpD__42 = NIM_NIL;
									add__ast_u3215(resultX60gensym1027__1, cpyX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA344_;
									add__ast_u3215(resultX60gensym1027__1, finSectionX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA344_;
									colontmpD__42 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1027__1, c_p2, branchScopeX60gensym915__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA344_;
									add__ast_u3215(resultX60gensym1027__1, colontmpD__42);
									if (NIM_UNLIKELY(*nimErr_)) goto LA344_;
									{
										LA344_:;
									}
									{
										oldNimErrFin344_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__42);
										if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
										*nimErr_ = oldNimErrFin344_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								}
LA335_: ;
								{
									NIM_BOOL T351_;
									if (!!((branchScopeX60gensym915__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA349_;
									T351_ = (NIM_BOOL)0;
									T351_ = (*branchScopeX60gensym915__1.parent).needsTry;
									if (T351_) goto LA352_;
									T351_ = branchScopeX60gensym915__1.needsTry;
LA352_: ;
									(*branchScopeX60gensym915__1.parent).needsTry = T351_;
								}
LA349_: ;
								T353_ = (NI)0;
								T353_ = len__ast_u3190(branchX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								eqsink___ast_u3261(&(*branchX60gensym915__2)._kind_6.sons.p->data[(NI)(T353_ - ((NI)1))], resultX60gensym1027__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								eqwasMoved___ast_u3249(&resultX60gensym1027__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA291_;
								{
									LA291_:;
								}
								{
									oldNimErrFin291_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(finSectionX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
									eqdestroy___ast_u3252(cpyX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
									eqdestroy___ast_u3252(tmpX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
									eqdestroy___ast_u3252(resultX60gensym1027__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
									*nimErr_ = oldNimErrFin291_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							}
LA259_: ;
							add__ast_u3215(result, branchX60gensym915__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							i_9 += ((NI)1);
							{
								LA252_:;
							}
							{
								oldNimErrFin252_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__31);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___injectdestructors_u127((&branchScopeX60gensym915__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___ast_u3252(branchX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___ast_u3252(itX60gensym915__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								*nimErr_ = oldNimErrFin252_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						} LA251: ;
					}
				}
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
			{
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ tryScopeX60gensym915__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__43;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__44;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T360_;
				nimZeroMem((void*)(&tryScopeX60gensym915__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				colontmpD__43 = NIM_NIL;
				colontmpD__44 = NIM_NIL;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)0)], (&tryScopeX60gensym915__1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
				T360_ = NIM_NIL;
				{
					NIM_BOOL T363_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__45;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__46;
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T368_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T369_;
					T363_ = (NIM_BOOL)0;
					T363_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
					if (T363_) goto LA364_;
					T363_ = NIM_TRUE;
LA364_: ;
					if (!T363_) goto LA365_;
					colontmpD__45 = NIM_NIL;
					colontmpD__46 = NIM_NIL;
					T368_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
					T368_ = (&tryScopeX60gensym915__1);
					T369_ = NIM_NIL;
					{
						NIM_BOOL T372_;
						T372_ = (NIM_BOOL)0;
						T372_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA367_;
						if (!T372_) goto LA373_;
						colontmpD__45 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym915__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA375_;
						T369_ = colontmpD__45;
						{
							LA375_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA367_;
					}
					goto LA370_;
LA373_: ;
					{
						colontmpD__46 = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym915__1), flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA379_;
						T369_ = colontmpD__46;
						{
							LA379_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA367_;
					}
LA370_: ;
					colontmpD__43 = processScope__injectdestructors_u1058(c_p2, T368_, T369_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA367_;
					T360_ = colontmpD__43;
					{
						LA367_:;
					}
					{
						oldNimErrFin367_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__46);
						if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
						eqdestroy___ast_u3252(colontmpD__45);
						if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
						*nimErr_ = oldNimErrFin367_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
				}
				goto LA361_;
LA365_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1052__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1052__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1052__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1052__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T386_;
					resultX60gensym1052__1 = NIM_NIL;
					tmpX60gensym1052__1 = NIM_NIL;
					cpyX60gensym1052__1 = NIM_NIL;
					finSectionX60gensym1052__1 = NIM_NIL;
					resultX60gensym1052__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info, (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					tmpX60gensym1052__1 = getTemp__injectdestructors_u69(c_p2, tryScopeX60gensym915__1.parent, (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField, (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					(*(*tmpX60gensym1052__1)._kind_4.sym).flags = IL64(70368744177664);
					T386_ = NIM_NIL;
					{
						NIM_BOOL T389_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T393_;
						T389_ = (NIM_BOOL)0;
						T389_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
						if (!(T389_)) goto LA390_;
						T389_ = !(((*(*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA390_: ;
						if (!T389_) goto LA391_;
						T393_ = NIM_NIL;
						T393_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T393_); goto LA385_;}
						add__ast_u3225((&(*tryScopeX60gensym915__1.parent).final), T393_);
						cpyX60gensym1052__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1052__1, (*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym915__1), 1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					}
					goto LA387_;
LA391_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__47;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T396_;
						colontmpD__47 = NIM_NIL;
						nimZeroMem((void*)T396_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T396_[0] = tmpX60gensym1052__1;
						colontmpD__47 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym915__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA395_;
						T396_[1] = colontmpD__47;
						cpyX60gensym1052__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T396_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA395_;
						{
							LA395_:;
						}
						{
							oldNimErrFin395_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__47);
							if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
							*nimErr_ = oldNimErrFin395_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					}
LA387_: ;
					{
						NI T401_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1052__1;
						T401_ = tryScopeX60gensym915__1.vars.len;
						if (!(((NI)0) < T401_)) goto LA402_;
						varSectionX60gensym1052__1 = NIM_NIL;
						varSectionX60gensym1052__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1052__2;
							NI i_12;
							NI L_7;
							NI T405_;
							tmpX60gensym1052__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
							i_12 = ((NI)0);
							T405_ = tryScopeX60gensym915__1.vars.len;
							L_7 = T405_;
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__48;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__49;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__50;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__51;
									tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T408_;
									if (!(i_12 < L_7)) goto LA407;
									colontmpD__48 = NIM_NIL;
									colontmpD__49 = NIM_NIL;
									colontmpD__50 = NIM_NIL;
									colontmpD__51 = NIM_NIL;
									tmpX60gensym1052__2 = &tryScopeX60gensym915__1.vars.p->data[i_12];
									nimZeroMem((void*)T408_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
									colontmpD__48 = newSymNode__ast_u5168((*tmpX60gensym1052__2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									T408_[0] = colontmpD__48;
									colontmpD__49 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									T408_[1] = colontmpD__49;
									colontmpD__50 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									T408_[2] = colontmpD__50;
									colontmpD__51 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T408_, 3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									add__ast_u3215(varSectionX60gensym1052__1, colontmpD__51);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									i_12 += ((NI)1);
									eqdestroy___ast_u3252(colontmpD__51);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									eqdestroy___ast_u3252(colontmpD__50);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									eqdestroy___ast_u3252(colontmpD__49);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
									eqdestroy___ast_u3252(colontmpD__48);
									if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
								} LA407: ;
							}
						}
						add__ast_u3215(resultX60gensym1052__1, varSectionX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
						eqdestroy___ast_u3252(varSectionX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					}
LA402_: ;
					finSectionX60gensym1052__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1052__1;
						NI i_13;
						NI L_8;
						NI T410_;
						mX60gensym1052__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						i_13 = ((NI)0);
						T410_ = tryScopeX60gensym915__1.wasMoved.len;
						L_8 = T410_;
						{
							while (1) {
								if (!(i_13 < L_8)) goto LA412;
								mX60gensym1052__1 = &tryScopeX60gensym915__1.wasMoved.p->data[i_13];
								add__ast_u3215(finSectionX60gensym1052__1, (*mX60gensym1052__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
								i_13 += ((NI)1);
							} LA412: ;
						}
					}
					{
						NI iX60gensym1052__1;
						NI colontmp__9;
						NI T414_;
						NI res_4;
						iX60gensym1052__1 = (NI)0;
						colontmp__9 = (NI)0;
						T414_ = (tryScopeX60gensym915__1.final.len-1);
						colontmp__9 = T414_;
						res_4 = colontmp__9;
						{
							while (1) {
								if (!(((NI)0) <= res_4)) goto LA416;
								iX60gensym1052__1 = ((NI) (res_4));
								add__ast_u3215(finSectionX60gensym1052__1, tryScopeX60gensym915__1.final.p->data[iX60gensym1052__1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
								res_4 -= ((NI)1);
							} LA416: ;
						}
					}
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__52;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__53;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__54;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__55;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T422_;
						if (!tryScopeX60gensym915__1.needsTry) goto LA419_;
						colontmpD__52 = NIM_NIL;
						colontmpD__53 = NIM_NIL;
						colontmpD__54 = NIM_NIL;
						colontmpD__55 = NIM_NIL;
						nimZeroMem((void*)T422_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T422_[0] = cpyX60gensym1052__1;
						{
							NIM_BOOL T425_;
							T425_ = (NIM_BOOL)0;
							T425_ = isEmptyType__ast_u7234((*tmpX60gensym1052__1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
							if (!T425_) goto LA426_;
							colontmpD__52 = p__injectdestructors_u159(tmpX60gensym1052__1, c_p2, tryScopeX60gensym915__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA428_;
							T422_[1] = colontmpD__52;
							{
								LA428_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
						}
						goto LA423_;
LA426_: ;
						{
							colontmpD__53 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1052__1, c_p2, tryScopeX60gensym915__1.parent, flags_p4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA432_;
							T422_[1] = colontmpD__53;
							{
								LA432_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
						}
LA423_: ;
						colontmpD__54 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T422_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
						colontmpD__55 = newTryFinally__lowerings_u110(colontmpD__54, finSectionX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
						add__ast_u3215(resultX60gensym1052__1, colontmpD__55);
						if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
						{
							LA421_:;
						}
						{
							oldNimErrFin421_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__55);
							if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
							eqdestroy___ast_u3252(colontmpD__54);
							if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
							eqdestroy___ast_u3252(colontmpD__53);
							if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
							eqdestroy___ast_u3252(colontmpD__52);
							if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
							*nimErr_ = oldNimErrFin421_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					}
					goto LA417_;
LA419_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__56;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__57;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T439_;
						colontmpD__56 = NIM_NIL;
						colontmpD__57 = NIM_NIL;
						add__ast_u3215(resultX60gensym1052__1, cpyX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA438_;
						add__ast_u3215(resultX60gensym1052__1, finSectionX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA438_;
						T439_ = NIM_NIL;
						{
							NIM_BOOL T442_;
							T442_ = (NIM_BOOL)0;
							T442_ = isEmptyType__ast_u7234((*tmpX60gensym1052__1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA438_;
							if (!T442_) goto LA443_;
							colontmpD__56 = p__injectdestructors_u159(tmpX60gensym1052__1, c_p2, tryScopeX60gensym915__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA445_;
							T439_ = colontmpD__56;
							{
								LA445_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA438_;
						}
						goto LA440_;
LA443_: ;
						{
							colontmpD__57 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1052__1, c_p2, tryScopeX60gensym915__1.parent, flags_p4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
							T439_ = colontmpD__57;
							{
								LA449_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA438_;
						}
LA440_: ;
						add__ast_u3215(resultX60gensym1052__1, T439_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA438_;
						{
							LA438_:;
						}
						{
							oldNimErrFin438_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__57);
							if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
							eqdestroy___ast_u3252(colontmpD__56);
							if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
							*nimErr_ = oldNimErrFin438_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					}
LA417_: ;
					{
						NIM_BOOL T458_;
						if (!!((tryScopeX60gensym915__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA456_;
						T458_ = (NIM_BOOL)0;
						T458_ = (*tryScopeX60gensym915__1.parent).needsTry;
						if (T458_) goto LA459_;
						T458_ = tryScopeX60gensym915__1.needsTry;
LA459_: ;
						(*tryScopeX60gensym915__1.parent).needsTry = T458_;
					}
LA456_: ;
					colontmpD__44 = resultX60gensym1052__1;
					eqwasMoved___ast_u3249(&resultX60gensym1052__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA385_;
					T360_ = colontmpD__44;
					{
						LA385_:;
					}
					{
						oldNimErrFin385_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(finSectionX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
						eqdestroy___ast_u3252(cpyX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
						eqdestroy___ast_u3252(tmpX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
						eqdestroy___ast_u3252(resultX60gensym1052__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
						*nimErr_ = oldNimErrFin385_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
				}
LA361_: ;
				add__ast_u3215(result, T360_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
				{
					NI iX60gensym915__5;
					NI colontmp__10;
					NI i_14;
					iX60gensym915__5 = (NI)0;
					colontmp__10 = (NI)0;
					colontmp__10 = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
					i_14 = ((NI)1);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym915__3;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym915__3;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym915__2;
							NI T466_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T467_;
							if (!(i_14 < colontmp__10)) goto LA464;
							itX60gensym915__3 = NIM_NIL;
							branchX60gensym915__3 = NIM_NIL;
							nimZeroMem((void*)(&branchScopeX60gensym915__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
							iX60gensym915__5 = i_14;
							eqcopy___ast_u3255(&itX60gensym915__3, (*ri_2)._kind_6.sons.p->data[iX60gensym915__5]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
							branchX60gensym915__3 = copyTree__ast_u6891(itX60gensym915__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
							T466_ = (NI)0;
							T466_ = len__ast_u3190(itX60gensym915__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
							nestedScope__injectdestructors_u85(s_p3, (*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T466_ - ((NI)1))], (&branchScopeX60gensym915__2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
							T467_ = NIM_NIL;
							{
								NIM_BOOL T470_;
								NIM_BOOL T471_;
								NI T472_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__58;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__59;
								NI T478_;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T479_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T480_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T503_;
								T470_ = (NIM_BOOL)0;
								T471_ = (NIM_BOOL)0;
								T472_ = (NI)0;
								T472_ = len__ast_u3190(itX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
								T471_ = isEmptyType__ast_u7234((*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T472_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
								if (T471_) goto LA473_;
								T471_ = NIM_TRUE;
LA473_: ;
								T470_ = T471_;
								if (T470_) goto LA474_;
								T470_ = ((*itX60gensym915__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107));
LA474_: ;
								if (!T470_) goto LA475_;
								colontmpD__58 = NIM_NIL;
								colontmpD__59 = NIM_NIL;
								T478_ = (NI)0;
								T478_ = len__ast_u3190(branchX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA477_;
								T479_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
								T479_ = (&branchScopeX60gensym915__2);
								T480_ = NIM_NIL;
								{
									NI T486_;
									if (!((*itX60gensym915__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA483_;
									T486_ = (NI)0;
									T486_ = len__ast_u3190(itX60gensym915__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA485_;
									colontmpD__58 = p__injectdestructors_u159((*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T486_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA485_;
									T480_ = colontmpD__58;
									{
										LA485_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA477_;
								}
								goto LA481_;
LA483_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T491_;
									T491_ = NIM_NIL;
									{
										NI T494_;
										NIM_BOOL T495_;
										NI T498_;
										T494_ = (NI)0;
										T494_ = len__ast_u3190(itX60gensym915__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA490_;
										T495_ = (NIM_BOOL)0;
										T495_ = isEmptyType__ast_u7234((*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T494_ - ((NI)1))]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA490_;
										if (!T495_) goto LA496_;
										T498_ = (NI)0;
										T498_ = len__ast_u3190(itX60gensym915__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA490_;
										colontmpD__59 = p__injectdestructors_u159((*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T498_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA490_;
									}
									goto LA492_;
LA496_: ;
									{
										NI T500_;
										T500_ = (NI)0;
										T500_ = len__ast_u3190(itX60gensym915__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA490_;
										colontmpD__59 = moveOrCopy__injectdestructors_u173(dest_p0, (*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T500_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__2), flags_p4);
										if (NIM_UNLIKELY(*nimErr_)) goto LA490_;
									}
LA492_: ;
									T480_ = colontmpD__59;
									{
										LA490_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA477_;
								}
LA481_: ;
								T503_ = NIM_NIL;
								T503_ = processScope__injectdestructors_u1058(c_p2, T479_, T480_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T503_); goto LA477_;}
								eqsink___ast_u3261(&(*branchX60gensym915__3)._kind_6.sons.p->data[(NI)(T478_ - ((NI)1))], T503_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA477_;
								{
									LA477_:;
								}
								{
									oldNimErrFin477_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__59);
									if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
									eqdestroy___ast_u3252(colontmpD__58);
									if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
									*nimErr_ = oldNimErrFin477_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
							}
							goto LA468_;
LA475_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1096__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1096__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1096__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1096__1;
								NI T508_;
								NI T509_;
								NI T510_;
								NI T511_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T512_;
								NI T542_;
								NI T569_;
								resultX60gensym1096__1 = NIM_NIL;
								tmpX60gensym1096__1 = NIM_NIL;
								cpyX60gensym1096__1 = NIM_NIL;
								finSectionX60gensym1096__1 = NIM_NIL;
								T508_ = (NI)0;
								T508_ = len__ast_u3190(itX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								T509_ = (NI)0;
								T509_ = len__ast_u3190(itX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								resultX60gensym1096__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T508_ - ((NI)1))]).info, (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T509_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								T510_ = (NI)0;
								T510_ = len__ast_u3190(itX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								T511_ = (NI)0;
								T511_ = len__ast_u3190(itX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								tmpX60gensym1096__1 = getTemp__injectdestructors_u69(c_p2, branchScopeX60gensym915__2.parent, (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T510_ - ((NI)1))]).typField, (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T511_ - ((NI)1))]).info, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								(*(*tmpX60gensym1096__1)._kind_4.sym).flags = IL64(70368744177664);
								T512_ = NIM_NIL;
								{
									NIM_BOOL T515_;
									NI T516_;
									NI T518_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T521_;
									NI T522_;
									T515_ = (NIM_BOOL)0;
									T516_ = (NI)0;
									T516_ = len__ast_u3190(itX60gensym915__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
									T515_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T516_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
									if (!(T515_)) goto LA517_;
									T518_ = (NI)0;
									T518_ = len__ast_u3190(itX60gensym915__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
									T515_ = !(((*(*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T518_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T518_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA517_: ;
									if (!T515_) goto LA519_;
									T521_ = NIM_NIL;
									T521_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T521_); goto LA507_;}
									add__ast_u3225((&(*branchScopeX60gensym915__2.parent).final), T521_);
									T522_ = (NI)0;
									T522_ = len__ast_u3190(itX60gensym915__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
									cpyX60gensym1096__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1096__1, (*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T522_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__2), 1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								}
								goto LA513_;
LA519_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__60;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T525_;
									NI T526_;
									colontmpD__60 = NIM_NIL;
									nimZeroMem((void*)T525_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T525_[0] = tmpX60gensym1096__1;
									T526_ = (NI)0;
									T526_ = len__ast_u3190(itX60gensym915__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA524_;
									colontmpD__60 = p__injectdestructors_u159((*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T526_ - ((NI)1))], c_p2, (&branchScopeX60gensym915__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA524_;
									T525_[1] = colontmpD__60;
									cpyX60gensym1096__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T525_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA524_;
									{
										LA524_:;
									}
									{
										oldNimErrFin524_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__60);
										if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
										*nimErr_ = oldNimErrFin524_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								}
LA513_: ;
								{
									NI T531_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1096__1;
									NI T534_;
									T531_ = branchScopeX60gensym915__2.vars.len;
									if (!(((NI)0) < T531_)) goto LA532_;
									varSectionX60gensym1096__1 = NIM_NIL;
									T534_ = (NI)0;
									T534_ = len__ast_u3190(itX60gensym915__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
									varSectionX60gensym1096__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T534_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1096__2;
										NI i_15;
										NI L_9;
										NI T536_;
										tmpX60gensym1096__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
										i_15 = ((NI)0);
										T536_ = branchScopeX60gensym915__2.vars.len;
										L_9 = T536_;
										{
											while (1) {
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__61;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__62;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__63;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__64;
												tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T539_;
												NI T540_;
												NI T541_;
												if (!(i_15 < L_9)) goto LA538;
												colontmpD__61 = NIM_NIL;
												colontmpD__62 = NIM_NIL;
												colontmpD__63 = NIM_NIL;
												colontmpD__64 = NIM_NIL;
												tmpX60gensym1096__2 = &branchScopeX60gensym915__2.vars.p->data[i_15];
												nimZeroMem((void*)T539_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
												colontmpD__61 = newSymNode__ast_u5168((*tmpX60gensym1096__2));
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												T539_[0] = colontmpD__61;
												T540_ = (NI)0;
												T540_ = len__ast_u3190(itX60gensym915__3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												colontmpD__62 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T540_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												T539_[1] = colontmpD__62;
												T541_ = (NI)0;
												T541_ = len__ast_u3190(itX60gensym915__3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												colontmpD__63 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T541_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												T539_[2] = colontmpD__63;
												colontmpD__64 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T539_, 3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												add__ast_u3215(varSectionX60gensym1096__1, colontmpD__64);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												i_15 += ((NI)1);
												eqdestroy___ast_u3252(colontmpD__64);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												eqdestroy___ast_u3252(colontmpD__63);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												eqdestroy___ast_u3252(colontmpD__62);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
												eqdestroy___ast_u3252(colontmpD__61);
												if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
											} LA538: ;
										}
									}
									add__ast_u3215(resultX60gensym1096__1, varSectionX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
									eqdestroy___ast_u3252(varSectionX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								}
LA532_: ;
								T542_ = (NI)0;
								T542_ = len__ast_u3190(itX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								finSectionX60gensym1096__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym915__3)._kind_6.sons.p->data[(NI)(T542_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1096__1;
									NI i_16;
									NI L_10;
									NI T544_;
									mX60gensym1096__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
									i_16 = ((NI)0);
									T544_ = branchScopeX60gensym915__2.wasMoved.len;
									L_10 = T544_;
									{
										while (1) {
											if (!(i_16 < L_10)) goto LA546;
											mX60gensym1096__1 = &branchScopeX60gensym915__2.wasMoved.p->data[i_16];
											add__ast_u3215(finSectionX60gensym1096__1, (*mX60gensym1096__1));
											if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
											i_16 += ((NI)1);
										} LA546: ;
									}
								}
								{
									NI iX60gensym1096__1;
									NI colontmp__11;
									NI T548_;
									NI res_5;
									iX60gensym1096__1 = (NI)0;
									colontmp__11 = (NI)0;
									T548_ = (branchScopeX60gensym915__2.final.len-1);
									colontmp__11 = T548_;
									res_5 = colontmp__11;
									{
										while (1) {
											if (!(((NI)0) <= res_5)) goto LA550;
											iX60gensym1096__1 = ((NI) (res_5));
											add__ast_u3215(finSectionX60gensym1096__1, branchScopeX60gensym915__2.final.p->data[iX60gensym1096__1]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
											res_5 -= ((NI)1);
										} LA550: ;
									}
								}
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__65;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__66;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__67;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T556_;
									if (!branchScopeX60gensym915__2.needsTry) goto LA553_;
									colontmpD__65 = NIM_NIL;
									colontmpD__66 = NIM_NIL;
									colontmpD__67 = NIM_NIL;
									nimZeroMem((void*)T556_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T556_[0] = cpyX60gensym1096__1;
									colontmpD__65 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1096__1, c_p2, branchScopeX60gensym915__2.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA555_;
									T556_[1] = colontmpD__65;
									colontmpD__66 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T556_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA555_;
									colontmpD__67 = newTryFinally__lowerings_u110(colontmpD__66, finSectionX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA555_;
									add__ast_u3215(resultX60gensym1096__1, colontmpD__67);
									if (NIM_UNLIKELY(*nimErr_)) goto LA555_;
									{
										LA555_:;
									}
									{
										oldNimErrFin555_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__67);
										if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
										eqdestroy___ast_u3252(colontmpD__66);
										if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
										eqdestroy___ast_u3252(colontmpD__65);
										if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
										*nimErr_ = oldNimErrFin555_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								}
								goto LA551_;
LA553_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__68;
									colontmpD__68 = NIM_NIL;
									add__ast_u3215(resultX60gensym1096__1, cpyX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA560_;
									add__ast_u3215(resultX60gensym1096__1, finSectionX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA560_;
									colontmpD__68 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1096__1, c_p2, branchScopeX60gensym915__2.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA560_;
									add__ast_u3215(resultX60gensym1096__1, colontmpD__68);
									if (NIM_UNLIKELY(*nimErr_)) goto LA560_;
									{
										LA560_:;
									}
									{
										oldNimErrFin560_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__68);
										if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
										*nimErr_ = oldNimErrFin560_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								}
LA551_: ;
								{
									NIM_BOOL T567_;
									if (!!((branchScopeX60gensym915__2.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA565_;
									T567_ = (NIM_BOOL)0;
									T567_ = (*branchScopeX60gensym915__2.parent).needsTry;
									if (T567_) goto LA568_;
									T567_ = branchScopeX60gensym915__2.needsTry;
LA568_: ;
									(*branchScopeX60gensym915__2.parent).needsTry = T567_;
								}
LA565_: ;
								T569_ = (NI)0;
								T569_ = len__ast_u3190(branchX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								eqsink___ast_u3261(&(*branchX60gensym915__3)._kind_6.sons.p->data[(NI)(T569_ - ((NI)1))], resultX60gensym1096__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								eqwasMoved___ast_u3249(&resultX60gensym1096__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA507_;
								{
									LA507_:;
								}
								{
									oldNimErrFin507_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(finSectionX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
									eqdestroy___ast_u3252(cpyX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
									eqdestroy___ast_u3252(tmpX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
									eqdestroy___ast_u3252(resultX60gensym1096__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
									*nimErr_ = oldNimErrFin507_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
							}
LA468_: ;
							add__ast_u3215(result, branchX60gensym915__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
							i_14 += ((NI)1);
							{
								LA465_:;
							}
							{
								oldNimErrFin465_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___injectdestructors_u127((&branchScopeX60gensym915__2));
								if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
								eqdestroy___ast_u3252(branchX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
								eqdestroy___ast_u3252(itX60gensym915__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
								*nimErr_ = oldNimErrFin465_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
						} LA464: ;
					}
				}
				{
					LA359_:;
				}
				{
					oldNimErrFin359_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__44);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD__43);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___injectdestructors_u127((&tryScopeX60gensym915__1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin359_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T577_;
				result = copyTree__ast_u6891(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T577_ = NIM_NIL;
				T577_ = moveOrCopy__injectdestructors_u173(dest_p0, (*(*ri_2)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T577_); goto LA1_;}
				eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T577_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaListX60gensym915__1;
				NI inUncheckedAssignSectionX60gensym915__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T597_;
				pragmaListX60gensym915__1 = NIM_NIL;
				inUncheckedAssignSectionX60gensym915__1 = ((NI)0);
				eqcopy___ast_u3255(&pragmaListX60gensym915__1, (*ri_2)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* piX60gensym915__1;
					piX60gensym915__1 = NIM_NIL;
					{
						NI i_17;
						NI colontmp__12;
						NI i_18;
						i_17 = (NI)0;
						colontmp__12 = (NI)0;
						colontmp__12 = safeLen__ast_u3197(pragmaListX60gensym915__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
						i_18 = ((NI)0);
						{
							while (1) {
								if (!(i_18 < colontmp__12)) goto LA583;
								i_17 = i_18;
								eqcopy___ast_u3255(&piX60gensym915__1, (*pragmaListX60gensym915__1)._kind_6.sons.p->data[i_17]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
								{
									tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T586_;
									tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T589_;
									T586_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
									T586_ = whichPragma__trees_u218(piX60gensym915__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
									if (!(T586_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9))) goto LA587_;
									T589_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
									T589_ = whichPragma__trees_u218((*piX60gensym915__1)._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
									switch (T589_) {
									case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)87):
									{
										inUncheckedAssignSectionX60gensym915__1 = ((NI)1);
									}
									break;
									default:
									{
									}
									break;
									}
								}
LA587_: ;
								i_18 += ((NI)1);
							} LA583: ;
						}
					}
					eqdestroy___ast_u3252(piX60gensym915__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
				}
				result = shallowCopy__ast_u6876(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
				(*c_p2).inUncheckedAssignSection += inUncheckedAssignSectionX60gensym915__1;
				{
					NI iX60gensym915__6;
					NI colontmp__13;
					NI T593_;
					NI i_19;
					iX60gensym915__6 = (NI)0;
					colontmp__13 = (NI)0;
					T593_ = (NI)0;
					T593_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
					colontmp__13 = (NI)(T593_ - ((NI)1));
					i_19 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T596_;
							if (!(i_19 < colontmp__13)) goto LA595;
							iX60gensym915__6 = i_19;
							T596_ = NIM_NIL;
							T596_ = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[iX60gensym915__6], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T596_); goto LA579_;}
							eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[iX60gensym915__6], T596_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
							i_19 += ((NI)1);
						} LA595: ;
					}
				}
				T597_ = NIM_NIL;
				{
					NI T600_;
					NIM_BOOL T601_;
					NI T604_;
					NI T605_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T606_;
					T600_ = (NI)0;
					T600_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
					T601_ = (NIM_BOOL)0;
					T601_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[(NI)(T600_ - ((NI)1))]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
					if (!T601_) goto LA602_;
					T604_ = (NI)0;
					T604_ = len__ast_u3190(result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
					T605_ = (NI)0;
					T605_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
					T606_ = NIM_NIL;
					T606_ = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[(NI)(T605_ - ((NI)1))], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T606_); goto LA579_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T604_ - ((NI)1))], T606_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
				}
				goto LA598_;
LA602_: ;
				{
					NI T608_;
					NI T609_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T610_;
					T608_ = (NI)0;
					T608_ = len__ast_u3190(result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
					T609_ = (NI)0;
					T609_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
					T610_ = NIM_NIL;
					T610_ = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[(NI)(T609_ - ((NI)1))], c_p2, s_p3, flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T610_); goto LA579_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T608_ - ((NI)1))], T610_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA579_;
				}
LA598_: ;
				(*c_p2).inUncheckedAssignSection -= inUncheckedAssignSectionX60gensym915__1;
				{
					LA579_:;
				}
				{
					oldNimErrFin579_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(pragmaListX60gensym915__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin579_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			default:
			{
				result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			}
			break;
			}
		}
		break;
		default:
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__69;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T616_;
			colontmpD__69 = NIM_NIL;
			nimZeroMem((void*)T616_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T616_[0] = dest_p0;
			colontmpD__69 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA615_;
			T616_[1] = colontmpD__69;
			result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T616_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA615_;
			{
				LA615_:;
			}
			{
				oldNimErrFin615_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__69);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin615_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		}
	}
	goto LA10_;
LA18_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri2_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T621_;
		ri2_1 = NIM_NIL;
		T621_ = NIM_NIL;
		{
			if (!((*ri_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93))) goto LA624_;
			eqcopy___ast_u3255(&ri2_1, (*(*ri_2)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
		}
		goto LA622_;
LA624_: ;
		{
			eqcopy___ast_u3255(&ri2_1, ri_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
		}
LA622_: ;
		switch ((*ri2_1).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__70;
			colontmpD__70 = NIM_NIL;
			colontmpD__70 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA628_;
			result = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, colontmpD__70, flags_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA628_;
			{
				LA628_:;
			}
			{
				oldNimErrFin628_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__70);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				*nimErr_ = oldNimErrFin628_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
		{
			{
				NIM_BOOL T634_;
				NIM_BOOL T635_;
				NIM_BOOL T636_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__71;
				T634_ = (NIM_BOOL)0;
				T635_ = (NIM_BOOL)0;
				T636_ = (NIM_BOOL)0;
				T636_ = ((*(*ri_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T636_)) goto LA637_;
				T636_ = ((*(*(*ri_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5));
LA637_: ;
				T635_ = T636_;
				if (!(T635_)) goto LA638_;
				T635_ = ((*(*(*(*ri_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
LA638_: ;
				T634_ = T635_;
				if (!(T634_)) goto LA639_;
				T634_ = !((((*(*(*ri_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41)))&63U)))!=0));
LA639_: ;
				if (!T634_) goto LA640_;
				colontmpD__71 = NIM_NIL;
				colontmpD__71 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA642_;
				result = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, colontmpD__71, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA642_;
				{
					LA642_:;
				}
				{
					oldNimErrFin642_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__71);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin642_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			goto LA632_;
LA640_: ;
			{
				NIM_BOOL T646_;
				T646_ = (NIM_BOOL)0;
				T646_ = isAnalysableFieldAccess__aliasanalysis_u8(ri_2, (*c_p2).owner);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				if (!(T646_)) goto LA647_;
				T646_ = isLastRead__injectdestructors_u433(ri_2, c_p2, s_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
LA647_: ;
				if (!T646_) goto LA648_;
				{
					tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg T652_;
					T652_ = (tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)0;
					T652_ = aliases__aliasanalysis_u67(dest_p0, ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					if (!(T652_ == ((tyEnum_AliasKind__lRVSpyjZSQUjiqOwUaCudg)1))) goto LA653_;
					{
						NIM_BOOL T657_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* snk_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__72;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T661_;
						T657_ = (NIM_BOOL)0;
						T657_ = isAtom__ast_u7223((*ri_2)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
						if (!T657_) goto LA658_;
						snk_1 = NIM_NIL;
						colontmpD__72 = NIM_NIL;
						snk_1 = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, ri_2, flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA660_;
						nimZeroMem((void*)T661_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T661_[0] = snk_1;
						colontmpD__72 = genWasMoved__injectdestructors_u796(c_p2, ri_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA660_;
						T661_[1] = colontmpD__72;
						result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T661_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA660_;
						{
							LA660_:;
						}
						{
							oldNimErrFin660_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__72);
							if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
							eqdestroy___ast_u3252(snk_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
							*nimErr_ = oldNimErrFin660_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					}
					goto LA655_;
LA658_: ;
					{
						result = genFieldAccessSideEffects__injectdestructors_u2499(c_p2, s_p3, dest_p0, ri_2, flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					}
LA655_: ;
				}
				goto LA650_;
LA653_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__73;
					colontmpD__73 = NIM_NIL;
					colontmpD__73 = destructiveMoveVar__injectdestructors_u815(ri_2, c_p2, s_p3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA666_;
					result = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, colontmpD__73, flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA666_;
					{
						LA666_:;
					}
					{
						oldNimErrFin666_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__73);
						if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
						*nimErr_ = oldNimErrFin666_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				}
LA650_: ;
			}
			goto LA632_;
LA648_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__74;
				colontmpD__74 = NIM_NIL;
				(*c_p2).inEnsureMove += isEnsureMove_1;
				result = genCopy__injectdestructors_u741(c_p2, dest_p0, ri_2, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA670_;
				(*c_p2).inEnsureMove -= isEnsureMove_1;
				colontmpD__74 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA670_;
				add__ast_u3215(result, colontmpD__74);
				if (NIM_UNLIKELY(*nimErr_)) goto LA670_;
				finishCopy__injectdestructors_u694(c_p2, result, dest_p0, flags_p4, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA670_;
				{
					LA670_:;
				}
				{
					oldNimErrFin670_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__74);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin670_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
LA632_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
		{
			{
				NIM_BOOL T676_;
				NI T677_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__75;
				T676_ = (NIM_BOOL)0;
				T677_ = (NI)0;
				T677_ = len__ast_u3190(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				T676_ = (((NI)0) < T677_);
				if (!(T676_)) goto LA678_;
				T676_ = isDangerousSeq__injectdestructors_u909((*ri_2).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
LA678_: ;
				if (!T676_) goto LA679_;
				colontmpD__75 = NIM_NIL;
				(*c_p2).inEnsureMove += isEnsureMove_1;
				result = genCopy__injectdestructors_u741(c_p2, dest_p0, ri_2, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA681_;
				(*c_p2).inEnsureMove -= isEnsureMove_1;
				colontmpD__75 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA681_;
				add__ast_u3215(result, colontmpD__75);
				if (NIM_UNLIKELY(*nimErr_)) goto LA681_;
				finishCopy__injectdestructors_u694(c_p2, result, dest_p0, flags_p4, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA681_;
				{
					LA681_:;
				}
				{
					oldNimErrFin681_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__75);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin681_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			goto LA674_;
LA679_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__76;
				colontmpD__76 = NIM_NIL;
				colontmpD__76 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA685_;
				result = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, colontmpD__76, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA685_;
				{
					LA685_:;
				}
				{
					oldNimErrFin685_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__76);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin685_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
LA674_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__77;
			colontmpD__77 = NIM_NIL;
			colontmpD__77 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA689_;
			result = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, colontmpD__77, flags_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA689_;
			{
				LA689_:;
			}
			{
				oldNimErrFin689_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__77);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				*nimErr_ = oldNimErrFin689_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
		{
			{
				NIM_BOOL T695_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* snk_2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__78;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T700_;
				T695_ = (NIM_BOOL)0;
				T695_ = isSinkParam__ast_u7466((*ri_2)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				if (!(T695_)) goto LA696_;
				T695_ = isLastRead__injectdestructors_u433(ri_2, c_p2, s_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
LA696_: ;
				if (!T695_) goto LA697_;
				snk_2 = NIM_NIL;
				colontmpD__78 = NIM_NIL;
				snk_2 = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, ri_2, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA699_;
				nimZeroMem((void*)T700_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T700_[0] = snk_2;
				colontmpD__78 = genWasMoved__injectdestructors_u796(c_p2, ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA699_;
				T700_[1] = colontmpD__78;
				result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T700_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA699_;
				{
					LA699_:;
				}
				{
					oldNimErrFin699_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__78);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(snk_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin699_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			goto LA693_;
LA697_: ;
			{
				NIM_BOOL T704_;
				NIM_BOOL T705_;
				NIM_BOOL T706_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* snk_3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__79;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T713_;
				T704_ = (NIM_BOOL)0;
				T705_ = (NIM_BOOL)0;
				T706_ = (NIM_BOOL)0;
				T706_ = !(((*(*ri_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3)));
				if (!(T706_)) goto LA707_;
				T706_ = isAnalysableFieldAccess__aliasanalysis_u8(ri_2, (*c_p2).owner);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
LA707_: ;
				T705_ = T706_;
				if (!(T705_)) goto LA708_;
				T705_ = isLastRead__injectdestructors_u433(ri_2, c_p2, s_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
LA708_: ;
				T704_ = T705_;
				if (!(T704_)) goto LA709_;
				T704_ = canBeMoved__injectdestructors_u608((&(*c_p2)), (*dest_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
LA709_: ;
				if (!T704_) goto LA710_;
				snk_3 = NIM_NIL;
				colontmpD__79 = NIM_NIL;
				snk_3 = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, ri_2, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA712_;
				nimZeroMem((void*)T713_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T713_[0] = snk_3;
				colontmpD__79 = genWasMoved__injectdestructors_u796(c_p2, ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA712_;
				T713_[1] = colontmpD__79;
				result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T713_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA712_;
				{
					LA712_:;
				}
				{
					oldNimErrFin712_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__79);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(snk_3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin712_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			goto LA693_;
LA710_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__80;
				colontmpD__80 = NIM_NIL;
				(*c_p2).inEnsureMove += isEnsureMove_1;
				result = genCopy__injectdestructors_u741(c_p2, dest_p0, ri_2, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA717_;
				(*c_p2).inEnsureMove -= isEnsureMove_1;
				colontmpD__80 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA717_;
				add__ast_u3215(result, colontmpD__80);
				if (NIM_UNLIKELY(*nimErr_)) goto LA717_;
				finishCopy__injectdestructors_u694(c_p2, result, dest_p0, flags_p4, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA717_;
				{
					LA717_:;
				}
				{
					oldNimErrFin717_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__80);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin717_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
LA693_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
		{
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__81;
				if (!((flags_p4 &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA)1)))&7U)))!=0)) goto LA723_;
				colontmpD__81 = NIM_NIL;
				colontmpD__81 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA725_;
				result = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, colontmpD__81, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA725_;
				{
					LA725_:;
				}
				{
					oldNimErrFin725_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__81);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin725_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			goto LA721_;
LA723_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__82;
				colontmpD__82 = NIM_NIL;
				colontmpD__82 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA729_;
				result = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, colontmpD__82, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA729_;
				{
					LA729_:;
				}
				{
					oldNimErrFin729_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__82);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin729_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
LA721_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
		{
			switch ((*ri_2).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__83;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__84;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T747_;
				colontmpD__83 = NIM_NIL;
				colontmpD__84 = NIM_NIL;
				{
					NI T737_;
					T737_ = (NI)0;
					T737_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
					if (!(T737_ == ((NI)0))) goto LA738_;
					result = ri_2;
					eqwasMoved___ast_u3249(&ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
					eqdestroy___ast_u3252(colontmpD__84);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(colontmpD__83);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(ri2_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA738_: ;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
				{
					NI iX60gensym1148__1;
					NI colontmp__14;
					NI T741_;
					NI i_20;
					iX60gensym1148__1 = (NI)0;
					colontmp__14 = (NI)0;
					T741_ = (NI)0;
					T741_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
					colontmp__14 = (NI)(T741_ - ((NI)1));
					i_20 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__85;
							if (!(i_20 < colontmp__14)) goto LA743;
							colontmpD__85 = NIM_NIL;
							iX60gensym1148__1 = i_20;
							colontmpD__85 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[iX60gensym1148__1], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA744_;
							add__ast_u3215(result, colontmpD__85);
							if (NIM_UNLIKELY(*nimErr_)) goto LA744_;
							i_20 += ((NI)1);
							{
								LA744_:;
							}
							{
								oldNimErrFin744_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__85);
								if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
								*nimErr_ = oldNimErrFin744_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
						} LA743: ;
					}
				}
				T747_ = NIM_NIL;
				{
					NI T750_;
					NIM_BOOL T751_;
					NI T755_;
					T750_ = (NI)0;
					T750_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
					T751_ = (NIM_BOOL)0;
					T751_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[(NI)(T750_ - ((NI)1))]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
					if (!T751_) goto LA752_;
					T755_ = (NI)0;
					T755_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA754_;
					colontmpD__83 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[(NI)(T755_ - ((NI)1))], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA754_;
					T747_ = colontmpD__83;
					{
						LA754_:;
					}
					{
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
				}
				goto LA748_;
LA752_: ;
				{
					NI T760_;
					T760_ = (NI)0;
					T760_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA759_;
					colontmpD__84 = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[(NI)(T760_ - ((NI)1))], c_p2, s_p3, flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA759_;
					T747_ = colontmpD__84;
					{
						LA759_:;
					}
					{
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
				}
LA748_: ;
				add__ast_u3215(result, T747_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA734_;
				{
					LA734_:;
				}
				{
					oldNimErrFin734_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__84);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(colontmpD__83);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin734_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__86;
				colontmpD__86 = NIM_NIL;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
				colontmpD__86 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
				add__ast_u3215(result, colontmpD__86);
				if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
				{
					NI iX60gensym1148__2;
					NI colontmp__15;
					NI i_21;
					iX60gensym1148__2 = (NI)0;
					colontmp__15 = (NI)0;
					colontmp__15 = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
					i_21 = ((NI)1);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym1148__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym1148__1;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ ofScopeX60gensym1148__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__87;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T776_;
							if (!(i_21 < colontmp__15)) goto LA769;
							itX60gensym1148__1 = NIM_NIL;
							branchX60gensym1148__1 = NIM_NIL;
							nimZeroMem((void*)(&ofScopeX60gensym1148__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
							colontmpD__87 = NIM_NIL;
							iX60gensym1148__2 = i_21;
							eqcopy___ast_u3255(&itX60gensym1148__1, (*ri_2)._kind_6.sons.p->data[iX60gensym1148__2]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
							branchX60gensym1148__1 = shallowCopy__ast_u6876(itX60gensym1148__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
							{
								NI jX60gensym1148__1;
								NI colontmp__16;
								NI T772_;
								NI i_22;
								jX60gensym1148__1 = (NI)0;
								colontmp__16 = (NI)0;
								T772_ = (NI)0;
								T772_ = len__ast_u3190(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
								colontmp__16 = (NI)(T772_ - ((NI)1));
								i_22 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T775_;
										if (!(i_22 < colontmp__16)) goto LA774;
										jX60gensym1148__1 = i_22;
										T775_ = NIM_NIL;
										T775_ = copyTree__ast_u6891((*itX60gensym1148__1)._kind_6.sons.p->data[jX60gensym1148__1]);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T775_); goto LA770_;}
										eqsink___ast_u3261(&(*branchX60gensym1148__1)._kind_6.sons.p->data[jX60gensym1148__1], T775_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
										i_22 += ((NI)1);
									} LA774: ;
								}
							}
							colontmpD__87 = lastSon__ast_u5208(itX60gensym1148__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
							nestedScope__injectdestructors_u85(s_p3, colontmpD__87, (&ofScopeX60gensym1148__1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
							T776_ = NIM_NIL;
							{
								NIM_BOOL T779_;
								NIM_BOOL T780_;
								NI T782_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__88;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__89;
								NI T787_;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T788_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T789_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T805_;
								T779_ = (NIM_BOOL)0;
								T780_ = (NIM_BOOL)0;
								T780_ = isEmptyType__ast_u7234((*ri_2).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
								if (T780_) goto LA781_;
								T782_ = (NI)0;
								T782_ = len__ast_u3190(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
								T780_ = isEmptyType__ast_u7234((*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T782_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
LA781_: ;
								T779_ = T780_;
								if (T779_) goto LA783_;
								T779_ = NIM_TRUE;
LA783_: ;
								if (!T779_) goto LA784_;
								colontmpD__88 = NIM_NIL;
								colontmpD__89 = NIM_NIL;
								T787_ = (NI)0;
								T787_ = len__ast_u3190(branchX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA786_;
								T788_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
								T788_ = (&ofScopeX60gensym1148__1);
								T789_ = NIM_NIL;
								{
									NI T792_;
									NIM_BOOL T793_;
									NI T797_;
									T792_ = (NI)0;
									T792_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA786_;
									T793_ = (NIM_BOOL)0;
									T793_ = isEmptyType__ast_u7234((*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T792_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA786_;
									if (!T793_) goto LA794_;
									T797_ = (NI)0;
									T797_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA796_;
									colontmpD__88 = p__injectdestructors_u159((*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T797_ - ((NI)1))], c_p2, (&ofScopeX60gensym1148__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA796_;
									T789_ = colontmpD__88;
									{
										LA796_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA786_;
								}
								goto LA790_;
LA794_: ;
								{
									NI T802_;
									T802_ = (NI)0;
									T802_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA801_;
									colontmpD__89 = moveOrCopy__injectdestructors_u173(dest_p0, (*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T802_ - ((NI)1))], c_p2, (&ofScopeX60gensym1148__1), flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA801_;
									T789_ = colontmpD__89;
									{
										LA801_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA786_;
								}
LA790_: ;
								T805_ = NIM_NIL;
								T805_ = processScope__injectdestructors_u1058(c_p2, T788_, T789_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T805_); goto LA786_;}
								eqsink___ast_u3261(&(*branchX60gensym1148__1)._kind_6.sons.p->data[(NI)(T787_ - ((NI)1))], T805_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA786_;
								{
									LA786_:;
								}
								{
									oldNimErrFin786_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__89);
									if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
									eqdestroy___ast_u3252(colontmpD__88);
									if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
									*nimErr_ = oldNimErrFin786_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
							}
							goto LA777_;
LA784_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1190__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1190__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1190__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1190__1;
								NI T810_;
								NI T811_;
								NI T812_;
								NI T813_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T814_;
								NI T844_;
								NI T871_;
								resultX60gensym1190__1 = NIM_NIL;
								tmpX60gensym1190__1 = NIM_NIL;
								cpyX60gensym1190__1 = NIM_NIL;
								finSectionX60gensym1190__1 = NIM_NIL;
								T810_ = (NI)0;
								T810_ = len__ast_u3190(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								T811_ = (NI)0;
								T811_ = len__ast_u3190(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								resultX60gensym1190__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T810_ - ((NI)1))]).info, (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T811_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								T812_ = (NI)0;
								T812_ = len__ast_u3190(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								T813_ = (NI)0;
								T813_ = len__ast_u3190(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								tmpX60gensym1190__1 = getTemp__injectdestructors_u69(c_p2, ofScopeX60gensym1148__1.parent, (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T812_ - ((NI)1))]).typField, (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T813_ - ((NI)1))]).info, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								(*(*tmpX60gensym1190__1)._kind_4.sym).flags = IL64(70368744177664);
								T814_ = NIM_NIL;
								{
									NIM_BOOL T817_;
									NI T818_;
									NI T820_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T823_;
									NI T824_;
									T817_ = (NIM_BOOL)0;
									T818_ = (NI)0;
									T818_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
									T817_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T818_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
									if (!(T817_)) goto LA819_;
									T820_ = (NI)0;
									T820_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
									T817_ = !(((*(*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T820_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T820_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA819_: ;
									if (!T817_) goto LA821_;
									T823_ = NIM_NIL;
									T823_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T823_); goto LA809_;}
									add__ast_u3225((&(*ofScopeX60gensym1148__1.parent).final), T823_);
									T824_ = (NI)0;
									T824_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
									cpyX60gensym1190__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1190__1, (*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T824_ - ((NI)1))], c_p2, (&ofScopeX60gensym1148__1), 1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								}
								goto LA815_;
LA821_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__90;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T827_;
									NI T828_;
									colontmpD__90 = NIM_NIL;
									nimZeroMem((void*)T827_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T827_[0] = tmpX60gensym1190__1;
									T828_ = (NI)0;
									T828_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA826_;
									colontmpD__90 = p__injectdestructors_u159((*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T828_ - ((NI)1))], c_p2, (&ofScopeX60gensym1148__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA826_;
									T827_[1] = colontmpD__90;
									cpyX60gensym1190__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T827_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA826_;
									{
										LA826_:;
									}
									{
										oldNimErrFin826_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__90);
										if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
										*nimErr_ = oldNimErrFin826_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								}
LA815_: ;
								{
									NI T833_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1190__1;
									NI T836_;
									T833_ = ofScopeX60gensym1148__1.vars.len;
									if (!(((NI)0) < T833_)) goto LA834_;
									varSectionX60gensym1190__1 = NIM_NIL;
									T836_ = (NI)0;
									T836_ = len__ast_u3190(itX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
									varSectionX60gensym1190__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T836_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1190__2;
										NI i_23;
										NI L_11;
										NI T838_;
										tmpX60gensym1190__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
										i_23 = ((NI)0);
										T838_ = ofScopeX60gensym1148__1.vars.len;
										L_11 = T838_;
										{
											while (1) {
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__91;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__92;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__93;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__94;
												tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T841_;
												NI T842_;
												NI T843_;
												if (!(i_23 < L_11)) goto LA840;
												colontmpD__91 = NIM_NIL;
												colontmpD__92 = NIM_NIL;
												colontmpD__93 = NIM_NIL;
												colontmpD__94 = NIM_NIL;
												tmpX60gensym1190__2 = &ofScopeX60gensym1148__1.vars.p->data[i_23];
												nimZeroMem((void*)T841_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
												colontmpD__91 = newSymNode__ast_u5168((*tmpX60gensym1190__2));
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												T841_[0] = colontmpD__91;
												T842_ = (NI)0;
												T842_ = len__ast_u3190(itX60gensym1148__1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												colontmpD__92 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T842_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												T841_[1] = colontmpD__92;
												T843_ = (NI)0;
												T843_ = len__ast_u3190(itX60gensym1148__1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												colontmpD__93 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T843_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												T841_[2] = colontmpD__93;
												colontmpD__94 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T841_, 3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												add__ast_u3215(varSectionX60gensym1190__1, colontmpD__94);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												i_23 += ((NI)1);
												eqdestroy___ast_u3252(colontmpD__94);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												eqdestroy___ast_u3252(colontmpD__93);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												eqdestroy___ast_u3252(colontmpD__92);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
												eqdestroy___ast_u3252(colontmpD__91);
												if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
											} LA840: ;
										}
									}
									add__ast_u3215(resultX60gensym1190__1, varSectionX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
									eqdestroy___ast_u3252(varSectionX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								}
LA834_: ;
								T844_ = (NI)0;
								T844_ = len__ast_u3190(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								finSectionX60gensym1190__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym1148__1)._kind_6.sons.p->data[(NI)(T844_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1190__1;
									NI i_24;
									NI L_12;
									NI T846_;
									mX60gensym1190__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
									i_24 = ((NI)0);
									T846_ = ofScopeX60gensym1148__1.wasMoved.len;
									L_12 = T846_;
									{
										while (1) {
											if (!(i_24 < L_12)) goto LA848;
											mX60gensym1190__1 = &ofScopeX60gensym1148__1.wasMoved.p->data[i_24];
											add__ast_u3215(finSectionX60gensym1190__1, (*mX60gensym1190__1));
											if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
											i_24 += ((NI)1);
										} LA848: ;
									}
								}
								{
									NI iX60gensym1190__1;
									NI colontmp__17;
									NI T850_;
									NI res_6;
									iX60gensym1190__1 = (NI)0;
									colontmp__17 = (NI)0;
									T850_ = (ofScopeX60gensym1148__1.final.len-1);
									colontmp__17 = T850_;
									res_6 = colontmp__17;
									{
										while (1) {
											if (!(((NI)0) <= res_6)) goto LA852;
											iX60gensym1190__1 = ((NI) (res_6));
											add__ast_u3215(finSectionX60gensym1190__1, ofScopeX60gensym1148__1.final.p->data[iX60gensym1190__1]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
											res_6 -= ((NI)1);
										} LA852: ;
									}
								}
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__95;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__96;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__97;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T858_;
									if (!ofScopeX60gensym1148__1.needsTry) goto LA855_;
									colontmpD__95 = NIM_NIL;
									colontmpD__96 = NIM_NIL;
									colontmpD__97 = NIM_NIL;
									nimZeroMem((void*)T858_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T858_[0] = cpyX60gensym1190__1;
									colontmpD__95 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1190__1, c_p2, ofScopeX60gensym1148__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA857_;
									T858_[1] = colontmpD__95;
									colontmpD__96 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T858_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA857_;
									colontmpD__97 = newTryFinally__lowerings_u110(colontmpD__96, finSectionX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA857_;
									add__ast_u3215(resultX60gensym1190__1, colontmpD__97);
									if (NIM_UNLIKELY(*nimErr_)) goto LA857_;
									{
										LA857_:;
									}
									{
										oldNimErrFin857_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__97);
										if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
										eqdestroy___ast_u3252(colontmpD__96);
										if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
										eqdestroy___ast_u3252(colontmpD__95);
										if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
										*nimErr_ = oldNimErrFin857_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								}
								goto LA853_;
LA855_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__98;
									colontmpD__98 = NIM_NIL;
									add__ast_u3215(resultX60gensym1190__1, cpyX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA862_;
									add__ast_u3215(resultX60gensym1190__1, finSectionX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA862_;
									colontmpD__98 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1190__1, c_p2, ofScopeX60gensym1148__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA862_;
									add__ast_u3215(resultX60gensym1190__1, colontmpD__98);
									if (NIM_UNLIKELY(*nimErr_)) goto LA862_;
									{
										LA862_:;
									}
									{
										oldNimErrFin862_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__98);
										if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
										*nimErr_ = oldNimErrFin862_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								}
LA853_: ;
								{
									NIM_BOOL T869_;
									if (!!((ofScopeX60gensym1148__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA867_;
									T869_ = (NIM_BOOL)0;
									T869_ = (*ofScopeX60gensym1148__1.parent).needsTry;
									if (T869_) goto LA870_;
									T869_ = ofScopeX60gensym1148__1.needsTry;
LA870_: ;
									(*ofScopeX60gensym1148__1.parent).needsTry = T869_;
								}
LA867_: ;
								T871_ = (NI)0;
								T871_ = len__ast_u3190(branchX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								eqsink___ast_u3261(&(*branchX60gensym1148__1)._kind_6.sons.p->data[(NI)(T871_ - ((NI)1))], resultX60gensym1190__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								eqwasMoved___ast_u3249(&resultX60gensym1190__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA809_;
								{
									LA809_:;
								}
								{
									oldNimErrFin809_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(finSectionX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
									eqdestroy___ast_u3252(cpyX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
									eqdestroy___ast_u3252(tmpX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
									eqdestroy___ast_u3252(resultX60gensym1190__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
									*nimErr_ = oldNimErrFin809_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
							}
LA777_: ;
							add__ast_u3215(result, branchX60gensym1148__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA770_;
							i_21 += ((NI)1);
							{
								LA770_:;
							}
							{
								oldNimErrFin770_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__87);
								if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
								eqdestroy___injectdestructors_u127((&ofScopeX60gensym1148__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
								eqdestroy___ast_u3252(branchX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
								eqdestroy___ast_u3252(itX60gensym1148__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
								*nimErr_ = oldNimErrFin770_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
						} LA769: ;
					}
				}
				{
					LA766_:;
				}
				{
					oldNimErrFin766_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__86);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin766_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__99;
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym1148__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym1148__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__100;
				colontmpD__99 = NIM_NIL;
				nimZeroMem((void*)(&bodyScopeX60gensym1148__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				bodyResultX60gensym1148__1 = NIM_NIL;
				colontmpD__100 = NIM_NIL;
				(*c_p2).inLoop += ((NI)1);
				(*c_p2).inLoopCond += ((NI)1);
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA879_;
				colontmpD__99 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA879_;
				add__ast_u3215(result, colontmpD__99);
				if (NIM_UNLIKELY(*nimErr_)) goto LA879_;
				(*c_p2).inLoopCond -= ((NI)1);
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym1148__1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA879_;
				bodyResultX60gensym1148__1 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym1148__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA879_;
				colontmpD__100 = processScope__injectdestructors_u1058(c_p2, (&bodyScopeX60gensym1148__1), bodyResultX60gensym1148__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA879_;
				add__ast_u3215(result, colontmpD__100);
				if (NIM_UNLIKELY(*nimErr_)) goto LA879_;
				(*c_p2).inLoop -= ((NI)1);
				{
					LA879_:;
				}
				{
					oldNimErrFin879_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__100);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(bodyResultX60gensym1148__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___injectdestructors_u127((&bodyScopeX60gensym1148__1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(colontmpD__99);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin879_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
			{
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym1148__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym1148__2;
				NI lastX60gensym1148__1;
				NI T884_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T888_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T889_;
				nimZeroMem((void*)(&bodyScopeX60gensym1148__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				bodyResultX60gensym1148__2 = NIM_NIL;
				(*c_p2).inLoop += ((NI)1);
				result = shallowCopy__ast_u6876(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA883_;
				T884_ = (NI)0;
				T884_ = len__ast_u3190(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA883_;
				lastX60gensym1148__1 = (NI)(T884_ - ((NI)1));
				{
					NI iX60gensym1148__3;
					NI colontmp__18;
					NI i_25;
					iX60gensym1148__3 = (NI)0;
					colontmp__18 = (NI)0;
					colontmp__18 = (NI)(lastX60gensym1148__1 - ((NI)1));
					i_25 = ((NI)0);
					{
						while (1) {
							if (!(i_25 < colontmp__18)) goto LA887;
							iX60gensym1148__3 = i_25;
							eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[iX60gensym1148__3], (*ri_2)._kind_6.sons.p->data[iX60gensym1148__3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA883_;
							i_25 += ((NI)1);
						} LA887: ;
					}
				}
				T888_ = NIM_NIL;
				T888_ = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[(NI)(lastX60gensym1148__1 - ((NI)1))], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T888_); goto LA883_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(lastX60gensym1148__1 - ((NI)1))], T888_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA883_;
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym1148__2));
				if (NIM_UNLIKELY(*nimErr_)) goto LA883_;
				bodyResultX60gensym1148__2 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[lastX60gensym1148__1], c_p2, (&bodyScopeX60gensym1148__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA883_;
				T889_ = NIM_NIL;
				T889_ = processScope__injectdestructors_u1058(c_p2, (&bodyScopeX60gensym1148__2), bodyResultX60gensym1148__2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T889_); goto LA883_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[lastX60gensym1148__1], T889_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA883_;
				(*c_p2).inLoop -= ((NI)1);
				{
					LA883_:;
				}
				{
					oldNimErrFin883_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(bodyResultX60gensym1148__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___injectdestructors_u127((&bodyScopeX60gensym1148__2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin883_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
			{
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym1148__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__101;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__102;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T894_;
				nimZeroMem((void*)(&bodyScopeX60gensym1148__3), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				colontmpD__101 = NIM_NIL;
				colontmpD__102 = NIM_NIL;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
				add__ast_u3215(result, (*ri_2)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym1148__3));
				if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
				T894_ = NIM_NIL;
				{
					NIM_BOOL T897_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__103;
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T902_;
					T897_ = (NIM_BOOL)0;
					T897_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
					if (T897_) goto LA898_;
					T897_ = NIM_TRUE;
LA898_: ;
					if (!T897_) goto LA899_;
					colontmpD__103 = NIM_NIL;
					T902_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
					T902_ = (&bodyScopeX60gensym1148__3);
					colontmpD__103 = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym1148__3), flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA901_;
					colontmpD__101 = processScope__injectdestructors_u1058(c_p2, T902_, colontmpD__103);
					if (NIM_UNLIKELY(*nimErr_)) goto LA901_;
					T894_ = colontmpD__101;
					{
						LA901_:;
					}
					{
						oldNimErrFin901_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__103);
						if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
						*nimErr_ = oldNimErrFin901_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
				}
				goto LA895_;
LA899_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1222__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1222__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1222__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1222__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T907_;
					resultX60gensym1222__1 = NIM_NIL;
					tmpX60gensym1222__1 = NIM_NIL;
					cpyX60gensym1222__1 = NIM_NIL;
					finSectionX60gensym1222__1 = NIM_NIL;
					resultX60gensym1222__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info, (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					tmpX60gensym1222__1 = getTemp__injectdestructors_u69(c_p2, bodyScopeX60gensym1148__3.parent, (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField, (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					(*(*tmpX60gensym1222__1)._kind_4.sym).flags = IL64(70368744177664);
					T907_ = NIM_NIL;
					{
						NIM_BOOL T910_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T914_;
						T910_ = (NIM_BOOL)0;
						T910_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
						if (!(T910_)) goto LA911_;
						T910_ = !(((*(*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*ri_2)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA911_: ;
						if (!T910_) goto LA912_;
						T914_ = NIM_NIL;
						T914_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T914_); goto LA906_;}
						add__ast_u3225((&(*bodyScopeX60gensym1148__3.parent).final), T914_);
						cpyX60gensym1222__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1222__1, (*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym1148__3), 1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					}
					goto LA908_;
LA912_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__104;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T917_;
						colontmpD__104 = NIM_NIL;
						nimZeroMem((void*)T917_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T917_[0] = tmpX60gensym1222__1;
						colontmpD__104 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)1)], c_p2, (&bodyScopeX60gensym1148__3), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA916_;
						T917_[1] = colontmpD__104;
						cpyX60gensym1222__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T917_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA916_;
						{
							LA916_:;
						}
						{
							oldNimErrFin916_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__104);
							if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
							*nimErr_ = oldNimErrFin916_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					}
LA908_: ;
					{
						NI T922_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1222__1;
						T922_ = bodyScopeX60gensym1148__3.vars.len;
						if (!(((NI)0) < T922_)) goto LA923_;
						varSectionX60gensym1222__1 = NIM_NIL;
						varSectionX60gensym1222__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1222__2;
							NI i_26;
							NI L_13;
							NI T926_;
							tmpX60gensym1222__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
							i_26 = ((NI)0);
							T926_ = bodyScopeX60gensym1148__3.vars.len;
							L_13 = T926_;
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__105;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__106;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__107;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__108;
									tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T929_;
									if (!(i_26 < L_13)) goto LA928;
									colontmpD__105 = NIM_NIL;
									colontmpD__106 = NIM_NIL;
									colontmpD__107 = NIM_NIL;
									colontmpD__108 = NIM_NIL;
									tmpX60gensym1222__2 = &bodyScopeX60gensym1148__3.vars.p->data[i_26];
									nimZeroMem((void*)T929_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
									colontmpD__105 = newSymNode__ast_u5168((*tmpX60gensym1222__2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									T929_[0] = colontmpD__105;
									colontmpD__106 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									T929_[1] = colontmpD__106;
									colontmpD__107 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									T929_[2] = colontmpD__107;
									colontmpD__108 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T929_, 3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									add__ast_u3215(varSectionX60gensym1222__1, colontmpD__108);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									i_26 += ((NI)1);
									eqdestroy___ast_u3252(colontmpD__108);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									eqdestroy___ast_u3252(colontmpD__107);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									eqdestroy___ast_u3252(colontmpD__106);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
									eqdestroy___ast_u3252(colontmpD__105);
									if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
								} LA928: ;
							}
						}
						add__ast_u3215(resultX60gensym1222__1, varSectionX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
						eqdestroy___ast_u3252(varSectionX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					}
LA923_: ;
					finSectionX60gensym1222__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*ri_2)._kind_6.sons.p->data[((NI)1)]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1222__1;
						NI i_27;
						NI L_14;
						NI T931_;
						mX60gensym1222__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						i_27 = ((NI)0);
						T931_ = bodyScopeX60gensym1148__3.wasMoved.len;
						L_14 = T931_;
						{
							while (1) {
								if (!(i_27 < L_14)) goto LA933;
								mX60gensym1222__1 = &bodyScopeX60gensym1148__3.wasMoved.p->data[i_27];
								add__ast_u3215(finSectionX60gensym1222__1, (*mX60gensym1222__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
								i_27 += ((NI)1);
							} LA933: ;
						}
					}
					{
						NI iX60gensym1222__1;
						NI colontmp__19;
						NI T935_;
						NI res_7;
						iX60gensym1222__1 = (NI)0;
						colontmp__19 = (NI)0;
						T935_ = (bodyScopeX60gensym1148__3.final.len-1);
						colontmp__19 = T935_;
						res_7 = colontmp__19;
						{
							while (1) {
								if (!(((NI)0) <= res_7)) goto LA937;
								iX60gensym1222__1 = ((NI) (res_7));
								add__ast_u3215(finSectionX60gensym1222__1, bodyScopeX60gensym1148__3.final.p->data[iX60gensym1222__1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
								res_7 -= ((NI)1);
							} LA937: ;
						}
					}
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__109;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__110;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__111;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T943_;
						if (!bodyScopeX60gensym1148__3.needsTry) goto LA940_;
						colontmpD__109 = NIM_NIL;
						colontmpD__110 = NIM_NIL;
						colontmpD__111 = NIM_NIL;
						nimZeroMem((void*)T943_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T943_[0] = cpyX60gensym1222__1;
						colontmpD__109 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1222__1, c_p2, bodyScopeX60gensym1148__3.parent, flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA942_;
						T943_[1] = colontmpD__109;
						colontmpD__110 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T943_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA942_;
						colontmpD__111 = newTryFinally__lowerings_u110(colontmpD__110, finSectionX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA942_;
						add__ast_u3215(resultX60gensym1222__1, colontmpD__111);
						if (NIM_UNLIKELY(*nimErr_)) goto LA942_;
						{
							LA942_:;
						}
						{
							oldNimErrFin942_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__111);
							if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
							eqdestroy___ast_u3252(colontmpD__110);
							if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
							eqdestroy___ast_u3252(colontmpD__109);
							if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
							*nimErr_ = oldNimErrFin942_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					}
					goto LA938_;
LA940_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__112;
						colontmpD__112 = NIM_NIL;
						add__ast_u3215(resultX60gensym1222__1, cpyX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA947_;
						add__ast_u3215(resultX60gensym1222__1, finSectionX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA947_;
						colontmpD__112 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1222__1, c_p2, bodyScopeX60gensym1148__3.parent, flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA947_;
						add__ast_u3215(resultX60gensym1222__1, colontmpD__112);
						if (NIM_UNLIKELY(*nimErr_)) goto LA947_;
						{
							LA947_:;
						}
						{
							oldNimErrFin947_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__112);
							if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
							*nimErr_ = oldNimErrFin947_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					}
LA938_: ;
					{
						NIM_BOOL T954_;
						if (!!((bodyScopeX60gensym1148__3.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA952_;
						T954_ = (NIM_BOOL)0;
						T954_ = (*bodyScopeX60gensym1148__3.parent).needsTry;
						if (T954_) goto LA955_;
						T954_ = bodyScopeX60gensym1148__3.needsTry;
LA955_: ;
						(*bodyScopeX60gensym1148__3.parent).needsTry = T954_;
					}
LA952_: ;
					colontmpD__102 = resultX60gensym1222__1;
					eqwasMoved___ast_u3249(&resultX60gensym1222__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA906_;
					T894_ = colontmpD__102;
					{
						LA906_:;
					}
					{
						oldNimErrFin906_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(finSectionX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
						eqdestroy___ast_u3252(cpyX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
						eqdestroy___ast_u3252(tmpX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
						eqdestroy___ast_u3252(resultX60gensym1222__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
						*nimErr_ = oldNimErrFin906_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
				}
LA895_: ;
				add__ast_u3215(result, T894_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA893_;
				{
					LA893_:;
				}
				{
					oldNimErrFin893_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__102);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(colontmpD__101);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___injectdestructors_u127((&bodyScopeX60gensym1148__3));
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin893_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
			{
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				{
					NI iX60gensym1148__4;
					NI colontmp__20;
					NI i_28;
					iX60gensym1148__4 = (NI)0;
					colontmp__20 = (NI)0;
					colontmp__20 = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					i_28 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym1148__2;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym1148__2;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym1148__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__113;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T970_;
							if (!(i_28 < colontmp__20)) goto LA963;
							itX60gensym1148__2 = NIM_NIL;
							branchX60gensym1148__2 = NIM_NIL;
							nimZeroMem((void*)(&branchScopeX60gensym1148__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
							colontmpD__113 = NIM_NIL;
							iX60gensym1148__4 = i_28;
							eqcopy___ast_u3255(&itX60gensym1148__2, (*ri_2)._kind_6.sons.p->data[iX60gensym1148__4]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							branchX60gensym1148__2 = shallowCopy__ast_u6876(itX60gensym1148__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							colontmpD__113 = lastSon__ast_u5208(itX60gensym1148__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							nestedScope__injectdestructors_u85(s_p3, colontmpD__113, (&branchScopeX60gensym1148__1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T969_;
								if (!((*itX60gensym1148__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86) || (*itX60gensym1148__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49))) goto LA967_;
								T969_ = NIM_NIL;
								T969_ = p__injectdestructors_u159((*itX60gensym1148__2)._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T969_); goto LA964_;}
								eqsink___ast_u3261(&(*branchX60gensym1148__2)._kind_6.sons.p->data[((NI)0)], T969_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							}
LA967_: ;
							T970_ = NIM_NIL;
							{
								NIM_BOOL T973_;
								NIM_BOOL T974_;
								NI T976_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__114;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__115;
								NI T981_;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T982_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T983_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T999_;
								T973_ = (NIM_BOOL)0;
								T974_ = (NIM_BOOL)0;
								T974_ = isEmptyType__ast_u7234((*ri_2).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
								if (T974_) goto LA975_;
								T976_ = (NI)0;
								T976_ = len__ast_u3190(itX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
								T974_ = isEmptyType__ast_u7234((*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T976_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
LA975_: ;
								T973_ = T974_;
								if (T973_) goto LA977_;
								T973_ = NIM_TRUE;
LA977_: ;
								if (!T973_) goto LA978_;
								colontmpD__114 = NIM_NIL;
								colontmpD__115 = NIM_NIL;
								T981_ = (NI)0;
								T981_ = len__ast_u3190(branchX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA980_;
								T982_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
								T982_ = (&branchScopeX60gensym1148__1);
								T983_ = NIM_NIL;
								{
									NI T986_;
									NIM_BOOL T987_;
									NI T991_;
									T986_ = (NI)0;
									T986_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA980_;
									T987_ = (NIM_BOOL)0;
									T987_ = isEmptyType__ast_u7234((*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T986_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA980_;
									if (!T987_) goto LA988_;
									T991_ = (NI)0;
									T991_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA990_;
									colontmpD__114 = p__injectdestructors_u159((*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T991_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA990_;
									T983_ = colontmpD__114;
									{
										LA990_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA980_;
								}
								goto LA984_;
LA988_: ;
								{
									NI T996_;
									T996_ = (NI)0;
									T996_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
									colontmpD__115 = moveOrCopy__injectdestructors_u173(dest_p0, (*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T996_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__1), flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
									T983_ = colontmpD__115;
									{
										LA995_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA980_;
								}
LA984_: ;
								T999_ = NIM_NIL;
								T999_ = processScope__injectdestructors_u1058(c_p2, T982_, T983_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T999_); goto LA980_;}
								eqsink___ast_u3261(&(*branchX60gensym1148__2)._kind_6.sons.p->data[(NI)(T981_ - ((NI)1))], T999_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA980_;
								{
									LA980_:;
								}
								{
									oldNimErrFin980_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__115);
									if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
									eqdestroy___ast_u3252(colontmpD__114);
									if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
									*nimErr_ = oldNimErrFin980_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							}
							goto LA971_;
LA978_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1260__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1260__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1260__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1260__1;
								NI T1004_;
								NI T1005_;
								NI T1006_;
								NI T1007_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1008_;
								NI T1038_;
								NI T1065_;
								resultX60gensym1260__1 = NIM_NIL;
								tmpX60gensym1260__1 = NIM_NIL;
								cpyX60gensym1260__1 = NIM_NIL;
								finSectionX60gensym1260__1 = NIM_NIL;
								T1004_ = (NI)0;
								T1004_ = len__ast_u3190(itX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								T1005_ = (NI)0;
								T1005_ = len__ast_u3190(itX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								resultX60gensym1260__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1004_ - ((NI)1))]).info, (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1005_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								T1006_ = (NI)0;
								T1006_ = len__ast_u3190(itX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								T1007_ = (NI)0;
								T1007_ = len__ast_u3190(itX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								tmpX60gensym1260__1 = getTemp__injectdestructors_u69(c_p2, branchScopeX60gensym1148__1.parent, (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1006_ - ((NI)1))]).typField, (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1007_ - ((NI)1))]).info, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								(*(*tmpX60gensym1260__1)._kind_4.sym).flags = IL64(70368744177664);
								T1008_ = NIM_NIL;
								{
									NIM_BOOL T1011_;
									NI T1012_;
									NI T1014_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1017_;
									NI T1018_;
									T1011_ = (NIM_BOOL)0;
									T1012_ = (NI)0;
									T1012_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
									T1011_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1012_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
									if (!(T1011_)) goto LA1013_;
									T1014_ = (NI)0;
									T1014_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
									T1011_ = !(((*(*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1014_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1014_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1013_: ;
									if (!T1011_) goto LA1015_;
									T1017_ = NIM_NIL;
									T1017_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1017_); goto LA1003_;}
									add__ast_u3225((&(*branchScopeX60gensym1148__1.parent).final), T1017_);
									T1018_ = (NI)0;
									T1018_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
									cpyX60gensym1260__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1260__1, (*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1018_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__1), 1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								}
								goto LA1009_;
LA1015_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__116;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T1021_;
									NI T1022_;
									colontmpD__116 = NIM_NIL;
									nimZeroMem((void*)T1021_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T1021_[0] = tmpX60gensym1260__1;
									T1022_ = (NI)0;
									T1022_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1020_;
									colontmpD__116 = p__injectdestructors_u159((*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1022_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1020_;
									T1021_[1] = colontmpD__116;
									cpyX60gensym1260__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1021_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1020_;
									{
										LA1020_:;
									}
									{
										oldNimErrFin1020_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__116);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
										*nimErr_ = oldNimErrFin1020_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								}
LA1009_: ;
								{
									NI T1027_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1260__1;
									NI T1030_;
									T1027_ = branchScopeX60gensym1148__1.vars.len;
									if (!(((NI)0) < T1027_)) goto LA1028_;
									varSectionX60gensym1260__1 = NIM_NIL;
									T1030_ = (NI)0;
									T1030_ = len__ast_u3190(itX60gensym1148__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
									varSectionX60gensym1260__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1030_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1260__2;
										NI i_29;
										NI L_15;
										NI T1032_;
										tmpX60gensym1260__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
										i_29 = ((NI)0);
										T1032_ = branchScopeX60gensym1148__1.vars.len;
										L_15 = T1032_;
										{
											while (1) {
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__117;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__118;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__119;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__120;
												tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1035_;
												NI T1036_;
												NI T1037_;
												if (!(i_29 < L_15)) goto LA1034;
												colontmpD__117 = NIM_NIL;
												colontmpD__118 = NIM_NIL;
												colontmpD__119 = NIM_NIL;
												colontmpD__120 = NIM_NIL;
												tmpX60gensym1260__2 = &branchScopeX60gensym1148__1.vars.p->data[i_29];
												nimZeroMem((void*)T1035_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
												colontmpD__117 = newSymNode__ast_u5168((*tmpX60gensym1260__2));
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												T1035_[0] = colontmpD__117;
												T1036_ = (NI)0;
												T1036_ = len__ast_u3190(itX60gensym1148__2);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												colontmpD__118 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1036_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												T1035_[1] = colontmpD__118;
												T1037_ = (NI)0;
												T1037_ = len__ast_u3190(itX60gensym1148__2);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												colontmpD__119 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1037_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												T1035_[2] = colontmpD__119;
												colontmpD__120 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1035_, 3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												add__ast_u3215(varSectionX60gensym1260__1, colontmpD__120);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												i_29 += ((NI)1);
												eqdestroy___ast_u3252(colontmpD__120);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												eqdestroy___ast_u3252(colontmpD__119);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												eqdestroy___ast_u3252(colontmpD__118);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
												eqdestroy___ast_u3252(colontmpD__117);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
											} LA1034: ;
										}
									}
									add__ast_u3215(resultX60gensym1260__1, varSectionX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
									eqdestroy___ast_u3252(varSectionX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								}
LA1028_: ;
								T1038_ = (NI)0;
								T1038_ = len__ast_u3190(itX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								finSectionX60gensym1260__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1038_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1260__1;
									NI i_30;
									NI L_16;
									NI T1040_;
									mX60gensym1260__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
									i_30 = ((NI)0);
									T1040_ = branchScopeX60gensym1148__1.wasMoved.len;
									L_16 = T1040_;
									{
										while (1) {
											if (!(i_30 < L_16)) goto LA1042;
											mX60gensym1260__1 = &branchScopeX60gensym1148__1.wasMoved.p->data[i_30];
											add__ast_u3215(finSectionX60gensym1260__1, (*mX60gensym1260__1));
											if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
											i_30 += ((NI)1);
										} LA1042: ;
									}
								}
								{
									NI iX60gensym1260__1;
									NI colontmp__21;
									NI T1044_;
									NI res_8;
									iX60gensym1260__1 = (NI)0;
									colontmp__21 = (NI)0;
									T1044_ = (branchScopeX60gensym1148__1.final.len-1);
									colontmp__21 = T1044_;
									res_8 = colontmp__21;
									{
										while (1) {
											if (!(((NI)0) <= res_8)) goto LA1046;
											iX60gensym1260__1 = ((NI) (res_8));
											add__ast_u3215(finSectionX60gensym1260__1, branchScopeX60gensym1148__1.final.p->data[iX60gensym1260__1]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
											res_8 -= ((NI)1);
										} LA1046: ;
									}
								}
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__121;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__122;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__123;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T1052_;
									if (!branchScopeX60gensym1148__1.needsTry) goto LA1049_;
									colontmpD__121 = NIM_NIL;
									colontmpD__122 = NIM_NIL;
									colontmpD__123 = NIM_NIL;
									nimZeroMem((void*)T1052_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T1052_[0] = cpyX60gensym1260__1;
									colontmpD__121 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1260__1, c_p2, branchScopeX60gensym1148__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1051_;
									T1052_[1] = colontmpD__121;
									colontmpD__122 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1052_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1051_;
									colontmpD__123 = newTryFinally__lowerings_u110(colontmpD__122, finSectionX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1051_;
									add__ast_u3215(resultX60gensym1260__1, colontmpD__123);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1051_;
									{
										LA1051_:;
									}
									{
										oldNimErrFin1051_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__123);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
										eqdestroy___ast_u3252(colontmpD__122);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
										eqdestroy___ast_u3252(colontmpD__121);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
										*nimErr_ = oldNimErrFin1051_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								}
								goto LA1047_;
LA1049_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__124;
									colontmpD__124 = NIM_NIL;
									add__ast_u3215(resultX60gensym1260__1, cpyX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1056_;
									add__ast_u3215(resultX60gensym1260__1, finSectionX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1056_;
									colontmpD__124 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1260__1, c_p2, branchScopeX60gensym1148__1.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1056_;
									add__ast_u3215(resultX60gensym1260__1, colontmpD__124);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1056_;
									{
										LA1056_:;
									}
									{
										oldNimErrFin1056_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__124);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
										*nimErr_ = oldNimErrFin1056_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								}
LA1047_: ;
								{
									NIM_BOOL T1063_;
									if (!!((branchScopeX60gensym1148__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1061_;
									T1063_ = (NIM_BOOL)0;
									T1063_ = (*branchScopeX60gensym1148__1.parent).needsTry;
									if (T1063_) goto LA1064_;
									T1063_ = branchScopeX60gensym1148__1.needsTry;
LA1064_: ;
									(*branchScopeX60gensym1148__1.parent).needsTry = T1063_;
								}
LA1061_: ;
								T1065_ = (NI)0;
								T1065_ = len__ast_u3190(branchX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								eqsink___ast_u3261(&(*branchX60gensym1148__2)._kind_6.sons.p->data[(NI)(T1065_ - ((NI)1))], resultX60gensym1260__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								eqwasMoved___ast_u3249(&resultX60gensym1260__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1003_;
								{
									LA1003_:;
								}
								{
									oldNimErrFin1003_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(finSectionX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
									eqdestroy___ast_u3252(cpyX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
									eqdestroy___ast_u3252(tmpX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
									eqdestroy___ast_u3252(resultX60gensym1260__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
									*nimErr_ = oldNimErrFin1003_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							}
LA971_: ;
							add__ast_u3215(result, branchX60gensym1148__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA964_;
							i_28 += ((NI)1);
							{
								LA964_:;
							}
							{
								oldNimErrFin964_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__113);
								if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
								eqdestroy___injectdestructors_u127((&branchScopeX60gensym1148__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
								eqdestroy___ast_u3252(branchX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
								eqdestroy___ast_u3252(itX60gensym1148__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
								*nimErr_ = oldNimErrFin964_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
						} LA963: ;
					}
				}
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
			{
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ tryScopeX60gensym1148__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__125;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__126;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1072_;
				nimZeroMem((void*)(&tryScopeX60gensym1148__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
				colontmpD__125 = NIM_NIL;
				colontmpD__126 = NIM_NIL;
				result = copyNode__ast_u6736(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
				nestedScope__injectdestructors_u85(s_p3, (*ri_2)._kind_6.sons.p->data[((NI)0)], (&tryScopeX60gensym1148__1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
				T1072_ = NIM_NIL;
				{
					NIM_BOOL T1075_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__127;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__128;
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T1080_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1081_;
					T1075_ = (NIM_BOOL)0;
					T1075_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
					if (T1075_) goto LA1076_;
					T1075_ = NIM_TRUE;
LA1076_: ;
					if (!T1075_) goto LA1077_;
					colontmpD__127 = NIM_NIL;
					colontmpD__128 = NIM_NIL;
					T1080_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
					T1080_ = (&tryScopeX60gensym1148__1);
					T1081_ = NIM_NIL;
					{
						NIM_BOOL T1084_;
						T1084_ = (NIM_BOOL)0;
						T1084_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1079_;
						if (!T1084_) goto LA1085_;
						colontmpD__127 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym1148__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
						T1081_ = colontmpD__127;
						{
							LA1087_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1079_;
					}
					goto LA1082_;
LA1085_: ;
					{
						colontmpD__128 = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym1148__1), flags_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1091_;
						T1081_ = colontmpD__128;
						{
							LA1091_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1079_;
					}
LA1082_: ;
					colontmpD__125 = processScope__injectdestructors_u1058(c_p2, T1080_, T1081_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1079_;
					T1072_ = colontmpD__125;
					{
						LA1079_:;
					}
					{
						oldNimErrFin1079_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__128);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
						eqdestroy___ast_u3252(colontmpD__127);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
						*nimErr_ = oldNimErrFin1079_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
				}
				goto LA1073_;
LA1077_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1285__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1285__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1285__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1285__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1098_;
					resultX60gensym1285__1 = NIM_NIL;
					tmpX60gensym1285__1 = NIM_NIL;
					cpyX60gensym1285__1 = NIM_NIL;
					finSectionX60gensym1285__1 = NIM_NIL;
					resultX60gensym1285__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info, (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					tmpX60gensym1285__1 = getTemp__injectdestructors_u69(c_p2, tryScopeX60gensym1148__1.parent, (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField, (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					(*(*tmpX60gensym1285__1)._kind_4.sym).flags = IL64(70368744177664);
					T1098_ = NIM_NIL;
					{
						NIM_BOOL T1101_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1105_;
						T1101_ = (NIM_BOOL)0;
						T1101_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
						if (!(T1101_)) goto LA1102_;
						T1101_ = !(((*(*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*ri_2)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1102_: ;
						if (!T1101_) goto LA1103_;
						T1105_ = NIM_NIL;
						T1105_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1105_); goto LA1097_;}
						add__ast_u3225((&(*tryScopeX60gensym1148__1.parent).final), T1105_);
						cpyX60gensym1285__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1285__1, (*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym1148__1), 1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					}
					goto LA1099_;
LA1103_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__129;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T1108_;
						colontmpD__129 = NIM_NIL;
						nimZeroMem((void*)T1108_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T1108_[0] = tmpX60gensym1285__1;
						colontmpD__129 = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[((NI)0)], c_p2, (&tryScopeX60gensym1148__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1107_;
						T1108_[1] = colontmpD__129;
						cpyX60gensym1285__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1108_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1107_;
						{
							LA1107_:;
						}
						{
							oldNimErrFin1107_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__129);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
							*nimErr_ = oldNimErrFin1107_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					}
LA1099_: ;
					{
						NI T1113_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1285__1;
						T1113_ = tryScopeX60gensym1148__1.vars.len;
						if (!(((NI)0) < T1113_)) goto LA1114_;
						varSectionX60gensym1285__1 = NIM_NIL;
						varSectionX60gensym1285__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1285__2;
							NI i_31;
							NI L_17;
							NI T1117_;
							tmpX60gensym1285__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
							i_31 = ((NI)0);
							T1117_ = tryScopeX60gensym1148__1.vars.len;
							L_17 = T1117_;
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__130;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__131;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__132;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__133;
									tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1120_;
									if (!(i_31 < L_17)) goto LA1119;
									colontmpD__130 = NIM_NIL;
									colontmpD__131 = NIM_NIL;
									colontmpD__132 = NIM_NIL;
									colontmpD__133 = NIM_NIL;
									tmpX60gensym1285__2 = &tryScopeX60gensym1148__1.vars.p->data[i_31];
									nimZeroMem((void*)T1120_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
									colontmpD__130 = newSymNode__ast_u5168((*tmpX60gensym1285__2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									T1120_[0] = colontmpD__130;
									colontmpD__131 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									T1120_[1] = colontmpD__131;
									colontmpD__132 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									T1120_[2] = colontmpD__132;
									colontmpD__133 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1120_, 3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									add__ast_u3215(varSectionX60gensym1285__1, colontmpD__133);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									i_31 += ((NI)1);
									eqdestroy___ast_u3252(colontmpD__133);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									eqdestroy___ast_u3252(colontmpD__132);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									eqdestroy___ast_u3252(colontmpD__131);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
									eqdestroy___ast_u3252(colontmpD__130);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
								} LA1119: ;
							}
						}
						add__ast_u3215(resultX60gensym1285__1, varSectionX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
						eqdestroy___ast_u3252(varSectionX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					}
LA1114_: ;
					finSectionX60gensym1285__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*ri_2)._kind_6.sons.p->data[((NI)0)]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1285__1;
						NI i_32;
						NI L_18;
						NI T1122_;
						mX60gensym1285__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						i_32 = ((NI)0);
						T1122_ = tryScopeX60gensym1148__1.wasMoved.len;
						L_18 = T1122_;
						{
							while (1) {
								if (!(i_32 < L_18)) goto LA1124;
								mX60gensym1285__1 = &tryScopeX60gensym1148__1.wasMoved.p->data[i_32];
								add__ast_u3215(finSectionX60gensym1285__1, (*mX60gensym1285__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
								i_32 += ((NI)1);
							} LA1124: ;
						}
					}
					{
						NI iX60gensym1285__1;
						NI colontmp__22;
						NI T1126_;
						NI res_9;
						iX60gensym1285__1 = (NI)0;
						colontmp__22 = (NI)0;
						T1126_ = (tryScopeX60gensym1148__1.final.len-1);
						colontmp__22 = T1126_;
						res_9 = colontmp__22;
						{
							while (1) {
								if (!(((NI)0) <= res_9)) goto LA1128;
								iX60gensym1285__1 = ((NI) (res_9));
								add__ast_u3215(finSectionX60gensym1285__1, tryScopeX60gensym1148__1.final.p->data[iX60gensym1285__1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
								res_9 -= ((NI)1);
							} LA1128: ;
						}
					}
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__134;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__135;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__136;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__137;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T1134_;
						if (!tryScopeX60gensym1148__1.needsTry) goto LA1131_;
						colontmpD__134 = NIM_NIL;
						colontmpD__135 = NIM_NIL;
						colontmpD__136 = NIM_NIL;
						colontmpD__137 = NIM_NIL;
						nimZeroMem((void*)T1134_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T1134_[0] = cpyX60gensym1285__1;
						{
							NIM_BOOL T1137_;
							T1137_ = (NIM_BOOL)0;
							T1137_ = isEmptyType__ast_u7234((*tmpX60gensym1285__1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
							if (!T1137_) goto LA1138_;
							colontmpD__134 = p__injectdestructors_u159(tmpX60gensym1285__1, c_p2, tryScopeX60gensym1148__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1140_;
							T1134_[1] = colontmpD__134;
							{
								LA1140_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						}
						goto LA1135_;
LA1138_: ;
						{
							colontmpD__135 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1285__1, c_p2, tryScopeX60gensym1148__1.parent, flags_p4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1144_;
							T1134_[1] = colontmpD__135;
							{
								LA1144_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						}
LA1135_: ;
						colontmpD__136 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1134_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						colontmpD__137 = newTryFinally__lowerings_u110(colontmpD__136, finSectionX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						add__ast_u3215(resultX60gensym1285__1, colontmpD__137);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						{
							LA1133_:;
						}
						{
							oldNimErrFin1133_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__137);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
							eqdestroy___ast_u3252(colontmpD__136);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
							eqdestroy___ast_u3252(colontmpD__135);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
							eqdestroy___ast_u3252(colontmpD__134);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
							*nimErr_ = oldNimErrFin1133_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					}
					goto LA1129_;
LA1131_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__138;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__139;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1151_;
						colontmpD__138 = NIM_NIL;
						colontmpD__139 = NIM_NIL;
						add__ast_u3215(resultX60gensym1285__1, cpyX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1150_;
						add__ast_u3215(resultX60gensym1285__1, finSectionX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1150_;
						T1151_ = NIM_NIL;
						{
							NIM_BOOL T1154_;
							T1154_ = (NIM_BOOL)0;
							T1154_ = isEmptyType__ast_u7234((*tmpX60gensym1285__1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1150_;
							if (!T1154_) goto LA1155_;
							colontmpD__138 = p__injectdestructors_u159(tmpX60gensym1285__1, c_p2, tryScopeX60gensym1148__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1157_;
							T1151_ = colontmpD__138;
							{
								LA1157_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1150_;
						}
						goto LA1152_;
LA1155_: ;
						{
							colontmpD__139 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1285__1, c_p2, tryScopeX60gensym1148__1.parent, flags_p4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1161_;
							T1151_ = colontmpD__139;
							{
								LA1161_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1150_;
						}
LA1152_: ;
						add__ast_u3215(resultX60gensym1285__1, T1151_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1150_;
						{
							LA1150_:;
						}
						{
							oldNimErrFin1150_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__139);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
							eqdestroy___ast_u3252(colontmpD__138);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
							*nimErr_ = oldNimErrFin1150_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					}
LA1129_: ;
					{
						NIM_BOOL T1170_;
						if (!!((tryScopeX60gensym1148__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1168_;
						T1170_ = (NIM_BOOL)0;
						T1170_ = (*tryScopeX60gensym1148__1.parent).needsTry;
						if (T1170_) goto LA1171_;
						T1170_ = tryScopeX60gensym1148__1.needsTry;
LA1171_: ;
						(*tryScopeX60gensym1148__1.parent).needsTry = T1170_;
					}
LA1168_: ;
					colontmpD__126 = resultX60gensym1285__1;
					eqwasMoved___ast_u3249(&resultX60gensym1285__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1097_;
					T1072_ = colontmpD__126;
					{
						LA1097_:;
					}
					{
						oldNimErrFin1097_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(finSectionX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
						eqdestroy___ast_u3252(cpyX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
						eqdestroy___ast_u3252(tmpX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
						eqdestroy___ast_u3252(resultX60gensym1285__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
						*nimErr_ = oldNimErrFin1097_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
				}
LA1073_: ;
				add__ast_u3215(result, T1072_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
				{
					NI iX60gensym1148__5;
					NI colontmp__23;
					NI i_33;
					iX60gensym1148__5 = (NI)0;
					colontmp__23 = (NI)0;
					colontmp__23 = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
					i_33 = ((NI)1);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym1148__3;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym1148__3;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym1148__2;
							NI T1178_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1179_;
							if (!(i_33 < colontmp__23)) goto LA1176;
							itX60gensym1148__3 = NIM_NIL;
							branchX60gensym1148__3 = NIM_NIL;
							nimZeroMem((void*)(&branchScopeX60gensym1148__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
							iX60gensym1148__5 = i_33;
							eqcopy___ast_u3255(&itX60gensym1148__3, (*ri_2)._kind_6.sons.p->data[iX60gensym1148__5]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
							branchX60gensym1148__3 = copyTree__ast_u6891(itX60gensym1148__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
							T1178_ = (NI)0;
							T1178_ = len__ast_u3190(itX60gensym1148__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
							nestedScope__injectdestructors_u85(s_p3, (*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1178_ - ((NI)1))], (&branchScopeX60gensym1148__2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
							T1179_ = NIM_NIL;
							{
								NIM_BOOL T1182_;
								NIM_BOOL T1183_;
								NI T1184_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__140;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__141;
								NI T1190_;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T1191_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1192_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1215_;
								T1182_ = (NIM_BOOL)0;
								T1183_ = (NIM_BOOL)0;
								T1184_ = (NI)0;
								T1184_ = len__ast_u3190(itX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
								T1183_ = isEmptyType__ast_u7234((*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1184_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
								if (T1183_) goto LA1185_;
								T1183_ = NIM_TRUE;
LA1185_: ;
								T1182_ = T1183_;
								if (T1182_) goto LA1186_;
								T1182_ = ((*itX60gensym1148__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107));
LA1186_: ;
								if (!T1182_) goto LA1187_;
								colontmpD__140 = NIM_NIL;
								colontmpD__141 = NIM_NIL;
								T1190_ = (NI)0;
								T1190_ = len__ast_u3190(branchX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1189_;
								T1191_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
								T1191_ = (&branchScopeX60gensym1148__2);
								T1192_ = NIM_NIL;
								{
									NI T1198_;
									if (!((*itX60gensym1148__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA1195_;
									T1198_ = (NI)0;
									T1198_ = len__ast_u3190(itX60gensym1148__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1197_;
									colontmpD__140 = p__injectdestructors_u159((*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1198_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1197_;
									T1192_ = colontmpD__140;
									{
										LA1197_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1189_;
								}
								goto LA1193_;
LA1195_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1203_;
									T1203_ = NIM_NIL;
									{
										NI T1206_;
										NIM_BOOL T1207_;
										NI T1210_;
										T1206_ = (NI)0;
										T1206_ = len__ast_u3190(itX60gensym1148__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1202_;
										T1207_ = (NIM_BOOL)0;
										T1207_ = isEmptyType__ast_u7234((*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1206_ - ((NI)1))]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1202_;
										if (!T1207_) goto LA1208_;
										T1210_ = (NI)0;
										T1210_ = len__ast_u3190(itX60gensym1148__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1202_;
										colontmpD__141 = p__injectdestructors_u159((*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1210_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1202_;
									}
									goto LA1204_;
LA1208_: ;
									{
										NI T1212_;
										T1212_ = (NI)0;
										T1212_ = len__ast_u3190(itX60gensym1148__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1202_;
										colontmpD__141 = moveOrCopy__injectdestructors_u173(dest_p0, (*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1212_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__2), flags_p4);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1202_;
									}
LA1204_: ;
									T1192_ = colontmpD__141;
									{
										LA1202_:;
									}
									{
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1189_;
								}
LA1193_: ;
								T1215_ = NIM_NIL;
								T1215_ = processScope__injectdestructors_u1058(c_p2, T1191_, T1192_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1215_); goto LA1189_;}
								eqsink___ast_u3261(&(*branchX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1190_ - ((NI)1))], T1215_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1189_;
								{
									LA1189_:;
								}
								{
									oldNimErrFin1189_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__141);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
									eqdestroy___ast_u3252(colontmpD__140);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
									*nimErr_ = oldNimErrFin1189_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
							}
							goto LA1180_;
LA1187_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym1329__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym1329__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym1329__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym1329__1;
								NI T1220_;
								NI T1221_;
								NI T1222_;
								NI T1223_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1224_;
								NI T1254_;
								NI T1281_;
								resultX60gensym1329__1 = NIM_NIL;
								tmpX60gensym1329__1 = NIM_NIL;
								cpyX60gensym1329__1 = NIM_NIL;
								finSectionX60gensym1329__1 = NIM_NIL;
								T1220_ = (NI)0;
								T1220_ = len__ast_u3190(itX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								T1221_ = (NI)0;
								T1221_ = len__ast_u3190(itX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								resultX60gensym1329__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1220_ - ((NI)1))]).info, (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1221_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								T1222_ = (NI)0;
								T1222_ = len__ast_u3190(itX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								T1223_ = (NI)0;
								T1223_ = len__ast_u3190(itX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								tmpX60gensym1329__1 = getTemp__injectdestructors_u69(c_p2, branchScopeX60gensym1148__2.parent, (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1222_ - ((NI)1))]).typField, (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1223_ - ((NI)1))]).info, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								(*(*tmpX60gensym1329__1)._kind_4.sym).flags = IL64(70368744177664);
								T1224_ = NIM_NIL;
								{
									NIM_BOOL T1227_;
									NI T1228_;
									NI T1230_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1233_;
									NI T1234_;
									T1227_ = (NIM_BOOL)0;
									T1228_ = (NI)0;
									T1228_ = len__ast_u3190(itX60gensym1148__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
									T1227_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1228_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
									if (!(T1227_)) goto LA1229_;
									T1230_ = (NI)0;
									T1230_ = len__ast_u3190(itX60gensym1148__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
									T1227_ = !(((*(*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1230_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1230_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1229_: ;
									if (!T1227_) goto LA1231_;
									T1233_ = NIM_NIL;
									T1233_ = genDestroy__injectdestructors_u603(c_p2, tmpX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1233_); goto LA1219_;}
									add__ast_u3225((&(*branchScopeX60gensym1148__2.parent).final), T1233_);
									T1234_ = (NI)0;
									T1234_ = len__ast_u3190(itX60gensym1148__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
									cpyX60gensym1329__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym1329__1, (*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1234_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__2), 1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								}
								goto LA1225_;
LA1231_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__142;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T1237_;
									NI T1238_;
									colontmpD__142 = NIM_NIL;
									nimZeroMem((void*)T1237_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T1237_[0] = tmpX60gensym1329__1;
									T1238_ = (NI)0;
									T1238_ = len__ast_u3190(itX60gensym1148__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1236_;
									colontmpD__142 = p__injectdestructors_u159((*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1238_ - ((NI)1))], c_p2, (&branchScopeX60gensym1148__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1236_;
									T1237_[1] = colontmpD__142;
									cpyX60gensym1329__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1237_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1236_;
									{
										LA1236_:;
									}
									{
										oldNimErrFin1236_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__142);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
										*nimErr_ = oldNimErrFin1236_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								}
LA1225_: ;
								{
									NI T1243_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym1329__1;
									NI T1246_;
									T1243_ = branchScopeX60gensym1148__2.vars.len;
									if (!(((NI)0) < T1243_)) goto LA1244_;
									varSectionX60gensym1329__1 = NIM_NIL;
									T1246_ = (NI)0;
									T1246_ = len__ast_u3190(itX60gensym1148__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
									varSectionX60gensym1329__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1246_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym1329__2;
										NI i_34;
										NI L_19;
										NI T1248_;
										tmpX60gensym1329__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
										i_34 = ((NI)0);
										T1248_ = branchScopeX60gensym1148__2.vars.len;
										L_19 = T1248_;
										{
											while (1) {
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__143;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__144;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__145;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__146;
												tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1251_;
												NI T1252_;
												NI T1253_;
												if (!(i_34 < L_19)) goto LA1250;
												colontmpD__143 = NIM_NIL;
												colontmpD__144 = NIM_NIL;
												colontmpD__145 = NIM_NIL;
												colontmpD__146 = NIM_NIL;
												tmpX60gensym1329__2 = &branchScopeX60gensym1148__2.vars.p->data[i_34];
												nimZeroMem((void*)T1251_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
												colontmpD__143 = newSymNode__ast_u5168((*tmpX60gensym1329__2));
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												T1251_[0] = colontmpD__143;
												T1252_ = (NI)0;
												T1252_ = len__ast_u3190(itX60gensym1148__3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												colontmpD__144 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1252_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												T1251_[1] = colontmpD__144;
												T1253_ = (NI)0;
												T1253_ = len__ast_u3190(itX60gensym1148__3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												colontmpD__145 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1253_ - ((NI)1))]).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												T1251_[2] = colontmpD__145;
												colontmpD__146 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1251_, 3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												add__ast_u3215(varSectionX60gensym1329__1, colontmpD__146);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												i_34 += ((NI)1);
												eqdestroy___ast_u3252(colontmpD__146);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												eqdestroy___ast_u3252(colontmpD__145);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												eqdestroy___ast_u3252(colontmpD__144);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
												eqdestroy___ast_u3252(colontmpD__143);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
											} LA1250: ;
										}
									}
									add__ast_u3215(resultX60gensym1329__1, varSectionX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
									eqdestroy___ast_u3252(varSectionX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								}
LA1244_: ;
								T1254_ = (NI)0;
								T1254_ = len__ast_u3190(itX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								finSectionX60gensym1329__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1254_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym1329__1;
									NI i_35;
									NI L_20;
									NI T1256_;
									mX60gensym1329__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
									i_35 = ((NI)0);
									T1256_ = branchScopeX60gensym1148__2.wasMoved.len;
									L_20 = T1256_;
									{
										while (1) {
											if (!(i_35 < L_20)) goto LA1258;
											mX60gensym1329__1 = &branchScopeX60gensym1148__2.wasMoved.p->data[i_35];
											add__ast_u3215(finSectionX60gensym1329__1, (*mX60gensym1329__1));
											if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
											i_35 += ((NI)1);
										} LA1258: ;
									}
								}
								{
									NI iX60gensym1329__1;
									NI colontmp__24;
									NI T1260_;
									NI res_10;
									iX60gensym1329__1 = (NI)0;
									colontmp__24 = (NI)0;
									T1260_ = (branchScopeX60gensym1148__2.final.len-1);
									colontmp__24 = T1260_;
									res_10 = colontmp__24;
									{
										while (1) {
											if (!(((NI)0) <= res_10)) goto LA1262;
											iX60gensym1329__1 = ((NI) (res_10));
											add__ast_u3215(finSectionX60gensym1329__1, branchScopeX60gensym1148__2.final.p->data[iX60gensym1329__1]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
											res_10 -= ((NI)1);
										} LA1262: ;
									}
								}
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__147;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__148;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__149;
									tyArray__al2p7ldDMvbBVYNFCuu4Rw T1268_;
									if (!branchScopeX60gensym1148__2.needsTry) goto LA1265_;
									colontmpD__147 = NIM_NIL;
									colontmpD__148 = NIM_NIL;
									colontmpD__149 = NIM_NIL;
									nimZeroMem((void*)T1268_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
									T1268_[0] = cpyX60gensym1329__1;
									colontmpD__147 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1329__1, c_p2, branchScopeX60gensym1148__2.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1267_;
									T1268_[1] = colontmpD__147;
									colontmpD__148 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1268_, 2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1267_;
									colontmpD__149 = newTryFinally__lowerings_u110(colontmpD__148, finSectionX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1267_;
									add__ast_u3215(resultX60gensym1329__1, colontmpD__149);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1267_;
									{
										LA1267_:;
									}
									{
										oldNimErrFin1267_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__149);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
										eqdestroy___ast_u3252(colontmpD__148);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
										eqdestroy___ast_u3252(colontmpD__147);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
										*nimErr_ = oldNimErrFin1267_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								}
								goto LA1263_;
LA1265_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__150;
									colontmpD__150 = NIM_NIL;
									add__ast_u3215(resultX60gensym1329__1, cpyX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1272_;
									add__ast_u3215(resultX60gensym1329__1, finSectionX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1272_;
									colontmpD__150 = moveOrCopy__injectdestructors_u173(dest_p0, tmpX60gensym1329__1, c_p2, branchScopeX60gensym1148__2.parent, flags_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1272_;
									add__ast_u3215(resultX60gensym1329__1, colontmpD__150);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1272_;
									{
										LA1272_:;
									}
									{
										oldNimErrFin1272_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__150);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
										*nimErr_ = oldNimErrFin1272_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								}
LA1263_: ;
								{
									NIM_BOOL T1279_;
									if (!!((branchScopeX60gensym1148__2.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1277_;
									T1279_ = (NIM_BOOL)0;
									T1279_ = (*branchScopeX60gensym1148__2.parent).needsTry;
									if (T1279_) goto LA1280_;
									T1279_ = branchScopeX60gensym1148__2.needsTry;
LA1280_: ;
									(*branchScopeX60gensym1148__2.parent).needsTry = T1279_;
								}
LA1277_: ;
								T1281_ = (NI)0;
								T1281_ = len__ast_u3190(branchX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								eqsink___ast_u3261(&(*branchX60gensym1148__3)._kind_6.sons.p->data[(NI)(T1281_ - ((NI)1))], resultX60gensym1329__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								eqwasMoved___ast_u3249(&resultX60gensym1329__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1219_;
								{
									LA1219_:;
								}
								{
									oldNimErrFin1219_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(finSectionX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
									eqdestroy___ast_u3252(cpyX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
									eqdestroy___ast_u3252(tmpX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
									eqdestroy___ast_u3252(resultX60gensym1329__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
									*nimErr_ = oldNimErrFin1219_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
							}
LA1180_: ;
							add__ast_u3215(result, branchX60gensym1148__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1177_;
							i_33 += ((NI)1);
							{
								LA1177_:;
							}
							{
								oldNimErrFin1177_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___injectdestructors_u127((&branchScopeX60gensym1148__2));
								if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
								eqdestroy___ast_u3252(branchX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
								eqdestroy___ast_u3252(itX60gensym1148__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
								*nimErr_ = oldNimErrFin1177_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
						} LA1176: ;
					}
				}
				{
					LA1071_:;
				}
				{
					oldNimErrFin1071_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__126);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___ast_u3252(colontmpD__125);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					eqdestroy___injectdestructors_u127((&tryScopeX60gensym1148__1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin1071_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1289_;
				result = copyTree__ast_u6891(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				T1289_ = NIM_NIL;
				T1289_ = moveOrCopy__injectdestructors_u173(dest_p0, (*(*ri_2)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p2, s_p3, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1289_); goto LA620_;}
				eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T1289_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaListX60gensym1148__1;
				NI inUncheckedAssignSectionX60gensym1148__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1309_;
				pragmaListX60gensym1148__1 = NIM_NIL;
				inUncheckedAssignSectionX60gensym1148__1 = ((NI)0);
				eqcopy___ast_u3255(&pragmaListX60gensym1148__1, (*ri_2)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* piX60gensym1148__1;
					piX60gensym1148__1 = NIM_NIL;
					{
						NI i_36;
						NI colontmp__25;
						NI i_37;
						i_36 = (NI)0;
						colontmp__25 = (NI)0;
						colontmp__25 = safeLen__ast_u3197(pragmaListX60gensym1148__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
						i_37 = ((NI)0);
						{
							while (1) {
								if (!(i_37 < colontmp__25)) goto LA1295;
								i_36 = i_37;
								eqcopy___ast_u3255(&piX60gensym1148__1, (*pragmaListX60gensym1148__1)._kind_6.sons.p->data[i_36]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
								{
									tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T1298_;
									tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T1301_;
									T1298_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
									T1298_ = whichPragma__trees_u218(piX60gensym1148__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
									if (!(T1298_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9))) goto LA1299_;
									T1301_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
									T1301_ = whichPragma__trees_u218((*piX60gensym1148__1)._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
									switch (T1301_) {
									case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)87):
									{
										inUncheckedAssignSectionX60gensym1148__1 = ((NI)1);
									}
									break;
									default:
									{
									}
									break;
									}
								}
LA1299_: ;
								i_37 += ((NI)1);
							} LA1295: ;
						}
					}
					eqdestroy___ast_u3252(piX60gensym1148__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
				}
				result = shallowCopy__ast_u6876(ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
				(*c_p2).inUncheckedAssignSection += inUncheckedAssignSectionX60gensym1148__1;
				{
					NI iX60gensym1148__6;
					NI colontmp__26;
					NI T1305_;
					NI i_38;
					iX60gensym1148__6 = (NI)0;
					colontmp__26 = (NI)0;
					T1305_ = (NI)0;
					T1305_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
					colontmp__26 = (NI)(T1305_ - ((NI)1));
					i_38 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1308_;
							if (!(i_38 < colontmp__26)) goto LA1307;
							iX60gensym1148__6 = i_38;
							T1308_ = NIM_NIL;
							T1308_ = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[iX60gensym1148__6], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1308_); goto LA1291_;}
							eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[iX60gensym1148__6], T1308_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
							i_38 += ((NI)1);
						} LA1307: ;
					}
				}
				T1309_ = NIM_NIL;
				{
					NI T1312_;
					NIM_BOOL T1313_;
					NI T1316_;
					NI T1317_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1318_;
					T1312_ = (NI)0;
					T1312_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
					T1313_ = (NIM_BOOL)0;
					T1313_ = isEmptyType__ast_u7234((*(*ri_2)._kind_6.sons.p->data[(NI)(T1312_ - ((NI)1))]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
					if (!T1313_) goto LA1314_;
					T1316_ = (NI)0;
					T1316_ = len__ast_u3190(result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
					T1317_ = (NI)0;
					T1317_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
					T1318_ = NIM_NIL;
					T1318_ = p__injectdestructors_u159((*ri_2)._kind_6.sons.p->data[(NI)(T1317_ - ((NI)1))], c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1318_); goto LA1291_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T1316_ - ((NI)1))], T1318_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
				}
				goto LA1310_;
LA1314_: ;
				{
					NI T1320_;
					NI T1321_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1322_;
					T1320_ = (NI)0;
					T1320_ = len__ast_u3190(result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
					T1321_ = (NI)0;
					T1321_ = len__ast_u3190(ri_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
					T1322_ = NIM_NIL;
					T1322_ = moveOrCopy__injectdestructors_u173(dest_p0, (*ri_2)._kind_6.sons.p->data[(NI)(T1321_ - ((NI)1))], c_p2, s_p3, flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1322_); goto LA1291_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T1320_ - ((NI)1))], T1322_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1291_;
				}
LA1310_: ;
				(*c_p2).inUncheckedAssignSection -= inUncheckedAssignSectionX60gensym1148__1;
				{
					LA1291_:;
				}
				{
					oldNimErrFin1291_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(pragmaListX60gensym1148__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
					*nimErr_ = oldNimErrFin1291_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
			}
			break;
			default:
			{
				result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			}
			break;
			}
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108):
		{
			result = pRaiseStmt__injectdestructors_u1142(ri_2, c_p2, s_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
		}
		break;
		default:
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* isOwnsData_1;
			isOwnsData_1 = NIM_NIL;
			isOwnsData_1 = ownsData__injectdestructors_u2512(c_p2, s_p3, ri2_1, flags_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
			{
				if (!!((isOwnsData_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA1331_;
				result = moveOrCopy__injectdestructors_u173(dest_p0, isOwnsData_1, c_p2, s_p3, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
			}
			goto LA1329_;
LA1331_: ;
			{
				NIM_BOOL T1334_;
				NIM_BOOL T1335_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* snk_4;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__151;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T1341_;
				T1334_ = (NIM_BOOL)0;
				T1335_ = (NIM_BOOL)0;
				T1335_ = isAnalysableFieldAccess__aliasanalysis_u8(ri_2, (*c_p2).owner);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
				if (!(T1335_)) goto LA1336_;
				T1335_ = isLastRead__injectdestructors_u433(ri_2, c_p2, s_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
LA1336_: ;
				T1334_ = T1335_;
				if (!(T1334_)) goto LA1337_;
				T1334_ = canBeMoved__injectdestructors_u608((&(*c_p2)), (*dest_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
LA1337_: ;
				if (!T1334_) goto LA1338_;
				snk_4 = NIM_NIL;
				colontmpD__151 = NIM_NIL;
				snk_4 = genSink__injectdestructors_u649(c_p2, s_p3, dest_p0, ri_2, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1340_;
				nimZeroMem((void*)T1341_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T1341_[0] = snk_4;
				colontmpD__151 = genWasMoved__injectdestructors_u796(c_p2, ri_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1340_;
				T1341_[1] = colontmpD__151;
				result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T1341_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1340_;
				{
					LA1340_:;
				}
				{
					oldNimErrFin1340_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__151);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
					eqdestroy___ast_u3252(snk_4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
					*nimErr_ = oldNimErrFin1340_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
			}
			goto LA1329_;
LA1338_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__152;
				colontmpD__152 = NIM_NIL;
				(*c_p2).inEnsureMove += isEnsureMove_1;
				result = genCopy__injectdestructors_u741(c_p2, dest_p0, ri_2, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1345_;
				(*c_p2).inEnsureMove -= isEnsureMove_1;
				colontmpD__152 = p__injectdestructors_u159(ri_2, c_p2, s_p3, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1345_;
				add__ast_u3215(result, colontmpD__152);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1345_;
				finishCopy__injectdestructors_u694(c_p2, result, dest_p0, flags_p4, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1345_;
				{
					LA1345_:;
				}
				{
					oldNimErrFin1345_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__152);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
					*nimErr_ = oldNimErrFin1345_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1328_;
			}
LA1329_: ;
			{
				LA1328_:;
			}
			{
				oldNimErrFin1328_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(isOwnsData_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
				*nimErr_ = oldNimErrFin1328_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA620_;
		}
		break;
		}
		{
			LA620_:;
		}
		{
			oldNimErrFin620_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(ri2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin620_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(ri_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_u921)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NI T7_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41));
		if (!(T5_)) goto LA6_;
		T7_ = (NI)0;
		T7_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T5_ = (((NI)0) < T7_);
LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA8_;
		T4_ = !(((*n_p0).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA8_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA9_;
		T3_ = isDangerousSeq__injectdestructors_u909((*n_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA9_: ;
		if (!T3_) goto LA10_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
LA10_: ;
	result = NIM_FALSE;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	{
		result = containsConstSeq__injectdestructors_u921((*n_p0)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA16;
					i_1 = i_2;
					{
						NIM_BOOL T19_;
						T19_ = (NIM_BOOL)0;
						T19_ = containsConstSeq__injectdestructors_u921((*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T19_) goto LA20_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA20_: ;
					i_2 += ((NI)1);
				} LA16: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_1;
			son_1 = NIM_NIL;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = safeLen__ast_u3197(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA27;
						i_3 = i_4;
						eqcopy___ast_u3255(&son_1, (*n_p0)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						{
							NIM_BOOL T30_;
							T30_ = (NIM_BOOL)0;
							T30_ = containsConstSeq__injectdestructors_u921(son_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							if (!T30_) goto LA31_;
							result = NIM_TRUE;
							eqdestroy___ast_u3252(son_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA31_: ;
						i_4 += ((NI)1);
					} LA27: ;
				}
			}
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(son_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_u841)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* root_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	root_1 = NIM_NIL;
	root_1 = getRoot__trees_u373(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!((root_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3_;
		result = ((NU8)((*(*root_1).name).s.p->data[((NI)0)]) == (NU8)(58));
	}
	goto LA1_;
LA3_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	eqdestroy___ast_u4574(root_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, passCopyToSink__injectdestructors_u849)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* nTyp_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nTyp_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	tmp_1 = NIM_NIL;
	typ_1 = NIM_NIL;
	op_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	nTyp_1 = skipTypes__ast_u5379((*n_p0).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_65);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		NIM_BOOL T10_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		T4_ = (NIM_BOOL)0;
		T4_ = hasDestructor__injectdestructors_u57((&(*c_p1)), nTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T4_) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = ((*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6));
		if (!(T7_)) goto LA8_;
		T7_ = ((*nTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA8_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA9_;
		colontmpD_ = getAttachedOp__modulegraphs_u4987((*c_p1).graph, nTyp_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = (NIM_BOOL)0;
		T10_ = isTrivial__liftdestructors_u1826(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T6_ = !(T10_);
LA9_: ;
		T4_ = T6_;
LA5_: ;
		if (!!(T4_)) goto LA11_;
		colontmpD__3 = NIM_NIL;
		{
			if (!((*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6))) goto LA16_;
		}
LA16_: ;
		{
			colontmpD__3 = skipTypes__ast_u5379(nTyp_1, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			if (!((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48))) goto LA20_;
			liMessage__msgs_u1207((*(*c_p1).graph).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_67, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_68, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
LA20_: ;
		result = p__injectdestructors_u159(n_p0, c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(nTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA13_:;
		}
		{
			oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin13_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*n_p0).info, (*n_p0).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	tmp_1 = getTemp__injectdestructors_u69(c_p1, s_p2, nTyp_1, (*n_p0).info, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	typ_1 = skipTypes__ast_u5379(nTyp_1, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	op_1 = getAttachedOp__modulegraphs_u4987((*c_p1).graph, typ_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T26_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newCall_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyArray__al2p7ldDMvbBVYNFCuu4Rw T47_;
		tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA T48_;
		tyArray__al2p7ldDMvbBVYNFCuu4Rw T49_;
		T26_ = (NIM_BOOL)0;
		T26_ = !((op_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T26_)) goto LA27_;
		T26_ = !((((*typ_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4)))&63U)))!=0));
LA27_: ;
		if (!T26_) goto LA28_;
		src_1 = NIM_NIL;
		newCall_1 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		{
			if (!(((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0)) goto LA33_;
			checkForErrorPragma__injectdestructors_u465((&(*c_p1)), nTyp_1, n_p0, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_69, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
		goto LA31_;
LA33_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* copyOp_1;
			copyOp_1 = NIM_NIL;
			copyOp_1 = getAttachedOp__modulegraphs_u4987((*c_p1).graph, typ_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				NIM_BOOL T39_;
				NIM_BOOL T40_;
				T39_ = (NIM_BOOL)0;
				T40_ = (NIM_BOOL)0;
				T40_ = !((copyOp_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
				if (!(T40_)) goto LA41_;
				T40_ = (((*copyOp_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0);
LA41_: ;
				T39_ = T40_;
				if (!(T39_)) goto LA42_;
				T39_ = !((((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35)))&63U)))!=0));
LA42_: ;
				if (!T39_) goto LA43_;
				checkForErrorPragma__injectdestructors_u465((&(*c_p1)), nTyp_1, n_p0, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_70, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			}
LA43_: ;
			{
				LA36_:;
			}
			{
				oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(copyOp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				*nimErr_ = oldNimErrFin36_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
LA31_: ;
		src_1 = p__injectdestructors_u159(n_p0, c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		nimZeroMem((void*)T47_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
		colontmpD__4 = newSymNode__ast_u5168(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		T47_[0] = colontmpD__4;
		T47_[1] = src_1;
		newCall_1 = newTreeIT__ast_u4191(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*src_1).info, (*src_1).typField, T47_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		T48_ = 0;
		finishCopy__injectdestructors_u694(c_p1, newCall_1, n_p0, T48_, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		nimZeroMem((void*)T49_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
		T49_[0] = tmp_1;
		T49_[1] = newCall_1;
		colontmpD__5 = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), (*src_1).info, T49_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		add__ast_u3215(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(newCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(src_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA24_;
LA28_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
		tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA T54_;
		tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA T55_;
		colontmpD__6 = NIM_NIL;
		m_1 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		colontmpD__6 = genWasMoved__injectdestructors_u796(c_p1, tmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		add__ast_u3215(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		T54_ = 0;
		m_1 = genCopy__injectdestructors_u741(c_p1, tmp_1, n_p0, T54_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		colontmpD__7 = p__injectdestructors_u159(n_p0, c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		add__ast_u3215(m_1, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		T55_ = 0;
		finishCopy__injectdestructors_u694(c_p1, m_1, n_p0, T55_, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		add__ast_u3215(result, m_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		{
			LA53_:;
		}
		{
			oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(m_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin53_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA24_: ;
	{
		NIM_BOOL T60_;
		NIM_BOOL T61_;
		NIM_BOOL T62_;
		NIM_BOOL T64_;
		NimStringV2 colontmpD__8;
		NimStringV2 colontmpD__9;
		T60_ = (NIM_BOOL)0;
		T61_ = (NIM_BOOL)0;
		T62_ = (NIM_BOOL)0;
		T62_ = isLValue__parampatterns_u491(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T62_)) goto LA63_;
		T64_ = (NIM_BOOL)0;
		T64_ = isCapturedVar__injectdestructors_u841(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T62_ = !(T64_);
LA63_: ;
		T61_ = T62_;
		if (!(T61_)) goto LA65_;
		colontmpD__2 = skipTypes__ast_u5379(nTyp_1, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T61_ = !(((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22)));
LA65_: ;
		T60_ = T61_;
		if (!(T60_)) goto LA66_;
		T60_ = ((*c_p1).inSpawn == ((NI)0));
LA66_: ;
		if (!T60_) goto LA67_;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		colontmpD__8 = dollar___renderer_u2166(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
		colontmpD__9 = nsuFormatSingleElem(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_72, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
		liMessage__msgs_u1207((*(*c_p1).graph).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)113), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_73, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
		{
			LA69_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__9);
			eqdestroy___system_u2691(colontmpD__8);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA67_: ;
	{
		NimStringV2 colontmpD__10;
		NimStringV2 colontmpD__11;
		if (!(((NI)0) < (*c_p1).inEnsureMove)) goto LA74_;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
		colontmpD__10 = dollar___renderer_u2166(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
		colontmpD__11 = nsuFormatSingleElem(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_75, colontmpD__10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
		liMessage__msgs_u1207((*(*c_p1).graph).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)18), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_76, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
		{
			LA76_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__11);
			eqdestroy___system_u2691(colontmpD__10);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA74_: ;
	add__ast_u3215(result, tmp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(nTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCustomDestructor__injectdestructors_u1185)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	obj_1 = NIM_NIL;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = hasDestructor__injectdestructors_u57(c_p0, t_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	if (!(T3_)) goto LA4_;
	colontmpD_ = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = !((colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA5_;
	colontmpD__2 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (((*colontmpD__2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35)))&63U)))!=0);
LA5_: ;
	result = T2_;
	eqcopy___ast_u3381(&obj_1, t_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		while (1) {
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T9_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T11_;
			NIM_BOOL T12_;
			NIM_BOOL T14_;
			NIM_BOOL T15_;
			T9_ = NIM_NIL;
			T9_ = baseClass__ast_u5348(obj_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T9_); goto LA7_;}
			eqsink___ast_u3387(&colontmpD__3, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			if (!!((colontmpD__3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA8;
			colontmpD__4 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			colontmpD__6 = NIM_NIL;
			colontmpD__4 = baseClass__ast_u5348(obj_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T11_ = NIM_NIL;
			T11_ = skipTypes__ast_u5379(colontmpD__4, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_78);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T11_); goto LA10_;}
			eqsink___ast_u3387(&obj_1, T11_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T12_ = (NIM_BOOL)0;
			T12_ = result;
			if (T12_) goto LA13_;
			T14_ = (NIM_BOOL)0;
			T15_ = (NIM_BOOL)0;
			T15_ = hasDestructor__injectdestructors_u57(c_p0, obj_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			if (!(T15_)) goto LA16_;
			colontmpD__5 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, obj_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T15_ = !((colontmpD__5 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA16_: ;
			T14_ = T15_;
			if (!(T14_)) goto LA17_;
			colontmpD__6 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, obj_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T14_ = (((*colontmpD__6).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35)))&63U)))!=0);
LA17_: ;
			T12_ = T14_;
LA13_: ;
			result = T12_;
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				eqdestroy___ast_u4574(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				eqdestroy___ast_u3378(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		} LA8: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(obj_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, ensureDestruction__injectdestructors_u938)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p1, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p2, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmp_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*arg_p0).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = hasDestructor__injectdestructors_u57((&(*c_p2)), (*arg_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
		if (!T3_) goto LA5_;
		tmp_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*arg_p0).info, (*arg_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		tmp_1 = getTemp__injectdestructors_u69(c_p2, s_p3, (*arg_p0).typField, (*arg_p0).info, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD_ = genSink__injectdestructors_u649(c_p2, s_p3, tmp_1, arg_p0, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, tmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_ = NIM_NIL;
		T8_ = genDestroy__injectdestructors_u603(c_p2, tmp_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA7_;}
		add__ast_u3225((&(*s_p3).final), T8_);
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(tmp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		eqcopy___ast_u3255(&result, arg_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_u3641)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	result = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genDefaultCall__injectdestructors_u810)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = createMagic__modulegraphs_u10814((*c_p1).graph, (*c_p1).idgen, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_80, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)154));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD__2 = newSymNode__ast_u5168(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&(*result).typField, t_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_u1005)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = eqdup___ast_u4580((*v_p0)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__renderer_u83((&(*s_p2).vars), colontmpD_);
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*v_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T5_)) goto LA6_;
		T5_ = ((*(*v_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5));
LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = ((*(*(*v_p0)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
LA7_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA8_;
		T3_ = !((((*(*v_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41)))&63U)))!=0));
LA8_: ;
		if (!T3_) goto LA9_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T15_;
			if (!(((NI)0) < (*c_p1).inLoop)) goto LA13_;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			nimZeroMem((void*)T15_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T15_[0] = v_p0;
			colontmpD__2 = genDefaultCall__injectdestructors_u810((*v_p0).typField, (&(*c_p1)), (*v_p0).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T15_[1] = colontmpD__2;
			colontmpD__3 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T15_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(res_p3, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
	}
	goto LA1_;
LA9_: ;
	{
		NIM_BOOL T17_;
		T17_ = (NIM_BOOL)0;
		T17_ = !((((*(*v_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)26)))&63U)))!=0));
		if (!(T17_)) goto LA18_;
		T17_ = !((((*(*v_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41)))&63U)))!=0));
LA18_: ;
		if (!T17_) goto LA19_;
		{
			NIM_BOOL T23_;
			NIM_BOOL T25_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T29_;
			T23_ = (NIM_BOOL)0;
			T23_ = ((2056 & ~ (*(*v_p0)._kind_4.sym).flags)==0);
			if (T23_) goto LA24_;
			T25_ = (NIM_BOOL)0;
			T25_ = (((*(*v_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0);
			if (!(T25_)) goto LA26_;
			T25_ = ((*s_p2).parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL));
LA26_: ;
			T23_ = T25_;
LA24_: ;
			if (!T23_) goto LA27_;
			T29_ = NIM_NIL;
			T29_ = genDestroy__injectdestructors_u603(c_p1, v_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T29_); goto BeforeRet_;}
			add__ast_u3225((&(*(*c_p1).graph).globalDestructors), T29_);
		}
		goto LA21_;
LA27_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
			T31_ = NIM_NIL;
			T31_ = genDestroy__injectdestructors_u603(c_p1, v_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto BeforeRet_;}
			add__ast_u3225((&(*s_p2).final), T31_);
		}
LA21_: ;
	}
	goto LA1_;
LA19_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_u953)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* destTyp_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	value_1 = NIM_NIL;
	destTyp_1 = NIM_NIL;
	x_1 = NIM_NIL;
	field_1 = NIM_NIL;
	{
		if (!!(((*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6)))) goto LA4_;
		eqdestroy___ast_u3252(field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(destTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&value_1, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*value_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155))) goto LA8_;
		eqcopy___ast_u3255(&value_1, (*value_1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	{
		if (!((*value_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA12_;
		eqdestroy___ast_u3252(field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(destTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA12_: ;
	destTyp_1 = skipTypes__ast_u5379((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T16_;
		NIM_BOOL T18_;
		T16_ = (NIM_BOOL)0;
		T16_ = !(((*destTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22)));
		if (!(T16_)) goto LA17_;
		T18_ = (NIM_BOOL)0;
		T18_ = ((*destTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
		if (!(T18_)) goto LA19_;
		T18_ = ((*destTyp_1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA19_: ;
		T16_ = !(T18_);
LA17_: ;
		if (!T16_) goto LA20_;
		eqdestroy___ast_u3252(field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(destTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA20_: ;
	eqcopy___ast_u3255(&x_1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	field_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		while (1) {
			{
				if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA26_;
				eqcopy___ast_u3255(&field_1, (*x_1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					NIM_BOOL T30_;
					T30_ = (NIM_BOOL)0;
					T30_ = ((*field_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
					if (!(T30_)) goto LA31_;
					T30_ = (((*(*field_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41)))&63U)))!=0);
LA31_: ;
					if (!T30_) goto LA32_;
					eqdestroy___ast_u3252(field_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(destTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(value_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA32_: ;
				eqcopy___ast_u3255(&x_1, (*x_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA24_;
LA26_: ;
			{
				if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA35_;
				eqcopy___ast_u3255(&x_1, (*x_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA24_;
LA35_: ;
			{
				goto LA22;
			}
LA24_: ;
			{
				NIM_BOOL T40_;
				NimStringV2 msg_1;
				NimStringV2 T44_;
				T40_ = (NIM_BOOL)0;
				T40_ = exprStructuralEquivalent__trees_u63(x_1, value_1, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!T40_) goto LA41_;
				msg_1.len = 0; msg_1.p = NIM_NIL;
				T44_.len = 0; T44_.p = NIM_NIL;
				{
					NimStringV2 colontmpD_;
					NimStringV2 colontmpD__2;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T50_;
					if (!!((field_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA47_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					colontmpD_ = dollar___renderer_u2166(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					T50_[0] = colontmpD_;
					colontmpD__2 = dollar___renderer_u2166(field_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					T50_[1] = colontmpD__2;
					msg_1 = nsuFormatOpenArray(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_82, T50_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					{
						LA49_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__2);
						eqdestroy___system_u2691(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				}
				goto LA45_;
LA47_: ;
				{
					NimStringV2 colontmpD__3;
					tyArray__YgExxhfgKcesA5EOUj1MOA T55_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__3 = dollar___renderer_u2166(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					T55_[0] = colontmpD__3;
					msg_1 = nsuFormatOpenArray(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_84, T55_, 1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					{
						LA54_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				}
LA45_: ;
				liMessage__msgs_u1207((*(*c_p1).graph).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)62), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_85, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				eqdestroy___system_u2691(msg_1);
				goto LA22;
				{
					LA43_:;
				}
				{
					eqdestroy___system_u2691(msg_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA41_: ;
		}
	} LA22: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(destTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genDiscriminantAsgn__injectdestructors_u772)(tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p0, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmp_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* leDotExpr_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* objType_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
	tyArray__Nwi28HyTG9cEj6FfWArgLbQ T2_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T3_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin15_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T37_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	tmp_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	le_1 = NIM_NIL;
	leDotExpr_1 = NIM_NIL;
	objType_1 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	tmp_1 = getTemp__injectdestructors_u69(c_p0, s_p1, (*(*n_p2)._kind_6.sons.p->data[((NI)1)]).typField, (*n_p2).info, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T2_, sizeof(tyArray__Nwi28HyTG9cEj6FfWArgLbQ));
	result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T2_, 0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T3_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	T3_[0] = tmp_1;
	colontmpD_ = p__injectdestructors_u159((*n_p2)._kind_6.sons.p->data[((NI)1)], c_p0, s_p1, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_[1] = colontmpD_;
	colontmpD__2 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T3_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = p__injectdestructors_u159((*n_p2)._kind_6.sons.p->data[((NI)0)], c_p0, s_p1, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	le_1 = p__injectdestructors_u159((*n_p2)._kind_6.sons.p->data[((NI)0)], c_p0, s_p1, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = NIM_NIL;
	{
		if (!((*le_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46))) goto LA7_;
		eqcopy___ast_u3255(&leDotExpr_1, (*le_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA5_;
LA7_: ;
	{
		eqcopy___ast_u3255(&leDotExpr_1, le_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	eqcopy___ast_u3381(&objType_1, (*(*leDotExpr_1)._kind_6.sons.p->data[((NI)0)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T12_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
		T12_ = (NIM_BOOL)0;
		T12_ = hasDestructor__injectdestructors_u57((&(*c_p0)), objType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T12_) goto LA13_;
		colontmpD__5 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		{
			NIM_BOOL T18_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T23_;
			T18_ = (NIM_BOOL)0;
			colontmpD__5 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, objType_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			T18_ = !((colontmpD__5 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T18_)) goto LA19_;
			colontmpD__6 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, objType_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			T18_ = (((*colontmpD__6).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35)))&63U)))!=0);
LA19_: ;
			if (!T18_) goto LA20_;
			colontmpD__7 = NIM_NIL;
			liMessage__msgs_u1207((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_87, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_88, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			nimZeroMem((void*)T23_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T23_[0] = le_1;
			T23_[1] = tmp_1;
			colontmpD__7 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T23_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			add__ast_u3215(result, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			eqdestroy___ast_u4574(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(objType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(leDotExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(le_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(tmp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA22_:;
			}
			{
				oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				*nimErr_ = oldNimErrFin22_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		}
LA20_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* branchDestructor_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cond_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* notExpr_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__11;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__12;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__14;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__16;
			tyArray__TAsXwXSUBvAawE1kIQ5ziQ T31_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T32_;
			if (!!(((*c_p0).inUncheckedAssignSection == ((NI)0)))) goto LA28_;
			branchDestructor_1 = NIM_NIL;
			cond_1 = NIM_NIL;
			colontmpD__8 = NIM_NIL;
			colontmpD__9 = NIM_NIL;
			colontmpD__10 = NIM_NIL;
			notExpr_1 = NIM_NIL;
			colontmpD__11 = NIM_NIL;
			colontmpD__12 = NIM_NIL;
			colontmpD__13 = NIM_NIL;
			colontmpD__14 = NIM_NIL;
			colontmpD__15 = NIM_NIL;
			colontmpD__16 = NIM_NIL;
			branchDestructor_1 = produceDestructorForDiscriminator__liftdestructors_u1728((*c_p0).graph, objType_1, (*(*leDotExpr_1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym, (*n_p2).info, (*c_p0).idgen);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			colontmpD__8 = getSysType__magicsys_u55((*c_p0).graph, unknownLineInfo__lineinfos_u383, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			cond_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), (*n_p2).info, colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			colontmpD__9 = getMagicEqSymForType__magicsys_u176((*c_p0).graph, (*le_1).typField, (*n_p2).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			colontmpD__10 = newSymNode__ast_u5168(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			add__ast_u3215(cond_1, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			add__ast_u3215(cond_1, le_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			add__ast_u3215(cond_1, tmp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			colontmpD__11 = getSysType__magicsys_u55((*c_p0).graph, unknownLineInfo__lineinfos_u383, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			notExpr_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30), (*n_p2).info, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			colontmpD__12 = createMagic__modulegraphs_u10814((*c_p0).graph, (*c_p0).idgen, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_90, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96));
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			colontmpD__13 = newSymNode__ast_u5168(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			add__ast_u3215(notExpr_1, colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			add__ast_u3215(notExpr_1, cond_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			nimZeroMem((void*)T31_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
			nimZeroMem((void*)T32_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T32_[0] = notExpr_1;
			colontmpD__14 = genOp__injectdestructors_u488(c_p0, branchDestructor_1, le_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			T32_[1] = colontmpD__14;
			colontmpD__15 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86), T32_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			T31_[0] = colontmpD__15;
			colontmpD__16 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92), T31_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			add__ast_u3215(result, colontmpD__16);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			{
				LA30_:;
			}
			{
				oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(colontmpD__15);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(colontmpD__13);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u4574(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3378(colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(notExpr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u4574(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3378(colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(cond_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u4574(branchDestructor_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				*nimErr_ = oldNimErrFin30_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		}
LA28_: ;
		{
			LA15_:;
		}
		{
			oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin15_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	nimZeroMem((void*)T37_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	T37_[0] = le_1;
	T37_[1] = tmp_1;
	colontmpD__4 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T37_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(objType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(leDotExpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(le_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, p__injectdestructors_u159)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Con__kIEtpimm10X8hzM4RzpcKg* c_p1, tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* s_p2, tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q mode_p3, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg tmpFlags_p4, NIM_BOOL inReturn_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin58_;
NIM_BOOL oldNimErrFin98_;
NIM_BOOL oldNimErrFin129_;
NIM_BOOL oldNimErrFin134_;
NIM_BOOL oldNimErrFin81_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin151_;
NIM_BOOL oldNimErrFin155_;
NIM_BOOL oldNimErrFin173_;
NIM_BOOL oldNimErrFin188_;
NIM_BOOL oldNimErrFin214_;
NIM_BOOL oldNimErrFin219_;
NIM_BOOL oldNimErrFin178_;
NIM_BOOL oldNimErrFin165_;
NIM_BOOL oldNimErrFin252_;
NIM_BOOL oldNimErrFin292_;
NIM_BOOL oldNimErrFin323_;
NIM_BOOL oldNimErrFin328_;
NIM_BOOL oldNimErrFin275_;
NIM_BOOL oldNimErrFin236_;
NIM_BOOL oldNimErrFin351_;
NIM_BOOL oldNimErrFin379_;
NIM_BOOL oldNimErrFin405_;
NIM_BOOL oldNimErrFin422_;
NIM_BOOL oldNimErrFin369_;
NIM_BOOL oldNimErrFin461_;
NIM_BOOL oldNimErrFin508_;
NIM_BOOL oldNimErrFin539_;
NIM_BOOL oldNimErrFin544_;
NIM_BOOL oldNimErrFin491_;
NIM_BOOL oldNimErrFin449_;
NIM_BOOL oldNimErrFin343_;
NIM_BOOL oldNimErrFin563_;
NIM_BOOL oldNimErrFin633_;
NIM_BOOL oldNimErrFin626_;
NIM_BOOL oldNimErrFin601_;
NIM_BOOL oldNimErrFin696_;
NIM_BOOL oldNimErrFin680_;
NIM_BOOL oldNimErrFin783_;
NIM_BOOL oldNimErrFin724_;
NIM_BOOL oldNimErrFin830_;
NIM_BOOL oldNimErrFin875_;
NIM_BOOL oldNimErrFin895_;
NIM_BOOL oldNimErrFin851_;
NIM_BOOL oldNimErrFin907_;
NIM_BOOL oldNimErrFin822_;
NIM_BOOL oldNimErrFin818_;
NIM_BOOL oldNimErrFin937_;
NIM_BOOL oldNimErrFin972_;
NIM_BOOL oldNimErrFin987_;
NIM_BOOL oldNimErrFin962_;
NIM_BOOL oldNimErrFin1030_;
NIM_BOOL oldNimErrFin1015_;
NIM_BOOL oldNimErrFin1056_;
NIM_BOOL oldNimErrFin1087_;
NIM_BOOL oldNimErrFin1093_;
NIM_BOOL oldNimErrFin1039_;
NIM_BOOL oldNimErrFin999_;
NIM_BOOL oldNimErrFin995_;
NIM_BOOL oldNimErrFin1111_;
NIM_BOOL oldNimErrFin1115_;
NIM_BOOL oldNimErrFin1133_;
NIM_BOOL oldNimErrFin1149_;
NIM_BOOL oldNimErrFin1175_;
NIM_BOOL oldNimErrFin1181_;
NIM_BOOL oldNimErrFin1139_;
NIM_BOOL oldNimErrFin1125_;
NIM_BOOL oldNimErrFin1230_;
NIM_BOOL oldNimErrFin1215_;
NIM_BOOL oldNimErrFin1256_;
NIM_BOOL oldNimErrFin1287_;
NIM_BOOL oldNimErrFin1293_;
NIM_BOOL oldNimErrFin1239_;
NIM_BOOL oldNimErrFin1199_;
NIM_BOOL oldNimErrFin1329_;
NIM_BOOL oldNimErrFin1317_;
NIM_BOOL oldNimErrFin1346_;
NIM_BOOL oldNimErrFin1383_;
NIM_BOOL oldNimErrFin1372_;
NIM_BOOL oldNimErrFin1401_;
NIM_BOOL oldNimErrFin1390_;
NIM_BOOL oldNimErrFin1336_;
NIM_BOOL oldNimErrFin1453_;
NIM_BOOL oldNimErrFin1430_;
NIM_BOOL oldNimErrFin1481_;
NIM_BOOL oldNimErrFin1512_;
NIM_BOOL oldNimErrFin1518_;
NIM_BOOL oldNimErrFin1464_;
NIM_BOOL oldNimErrFin1418_;
NIM_BOOL oldNimErrFin1309_;
NIM_BOOL oldNimErrFin1536_;
NIM_BOOL oldNimErrFin1571_;
NIM_BOOL oldNimErrFin1542_;
NIM_BOOL oldNimErrFin960_;
NIM_BOOL oldNimErrFin1584_;
NIM_BOOL oldNimErrFin1614_;
NIM_BOOL oldNimErrFin1607_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) goto LA3_;
		switch ((*n_p0).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			{
				NI T9_;
				T9_ = (NI)0;
				T9_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				if (!(T9_ == ((NI)0))) goto LA10_;
				eqcopy___ast_u3255(&result, n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA10_: ;
			result = copyNode__ast_u6736(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				NI iX60gensym193__1;
				NI colontmp_;
				NI T13_;
				NI i_1;
				iX60gensym193__1 = (NI)0;
				colontmp_ = (NI)0;
				T13_ = (NI)0;
				T13_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				colontmp_ = (NI)(T13_ - ((NI)1));
				i_1 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
						if (!(i_1 < colontmp_)) goto LA15;
						colontmpD__3 = NIM_NIL;
						iX60gensym193__1 = i_1;
						colontmpD__3 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[iX60gensym193__1], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						add__ast_u3215(result, colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						i_1 += ((NI)1);
						{
							LA16_:;
						}
						{
							oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							*nimErr_ = oldNimErrFin16_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					} LA15: ;
				}
			}
			T19_ = NIM_NIL;
			{
				NI T22_;
				NIM_BOOL T23_;
				NI T27_;
				T22_ = (NI)0;
				T22_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T23_ = (NIM_BOOL)0;
				T23_ = isEmptyType__ast_u7234((*(*n_p0)._kind_6.sons.p->data[(NI)(T22_ - ((NI)1))]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				if (!T23_) goto LA24_;
				T27_ = (NI)0;
				T27_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				colontmpD_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[(NI)(T27_ - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				T19_ = colontmpD_;
				{
					LA26_:;
				}
				{
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			}
			goto LA20_;
LA24_: ;
			{
				NI T32_;
				T32_ = (NI)0;
				T32_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				colontmpD__2 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[(NI)(T32_ - ((NI)1))], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				T19_ = colontmpD__2;
				{
					LA31_:;
				}
				{
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			}
LA20_: ;
			add__ast_u3215(result, T19_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			colontmpD__4 = NIM_NIL;
			result = copyNode__ast_u6736(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			colontmpD__4 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			add__ast_u3215(result, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			{
				NI iX60gensym193__2;
				NI colontmp__2;
				NI i_2;
				iX60gensym193__2 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				i_2 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym193__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym193__1;
						tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ ofScopeX60gensym193__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
						if (!(i_2 < colontmp__2)) goto LA41;
						itX60gensym193__1 = NIM_NIL;
						branchX60gensym193__1 = NIM_NIL;
						nimZeroMem((void*)(&ofScopeX60gensym193__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
						colontmpD__5 = NIM_NIL;
						iX60gensym193__2 = i_2;
						eqcopy___ast_u3255(&itX60gensym193__1, (*n_p0)._kind_6.sons.p->data[iX60gensym193__2]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						branchX60gensym193__1 = shallowCopy__ast_u6876(itX60gensym193__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						{
							NI jX60gensym193__1;
							NI colontmp__3;
							NI T44_;
							NI i_3;
							jX60gensym193__1 = (NI)0;
							colontmp__3 = (NI)0;
							T44_ = (NI)0;
							T44_ = len__ast_u3190(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							colontmp__3 = (NI)(T44_ - ((NI)1));
							i_3 = ((NI)0);
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T47_;
									if (!(i_3 < colontmp__3)) goto LA46;
									jX60gensym193__1 = i_3;
									T47_ = NIM_NIL;
									T47_ = copyTree__ast_u6891((*itX60gensym193__1)._kind_6.sons.p->data[jX60gensym193__1]);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T47_); goto LA42_;}
									eqsink___ast_u3261(&(*branchX60gensym193__1)._kind_6.sons.p->data[jX60gensym193__1], T47_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
									i_3 += ((NI)1);
								} LA46: ;
							}
						}
						colontmpD__5 = lastSon__ast_u5208(itX60gensym193__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						nestedScope__injectdestructors_u85(s_p2, colontmpD__5, (&ofScopeX60gensym193__1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						T48_ = NIM_NIL;
						{
							NIM_BOOL T51_;
							NIM_BOOL T52_;
							NI T54_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
							NI T59_;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T60_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T61_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T77_;
							T51_ = (NIM_BOOL)0;
							T52_ = (NIM_BOOL)0;
							T52_ = isEmptyType__ast_u7234((*n_p0).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							if (T52_) goto LA53_;
							T54_ = (NI)0;
							T54_ = len__ast_u3190(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							T52_ = isEmptyType__ast_u7234((*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T54_ - ((NI)1))]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
LA53_: ;
							T51_ = T52_;
							if (T51_) goto LA55_;
							T51_ = NIM_FALSE;
LA55_: ;
							if (!T51_) goto LA56_;
							colontmpD__6 = NIM_NIL;
							colontmpD__7 = NIM_NIL;
							T59_ = (NI)0;
							T59_ = len__ast_u3190(branchX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							T60_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
							T60_ = (&ofScopeX60gensym193__1);
							T61_ = NIM_NIL;
							{
								NI T64_;
								NIM_BOOL T65_;
								NI T69_;
								T64_ = (NI)0;
								T64_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
								T65_ = (NIM_BOOL)0;
								T65_ = isEmptyType__ast_u7234((*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T64_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
								if (!T65_) goto LA66_;
								T69_ = (NI)0;
								T69_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
								colontmpD__6 = p__injectdestructors_u159((*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T69_ - ((NI)1))], c_p1, (&ofScopeX60gensym193__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
								T61_ = colontmpD__6;
								{
									LA68_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							}
							goto LA62_;
LA66_: ;
							{
								NI T74_;
								T74_ = (NI)0;
								T74_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								colontmpD__7 = p__injectdestructors_u159((*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T74_ - ((NI)1))], c_p1, (&ofScopeX60gensym193__1), mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								T61_ = colontmpD__7;
								{
									LA73_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							}
LA62_: ;
							T77_ = NIM_NIL;
							T77_ = processScope__injectdestructors_u1058(c_p1, T60_, T61_);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T77_); goto LA58_;}
							eqsink___ast_u3261(&(*branchX60gensym193__1)._kind_6.sons.p->data[(NI)(T59_ - ((NI)1))], T77_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
							{
								LA58_:;
							}
							{
								oldNimErrFin58_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__7);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								eqdestroy___ast_u3252(colontmpD__6);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								*nimErr_ = oldNimErrFin58_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						}
						goto LA49_;
LA56_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym235__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym235__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym235__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym235__1;
							NI T82_;
							NI T83_;
							NI T84_;
							NI T85_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T86_;
							NI T116_;
							NI T143_;
							resultX60gensym235__1 = NIM_NIL;
							tmpX60gensym235__1 = NIM_NIL;
							cpyX60gensym235__1 = NIM_NIL;
							finSectionX60gensym235__1 = NIM_NIL;
							T82_ = (NI)0;
							T82_ = len__ast_u3190(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							T83_ = (NI)0;
							T83_ = len__ast_u3190(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							resultX60gensym235__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T82_ - ((NI)1))]).info, (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T83_ - ((NI)1))]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							T84_ = (NI)0;
							T84_ = len__ast_u3190(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							T85_ = (NI)0;
							T85_ = len__ast_u3190(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							tmpX60gensym235__1 = getTemp__injectdestructors_u69(c_p1, ofScopeX60gensym193__1.parent, (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T84_ - ((NI)1))]).typField, (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T85_ - ((NI)1))]).info, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							(*(*tmpX60gensym235__1)._kind_4.sym).flags = tmpFlags_p4;
							T86_ = NIM_NIL;
							{
								NIM_BOOL T89_;
								NI T90_;
								NI T92_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T95_;
								NI T96_;
								T89_ = (NIM_BOOL)0;
								T90_ = (NI)0;
								T90_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
								T89_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T90_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
								if (!(T89_)) goto LA91_;
								T92_ = (NI)0;
								T92_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
								T89_ = !(((*(*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T92_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T92_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA91_: ;
								if (!T89_) goto LA93_;
								T95_ = NIM_NIL;
								T95_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T95_); goto LA81_;}
								add__ast_u3225((&(*ofScopeX60gensym193__1.parent).final), T95_);
								T96_ = (NI)0;
								T96_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
								cpyX60gensym235__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym235__1, (*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T96_ - ((NI)1))], c_p1, (&ofScopeX60gensym193__1), 1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							}
							goto LA87_;
LA93_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T99_;
								NI T100_;
								colontmpD__8 = NIM_NIL;
								nimZeroMem((void*)T99_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T99_[0] = tmpX60gensym235__1;
								T100_ = (NI)0;
								T100_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
								colontmpD__8 = p__injectdestructors_u159((*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T100_ - ((NI)1))], c_p1, (&ofScopeX60gensym193__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
								T99_[1] = colontmpD__8;
								cpyX60gensym235__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T99_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
								{
									LA98_:;
								}
								{
									oldNimErrFin98_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__8);
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									*nimErr_ = oldNimErrFin98_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							}
LA87_: ;
							{
								NI T105_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym235__1;
								NI T108_;
								T105_ = ofScopeX60gensym193__1.vars.len;
								if (!(((NI)0) < T105_)) goto LA106_;
								varSectionX60gensym235__1 = NIM_NIL;
								T108_ = (NI)0;
								T108_ = len__ast_u3190(itX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
								varSectionX60gensym235__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T108_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
								{
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym235__2;
									NI i_4;
									NI L_1;
									NI T110_;
									tmpX60gensym235__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
									i_4 = ((NI)0);
									T110_ = ofScopeX60gensym193__1.vars.len;
									L_1 = T110_;
									{
										while (1) {
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
											tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T113_;
											NI T114_;
											NI T115_;
											if (!(i_4 < L_1)) goto LA112;
											colontmpD__9 = NIM_NIL;
											colontmpD__10 = NIM_NIL;
											colontmpD__11 = NIM_NIL;
											colontmpD__12 = NIM_NIL;
											tmpX60gensym235__2 = &ofScopeX60gensym193__1.vars.p->data[i_4];
											nimZeroMem((void*)T113_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
											colontmpD__9 = newSymNode__ast_u5168((*tmpX60gensym235__2));
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											T113_[0] = colontmpD__9;
											T114_ = (NI)0;
											T114_ = len__ast_u3190(itX60gensym193__1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											colontmpD__10 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T114_ - ((NI)1))]).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											T113_[1] = colontmpD__10;
											T115_ = (NI)0;
											T115_ = len__ast_u3190(itX60gensym193__1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											colontmpD__11 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T115_ - ((NI)1))]).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											T113_[2] = colontmpD__11;
											colontmpD__12 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T113_, 3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											add__ast_u3215(varSectionX60gensym235__1, colontmpD__12);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											i_4 += ((NI)1);
											eqdestroy___ast_u3252(colontmpD__12);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											eqdestroy___ast_u3252(colontmpD__11);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											eqdestroy___ast_u3252(colontmpD__10);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
											eqdestroy___ast_u3252(colontmpD__9);
											if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
										} LA112: ;
									}
								}
								add__ast_u3215(resultX60gensym235__1, varSectionX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
								eqdestroy___ast_u3252(varSectionX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							}
LA106_: ;
							T116_ = (NI)0;
							T116_ = len__ast_u3190(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							finSectionX60gensym235__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym193__1)._kind_6.sons.p->data[(NI)(T116_ - ((NI)1))]).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym235__1;
								NI i_5;
								NI L_2;
								NI T118_;
								mX60gensym235__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
								i_5 = ((NI)0);
								T118_ = ofScopeX60gensym193__1.wasMoved.len;
								L_2 = T118_;
								{
									while (1) {
										if (!(i_5 < L_2)) goto LA120;
										mX60gensym235__1 = &ofScopeX60gensym193__1.wasMoved.p->data[i_5];
										add__ast_u3215(finSectionX60gensym235__1, (*mX60gensym235__1));
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
										i_5 += ((NI)1);
									} LA120: ;
								}
							}
							{
								NI iX60gensym235__1;
								NI colontmp__4;
								NI T122_;
								NI res_1;
								iX60gensym235__1 = (NI)0;
								colontmp__4 = (NI)0;
								T122_ = (ofScopeX60gensym193__1.final.len-1);
								colontmp__4 = T122_;
								res_1 = colontmp__4;
								{
									while (1) {
										if (!(((NI)0) <= res_1)) goto LA124;
										iX60gensym235__1 = ((NI) (res_1));
										add__ast_u3215(finSectionX60gensym235__1, ofScopeX60gensym193__1.final.p->data[iX60gensym235__1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
										res_1 -= ((NI)1);
									} LA124: ;
								}
							}
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__14;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T130_;
								if (!ofScopeX60gensym193__1.needsTry) goto LA127_;
								colontmpD__13 = NIM_NIL;
								colontmpD__14 = NIM_NIL;
								colontmpD__15 = NIM_NIL;
								nimZeroMem((void*)T130_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T130_[0] = cpyX60gensym235__1;
								colontmpD__13 = p__injectdestructors_u159(tmpX60gensym235__1, c_p1, ofScopeX60gensym193__1.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
								T130_[1] = colontmpD__13;
								colontmpD__14 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T130_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
								colontmpD__15 = newTryFinally__lowerings_u110(colontmpD__14, finSectionX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
								add__ast_u3215(resultX60gensym235__1, colontmpD__15);
								if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
								{
									LA129_:;
								}
								{
									oldNimErrFin129_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__15);
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									eqdestroy___ast_u3252(colontmpD__14);
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									eqdestroy___ast_u3252(colontmpD__13);
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									*nimErr_ = oldNimErrFin129_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							}
							goto LA125_;
LA127_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__16;
								colontmpD__16 = NIM_NIL;
								add__ast_u3215(resultX60gensym235__1, cpyX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
								add__ast_u3215(resultX60gensym235__1, finSectionX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
								colontmpD__16 = p__injectdestructors_u159(tmpX60gensym235__1, c_p1, ofScopeX60gensym193__1.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
								add__ast_u3215(resultX60gensym235__1, colontmpD__16);
								if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
								{
									LA134_:;
								}
								{
									oldNimErrFin134_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__16);
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									*nimErr_ = oldNimErrFin134_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							}
LA125_: ;
							{
								NIM_BOOL T141_;
								if (!!((ofScopeX60gensym193__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA139_;
								T141_ = (NIM_BOOL)0;
								T141_ = (*ofScopeX60gensym193__1.parent).needsTry;
								if (T141_) goto LA142_;
								T141_ = ofScopeX60gensym193__1.needsTry;
LA142_: ;
								(*ofScopeX60gensym193__1.parent).needsTry = T141_;
							}
LA139_: ;
							T143_ = (NI)0;
							T143_ = len__ast_u3190(branchX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							eqsink___ast_u3261(&(*branchX60gensym193__1)._kind_6.sons.p->data[(NI)(T143_ - ((NI)1))], resultX60gensym235__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							eqwasMoved___ast_u3249(&resultX60gensym235__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							{
								LA81_:;
							}
							{
								oldNimErrFin81_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(finSectionX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								eqdestroy___ast_u3252(cpyX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								eqdestroy___ast_u3252(tmpX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								eqdestroy___ast_u3252(resultX60gensym235__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								*nimErr_ = oldNimErrFin81_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						}
LA49_: ;
						add__ast_u3215(result, branchX60gensym193__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						i_2 += ((NI)1);
						{
							LA42_:;
						}
						{
							oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
							eqdestroy___injectdestructors_u127((&ofScopeX60gensym193__1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
							eqdestroy___ast_u3252(branchX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
							eqdestroy___ast_u3252(itX60gensym193__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
							*nimErr_ = oldNimErrFin42_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					} LA41: ;
				}
			}
			{
				LA38_:;
			}
			{
				oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin38_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__17;
			tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym193__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym193__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__18;
			colontmpD__17 = NIM_NIL;
			nimZeroMem((void*)(&bodyScopeX60gensym193__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
			bodyResultX60gensym193__1 = NIM_NIL;
			colontmpD__18 = NIM_NIL;
			(*c_p1).inLoop += ((NI)1);
			(*c_p1).inLoopCond += ((NI)1);
			result = copyNode__ast_u6736(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			colontmpD__17 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			add__ast_u3215(result, colontmpD__17);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			(*c_p1).inLoopCond -= ((NI)1);
			nestedScope__injectdestructors_u85(s_p2, (*n_p0)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym193__1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			bodyResultX60gensym193__1 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym193__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			colontmpD__18 = processScope__injectdestructors_u1058(c_p1, (&bodyScopeX60gensym193__1), bodyResultX60gensym193__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			add__ast_u3215(result, colontmpD__18);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			(*c_p1).inLoop -= ((NI)1);
			{
				LA151_:;
			}
			{
				oldNimErrFin151_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(bodyResultX60gensym193__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___injectdestructors_u127((&bodyScopeX60gensym193__1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin151_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
		{
			tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym193__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym193__2;
			NI lastX60gensym193__1;
			NI T156_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T160_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T161_;
			nimZeroMem((void*)(&bodyScopeX60gensym193__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
			bodyResultX60gensym193__2 = NIM_NIL;
			(*c_p1).inLoop += ((NI)1);
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			T156_ = (NI)0;
			T156_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			lastX60gensym193__1 = (NI)(T156_ - ((NI)1));
			{
				NI iX60gensym193__3;
				NI colontmp__5;
				NI i_6;
				iX60gensym193__3 = (NI)0;
				colontmp__5 = (NI)0;
				colontmp__5 = (NI)(lastX60gensym193__1 - ((NI)1));
				i_6 = ((NI)0);
				{
					while (1) {
						if (!(i_6 < colontmp__5)) goto LA159;
						iX60gensym193__3 = i_6;
						eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[iX60gensym193__3], (*n_p0)._kind_6.sons.p->data[iX60gensym193__3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
						i_6 += ((NI)1);
					} LA159: ;
				}
			}
			T160_ = NIM_NIL;
			T160_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[(NI)(lastX60gensym193__1 - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T160_); goto LA155_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(lastX60gensym193__1 - ((NI)1))], T160_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			nestedScope__injectdestructors_u85(s_p2, (*n_p0)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym193__2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			bodyResultX60gensym193__2 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[lastX60gensym193__1], c_p1, (&bodyScopeX60gensym193__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			T161_ = NIM_NIL;
			T161_ = processScope__injectdestructors_u1058(c_p1, (&bodyScopeX60gensym193__2), bodyResultX60gensym193__2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T161_); goto LA155_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[lastX60gensym193__1], T161_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			(*c_p1).inLoop -= ((NI)1);
			{
				LA155_:;
			}
			{
				oldNimErrFin155_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(bodyResultX60gensym193__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___injectdestructors_u127((&bodyScopeX60gensym193__2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin155_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
		{
			tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym193__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__19;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__20;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T166_;
			nimZeroMem((void*)(&bodyScopeX60gensym193__3), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
			colontmpD__19 = NIM_NIL;
			colontmpD__20 = NIM_NIL;
			result = copyNode__ast_u6736(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			add__ast_u3215(result, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			nestedScope__injectdestructors_u85(s_p2, (*n_p0)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym193__3));
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			T166_ = NIM_NIL;
			{
				NIM_BOOL T169_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__21;
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T174_;
				T169_ = (NIM_BOOL)0;
				T169_ = isEmptyType__ast_u7234((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
				if (T169_) goto LA170_;
				T169_ = NIM_FALSE;
LA170_: ;
				if (!T169_) goto LA171_;
				colontmpD__21 = NIM_NIL;
				T174_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
				T174_ = (&bodyScopeX60gensym193__3);
				colontmpD__21 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym193__3), mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
				colontmpD__19 = processScope__injectdestructors_u1058(c_p1, T174_, colontmpD__21);
				if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
				T166_ = colontmpD__19;
				{
					LA173_:;
				}
				{
					oldNimErrFin173_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__21);
					if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
					*nimErr_ = oldNimErrFin173_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			}
			goto LA167_;
LA171_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym267__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym267__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym267__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym267__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T179_;
				resultX60gensym267__1 = NIM_NIL;
				tmpX60gensym267__1 = NIM_NIL;
				cpyX60gensym267__1 = NIM_NIL;
				finSectionX60gensym267__1 = NIM_NIL;
				resultX60gensym267__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				tmpX60gensym267__1 = getTemp__injectdestructors_u69(c_p1, bodyScopeX60gensym193__3.parent, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				(*(*tmpX60gensym267__1)._kind_4.sym).flags = tmpFlags_p4;
				T179_ = NIM_NIL;
				{
					NIM_BOOL T182_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T186_;
					T182_ = (NIM_BOOL)0;
					T182_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
					if (!(T182_)) goto LA183_;
					T182_ = !(((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA183_: ;
					if (!T182_) goto LA184_;
					T186_ = NIM_NIL;
					T186_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T186_); goto LA178_;}
					add__ast_u3225((&(*bodyScopeX60gensym193__3.parent).final), T186_);
					cpyX60gensym267__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym267__1, (*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym193__3), 1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				}
				goto LA180_;
LA184_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__22;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T189_;
					colontmpD__22 = NIM_NIL;
					nimZeroMem((void*)T189_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T189_[0] = tmpX60gensym267__1;
					colontmpD__22 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym193__3), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
					T189_[1] = colontmpD__22;
					cpyX60gensym267__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T189_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
					{
						LA188_:;
					}
					{
						oldNimErrFin188_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__22);
						if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
						*nimErr_ = oldNimErrFin188_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				}
LA180_: ;
				{
					NI T194_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym267__1;
					T194_ = bodyScopeX60gensym193__3.vars.len;
					if (!(((NI)0) < T194_)) goto LA195_;
					varSectionX60gensym267__1 = NIM_NIL;
					varSectionX60gensym267__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym267__2;
						NI i_7;
						NI L_3;
						NI T198_;
						tmpX60gensym267__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
						i_7 = ((NI)0);
						T198_ = bodyScopeX60gensym193__3.vars.len;
						L_3 = T198_;
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__23;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__24;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__25;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__26;
								tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T201_;
								if (!(i_7 < L_3)) goto LA200;
								colontmpD__23 = NIM_NIL;
								colontmpD__24 = NIM_NIL;
								colontmpD__25 = NIM_NIL;
								colontmpD__26 = NIM_NIL;
								tmpX60gensym267__2 = &bodyScopeX60gensym193__3.vars.p->data[i_7];
								nimZeroMem((void*)T201_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
								colontmpD__23 = newSymNode__ast_u5168((*tmpX60gensym267__2));
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								T201_[0] = colontmpD__23;
								colontmpD__24 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								T201_[1] = colontmpD__24;
								colontmpD__25 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								T201_[2] = colontmpD__25;
								colontmpD__26 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T201_, 3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								add__ast_u3215(varSectionX60gensym267__1, colontmpD__26);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								i_7 += ((NI)1);
								eqdestroy___ast_u3252(colontmpD__26);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								eqdestroy___ast_u3252(colontmpD__25);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								eqdestroy___ast_u3252(colontmpD__24);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
								eqdestroy___ast_u3252(colontmpD__23);
								if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
							} LA200: ;
						}
					}
					add__ast_u3215(resultX60gensym267__1, varSectionX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
					eqdestroy___ast_u3252(varSectionX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				}
LA195_: ;
				finSectionX60gensym267__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym267__1;
					NI i_8;
					NI L_4;
					NI T203_;
					mX60gensym267__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
					i_8 = ((NI)0);
					T203_ = bodyScopeX60gensym193__3.wasMoved.len;
					L_4 = T203_;
					{
						while (1) {
							if (!(i_8 < L_4)) goto LA205;
							mX60gensym267__1 = &bodyScopeX60gensym193__3.wasMoved.p->data[i_8];
							add__ast_u3215(finSectionX60gensym267__1, (*mX60gensym267__1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
							i_8 += ((NI)1);
						} LA205: ;
					}
				}
				{
					NI iX60gensym267__1;
					NI colontmp__6;
					NI T207_;
					NI res_2;
					iX60gensym267__1 = (NI)0;
					colontmp__6 = (NI)0;
					T207_ = (bodyScopeX60gensym193__3.final.len-1);
					colontmp__6 = T207_;
					res_2 = colontmp__6;
					{
						while (1) {
							if (!(((NI)0) <= res_2)) goto LA209;
							iX60gensym267__1 = ((NI) (res_2));
							add__ast_u3215(finSectionX60gensym267__1, bodyScopeX60gensym193__3.final.p->data[iX60gensym267__1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
							res_2 -= ((NI)1);
						} LA209: ;
					}
				}
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__27;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__28;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__29;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T215_;
					if (!bodyScopeX60gensym193__3.needsTry) goto LA212_;
					colontmpD__27 = NIM_NIL;
					colontmpD__28 = NIM_NIL;
					colontmpD__29 = NIM_NIL;
					nimZeroMem((void*)T215_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T215_[0] = cpyX60gensym267__1;
					colontmpD__27 = p__injectdestructors_u159(tmpX60gensym267__1, c_p1, bodyScopeX60gensym193__3.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
					T215_[1] = colontmpD__27;
					colontmpD__28 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T215_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
					colontmpD__29 = newTryFinally__lowerings_u110(colontmpD__28, finSectionX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
					add__ast_u3215(resultX60gensym267__1, colontmpD__29);
					if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
					{
						LA214_:;
					}
					{
						oldNimErrFin214_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__29);
						if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
						eqdestroy___ast_u3252(colontmpD__28);
						if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
						eqdestroy___ast_u3252(colontmpD__27);
						if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
						*nimErr_ = oldNimErrFin214_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				}
				goto LA210_;
LA212_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__30;
					colontmpD__30 = NIM_NIL;
					add__ast_u3215(resultX60gensym267__1, cpyX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA219_;
					add__ast_u3215(resultX60gensym267__1, finSectionX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA219_;
					colontmpD__30 = p__injectdestructors_u159(tmpX60gensym267__1, c_p1, bodyScopeX60gensym193__3.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA219_;
					add__ast_u3215(resultX60gensym267__1, colontmpD__30);
					if (NIM_UNLIKELY(*nimErr_)) goto LA219_;
					{
						LA219_:;
					}
					{
						oldNimErrFin219_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__30);
						if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
						*nimErr_ = oldNimErrFin219_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				}
LA210_: ;
				{
					NIM_BOOL T226_;
					if (!!((bodyScopeX60gensym193__3.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA224_;
					T226_ = (NIM_BOOL)0;
					T226_ = (*bodyScopeX60gensym193__3.parent).needsTry;
					if (T226_) goto LA227_;
					T226_ = bodyScopeX60gensym193__3.needsTry;
LA227_: ;
					(*bodyScopeX60gensym193__3.parent).needsTry = T226_;
				}
LA224_: ;
				colontmpD__20 = resultX60gensym267__1;
				eqwasMoved___ast_u3249(&resultX60gensym267__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
				T166_ = colontmpD__20;
				{
					LA178_:;
				}
				{
					oldNimErrFin178_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(finSectionX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
					eqdestroy___ast_u3252(cpyX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
					eqdestroy___ast_u3252(tmpX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
					eqdestroy___ast_u3252(resultX60gensym267__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
					*nimErr_ = oldNimErrFin178_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			}
LA167_: ;
			add__ast_u3215(result, T166_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			{
				LA165_:;
			}
			{
				oldNimErrFin165_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__20);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD__19);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___injectdestructors_u127((&bodyScopeX60gensym193__3));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin165_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
		{
			result = copyNode__ast_u6736(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI iX60gensym193__4;
				NI colontmp__7;
				NI i_9;
				iX60gensym193__4 = (NI)0;
				colontmp__7 = (NI)0;
				colontmp__7 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_9 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym193__2;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym193__2;
						tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym193__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__31;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T242_;
						if (!(i_9 < colontmp__7)) goto LA235;
						itX60gensym193__2 = NIM_NIL;
						branchX60gensym193__2 = NIM_NIL;
						nimZeroMem((void*)(&branchScopeX60gensym193__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
						colontmpD__31 = NIM_NIL;
						iX60gensym193__4 = i_9;
						eqcopy___ast_u3255(&itX60gensym193__2, (*n_p0)._kind_6.sons.p->data[iX60gensym193__4]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						branchX60gensym193__2 = shallowCopy__ast_u6876(itX60gensym193__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						colontmpD__31 = lastSon__ast_u5208(itX60gensym193__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						nestedScope__injectdestructors_u85(s_p2, colontmpD__31, (&branchScopeX60gensym193__1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T241_;
							if (!((*itX60gensym193__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86) || (*itX60gensym193__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49))) goto LA239_;
							T241_ = NIM_NIL;
							T241_ = p__injectdestructors_u159((*itX60gensym193__2)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T241_); goto LA236_;}
							eqsink___ast_u3261(&(*branchX60gensym193__2)._kind_6.sons.p->data[((NI)0)], T241_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						}
LA239_: ;
						T242_ = NIM_NIL;
						{
							NIM_BOOL T245_;
							NIM_BOOL T246_;
							NI T248_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__32;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__33;
							NI T253_;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T254_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T255_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T271_;
							T245_ = (NIM_BOOL)0;
							T246_ = (NIM_BOOL)0;
							T246_ = isEmptyType__ast_u7234((*n_p0).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
							if (T246_) goto LA247_;
							T248_ = (NI)0;
							T248_ = len__ast_u3190(itX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
							T246_ = isEmptyType__ast_u7234((*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T248_ - ((NI)1))]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
LA247_: ;
							T245_ = T246_;
							if (T245_) goto LA249_;
							T245_ = NIM_FALSE;
LA249_: ;
							if (!T245_) goto LA250_;
							colontmpD__32 = NIM_NIL;
							colontmpD__33 = NIM_NIL;
							T253_ = (NI)0;
							T253_ = len__ast_u3190(branchX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							T254_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
							T254_ = (&branchScopeX60gensym193__1);
							T255_ = NIM_NIL;
							{
								NI T258_;
								NIM_BOOL T259_;
								NI T263_;
								T258_ = (NI)0;
								T258_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
								T259_ = (NIM_BOOL)0;
								T259_ = isEmptyType__ast_u7234((*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T258_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
								if (!T259_) goto LA260_;
								T263_ = (NI)0;
								T263_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
								colontmpD__32 = p__injectdestructors_u159((*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T263_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
								T255_ = colontmpD__32;
								{
									LA262_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							}
							goto LA256_;
LA260_: ;
							{
								NI T268_;
								T268_ = (NI)0;
								T268_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA267_;
								colontmpD__33 = p__injectdestructors_u159((*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T268_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__1), mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA267_;
								T255_ = colontmpD__33;
								{
									LA267_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							}
LA256_: ;
							T271_ = NIM_NIL;
							T271_ = processScope__injectdestructors_u1058(c_p1, T254_, T255_);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T271_); goto LA252_;}
							eqsink___ast_u3261(&(*branchX60gensym193__2)._kind_6.sons.p->data[(NI)(T253_ - ((NI)1))], T271_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
							{
								LA252_:;
							}
							{
								oldNimErrFin252_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__33);
								if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
								eqdestroy___ast_u3252(colontmpD__32);
								if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
								*nimErr_ = oldNimErrFin252_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						}
						goto LA243_;
LA250_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym305__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym305__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym305__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym305__1;
							NI T276_;
							NI T277_;
							NI T278_;
							NI T279_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T280_;
							NI T310_;
							NI T337_;
							resultX60gensym305__1 = NIM_NIL;
							tmpX60gensym305__1 = NIM_NIL;
							cpyX60gensym305__1 = NIM_NIL;
							finSectionX60gensym305__1 = NIM_NIL;
							T276_ = (NI)0;
							T276_ = len__ast_u3190(itX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							T277_ = (NI)0;
							T277_ = len__ast_u3190(itX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							resultX60gensym305__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T276_ - ((NI)1))]).info, (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T277_ - ((NI)1))]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							T278_ = (NI)0;
							T278_ = len__ast_u3190(itX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							T279_ = (NI)0;
							T279_ = len__ast_u3190(itX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							tmpX60gensym305__1 = getTemp__injectdestructors_u69(c_p1, branchScopeX60gensym193__1.parent, (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T278_ - ((NI)1))]).typField, (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T279_ - ((NI)1))]).info, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							(*(*tmpX60gensym305__1)._kind_4.sym).flags = tmpFlags_p4;
							T280_ = NIM_NIL;
							{
								NIM_BOOL T283_;
								NI T284_;
								NI T286_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T289_;
								NI T290_;
								T283_ = (NIM_BOOL)0;
								T284_ = (NI)0;
								T284_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
								T283_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T284_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
								if (!(T283_)) goto LA285_;
								T286_ = (NI)0;
								T286_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
								T283_ = !(((*(*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T286_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T286_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA285_: ;
								if (!T283_) goto LA287_;
								T289_ = NIM_NIL;
								T289_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T289_); goto LA275_;}
								add__ast_u3225((&(*branchScopeX60gensym193__1.parent).final), T289_);
								T290_ = (NI)0;
								T290_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
								cpyX60gensym305__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym305__1, (*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T290_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__1), 1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							}
							goto LA281_;
LA287_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__34;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T293_;
								NI T294_;
								colontmpD__34 = NIM_NIL;
								nimZeroMem((void*)T293_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T293_[0] = tmpX60gensym305__1;
								T294_ = (NI)0;
								T294_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA292_;
								colontmpD__34 = p__injectdestructors_u159((*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T294_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA292_;
								T293_[1] = colontmpD__34;
								cpyX60gensym305__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T293_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA292_;
								{
									LA292_:;
								}
								{
									oldNimErrFin292_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__34);
									if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
									*nimErr_ = oldNimErrFin292_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							}
LA281_: ;
							{
								NI T299_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym305__1;
								NI T302_;
								T299_ = branchScopeX60gensym193__1.vars.len;
								if (!(((NI)0) < T299_)) goto LA300_;
								varSectionX60gensym305__1 = NIM_NIL;
								T302_ = (NI)0;
								T302_ = len__ast_u3190(itX60gensym193__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
								varSectionX60gensym305__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T302_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
								{
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym305__2;
									NI i_10;
									NI L_5;
									NI T304_;
									tmpX60gensym305__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
									i_10 = ((NI)0);
									T304_ = branchScopeX60gensym193__1.vars.len;
									L_5 = T304_;
									{
										while (1) {
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__35;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__36;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__37;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__38;
											tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T307_;
											NI T308_;
											NI T309_;
											if (!(i_10 < L_5)) goto LA306;
											colontmpD__35 = NIM_NIL;
											colontmpD__36 = NIM_NIL;
											colontmpD__37 = NIM_NIL;
											colontmpD__38 = NIM_NIL;
											tmpX60gensym305__2 = &branchScopeX60gensym193__1.vars.p->data[i_10];
											nimZeroMem((void*)T307_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
											colontmpD__35 = newSymNode__ast_u5168((*tmpX60gensym305__2));
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											T307_[0] = colontmpD__35;
											T308_ = (NI)0;
											T308_ = len__ast_u3190(itX60gensym193__2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											colontmpD__36 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T308_ - ((NI)1))]).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											T307_[1] = colontmpD__36;
											T309_ = (NI)0;
											T309_ = len__ast_u3190(itX60gensym193__2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											colontmpD__37 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T309_ - ((NI)1))]).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											T307_[2] = colontmpD__37;
											colontmpD__38 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T307_, 3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											add__ast_u3215(varSectionX60gensym305__1, colontmpD__38);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											i_10 += ((NI)1);
											eqdestroy___ast_u3252(colontmpD__38);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											eqdestroy___ast_u3252(colontmpD__37);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											eqdestroy___ast_u3252(colontmpD__36);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
											eqdestroy___ast_u3252(colontmpD__35);
											if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
										} LA306: ;
									}
								}
								add__ast_u3215(resultX60gensym305__1, varSectionX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
								eqdestroy___ast_u3252(varSectionX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							}
LA300_: ;
							T310_ = (NI)0;
							T310_ = len__ast_u3190(itX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							finSectionX60gensym305__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym193__2)._kind_6.sons.p->data[(NI)(T310_ - ((NI)1))]).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym305__1;
								NI i_11;
								NI L_6;
								NI T312_;
								mX60gensym305__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
								i_11 = ((NI)0);
								T312_ = branchScopeX60gensym193__1.wasMoved.len;
								L_6 = T312_;
								{
									while (1) {
										if (!(i_11 < L_6)) goto LA314;
										mX60gensym305__1 = &branchScopeX60gensym193__1.wasMoved.p->data[i_11];
										add__ast_u3215(finSectionX60gensym305__1, (*mX60gensym305__1));
										if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
										i_11 += ((NI)1);
									} LA314: ;
								}
							}
							{
								NI iX60gensym305__1;
								NI colontmp__8;
								NI T316_;
								NI res_3;
								iX60gensym305__1 = (NI)0;
								colontmp__8 = (NI)0;
								T316_ = (branchScopeX60gensym193__1.final.len-1);
								colontmp__8 = T316_;
								res_3 = colontmp__8;
								{
									while (1) {
										if (!(((NI)0) <= res_3)) goto LA318;
										iX60gensym305__1 = ((NI) (res_3));
										add__ast_u3215(finSectionX60gensym305__1, branchScopeX60gensym193__1.final.p->data[iX60gensym305__1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
										res_3 -= ((NI)1);
									} LA318: ;
								}
							}
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__39;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__40;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__41;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T324_;
								if (!branchScopeX60gensym193__1.needsTry) goto LA321_;
								colontmpD__39 = NIM_NIL;
								colontmpD__40 = NIM_NIL;
								colontmpD__41 = NIM_NIL;
								nimZeroMem((void*)T324_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T324_[0] = cpyX60gensym305__1;
								colontmpD__39 = p__injectdestructors_u159(tmpX60gensym305__1, c_p1, branchScopeX60gensym193__1.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA323_;
								T324_[1] = colontmpD__39;
								colontmpD__40 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T324_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA323_;
								colontmpD__41 = newTryFinally__lowerings_u110(colontmpD__40, finSectionX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA323_;
								add__ast_u3215(resultX60gensym305__1, colontmpD__41);
								if (NIM_UNLIKELY(*nimErr_)) goto LA323_;
								{
									LA323_:;
								}
								{
									oldNimErrFin323_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__41);
									if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
									eqdestroy___ast_u3252(colontmpD__40);
									if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
									eqdestroy___ast_u3252(colontmpD__39);
									if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
									*nimErr_ = oldNimErrFin323_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							}
							goto LA319_;
LA321_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__42;
								colontmpD__42 = NIM_NIL;
								add__ast_u3215(resultX60gensym305__1, cpyX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA328_;
								add__ast_u3215(resultX60gensym305__1, finSectionX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA328_;
								colontmpD__42 = p__injectdestructors_u159(tmpX60gensym305__1, c_p1, branchScopeX60gensym193__1.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA328_;
								add__ast_u3215(resultX60gensym305__1, colontmpD__42);
								if (NIM_UNLIKELY(*nimErr_)) goto LA328_;
								{
									LA328_:;
								}
								{
									oldNimErrFin328_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__42);
									if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
									*nimErr_ = oldNimErrFin328_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							}
LA319_: ;
							{
								NIM_BOOL T335_;
								if (!!((branchScopeX60gensym193__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA333_;
								T335_ = (NIM_BOOL)0;
								T335_ = (*branchScopeX60gensym193__1.parent).needsTry;
								if (T335_) goto LA336_;
								T335_ = branchScopeX60gensym193__1.needsTry;
LA336_: ;
								(*branchScopeX60gensym193__1.parent).needsTry = T335_;
							}
LA333_: ;
							T337_ = (NI)0;
							T337_ = len__ast_u3190(branchX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							eqsink___ast_u3261(&(*branchX60gensym193__2)._kind_6.sons.p->data[(NI)(T337_ - ((NI)1))], resultX60gensym305__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							eqwasMoved___ast_u3249(&resultX60gensym305__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
							{
								LA275_:;
							}
							{
								oldNimErrFin275_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(finSectionX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
								eqdestroy___ast_u3252(cpyX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
								eqdestroy___ast_u3252(tmpX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
								eqdestroy___ast_u3252(resultX60gensym305__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
								*nimErr_ = oldNimErrFin275_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						}
LA243_: ;
						add__ast_u3215(result, branchX60gensym193__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
						i_9 += ((NI)1);
						{
							LA236_:;
						}
						{
							oldNimErrFin236_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__31);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___injectdestructors_u127((&branchScopeX60gensym193__1));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(branchX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(itX60gensym193__2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin236_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA235: ;
				}
			}
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
		{
			tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ tryScopeX60gensym193__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__43;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__44;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T344_;
			nimZeroMem((void*)(&tryScopeX60gensym193__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
			colontmpD__43 = NIM_NIL;
			colontmpD__44 = NIM_NIL;
			result = copyNode__ast_u6736(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
			nestedScope__injectdestructors_u85(s_p2, (*n_p0)._kind_6.sons.p->data[((NI)0)], (&tryScopeX60gensym193__1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
			T344_ = NIM_NIL;
			{
				NIM_BOOL T347_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__45;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__46;
				tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T352_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T353_;
				T347_ = (NIM_BOOL)0;
				T347_ = isEmptyType__ast_u7234((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
				if (T347_) goto LA348_;
				T347_ = NIM_FALSE;
LA348_: ;
				if (!T347_) goto LA349_;
				colontmpD__45 = NIM_NIL;
				colontmpD__46 = NIM_NIL;
				T352_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
				T352_ = (&tryScopeX60gensym193__1);
				T353_ = NIM_NIL;
				{
					NIM_BOOL T356_;
					T356_ = (NIM_BOOL)0;
					T356_ = isEmptyType__ast_u7234((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA351_;
					if (!T356_) goto LA357_;
					colontmpD__45 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym193__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
					T353_ = colontmpD__45;
					{
						LA359_:;
					}
					{
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA351_;
				}
				goto LA354_;
LA357_: ;
				{
					colontmpD__46 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym193__1), mode_p3, IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA363_;
					T353_ = colontmpD__46;
					{
						LA363_:;
					}
					{
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA351_;
				}
LA354_: ;
				colontmpD__43 = processScope__injectdestructors_u1058(c_p1, T352_, T353_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA351_;
				T344_ = colontmpD__43;
				{
					LA351_:;
				}
				{
					oldNimErrFin351_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__46);
					if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					eqdestroy___ast_u3252(colontmpD__45);
					if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					*nimErr_ = oldNimErrFin351_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
			}
			goto LA345_;
LA349_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym330__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym330__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym330__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym330__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T370_;
				resultX60gensym330__1 = NIM_NIL;
				tmpX60gensym330__1 = NIM_NIL;
				cpyX60gensym330__1 = NIM_NIL;
				finSectionX60gensym330__1 = NIM_NIL;
				resultX60gensym330__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info, (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				tmpX60gensym330__1 = getTemp__injectdestructors_u69(c_p1, tryScopeX60gensym193__1.parent, (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField, (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				(*(*tmpX60gensym330__1)._kind_4.sym).flags = tmpFlags_p4;
				T370_ = NIM_NIL;
				{
					NIM_BOOL T373_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T377_;
					T373_ = (NIM_BOOL)0;
					T373_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
					if (!(T373_)) goto LA374_;
					T373_ = !(((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA374_: ;
					if (!T373_) goto LA375_;
					T377_ = NIM_NIL;
					T377_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T377_); goto LA369_;}
					add__ast_u3225((&(*tryScopeX60gensym193__1.parent).final), T377_);
					cpyX60gensym330__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym330__1, (*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym193__1), 1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				}
				goto LA371_;
LA375_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__47;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T380_;
					colontmpD__47 = NIM_NIL;
					nimZeroMem((void*)T380_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T380_[0] = tmpX60gensym330__1;
					colontmpD__47 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym193__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA379_;
					T380_[1] = colontmpD__47;
					cpyX60gensym330__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T380_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA379_;
					{
						LA379_:;
					}
					{
						oldNimErrFin379_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__47);
						if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
						*nimErr_ = oldNimErrFin379_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				}
LA371_: ;
				{
					NI T385_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym330__1;
					T385_ = tryScopeX60gensym193__1.vars.len;
					if (!(((NI)0) < T385_)) goto LA386_;
					varSectionX60gensym330__1 = NIM_NIL;
					varSectionX60gensym330__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym330__2;
						NI i_12;
						NI L_7;
						NI T389_;
						tmpX60gensym330__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
						i_12 = ((NI)0);
						T389_ = tryScopeX60gensym193__1.vars.len;
						L_7 = T389_;
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__48;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__49;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__50;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__51;
								tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T392_;
								if (!(i_12 < L_7)) goto LA391;
								colontmpD__48 = NIM_NIL;
								colontmpD__49 = NIM_NIL;
								colontmpD__50 = NIM_NIL;
								colontmpD__51 = NIM_NIL;
								tmpX60gensym330__2 = &tryScopeX60gensym193__1.vars.p->data[i_12];
								nimZeroMem((void*)T392_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
								colontmpD__48 = newSymNode__ast_u5168((*tmpX60gensym330__2));
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								T392_[0] = colontmpD__48;
								colontmpD__49 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								T392_[1] = colontmpD__49;
								colontmpD__50 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								T392_[2] = colontmpD__50;
								colontmpD__51 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T392_, 3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								add__ast_u3215(varSectionX60gensym330__1, colontmpD__51);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								i_12 += ((NI)1);
								eqdestroy___ast_u3252(colontmpD__51);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								eqdestroy___ast_u3252(colontmpD__50);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								eqdestroy___ast_u3252(colontmpD__49);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
								eqdestroy___ast_u3252(colontmpD__48);
								if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
							} LA391: ;
						}
					}
					add__ast_u3215(resultX60gensym330__1, varSectionX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
					eqdestroy___ast_u3252(varSectionX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				}
LA386_: ;
				finSectionX60gensym330__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym330__1;
					NI i_13;
					NI L_8;
					NI T394_;
					mX60gensym330__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
					i_13 = ((NI)0);
					T394_ = tryScopeX60gensym193__1.wasMoved.len;
					L_8 = T394_;
					{
						while (1) {
							if (!(i_13 < L_8)) goto LA396;
							mX60gensym330__1 = &tryScopeX60gensym193__1.wasMoved.p->data[i_13];
							add__ast_u3215(finSectionX60gensym330__1, (*mX60gensym330__1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
							i_13 += ((NI)1);
						} LA396: ;
					}
				}
				{
					NI iX60gensym330__1;
					NI colontmp__9;
					NI T398_;
					NI res_4;
					iX60gensym330__1 = (NI)0;
					colontmp__9 = (NI)0;
					T398_ = (tryScopeX60gensym193__1.final.len-1);
					colontmp__9 = T398_;
					res_4 = colontmp__9;
					{
						while (1) {
							if (!(((NI)0) <= res_4)) goto LA400;
							iX60gensym330__1 = ((NI) (res_4));
							add__ast_u3215(finSectionX60gensym330__1, tryScopeX60gensym193__1.final.p->data[iX60gensym330__1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
							res_4 -= ((NI)1);
						} LA400: ;
					}
				}
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__52;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__53;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__54;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__55;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T406_;
					if (!tryScopeX60gensym193__1.needsTry) goto LA403_;
					colontmpD__52 = NIM_NIL;
					colontmpD__53 = NIM_NIL;
					colontmpD__54 = NIM_NIL;
					colontmpD__55 = NIM_NIL;
					nimZeroMem((void*)T406_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T406_[0] = cpyX60gensym330__1;
					{
						NIM_BOOL T409_;
						T409_ = (NIM_BOOL)0;
						T409_ = isEmptyType__ast_u7234((*tmpX60gensym330__1).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA405_;
						if (!T409_) goto LA410_;
						colontmpD__52 = p__injectdestructors_u159(tmpX60gensym330__1, c_p1, tryScopeX60gensym193__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA412_;
						T406_[1] = colontmpD__52;
						{
							LA412_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA405_;
					}
					goto LA407_;
LA410_: ;
					{
						colontmpD__53 = p__injectdestructors_u159(tmpX60gensym330__1, c_p1, tryScopeX60gensym193__1.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA416_;
						T406_[1] = colontmpD__53;
						{
							LA416_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA405_;
					}
LA407_: ;
					colontmpD__54 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T406_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA405_;
					colontmpD__55 = newTryFinally__lowerings_u110(colontmpD__54, finSectionX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA405_;
					add__ast_u3215(resultX60gensym330__1, colontmpD__55);
					if (NIM_UNLIKELY(*nimErr_)) goto LA405_;
					{
						LA405_:;
					}
					{
						oldNimErrFin405_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__55);
						if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
						eqdestroy___ast_u3252(colontmpD__54);
						if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
						eqdestroy___ast_u3252(colontmpD__53);
						if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
						eqdestroy___ast_u3252(colontmpD__52);
						if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
						*nimErr_ = oldNimErrFin405_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				}
				goto LA401_;
LA403_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__56;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__57;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T423_;
					colontmpD__56 = NIM_NIL;
					colontmpD__57 = NIM_NIL;
					add__ast_u3215(resultX60gensym330__1, cpyX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA422_;
					add__ast_u3215(resultX60gensym330__1, finSectionX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA422_;
					T423_ = NIM_NIL;
					{
						NIM_BOOL T426_;
						T426_ = (NIM_BOOL)0;
						T426_ = isEmptyType__ast_u7234((*tmpX60gensym330__1).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA422_;
						if (!T426_) goto LA427_;
						colontmpD__56 = p__injectdestructors_u159(tmpX60gensym330__1, c_p1, tryScopeX60gensym193__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA429_;
						T423_ = colontmpD__56;
						{
							LA429_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA422_;
					}
					goto LA424_;
LA427_: ;
					{
						colontmpD__57 = p__injectdestructors_u159(tmpX60gensym330__1, c_p1, tryScopeX60gensym193__1.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA433_;
						T423_ = colontmpD__57;
						{
							LA433_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA422_;
					}
LA424_: ;
					add__ast_u3215(resultX60gensym330__1, T423_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA422_;
					{
						LA422_:;
					}
					{
						oldNimErrFin422_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__57);
						if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
						eqdestroy___ast_u3252(colontmpD__56);
						if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
						*nimErr_ = oldNimErrFin422_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				}
LA401_: ;
				{
					NIM_BOOL T442_;
					if (!!((tryScopeX60gensym193__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA440_;
					T442_ = (NIM_BOOL)0;
					T442_ = (*tryScopeX60gensym193__1.parent).needsTry;
					if (T442_) goto LA443_;
					T442_ = tryScopeX60gensym193__1.needsTry;
LA443_: ;
					(*tryScopeX60gensym193__1.parent).needsTry = T442_;
				}
LA440_: ;
				colontmpD__44 = resultX60gensym330__1;
				eqwasMoved___ast_u3249(&resultX60gensym330__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA369_;
				T344_ = colontmpD__44;
				{
					LA369_:;
				}
				{
					oldNimErrFin369_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(finSectionX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					eqdestroy___ast_u3252(cpyX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					eqdestroy___ast_u3252(tmpX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					eqdestroy___ast_u3252(resultX60gensym330__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					*nimErr_ = oldNimErrFin369_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
			}
LA345_: ;
			add__ast_u3215(result, T344_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
			{
				NI iX60gensym193__5;
				NI colontmp__10;
				NI i_14;
				iX60gensym193__5 = (NI)0;
				colontmp__10 = (NI)0;
				colontmp__10 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
				i_14 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym193__3;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym193__3;
						tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym193__2;
						NI T450_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T451_;
						if (!(i_14 < colontmp__10)) goto LA448;
						itX60gensym193__3 = NIM_NIL;
						branchX60gensym193__3 = NIM_NIL;
						nimZeroMem((void*)(&branchScopeX60gensym193__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
						iX60gensym193__5 = i_14;
						eqcopy___ast_u3255(&itX60gensym193__3, (*n_p0)._kind_6.sons.p->data[iX60gensym193__5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
						branchX60gensym193__3 = copyTree__ast_u6891(itX60gensym193__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
						T450_ = (NI)0;
						T450_ = len__ast_u3190(itX60gensym193__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
						nestedScope__injectdestructors_u85(s_p2, (*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T450_ - ((NI)1))], (&branchScopeX60gensym193__2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
						T451_ = NIM_NIL;
						{
							NIM_BOOL T454_;
							NIM_BOOL T455_;
							NI T456_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__58;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__59;
							NI T462_;
							tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T463_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T464_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T487_;
							T454_ = (NIM_BOOL)0;
							T455_ = (NIM_BOOL)0;
							T456_ = (NI)0;
							T456_ = len__ast_u3190(itX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
							T455_ = isEmptyType__ast_u7234((*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T456_ - ((NI)1))]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
							if (T455_) goto LA457_;
							T455_ = NIM_FALSE;
LA457_: ;
							T454_ = T455_;
							if (T454_) goto LA458_;
							T454_ = ((*itX60gensym193__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107));
LA458_: ;
							if (!T454_) goto LA459_;
							colontmpD__58 = NIM_NIL;
							colontmpD__59 = NIM_NIL;
							T462_ = (NI)0;
							T462_ = len__ast_u3190(branchX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA461_;
							T463_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
							T463_ = (&branchScopeX60gensym193__2);
							T464_ = NIM_NIL;
							{
								NI T470_;
								if (!((*itX60gensym193__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA467_;
								T470_ = (NI)0;
								T470_ = len__ast_u3190(itX60gensym193__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
								colontmpD__58 = p__injectdestructors_u159((*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T470_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
								T464_ = colontmpD__58;
								{
									LA469_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA461_;
							}
							goto LA465_;
LA467_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T475_;
								T475_ = NIM_NIL;
								{
									NI T478_;
									NIM_BOOL T479_;
									NI T482_;
									T478_ = (NI)0;
									T478_ = len__ast_u3190(itX60gensym193__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
									T479_ = (NIM_BOOL)0;
									T479_ = isEmptyType__ast_u7234((*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T478_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
									if (!T479_) goto LA480_;
									T482_ = (NI)0;
									T482_ = len__ast_u3190(itX60gensym193__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
									colontmpD__59 = p__injectdestructors_u159((*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T482_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
								}
								goto LA476_;
LA480_: ;
								{
									NI T484_;
									T484_ = (NI)0;
									T484_ = len__ast_u3190(itX60gensym193__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
									colontmpD__59 = p__injectdestructors_u159((*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T484_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__2), mode_p3, IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
								}
LA476_: ;
								T464_ = colontmpD__59;
								{
									LA474_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA461_;
							}
LA465_: ;
							T487_ = NIM_NIL;
							T487_ = processScope__injectdestructors_u1058(c_p1, T463_, T464_);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T487_); goto LA461_;}
							eqsink___ast_u3261(&(*branchX60gensym193__3)._kind_6.sons.p->data[(NI)(T462_ - ((NI)1))], T487_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA461_;
							{
								LA461_:;
							}
							{
								oldNimErrFin461_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__59);
								if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
								eqdestroy___ast_u3252(colontmpD__58);
								if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
								*nimErr_ = oldNimErrFin461_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
						}
						goto LA452_;
LA459_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym374__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym374__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym374__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym374__1;
							NI T492_;
							NI T493_;
							NI T494_;
							NI T495_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T496_;
							NI T526_;
							NI T553_;
							resultX60gensym374__1 = NIM_NIL;
							tmpX60gensym374__1 = NIM_NIL;
							cpyX60gensym374__1 = NIM_NIL;
							finSectionX60gensym374__1 = NIM_NIL;
							T492_ = (NI)0;
							T492_ = len__ast_u3190(itX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							T493_ = (NI)0;
							T493_ = len__ast_u3190(itX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							resultX60gensym374__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T492_ - ((NI)1))]).info, (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T493_ - ((NI)1))]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							T494_ = (NI)0;
							T494_ = len__ast_u3190(itX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							T495_ = (NI)0;
							T495_ = len__ast_u3190(itX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							tmpX60gensym374__1 = getTemp__injectdestructors_u69(c_p1, branchScopeX60gensym193__2.parent, (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T494_ - ((NI)1))]).typField, (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T495_ - ((NI)1))]).info, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							(*(*tmpX60gensym374__1)._kind_4.sym).flags = tmpFlags_p4;
							T496_ = NIM_NIL;
							{
								NIM_BOOL T499_;
								NI T500_;
								NI T502_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T505_;
								NI T506_;
								T499_ = (NIM_BOOL)0;
								T500_ = (NI)0;
								T500_ = len__ast_u3190(itX60gensym193__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
								T499_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T500_ - ((NI)1))]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
								if (!(T499_)) goto LA501_;
								T502_ = (NI)0;
								T502_ = len__ast_u3190(itX60gensym193__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
								T499_ = !(((*(*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T502_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T502_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA501_: ;
								if (!T499_) goto LA503_;
								T505_ = NIM_NIL;
								T505_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T505_); goto LA491_;}
								add__ast_u3225((&(*branchScopeX60gensym193__2.parent).final), T505_);
								T506_ = (NI)0;
								T506_ = len__ast_u3190(itX60gensym193__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
								cpyX60gensym374__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym374__1, (*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T506_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__2), 1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							}
							goto LA497_;
LA503_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__60;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T509_;
								NI T510_;
								colontmpD__60 = NIM_NIL;
								nimZeroMem((void*)T509_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T509_[0] = tmpX60gensym374__1;
								T510_ = (NI)0;
								T510_ = len__ast_u3190(itX60gensym193__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA508_;
								colontmpD__60 = p__injectdestructors_u159((*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T510_ - ((NI)1))], c_p1, (&branchScopeX60gensym193__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA508_;
								T509_[1] = colontmpD__60;
								cpyX60gensym374__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T509_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA508_;
								{
									LA508_:;
								}
								{
									oldNimErrFin508_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__60);
									if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
									*nimErr_ = oldNimErrFin508_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							}
LA497_: ;
							{
								NI T515_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym374__1;
								NI T518_;
								T515_ = branchScopeX60gensym193__2.vars.len;
								if (!(((NI)0) < T515_)) goto LA516_;
								varSectionX60gensym374__1 = NIM_NIL;
								T518_ = (NI)0;
								T518_ = len__ast_u3190(itX60gensym193__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
								varSectionX60gensym374__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T518_ - ((NI)1))]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
								{
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym374__2;
									NI i_15;
									NI L_9;
									NI T520_;
									tmpX60gensym374__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
									i_15 = ((NI)0);
									T520_ = branchScopeX60gensym193__2.vars.len;
									L_9 = T520_;
									{
										while (1) {
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__61;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__62;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__63;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__64;
											tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T523_;
											NI T524_;
											NI T525_;
											if (!(i_15 < L_9)) goto LA522;
											colontmpD__61 = NIM_NIL;
											colontmpD__62 = NIM_NIL;
											colontmpD__63 = NIM_NIL;
											colontmpD__64 = NIM_NIL;
											tmpX60gensym374__2 = &branchScopeX60gensym193__2.vars.p->data[i_15];
											nimZeroMem((void*)T523_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
											colontmpD__61 = newSymNode__ast_u5168((*tmpX60gensym374__2));
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											T523_[0] = colontmpD__61;
											T524_ = (NI)0;
											T524_ = len__ast_u3190(itX60gensym193__3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											colontmpD__62 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T524_ - ((NI)1))]).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											T523_[1] = colontmpD__62;
											T525_ = (NI)0;
											T525_ = len__ast_u3190(itX60gensym193__3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											colontmpD__63 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T525_ - ((NI)1))]).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											T523_[2] = colontmpD__63;
											colontmpD__64 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T523_, 3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											add__ast_u3215(varSectionX60gensym374__1, colontmpD__64);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											i_15 += ((NI)1);
											eqdestroy___ast_u3252(colontmpD__64);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											eqdestroy___ast_u3252(colontmpD__63);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											eqdestroy___ast_u3252(colontmpD__62);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
											eqdestroy___ast_u3252(colontmpD__61);
											if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
										} LA522: ;
									}
								}
								add__ast_u3215(resultX60gensym374__1, varSectionX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
								eqdestroy___ast_u3252(varSectionX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							}
LA516_: ;
							T526_ = (NI)0;
							T526_ = len__ast_u3190(itX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							finSectionX60gensym374__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym193__3)._kind_6.sons.p->data[(NI)(T526_ - ((NI)1))]).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym374__1;
								NI i_16;
								NI L_10;
								NI T528_;
								mX60gensym374__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
								i_16 = ((NI)0);
								T528_ = branchScopeX60gensym193__2.wasMoved.len;
								L_10 = T528_;
								{
									while (1) {
										if (!(i_16 < L_10)) goto LA530;
										mX60gensym374__1 = &branchScopeX60gensym193__2.wasMoved.p->data[i_16];
										add__ast_u3215(finSectionX60gensym374__1, (*mX60gensym374__1));
										if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
										i_16 += ((NI)1);
									} LA530: ;
								}
							}
							{
								NI iX60gensym374__1;
								NI colontmp__11;
								NI T532_;
								NI res_5;
								iX60gensym374__1 = (NI)0;
								colontmp__11 = (NI)0;
								T532_ = (branchScopeX60gensym193__2.final.len-1);
								colontmp__11 = T532_;
								res_5 = colontmp__11;
								{
									while (1) {
										if (!(((NI)0) <= res_5)) goto LA534;
										iX60gensym374__1 = ((NI) (res_5));
										add__ast_u3215(finSectionX60gensym374__1, branchScopeX60gensym193__2.final.p->data[iX60gensym374__1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
										res_5 -= ((NI)1);
									} LA534: ;
								}
							}
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__65;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__66;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__67;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T540_;
								if (!branchScopeX60gensym193__2.needsTry) goto LA537_;
								colontmpD__65 = NIM_NIL;
								colontmpD__66 = NIM_NIL;
								colontmpD__67 = NIM_NIL;
								nimZeroMem((void*)T540_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T540_[0] = cpyX60gensym374__1;
								colontmpD__65 = p__injectdestructors_u159(tmpX60gensym374__1, c_p1, branchScopeX60gensym193__2.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA539_;
								T540_[1] = colontmpD__65;
								colontmpD__66 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T540_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA539_;
								colontmpD__67 = newTryFinally__lowerings_u110(colontmpD__66, finSectionX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA539_;
								add__ast_u3215(resultX60gensym374__1, colontmpD__67);
								if (NIM_UNLIKELY(*nimErr_)) goto LA539_;
								{
									LA539_:;
								}
								{
									oldNimErrFin539_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__67);
									if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
									eqdestroy___ast_u3252(colontmpD__66);
									if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
									eqdestroy___ast_u3252(colontmpD__65);
									if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
									*nimErr_ = oldNimErrFin539_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							}
							goto LA535_;
LA537_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__68;
								colontmpD__68 = NIM_NIL;
								add__ast_u3215(resultX60gensym374__1, cpyX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
								add__ast_u3215(resultX60gensym374__1, finSectionX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
								colontmpD__68 = p__injectdestructors_u159(tmpX60gensym374__1, c_p1, branchScopeX60gensym193__2.parent, mode_p3, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
								add__ast_u3215(resultX60gensym374__1, colontmpD__68);
								if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
								{
									LA544_:;
								}
								{
									oldNimErrFin544_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__68);
									if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
									*nimErr_ = oldNimErrFin544_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							}
LA535_: ;
							{
								NIM_BOOL T551_;
								if (!!((branchScopeX60gensym193__2.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA549_;
								T551_ = (NIM_BOOL)0;
								T551_ = (*branchScopeX60gensym193__2.parent).needsTry;
								if (T551_) goto LA552_;
								T551_ = branchScopeX60gensym193__2.needsTry;
LA552_: ;
								(*branchScopeX60gensym193__2.parent).needsTry = T551_;
							}
LA549_: ;
							T553_ = (NI)0;
							T553_ = len__ast_u3190(branchX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							eqsink___ast_u3261(&(*branchX60gensym193__3)._kind_6.sons.p->data[(NI)(T553_ - ((NI)1))], resultX60gensym374__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							eqwasMoved___ast_u3249(&resultX60gensym374__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
							{
								LA491_:;
							}
							{
								oldNimErrFin491_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(finSectionX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
								eqdestroy___ast_u3252(cpyX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
								eqdestroy___ast_u3252(tmpX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
								eqdestroy___ast_u3252(resultX60gensym374__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
								*nimErr_ = oldNimErrFin491_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
						}
LA452_: ;
						add__ast_u3215(result, branchX60gensym193__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
						i_14 += ((NI)1);
						{
							LA449_:;
						}
						{
							oldNimErrFin449_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___injectdestructors_u127((&branchScopeX60gensym193__2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
							eqdestroy___ast_u3252(branchX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
							eqdestroy___ast_u3252(itX60gensym193__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
							*nimErr_ = oldNimErrFin449_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					} LA448: ;
				}
			}
			{
				LA343_:;
			}
			{
				oldNimErrFin343_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__44);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD__43);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___injectdestructors_u127((&tryScopeX60gensym193__1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin343_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T561_;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T561_ = NIM_NIL;
			T561_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T561_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T561_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaListX60gensym193__1;
			NI inUncheckedAssignSectionX60gensym193__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T581_;
			pragmaListX60gensym193__1 = NIM_NIL;
			inUncheckedAssignSectionX60gensym193__1 = ((NI)0);
			eqcopy___ast_u3255(&pragmaListX60gensym193__1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* piX60gensym193__1;
				piX60gensym193__1 = NIM_NIL;
				{
					NI i_17;
					NI colontmp__12;
					NI i_18;
					i_17 = (NI)0;
					colontmp__12 = (NI)0;
					colontmp__12 = safeLen__ast_u3197(pragmaListX60gensym193__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
					i_18 = ((NI)0);
					{
						while (1) {
							if (!(i_18 < colontmp__12)) goto LA567;
							i_17 = i_18;
							eqcopy___ast_u3255(&piX60gensym193__1, (*pragmaListX60gensym193__1)._kind_6.sons.p->data[i_17]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
							{
								tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T570_;
								tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T573_;
								T570_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
								T570_ = whichPragma__trees_u218(piX60gensym193__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
								if (!(T570_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9))) goto LA571_;
								T573_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
								T573_ = whichPragma__trees_u218((*piX60gensym193__1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
								switch (T573_) {
								case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)87):
								{
									inUncheckedAssignSectionX60gensym193__1 = ((NI)1);
								}
								break;
								default:
								{
								}
								break;
								}
							}
LA571_: ;
							i_18 += ((NI)1);
						} LA567: ;
					}
				}
				eqdestroy___ast_u3252(piX60gensym193__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
			}
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
			(*c_p1).inUncheckedAssignSection += inUncheckedAssignSectionX60gensym193__1;
			{
				NI iX60gensym193__6;
				NI colontmp__13;
				NI T577_;
				NI i_19;
				iX60gensym193__6 = (NI)0;
				colontmp__13 = (NI)0;
				T577_ = (NI)0;
				T577_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
				colontmp__13 = (NI)(T577_ - ((NI)1));
				i_19 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T580_;
						if (!(i_19 < colontmp__13)) goto LA579;
						iX60gensym193__6 = i_19;
						T580_ = NIM_NIL;
						T580_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[iX60gensym193__6], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T580_); goto LA563_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[iX60gensym193__6], T580_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
						i_19 += ((NI)1);
					} LA579: ;
				}
			}
			T581_ = NIM_NIL;
			{
				NI T584_;
				NIM_BOOL T585_;
				NI T588_;
				NI T589_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T590_;
				T584_ = (NI)0;
				T584_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
				T585_ = (NIM_BOOL)0;
				T585_ = isEmptyType__ast_u7234((*(*n_p0)._kind_6.sons.p->data[(NI)(T584_ - ((NI)1))]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
				if (!T585_) goto LA586_;
				T588_ = (NI)0;
				T588_ = len__ast_u3190(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
				T589_ = (NI)0;
				T589_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
				T590_ = NIM_NIL;
				T590_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[(NI)(T589_ - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T590_); goto LA563_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T588_ - ((NI)1))], T590_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
			}
			goto LA582_;
LA586_: ;
			{
				NI T592_;
				NI T593_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T594_;
				T592_ = (NI)0;
				T592_ = len__ast_u3190(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
				T593_ = (NI)0;
				T593_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
				T594_ = NIM_NIL;
				T594_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[(NI)(T593_ - ((NI)1))], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T594_); goto LA563_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T592_ - ((NI)1))], T594_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA563_;
			}
LA582_: ;
			(*c_p1).inUncheckedAssignSection -= inUncheckedAssignSectionX60gensym193__1;
			{
				LA563_:;
			}
			{
				oldNimErrFin563_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(pragmaListX60gensym193__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin563_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
		break;
		}
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__69;
		if (!(mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2))) goto LA599_;
		colontmpD__69 = NIM_NIL;
		{
			NIM_BOOL T604_;
			T604_ = (NIM_BOOL)0;
			T604_ = containsConstSeq__injectdestructors_u921(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
			if (!T604_) goto LA605_;
			result = passCopyToSink__injectdestructors_u849(n_p0, c_p1, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
		goto LA602_;
LA605_: ;
		{
			if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23) || (*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA608_;
			result = p__injectdestructors_u159(n_p0, c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
		goto LA602_;
LA608_: ;
		{
			NIM_BOOL T611_;
			NIM_BOOL T612_;
			NIM_BOOL T613_;
			NIM_BOOL T614_;
			NIM_BOOL T619_;
			T611_ = (NIM_BOOL)0;
			T612_ = (NIM_BOOL)0;
			T613_ = (NIM_BOOL)0;
			T614_ = (NIM_BOOL)0;
			T614_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T614_)) goto LA615_;
			T614_ = isSinkParam__ast_u7466((*n_p0)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
LA615_: ;
			T613_ = T614_;
			if (T613_) goto LA616_;
			T613_ = isAnalysableFieldAccess__aliasanalysis_u8(n_p0, (*c_p1).owner);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
LA616_: ;
			T612_ = T613_;
			if (!(T612_)) goto LA617_;
			T612_ = isLastRead__injectdestructors_u433(n_p0, c_p1, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
LA617_: ;
			T611_ = T612_;
			if (!(T611_)) goto LA618_;
			T619_ = (NIM_BOOL)0;
			T619_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T619_)) goto LA620_;
			T619_ = isCursor__injectdestructors_u456(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
LA620_: ;
			T611_ = !(T619_);
LA618_: ;
			if (!T611_) goto LA621_;
			result = destructiveMoveVar__injectdestructors_u815(n_p0, c_p1, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
		goto LA602_;
LA621_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__70;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__71;
			if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60))) goto LA624_;
			colontmpD__70 = NIM_NIL;
			colontmpD__71 = NIM_NIL;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA626_;
			{
				NIM_BOOL T629_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* nTyp_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T634_;
				T629_ = (NIM_BOOL)0;
				colontmpD__70 = skipTypes__ast_u5379((*n_p0).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_77);
				if (NIM_UNLIKELY(*nimErr_)) goto LA626_;
				T629_ = !(((*colontmpD__70).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45)));
				if (!(T629_)) goto LA630_;
				colontmpD__71 = skipTypes__ast_u5379((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_77);
				if (NIM_UNLIKELY(*nimErr_)) goto LA626_;
				T629_ = ((*colontmpD__71).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
LA630_: ;
				if (!T629_) goto LA631_;
				nTyp_1 = NIM_NIL;
				eqcopy___ast_u3381(&nTyp_1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA633_;
				eqcopy___ast_u3381(&(*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField, (*n_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA633_;
				T634_ = NIM_NIL;
				T634_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T634_); goto LA633_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T634_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA633_;
				eqsink___ast_u3387(&(*(*result)._kind_6.sons.p->data[((NI)1)]).typField, nTyp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA633_;
				eqwasMoved___ast_u3375(&nTyp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA633_;
				{
					LA633_:;
				}
				{
					oldNimErrFin633_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(nTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA626_;
					*nimErr_ = oldNimErrFin633_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA626_;
			}
			goto LA627_;
LA631_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T638_;
				T638_ = NIM_NIL;
				T638_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T638_); goto LA626_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T638_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA626_;
			}
LA627_: ;
			{
				LA626_:;
			}
			{
				oldNimErrFin626_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__71);
				if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
				eqdestroy___ast_u3378(colontmpD__70);
				if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
				*nimErr_ = oldNimErrFin626_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
		goto LA602_;
LA624_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T644_;
			if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67))) goto LA642_;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
			T644_ = NIM_NIL;
			T644_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T644_); goto LA601_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T644_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
		goto LA602_;
LA642_: ;
		{
			NIM_BOOL T646_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T650_;
			T646_ = (NIM_BOOL)0;
			T646_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61));
			if (!(T646_)) goto LA647_;
			colontmpD__69 = skipTypes__ast_u5379((*n_p0).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
			T646_ = ((*colontmpD__69).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) || (*colontmpD__69).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
LA647_: ;
			if (!T646_) goto LA648_;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
			T650_ = NIM_NIL;
			T650_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T650_); goto LA601_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T650_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
		goto LA602_;
LA648_: ;
		{
			if (!((*n_p0).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA652_;
			result = p__injectdestructors_u159(n_p0, c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
		goto LA602_;
LA652_: ;
		{
			result = passCopyToSink__injectdestructors_u849(n_p0, c_p1, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
		}
LA602_: ;
		{
			LA601_:;
		}
		{
			oldNimErrFin601_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__69);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin601_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA599_: ;
	{
		switch ((*n_p0).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
		{
			tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q colontmpD__72;
			tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q colontmpD__73;
			tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q m_1;
			colontmpD__72 = (tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0;
			colontmpD__73 = (tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0;
			{
				if (!(mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0))) goto LA661_;
				colontmpD__72 = ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0);
				m_1 = colontmpD__72;
			}
			goto LA659_;
LA661_: ;
			{
				colontmpD__73 = ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2);
				m_1 = colontmpD__73;
			}
LA659_: ;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_20;
				NI colontmp__14;
				NI colontmp__15;
				NI i_21;
				i_20 = (NI)0;
				colontmp__14 = (NI)0;
				colontmp__15 = (NI)0;
				colontmp__14 = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155));
				colontmp__15 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_21 = colontmp__14;
				{
					while (1) {
						if (!(i_21 < colontmp__15)) goto LA666;
						i_20 = i_21;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T671_;
							if (!((*(*n_p0)._kind_6.sons.p->data[i_20]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA669_;
							T671_ = NIM_NIL;
							T671_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[i_20])._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, m_1, IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T671_); goto BeforeRet_;}
							eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[i_20])._kind_6.sons.p->data[((NI)1)], T671_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						goto LA667_;
LA669_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T675_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T676_;
							if (!((*(*n_p0)._kind_6.sons.p->data[i_20]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA673_;
							T675_ = NIM_NIL;
							T675_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[i_20])._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, m_1, IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T675_); goto BeforeRet_;}
							eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[i_20])._kind_6.sons.p->data[((NI)0)], T675_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							T676_ = NIM_NIL;
							T676_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[i_20])._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, m_1, IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T676_); goto BeforeRet_;}
							eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[i_20])._kind_6.sons.p->data[((NI)1)], T676_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						goto LA667_;
LA673_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T678_;
							T678_ = NIM_NIL;
							T678_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_20], c_p1, s_p2, m_1, IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T678_); goto BeforeRet_;}
							eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_20], T678_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA667_: ;
						i_21 += ((NI)1);
					} LA666: ;
				}
			}
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q colontmpD__74;
			tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q colontmpD__75;
			tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q colontmpD__76;
			NIM_BOOL isRefConstr_1;
			tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q m_2;
			t_1 = NIM_NIL;
			colontmpD__74 = (tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0;
			colontmpD__75 = (tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0;
			colontmpD__76 = (tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0;
			t_1 = skipTypes__ast_u5379((*n_p0).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64);
			if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
			isRefConstr_1 = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
			{
				if (!isRefConstr_1) goto LA683_;
				colontmpD__74 = ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2);
				m_2 = colontmpD__74;
			}
			goto LA681_;
LA683_: ;
			{
				if (!(mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0))) goto LA686_;
				colontmpD__75 = ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0);
				m_2 = colontmpD__75;
			}
			goto LA681_;
LA686_: ;
			{
				colontmpD__76 = ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2);
				m_2 = colontmpD__76;
			}
LA681_: ;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
			{
				NI i_22;
				NI colontmp__16;
				NI i_23;
				i_22 = (NI)0;
				colontmp__16 = (NI)0;
				colontmp__16 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
				i_23 = ((NI)1);
				{
					while (1) {
						if (!(i_23 < colontmp__16)) goto LA691;
						i_22 = i_23;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
							if (!((*(*n_p0)._kind_6.sons.p->data[i_22]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA694_;
							field_1 = NIM_NIL;
							field_1 = lookupFieldAgain__types_u4194(t_1, (*(*(*n_p0)._kind_6.sons.p->data[i_22])._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto LA696_;
							{
								NIM_BOOL T699_;
								NIM_BOOL T701_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T705_;
								T699_ = (NIM_BOOL)0;
								T699_ = !((field_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
								if (!(T699_)) goto LA700_;
								T701_ = (NIM_BOOL)0;
								T701_ = (((*field_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41)))&63U)))!=0);
								if (T701_) goto LA702_;
								T701_ = ((*(*field_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*field_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48));
LA702_: ;
								T699_ = T701_;
LA700_: ;
								if (!T699_) goto LA703_;
								T705_ = NIM_NIL;
								T705_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[i_22])._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T705_); goto LA696_;}
								eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[i_22])._kind_6.sons.p->data[((NI)1)], T705_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA696_;
							}
							goto LA697_;
LA703_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T707_;
								T707_ = NIM_NIL;
								T707_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[i_22])._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, m_2, IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T707_); goto LA696_;}
								eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[i_22])._kind_6.sons.p->data[((NI)1)], T707_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA696_;
							}
LA697_: ;
							{
								LA696_:;
							}
							{
								oldNimErrFin696_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(field_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
								*nimErr_ = oldNimErrFin696_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
						}
						goto LA692_;
LA694_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T711_;
							T711_ = NIM_NIL;
							T711_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_22], c_p1, s_p2, m_2, IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T711_); goto LA680_;}
							eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_22], T711_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
						}
LA692_: ;
						i_23 += ((NI)1);
					} LA691: ;
				}
			}
			{
				NIM_BOOL T714_;
				NIM_BOOL T716_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T720_;
				T714_ = (NIM_BOOL)0;
				T714_ = (mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0));
				if (!(T714_)) goto LA715_;
				T716_ = (NIM_BOOL)0;
				T716_ = isRefConstr_1;
				if (T716_) goto LA717_;
				T716_ = hasCustomDestructor__injectdestructors_u1185((&(*c_p1)), t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
LA717_: ;
				T714_ = T716_;
LA715_: ;
				if (!T714_) goto LA718_;
				T720_ = NIM_NIL;
				T720_ = ensureDestruction__injectdestructors_u938(result, n_p0, c_p1, s_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T720_); goto LA680_;}
				eqsink___ast_u3261(&result, T720_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA680_;
			}
LA718_: ;
			{
				LA680_:;
			}
			{
				oldNimErrFin680_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin680_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* parameters_1;
			NI colontmpD__77;
			NI colontmpD__78;
			NI inSpawn_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T734_;
			NI L_11;
			parameters_1 = NIM_NIL;
			colontmpD__77 = (NI)0;
			colontmpD__78 = (NI)0;
			inSpawn_1 = (*c_p1).inSpawn;
			{
				NIM_BOOL T727_;
				T727_ = (NIM_BOOL)0;
				T727_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T727_)) goto LA728_;
				T727_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)199));
LA728_: ;
				if (!T727_) goto LA729_;
				(*c_p1).inSpawn += ((NI)1);
			}
			goto LA725_;
LA729_: ;
			{
				if (!(((NI)0) < (*c_p1).inSpawn)) goto LA732_;
				(*c_p1).inSpawn -= ((NI)1);
			}
			goto LA725_;
LA732_: ;
LA725_: ;
			T734_ = NIM_NIL;
			{
				if (!!(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA737_;
				parameters_1 = skipTypes__ast_u5379((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_64);
				if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
			}
			goto LA735_;
LA737_: ;
			{
				eqcopy___ast_u3381(&parameters_1, (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
			}
LA735_: ;
			{
				if (!!((parameters_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA742_;
				colontmpD__77 = signatureLen__ast_u5610(parameters_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
				L_11 = colontmpD__77;
			}
			goto LA740_;
LA742_: ;
			{
				colontmpD__78 = ((NI)0);
				L_11 = colontmpD__78;
			}
LA740_: ;
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
			{
				NIM_BOOL T747_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T751_;
				T747_ = (NIM_BOOL)0;
				T747_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T747_)) goto LA748_;
				T747_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)149));
LA748_: ;
				if (!T747_) goto LA749_;
				(*c_p1).inEnsureMove += ((NI)1);
				T751_ = NIM_NIL;
				T751_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T751_); goto LA724_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T751_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
				(*c_p1).inEnsureMove -= ((NI)1);
			}
			goto LA745_;
LA749_: ;
			{
				{
					NI i_24;
					NI colontmp__17;
					NI i_25;
					i_24 = (NI)0;
					colontmp__17 = (NI)0;
					colontmp__17 = len__ast_u3190(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
					i_25 = ((NI)1);
					{
						while (1) {
							if (!(i_25 < colontmp__17)) goto LA755;
							i_24 = i_25;
							{
								NIM_BOOL T758_;
								T758_ = (NIM_BOOL)0;
								T758_ = (i_24 < L_11);
								if (!(T758_)) goto LA759_;
								T758_ = isCompileTimeOnly__types_u3641((*parameters_1).sons.p->data[i_24]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
LA759_: ;
								if (!T758_) goto LA760_;
								eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[i_24], (*n_p0)._kind_6.sons.p->data[i_24]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
							}
							goto LA756_;
LA760_: ;
							{
								NIM_BOOL T763_;
								NIM_BOOL T765_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T769_;
								T763_ = (NIM_BOOL)0;
								T763_ = (i_24 < L_11);
								if (!(T763_)) goto LA764_;
								T765_ = (NIM_BOOL)0;
								T765_ = isSinkTypeForParam__types_u4187((*parameters_1).sons.p->data[i_24]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
								if (T765_) goto LA766_;
								T765_ = (((NI)0) < inSpawn_1);
LA766_: ;
								T763_ = T765_;
LA764_: ;
								if (!T763_) goto LA767_;
								T769_ = NIM_NIL;
								T769_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_24], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T769_); goto LA724_;}
								eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_24], T769_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
							}
							goto LA756_;
LA767_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T771_;
								T771_ = NIM_NIL;
								T771_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_24], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T771_); goto LA724_;}
								eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_24], T771_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
							}
LA756_: ;
							i_25 += ((NI)1);
						} LA755: ;
					}
				}
			}
LA745_: ;
			{
				NIM_BOOL T774_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T778_;
				T774_ = (NIM_BOOL)0;
				T774_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T774_)) goto LA775_;
				T774_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)32) || (*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)33));
LA775_: ;
				if (!T774_) goto LA776_;
				T778_ = NIM_NIL;
				T778_ = copyTree__ast_u6891((*n_p0)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T778_); goto LA724_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T778_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* destroyOld_1;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T784_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T785_;
					if (!((*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)8) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6) || (*(*(*c_p1).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5))) goto LA781_;
					destroyOld_1 = NIM_NIL;
					destroyOld_1 = genDestroy__injectdestructors_u603(c_p1, (*result)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA783_;
					nimZeroMem((void*)T784_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T784_[0] = destroyOld_1;
					T784_[1] = result;
					T785_ = NIM_NIL;
					T785_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T784_, 2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T785_); goto LA783_;}
					eqsink___ast_u3261(&result, T785_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA783_;
					{
						LA783_:;
					}
					{
						oldNimErrFin783_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(destroyOld_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
						*nimErr_ = oldNimErrFin783_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
				}
LA781_: ;
			}
			goto LA772_;
LA776_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T789_;
				T789_ = NIM_NIL;
				T789_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T789_); goto LA724_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T789_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
			}
LA772_: ;
			{
				NIM_BOOL T792_;
				T792_ = (NIM_BOOL)0;
				T792_ = canRaise__ast_u7516((*n_p0)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
				if (!T792_) goto LA793_;
				(*s_p2).needsTry = NIM_TRUE;
			}
LA793_: ;
			{
				if (!(mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0))) goto LA797_;
				{
					NIM_BOOL T801_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T805_;
					T801_ = (NIM_BOOL)0;
					T801_ = !(((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T801_)) goto LA802_;
					T801_ = !(((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA802_: ;
					if (!T801_) goto LA803_;
					T805_ = NIM_NIL;
					T805_ = ensureDestruction__injectdestructors_u938(result, n_p0, c_p1, s_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T805_); goto LA724_;}
					eqsink___ast_u3261(&result, T805_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA724_;
				}
LA803_: ;
			}
LA797_: ;
			{
				LA724_:;
			}
			{
				oldNimErrFin724_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(parameters_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin724_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)114):
		{
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T813_;
				if (!!(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA811_;
				T813_ = NIM_NIL;
				T813_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T813_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T813_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA809_;
LA811_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T815_;
				T815_ = NIM_NIL;
				T815_ = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T815_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T815_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA809_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
		{
			NIM_BOOL isInProc_1;
			result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*n_p0).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			isInProc_1 = ((*(*c_p1).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*c_p1).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*c_p1).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*c_p1).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*c_p1).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				it_1 = NIM_NIL;
				{
					NI i_26;
					NI colontmp__18;
					NI i_27;
					i_26 = (NI)0;
					colontmp__18 = (NI)0;
					colontmp__18 = safeLen__ast_u3197(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA818_;
					i_27 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__79;
							NI T823_;
							if (!(i_27 < colontmp__18)) goto LA821;
							ri_1 = NIM_NIL;
							colontmpD__79 = NIM_NIL;
							i_26 = i_27;
							eqcopy___ast_u3255(&it_1, (*n_p0)._kind_6.sons.p->data[i_26]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
							T823_ = (NI)0;
							T823_ = len__ast_u3190(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
							eqcopy___ast_u3255(&ri_1, (*it_1)._kind_6.sons.p->data[(NI)(T823_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
							{
								NIM_BOOL T826_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__80;
								T826_ = (NIM_BOOL)0;
								T826_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36));
								if (!(T826_)) goto LA827_;
								T826_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*ri_1).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
LA827_: ;
								if (!T826_) goto LA828_;
								x_1 = NIM_NIL;
								colontmpD__80 = NIM_NIL;
								{
									NI i_28;
									NI colontmp__19;
									NI T832_;
									NI i_29;
									i_28 = (NI)0;
									colontmp__19 = (NI)0;
									T832_ = (NI)0;
									T832_ = len__ast_u3190(it_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA830_;
									colontmp__19 = (NI)(T832_ - ((NI)2));
									i_29 = ((NI)0);
									{
										while (1) {
											if (!(i_29 < colontmp__19)) goto LA834;
											i_28 = i_29;
											{
												tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__81;
												if (!((*(*it_1)._kind_6.sons.p->data[i_28]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA837_;
												colontmpD__81 = eqdup___ast_u4580((*(*it_1)._kind_6.sons.p->data[i_28])._kind_4.sym);
												if (NIM_UNLIKELY(*nimErr_)) goto LA830_;
												add__renderer_u83((&(*s_p2).locals), colontmpD__81);
											}
LA837_: ;
											i_29 += ((NI)1);
										} LA834: ;
									}
								}
								x_1 = lowerTupleUnpacking__lowerings_u56((*c_p1).graph, it_1, (*c_p1).idgen, (*c_p1).owner);
								if (NIM_UNLIKELY(*nimErr_)) goto LA830_;
								colontmpD__80 = p__injectdestructors_u159(x_1, c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA830_;
								add__ast_u3215(result, colontmpD__80);
								if (NIM_UNLIKELY(*nimErr_)) goto LA830_;
								{
									LA830_:;
								}
								{
									oldNimErrFin830_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__80);
									if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
									eqdestroy___ast_u3252(x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
									*nimErr_ = oldNimErrFin830_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
							}
							goto LA824_;
LA828_: ;
							{
								NIM_BOOL T842_;
								T842_ = (NIM_BOOL)0;
								T842_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35));
								if (!(T842_)) goto LA843_;
								colontmpD__79 = skipPragmaExpr__ast_u4047((*it_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
								T842_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*colontmpD__79).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
LA843_: ;
								if (!T842_) goto LA844_;
								{
									NI j_1;
									NI colontmp__20;
									NI T847_;
									NI i_30;
									j_1 = (NI)0;
									colontmp__20 = (NI)0;
									T847_ = (NI)0;
									T847_ = len__ast_u3190(it_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
									colontmp__20 = (NI)(T847_ - ((NI)2));
									i_30 = ((NI)0);
									{
										while (1) {
											if (!(i_30 < colontmp__20)) goto LA849;
											j_1 = i_30;
											{
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
												v_1 = NIM_NIL;
												v_1 = skipPragmaExpr__ast_u4047((*it_1)._kind_6.sons.p->data[j_1]);
												if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
												{
													tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__82;
													if (!((*v_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA854_;
													{
														if (!(((*(*v_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0)) goto LA858_;
														eqdestroy___ast_u3252(v_1);
														if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
														goto LA850;
													}
LA858_: ;
													colontmpD__82 = eqdup___ast_u4580((*v_1)._kind_4.sym);
													if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
													add__renderer_u83((&(*s_p2).locals), colontmpD__82);
													pVarTopLevel__injectdestructors_u1005(v_1, c_p1, s_p2, result);
													if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
												}
LA854_: ;
												{
													NIM_BOOL isGlobalPragma_1;
													NIM_BOOL T864_;
													NIM_BOOL T865_;
													if (!!(((*ri_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA862_;
													T864_ = (NIM_BOOL)0;
													T865_ = (NIM_BOOL)0;
													T865_ = ((*v_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
													if (!(T865_)) goto LA866_;
													T865_ = ((2056 & ~ (*(*v_1)._kind_4.sym).flags)==0);
LA866_: ;
													T864_ = T865_;
													if (!(T864_)) goto LA867_;
													T864_ = isInProc_1;
LA867_: ;
													isGlobalPragma_1 = T864_;
													{
														tyArray__al2p7ldDMvbBVYNFCuu4Rw T872_;
														tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T873_;
														if (!isGlobalPragma_1) goto LA870_;
														nimZeroMem((void*)T872_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
														T872_[0] = v_1;
														T872_[1] = ri_1;
														T873_ = NIM_NIL;
														T873_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T872_, 2);
														if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T873_); goto LA851_;}
														add__ast_u3225((&(*(*c_p1).graph).procGlobals), T873_);
													}
													goto LA868_;
LA870_: ;
													{
														tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
														tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA colontmpD__83;
														tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA colontmpD__84;
														tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA T876_;
														value_1 = NIM_NIL;
														nimZeroMem((void*)(&colontmpD__83), sizeof(tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA));
														nimZeroMem((void*)(&colontmpD__84), sizeof(tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA));
														{
															if (!((*v_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA879_;
															colontmpD__83 = 1;
															T876_ = colontmpD__83;
														}
														goto LA877_;
LA879_: ;
														{
															colontmpD__84 = 0;
															T876_ = colontmpD__84;
														}
LA877_: ;
														value_1 = moveOrCopy__injectdestructors_u173(v_1, ri_1, c_p1, s_p2, T876_);
														if (NIM_UNLIKELY(*nimErr_)) goto LA875_;
														add__ast_u3215(result, value_1);
														if (NIM_UNLIKELY(*nimErr_)) goto LA875_;
														{
															LA875_:;
														}
														{
															oldNimErrFin875_ = *nimErr_; *nimErr_ = NIM_FALSE;
															eqdestroy___ast_u3252(value_1);
															if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
															*nimErr_ = oldNimErrFin875_;
														}
														if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
													}
LA868_: ;
												}
												goto LA860_;
LA862_: ;
												{
													NIM_BOOL T885_;
													NIM_BOOL skipInit_1;
													NIM_BOOL T889_;
													T885_ = (NIM_BOOL)0;
													T885_ = ((*ri_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
													if (!(T885_)) goto LA886_;
													T885_ = (((NI)0) < (*c_p1).inLoop);
LA886_: ;
													if (!T885_) goto LA887_;
													T889_ = (NIM_BOOL)0;
													T889_ = ((*v_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
													if (!(T889_)) goto LA890_;
													T889_ = (((*(*(*v_1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14)))&63U)))!=0);
LA890_: ;
													skipInit_1 = T889_;
													{
														tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__85;
														tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA colontmpD__86;
														tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA colontmpD__87;
														tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__88;
														tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA T896_;
														if (!!(skipInit_1)) goto LA893_;
														colontmpD__85 = NIM_NIL;
														nimZeroMem((void*)(&colontmpD__86), sizeof(tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA));
														nimZeroMem((void*)(&colontmpD__87), sizeof(tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA));
														colontmpD__88 = NIM_NIL;
														colontmpD__85 = genDefaultCall__injectdestructors_u810((*v_1).typField, (&(*c_p1)), (*v_1).info);
														if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
														{
															if (!((*v_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA899_;
															colontmpD__86 = 1;
															T896_ = colontmpD__86;
														}
														goto LA897_;
LA899_: ;
														{
															colontmpD__87 = 0;
															T896_ = colontmpD__87;
														}
LA897_: ;
														colontmpD__88 = moveOrCopy__injectdestructors_u173(v_1, colontmpD__85, c_p1, s_p2, T896_);
														if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
														add__ast_u3215(result, colontmpD__88);
														if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
														{
															LA895_:;
														}
														{
															oldNimErrFin895_ = *nimErr_; *nimErr_ = NIM_FALSE;
															eqdestroy___ast_u3252(colontmpD__88);
															if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
															eqdestroy___ast_u3252(colontmpD__85);
															if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
															*nimErr_ = oldNimErrFin895_;
														}
														if (NIM_UNLIKELY(*nimErr_)) goto LA851_;
													}
LA893_: ;
												}
												goto LA860_;
LA887_: ;
LA860_: ;
												{
													LA851_:;
												}
												{
													oldNimErrFin851_ = *nimErr_; *nimErr_ = NIM_FALSE;
													eqdestroy___ast_u3252(v_1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
													*nimErr_ = oldNimErrFin851_;
												}
												if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
											} LA850: ;
											i_30 += ((NI)1);
										} LA849: ;
									}
								}
							}
							goto LA824_;
LA844_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_2;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itCopy_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__89;
								tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags_1;
								NI T923_;
								v_2 = NIM_NIL;
								itCopy_1 = NIM_NIL;
								colontmpD__89 = NIM_NIL;
								v_2 = copyNode__ast_u6736(n_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
								itCopy_1 = copyNode__ast_u6736(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
								{
									NI j_2;
									NI colontmp__21;
									NI T909_;
									NI i_31;
									j_2 = (NI)0;
									colontmp__21 = (NI)0;
									T909_ = (NI)0;
									T909_ = len__ast_u3190(it_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
									colontmp__21 = (NI)(T909_ - ((NI)1));
									i_31 = ((NI)0);
									{
										while (1) {
											if (!(i_31 < colontmp__21)) goto LA911;
											j_2 = i_31;
											add__ast_u3215(itCopy_1, (*it_1)._kind_6.sons.p->data[j_2]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
											i_31 += ((NI)1);
										} LA911: ;
									}
								}
								flags_1 = IL64(70368744177664);
								{
									NIM_BOOL T914_;
									NIM_BOOL T915_;
									NIM_BOOL T916_;
									NI T918_;
									T914_ = (NIM_BOOL)0;
									T915_ = (NIM_BOOL)0;
									T916_ = (NIM_BOOL)0;
									T916_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35));
									if (!(T916_)) goto LA917_;
									T918_ = (NI)0;
									T918_ = len__ast_u3190(it_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
									T916_ = (T918_ == ((NI)3));
LA917_: ;
									T915_ = T916_;
									if (!(T915_)) goto LA919_;
									T915_ = ((*(*it_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA919_: ;
									T914_ = T915_;
									if (!(T914_)) goto LA920_;
									T914_ = (((*(*(*it_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0);
LA920_: ;
									if (!T914_) goto LA921_;
									flags_1 |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
								}
LA921_: ;
								T923_ = (NI)0;
								T923_ = len__ast_u3190(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
								colontmpD__89 = p__injectdestructors_u159((*it_1)._kind_6.sons.p->data[(NI)(T923_ - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), flags_1, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
								add__ast_u3215(itCopy_1, colontmpD__89);
								if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
								add__ast_u3215(v_2, itCopy_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
								add__ast_u3215(result, v_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA907_;
								{
									LA907_:;
								}
								{
									oldNimErrFin907_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__89);
									if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
									eqdestroy___ast_u3252(itCopy_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
									eqdestroy___ast_u3252(v_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
									*nimErr_ = oldNimErrFin907_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA822_;
							}
LA824_: ;
							i_27 += ((NI)1);
							{
								LA822_:;
							}
							{
								oldNimErrFin822_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__79);
								if (NIM_UNLIKELY(*nimErr_)) goto LA818_;
								eqdestroy___ast_u3252(ri_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA818_;
								*nimErr_ = oldNimErrFin822_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA818_;
						} LA821: ;
					}
				}
				{
					LA818_:;
				}
				{
					oldNimErrFin818_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin818_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149):
		{
			{
				NIM_BOOL T933_;
				tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA colontmpD__90;
				tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA colontmpD__91;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__92;
				tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA flags_2;
				T933_ = (NIM_BOOL)0;
				T933_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T933_)) goto LA934_;
				T933_ = !(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51)));
LA934_: ;
				if (!T933_) goto LA935_;
				nimZeroMem((void*)(&colontmpD__90), sizeof(tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA));
				nimZeroMem((void*)(&colontmpD__91), sizeof(tySet_tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA));
				colontmpD__92 = NIM_NIL;
				{
					if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46))) goto LA940_;
					cycleCheck__injectdestructors_u953(n_p0, c_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA937_;
				}
LA940_: ;
				{
					if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149))) goto LA944_;
					colontmpD__90 = 2;
					flags_2 = colontmpD__90;
				}
				goto LA942_;
LA944_: ;
				{
					colontmpD__91 = 0;
					flags_2 = colontmpD__91;
				}
LA942_: ;
				{
					if (!inReturn_p5) goto LA949_;
					flags_2 |= ((NU8)1)<<(((((tyEnum_MoveOrCopyFlag__hXh2WCKcd07GW2zV8njLNA)2))) & 7);
				}
LA949_: ;
				colontmpD__92 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA937_;
				result = moveOrCopy__injectdestructors_u173(colontmpD__92, (*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, flags_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA937_;
				{
					LA937_:;
				}
				{
					oldNimErrFin937_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__92);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin937_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA931_;
LA935_: ;
			{
				NIM_BOOL T954_;
				T954_ = (NIM_BOOL)0;
				T954_ = isDiscriminantField__astalgo_u3497((*n_p0)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T954_) goto LA955_;
				result = genDiscriminantAsgn__injectdestructors_u772(c_p1, s_p2, n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA931_;
LA955_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_1;
				if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91))) goto LA958_;
				dest_1 = NIM_NIL;
				dest_1 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				switch ((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind) {
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__93;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__94;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T975_;
					colontmpD__93 = NIM_NIL;
					colontmpD__94 = NIM_NIL;
					{
						NI T965_;
						T965_ = (NI)0;
						T965_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
						if (!(T965_ == ((NI)0))) goto LA966_;
						eqcopy___ast_u3255(&result, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
						eqdestroy___ast_u3252(colontmpD__94);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___ast_u3252(colontmpD__93);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___ast_u3252(dest_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA966_: ;
					result = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
					{
						NI iX60gensym556__1;
						NI colontmp__22;
						NI T969_;
						NI i_32;
						iX60gensym556__1 = (NI)0;
						colontmp__22 = (NI)0;
						T969_ = (NI)0;
						T969_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
						colontmp__22 = (NI)(T969_ - ((NI)1));
						i_32 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__95;
								if (!(i_32 < colontmp__22)) goto LA971;
								colontmpD__95 = NIM_NIL;
								iX60gensym556__1 = i_32;
								colontmpD__95 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[iX60gensym556__1], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA972_;
								add__ast_u3215(result, colontmpD__95);
								if (NIM_UNLIKELY(*nimErr_)) goto LA972_;
								i_32 += ((NI)1);
								{
									LA972_:;
								}
								{
									oldNimErrFin972_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__95);
									if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
									*nimErr_ = oldNimErrFin972_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
							} LA971: ;
						}
					}
					T975_ = NIM_NIL;
					{
						NI T978_;
						NIM_BOOL T979_;
						NI T983_;
						T978_ = (NI)0;
						T978_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
						T979_ = (NIM_BOOL)0;
						T979_ = isEmptyType__ast_u7234((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(T978_ - ((NI)1))]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
						if (!T979_) goto LA980_;
						T983_ = (NI)0;
						T983_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA982_;
						colontmpD__93 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(T983_ - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA982_;
						T975_ = colontmpD__93;
						{
							LA982_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
					}
					goto LA976_;
LA980_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__96;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T988_;
						NI T989_;
						colontmpD__96 = NIM_NIL;
						nimZeroMem((void*)T988_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T988_[0] = dest_1;
						T989_ = (NI)0;
						T989_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA987_;
						colontmpD__96 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(T989_ - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA987_;
						T988_[1] = colontmpD__96;
						colontmpD__94 = newTree__ast_u4170((*n_p0).kind, T988_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA987_;
						T975_ = colontmpD__94;
						{
							LA987_:;
						}
						{
							oldNimErrFin987_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__96);
							if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
							*nimErr_ = oldNimErrFin987_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
					}
LA976_: ;
					add__ast_u3215(result, T975_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA962_;
					{
						LA962_:;
					}
					{
						oldNimErrFin962_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__94);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___ast_u3252(colontmpD__93);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin962_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__97;
					colontmpD__97 = NIM_NIL;
					result = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
					colontmpD__97 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
					add__ast_u3215(result, colontmpD__97);
					if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
					{
						NI iX60gensym556__2;
						NI colontmp__23;
						NI i_33;
						iX60gensym556__2 = (NI)0;
						colontmp__23 = (NI)0;
						colontmp__23 = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
						i_33 = ((NI)1);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym556__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym556__1;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ ofScopeX60gensym556__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__98;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1005_;
								if (!(i_33 < colontmp__23)) goto LA998;
								itX60gensym556__1 = NIM_NIL;
								branchX60gensym556__1 = NIM_NIL;
								nimZeroMem((void*)(&ofScopeX60gensym556__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
								colontmpD__98 = NIM_NIL;
								iX60gensym556__2 = i_33;
								eqcopy___ast_u3255(&itX60gensym556__1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[iX60gensym556__2]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
								branchX60gensym556__1 = shallowCopy__ast_u6876(itX60gensym556__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
								{
									NI jX60gensym556__1;
									NI colontmp__24;
									NI T1001_;
									NI i_34;
									jX60gensym556__1 = (NI)0;
									colontmp__24 = (NI)0;
									T1001_ = (NI)0;
									T1001_ = len__ast_u3190(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
									colontmp__24 = (NI)(T1001_ - ((NI)1));
									i_34 = ((NI)0);
									{
										while (1) {
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1004_;
											if (!(i_34 < colontmp__24)) goto LA1003;
											jX60gensym556__1 = i_34;
											T1004_ = NIM_NIL;
											T1004_ = copyTree__ast_u6891((*itX60gensym556__1)._kind_6.sons.p->data[jX60gensym556__1]);
											if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1004_); goto LA999_;}
											eqsink___ast_u3261(&(*branchX60gensym556__1)._kind_6.sons.p->data[jX60gensym556__1], T1004_);
											if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
											i_34 += ((NI)1);
										} LA1003: ;
									}
								}
								colontmpD__98 = lastSon__ast_u5208(itX60gensym556__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
								nestedScope__injectdestructors_u85(s_p2, colontmpD__98, (&ofScopeX60gensym556__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
								T1005_ = NIM_NIL;
								{
									NIM_BOOL T1008_;
									NIM_BOOL T1009_;
									NI T1011_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__99;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__100;
									NI T1016_;
									tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T1017_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1018_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1035_;
									T1008_ = (NIM_BOOL)0;
									T1009_ = (NIM_BOOL)0;
									T1009_ = isEmptyType__ast_u7234((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
									if (T1009_) goto LA1010_;
									T1011_ = (NI)0;
									T1011_ = len__ast_u3190(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
									T1009_ = isEmptyType__ast_u7234((*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1011_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
LA1010_: ;
									T1008_ = T1009_;
									if (T1008_) goto LA1012_;
									T1008_ = NIM_TRUE;
LA1012_: ;
									if (!T1008_) goto LA1013_;
									colontmpD__99 = NIM_NIL;
									colontmpD__100 = NIM_NIL;
									T1016_ = (NI)0;
									T1016_ = len__ast_u3190(branchX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1015_;
									T1017_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
									T1017_ = (&ofScopeX60gensym556__1);
									T1018_ = NIM_NIL;
									{
										NI T1021_;
										NIM_BOOL T1022_;
										NI T1026_;
										T1021_ = (NI)0;
										T1021_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1015_;
										T1022_ = (NIM_BOOL)0;
										T1022_ = isEmptyType__ast_u7234((*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1021_ - ((NI)1))]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1015_;
										if (!T1022_) goto LA1023_;
										T1026_ = (NI)0;
										T1026_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1025_;
										colontmpD__99 = p__injectdestructors_u159((*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1026_ - ((NI)1))], c_p1, (&ofScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1025_;
										T1018_ = colontmpD__99;
										{
											LA1025_:;
										}
										{
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1015_;
									}
									goto LA1019_;
LA1023_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__101;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1031_;
										NI T1032_;
										colontmpD__101 = NIM_NIL;
										nimZeroMem((void*)T1031_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1031_[0] = dest_1;
										T1032_ = (NI)0;
										T1032_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1030_;
										colontmpD__101 = p__injectdestructors_u159((*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1032_ - ((NI)1))], c_p1, (&ofScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1030_;
										T1031_[1] = colontmpD__101;
										colontmpD__100 = newTree__ast_u4170((*n_p0).kind, T1031_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1030_;
										T1018_ = colontmpD__100;
										{
											LA1030_:;
										}
										{
											oldNimErrFin1030_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__101);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1015_;
											*nimErr_ = oldNimErrFin1030_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1015_;
									}
LA1019_: ;
									T1035_ = NIM_NIL;
									T1035_ = processScope__injectdestructors_u1058(c_p1, T1017_, T1018_);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1035_); goto LA1015_;}
									eqsink___ast_u3261(&(*branchX60gensym556__1)._kind_6.sons.p->data[(NI)(T1016_ - ((NI)1))], T1035_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1015_;
									{
										LA1015_:;
									}
									{
										oldNimErrFin1015_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__100);
										if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
										eqdestroy___ast_u3252(colontmpD__99);
										if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
										*nimErr_ = oldNimErrFin1015_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
								}
								goto LA1006_;
LA1013_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym612__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym612__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym612__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym612__1;
									NI T1040_;
									NI T1041_;
									NI T1042_;
									NI T1043_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1044_;
									NI T1074_;
									NI T1103_;
									resultX60gensym612__1 = NIM_NIL;
									tmpX60gensym612__1 = NIM_NIL;
									cpyX60gensym612__1 = NIM_NIL;
									finSectionX60gensym612__1 = NIM_NIL;
									T1040_ = (NI)0;
									T1040_ = len__ast_u3190(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									T1041_ = (NI)0;
									T1041_ = len__ast_u3190(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									resultX60gensym612__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1040_ - ((NI)1))]).info, (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1041_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									T1042_ = (NI)0;
									T1042_ = len__ast_u3190(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									T1043_ = (NI)0;
									T1043_ = len__ast_u3190(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									tmpX60gensym612__1 = getTemp__injectdestructors_u69(c_p1, ofScopeX60gensym556__1.parent, (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1042_ - ((NI)1))]).typField, (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1043_ - ((NI)1))]).info, NIM_TRUE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									(*(*tmpX60gensym612__1)._kind_4.sym).flags = IL64(70368744177664);
									T1044_ = NIM_NIL;
									{
										NIM_BOOL T1047_;
										NI T1048_;
										NI T1050_;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1053_;
										NI T1054_;
										T1047_ = (NIM_BOOL)0;
										T1048_ = (NI)0;
										T1048_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
										T1047_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1048_ - ((NI)1))]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
										if (!(T1047_)) goto LA1049_;
										T1050_ = (NI)0;
										T1050_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
										T1047_ = !(((*(*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1050_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1050_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1049_: ;
										if (!T1047_) goto LA1051_;
										T1053_ = NIM_NIL;
										T1053_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1053_); goto LA1039_;}
										add__ast_u3225((&(*ofScopeX60gensym556__1.parent).final), T1053_);
										T1054_ = (NI)0;
										T1054_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
										cpyX60gensym612__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym612__1, (*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1054_ - ((NI)1))], c_p1, (&ofScopeX60gensym556__1), 1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									}
									goto LA1045_;
LA1051_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__102;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1057_;
										NI T1058_;
										colontmpD__102 = NIM_NIL;
										nimZeroMem((void*)T1057_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1057_[0] = tmpX60gensym612__1;
										T1058_ = (NI)0;
										T1058_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1056_;
										colontmpD__102 = p__injectdestructors_u159((*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1058_ - ((NI)1))], c_p1, (&ofScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1056_;
										T1057_[1] = colontmpD__102;
										cpyX60gensym612__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1057_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1056_;
										{
											LA1056_:;
										}
										{
											oldNimErrFin1056_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__102);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
											*nimErr_ = oldNimErrFin1056_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									}
LA1045_: ;
									{
										NI T1063_;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym612__1;
										NI T1066_;
										T1063_ = ofScopeX60gensym556__1.vars.len;
										if (!(((NI)0) < T1063_)) goto LA1064_;
										varSectionX60gensym612__1 = NIM_NIL;
										T1066_ = (NI)0;
										T1066_ = len__ast_u3190(itX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
										varSectionX60gensym612__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1066_ - ((NI)1))]).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
										{
											tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym612__2;
											NI i_35;
											NI L_12;
											NI T1068_;
											tmpX60gensym612__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
											i_35 = ((NI)0);
											T1068_ = ofScopeX60gensym556__1.vars.len;
											L_12 = T1068_;
											{
												while (1) {
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__103;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__104;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__105;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__106;
													tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1071_;
													NI T1072_;
													NI T1073_;
													if (!(i_35 < L_12)) goto LA1070;
													colontmpD__103 = NIM_NIL;
													colontmpD__104 = NIM_NIL;
													colontmpD__105 = NIM_NIL;
													colontmpD__106 = NIM_NIL;
													tmpX60gensym612__2 = &ofScopeX60gensym556__1.vars.p->data[i_35];
													nimZeroMem((void*)T1071_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
													colontmpD__103 = newSymNode__ast_u5168((*tmpX60gensym612__2));
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													T1071_[0] = colontmpD__103;
													T1072_ = (NI)0;
													T1072_ = len__ast_u3190(itX60gensym556__1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													colontmpD__104 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1072_ - ((NI)1))]).info);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													T1071_[1] = colontmpD__104;
													T1073_ = (NI)0;
													T1073_ = len__ast_u3190(itX60gensym556__1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													colontmpD__105 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1073_ - ((NI)1))]).info);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													T1071_[2] = colontmpD__105;
													colontmpD__106 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1071_, 3);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													add__ast_u3215(varSectionX60gensym612__1, colontmpD__106);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													i_35 += ((NI)1);
													eqdestroy___ast_u3252(colontmpD__106);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													eqdestroy___ast_u3252(colontmpD__105);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													eqdestroy___ast_u3252(colontmpD__104);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
													eqdestroy___ast_u3252(colontmpD__103);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
												} LA1070: ;
											}
										}
										add__ast_u3215(resultX60gensym612__1, varSectionX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
										eqdestroy___ast_u3252(varSectionX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									}
LA1064_: ;
									T1074_ = (NI)0;
									T1074_ = len__ast_u3190(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									finSectionX60gensym612__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym556__1)._kind_6.sons.p->data[(NI)(T1074_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym612__1;
										NI i_36;
										NI L_13;
										NI T1076_;
										mX60gensym612__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
										i_36 = ((NI)0);
										T1076_ = ofScopeX60gensym556__1.wasMoved.len;
										L_13 = T1076_;
										{
											while (1) {
												if (!(i_36 < L_13)) goto LA1078;
												mX60gensym612__1 = &ofScopeX60gensym556__1.wasMoved.p->data[i_36];
												add__ast_u3215(finSectionX60gensym612__1, (*mX60gensym612__1));
												if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
												i_36 += ((NI)1);
											} LA1078: ;
										}
									}
									{
										NI iX60gensym612__1;
										NI colontmp__25;
										NI T1080_;
										NI res_6;
										iX60gensym612__1 = (NI)0;
										colontmp__25 = (NI)0;
										T1080_ = (ofScopeX60gensym556__1.final.len-1);
										colontmp__25 = T1080_;
										res_6 = colontmp__25;
										{
											while (1) {
												if (!(((NI)0) <= res_6)) goto LA1082;
												iX60gensym612__1 = ((NI) (res_6));
												add__ast_u3215(finSectionX60gensym612__1, ofScopeX60gensym556__1.final.p->data[iX60gensym612__1]);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
												res_6 -= ((NI)1);
											} LA1082: ;
										}
									}
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__107;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__108;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__109;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__110;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1088_;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1089_;
										if (!ofScopeX60gensym556__1.needsTry) goto LA1085_;
										colontmpD__107 = NIM_NIL;
										colontmpD__108 = NIM_NIL;
										colontmpD__109 = NIM_NIL;
										colontmpD__110 = NIM_NIL;
										nimZeroMem((void*)T1088_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1088_[0] = cpyX60gensym612__1;
										nimZeroMem((void*)T1089_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1089_[0] = dest_1;
										colontmpD__107 = p__injectdestructors_u159(tmpX60gensym612__1, c_p1, ofScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
										T1089_[1] = colontmpD__107;
										colontmpD__108 = newTree__ast_u4170((*n_p0).kind, T1089_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
										T1088_[1] = colontmpD__108;
										colontmpD__109 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1088_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
										colontmpD__110 = newTryFinally__lowerings_u110(colontmpD__109, finSectionX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
										add__ast_u3215(resultX60gensym612__1, colontmpD__110);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
										{
											LA1087_:;
										}
										{
											oldNimErrFin1087_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__110);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
											eqdestroy___ast_u3252(colontmpD__109);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
											eqdestroy___ast_u3252(colontmpD__108);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
											eqdestroy___ast_u3252(colontmpD__107);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
											*nimErr_ = oldNimErrFin1087_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									}
									goto LA1083_;
LA1085_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__111;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__112;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1094_;
										colontmpD__111 = NIM_NIL;
										colontmpD__112 = NIM_NIL;
										add__ast_u3215(resultX60gensym612__1, cpyX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1093_;
										add__ast_u3215(resultX60gensym612__1, finSectionX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1093_;
										nimZeroMem((void*)T1094_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1094_[0] = dest_1;
										colontmpD__111 = p__injectdestructors_u159(tmpX60gensym612__1, c_p1, ofScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1093_;
										T1094_[1] = colontmpD__111;
										colontmpD__112 = newTree__ast_u4170((*n_p0).kind, T1094_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1093_;
										add__ast_u3215(resultX60gensym612__1, colontmpD__112);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1093_;
										{
											LA1093_:;
										}
										{
											oldNimErrFin1093_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__112);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
											eqdestroy___ast_u3252(colontmpD__111);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
											*nimErr_ = oldNimErrFin1093_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									}
LA1083_: ;
									{
										NIM_BOOL T1101_;
										if (!!((ofScopeX60gensym556__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1099_;
										T1101_ = (NIM_BOOL)0;
										T1101_ = (*ofScopeX60gensym556__1.parent).needsTry;
										if (T1101_) goto LA1102_;
										T1101_ = ofScopeX60gensym556__1.needsTry;
LA1102_: ;
										(*ofScopeX60gensym556__1.parent).needsTry = T1101_;
									}
LA1099_: ;
									T1103_ = (NI)0;
									T1103_ = len__ast_u3190(branchX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									eqsink___ast_u3261(&(*branchX60gensym556__1)._kind_6.sons.p->data[(NI)(T1103_ - ((NI)1))], resultX60gensym612__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									eqwasMoved___ast_u3249(&resultX60gensym612__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1039_;
									{
										LA1039_:;
									}
									{
										oldNimErrFin1039_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(finSectionX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
										eqdestroy___ast_u3252(cpyX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
										eqdestroy___ast_u3252(tmpX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
										eqdestroy___ast_u3252(resultX60gensym612__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
										*nimErr_ = oldNimErrFin1039_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
								}
LA1006_: ;
								add__ast_u3215(result, branchX60gensym556__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA999_;
								i_33 += ((NI)1);
								{
									LA999_:;
								}
								{
									oldNimErrFin999_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__98);
									if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
									eqdestroy___injectdestructors_u127((&ofScopeX60gensym556__1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
									eqdestroy___ast_u3252(branchX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
									eqdestroy___ast_u3252(itX60gensym556__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
									*nimErr_ = oldNimErrFin999_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA995_;
							} LA998: ;
						}
					}
					{
						LA995_:;
					}
					{
						oldNimErrFin995_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__97);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin995_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__113;
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym556__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym556__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__114;
					colontmpD__113 = NIM_NIL;
					nimZeroMem((void*)(&bodyScopeX60gensym556__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
					bodyResultX60gensym556__1 = NIM_NIL;
					colontmpD__114 = NIM_NIL;
					(*c_p1).inLoop += ((NI)1);
					(*c_p1).inLoopCond += ((NI)1);
					result = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
					colontmpD__113 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
					add__ast_u3215(result, colontmpD__113);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
					(*c_p1).inLoopCond -= ((NI)1);
					nestedScope__injectdestructors_u85(s_p2, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym556__1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
					bodyResultX60gensym556__1 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
					colontmpD__114 = processScope__injectdestructors_u1058(c_p1, (&bodyScopeX60gensym556__1), bodyResultX60gensym556__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
					add__ast_u3215(result, colontmpD__114);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
					(*c_p1).inLoop -= ((NI)1);
					{
						LA1111_:;
					}
					{
						oldNimErrFin1111_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__114);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___ast_u3252(bodyResultX60gensym556__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___injectdestructors_u127((&bodyScopeX60gensym556__1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___ast_u3252(colontmpD__113);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin1111_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
				{
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym556__2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bodyResultX60gensym556__2;
					NI lastX60gensym556__1;
					NI T1116_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1120_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1121_;
					nimZeroMem((void*)(&bodyScopeX60gensym556__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
					bodyResultX60gensym556__2 = NIM_NIL;
					(*c_p1).inLoop += ((NI)1);
					result = shallowCopy__ast_u6876((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1115_;
					T1116_ = (NI)0;
					T1116_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1115_;
					lastX60gensym556__1 = (NI)(T1116_ - ((NI)1));
					{
						NI iX60gensym556__3;
						NI colontmp__26;
						NI i_37;
						iX60gensym556__3 = (NI)0;
						colontmp__26 = (NI)0;
						colontmp__26 = (NI)(lastX60gensym556__1 - ((NI)1));
						i_37 = ((NI)0);
						{
							while (1) {
								if (!(i_37 < colontmp__26)) goto LA1119;
								iX60gensym556__3 = i_37;
								eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[iX60gensym556__3], (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[iX60gensym556__3]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1115_;
								i_37 += ((NI)1);
							} LA1119: ;
						}
					}
					T1120_ = NIM_NIL;
					T1120_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(lastX60gensym556__1 - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1120_); goto LA1115_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(lastX60gensym556__1 - ((NI)1))], T1120_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1115_;
					nestedScope__injectdestructors_u85(s_p2, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym556__2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1115_;
					bodyResultX60gensym556__2 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[lastX60gensym556__1], c_p1, (&bodyScopeX60gensym556__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1115_;
					T1121_ = NIM_NIL;
					T1121_ = processScope__injectdestructors_u1058(c_p1, (&bodyScopeX60gensym556__2), bodyResultX60gensym556__2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1121_); goto LA1115_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[lastX60gensym556__1], T1121_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1115_;
					(*c_p1).inLoop -= ((NI)1);
					{
						LA1115_:;
					}
					{
						oldNimErrFin1115_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(bodyResultX60gensym556__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___injectdestructors_u127((&bodyScopeX60gensym556__2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin1115_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
				{
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ bodyScopeX60gensym556__3;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__115;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__116;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1126_;
					nimZeroMem((void*)(&bodyScopeX60gensym556__3), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
					colontmpD__115 = NIM_NIL;
					colontmpD__116 = NIM_NIL;
					result = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
					add__ast_u3215(result, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
					nestedScope__injectdestructors_u85(s_p2, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym556__3));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
					T1126_ = NIM_NIL;
					{
						NIM_BOOL T1129_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__117;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__118;
						tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T1134_;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T1135_;
						T1129_ = (NIM_BOOL)0;
						T1129_ = isEmptyType__ast_u7234((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
						if (T1129_) goto LA1130_;
						T1129_ = NIM_TRUE;
LA1130_: ;
						if (!T1129_) goto LA1131_;
						colontmpD__117 = NIM_NIL;
						colontmpD__118 = NIM_NIL;
						T1134_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
						T1134_ = (&bodyScopeX60gensym556__3);
						nimZeroMem((void*)T1135_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T1135_[0] = dest_1;
						colontmpD__117 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym556__3), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						T1135_[1] = colontmpD__117;
						colontmpD__118 = newTree__ast_u4170((*n_p0).kind, T1135_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						colontmpD__115 = processScope__injectdestructors_u1058(c_p1, T1134_, colontmpD__118);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1133_;
						T1126_ = colontmpD__115;
						{
							LA1133_:;
						}
						{
							oldNimErrFin1133_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__118);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
							eqdestroy___ast_u3252(colontmpD__117);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
							*nimErr_ = oldNimErrFin1133_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
					}
					goto LA1127_;
LA1131_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym660__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym660__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym660__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym660__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1140_;
						resultX60gensym660__1 = NIM_NIL;
						tmpX60gensym660__1 = NIM_NIL;
						cpyX60gensym660__1 = NIM_NIL;
						finSectionX60gensym660__1 = NIM_NIL;
						resultX60gensym660__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).info, (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						tmpX60gensym660__1 = getTemp__injectdestructors_u69(c_p1, bodyScopeX60gensym556__3.parent, (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).typField, (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).info, NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						(*(*tmpX60gensym660__1)._kind_4.sym).flags = IL64(70368744177664);
						T1140_ = NIM_NIL;
						{
							NIM_BOOL T1143_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1147_;
							T1143_ = (NIM_BOOL)0;
							T1143_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
							if (!(T1143_)) goto LA1144_;
							T1143_ = !(((*(*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1144_: ;
							if (!T1143_) goto LA1145_;
							T1147_ = NIM_NIL;
							T1147_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1147_); goto LA1139_;}
							add__ast_u3225((&(*bodyScopeX60gensym556__3.parent).final), T1147_);
							cpyX60gensym660__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym660__1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym556__3), 1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						}
						goto LA1141_;
LA1145_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__119;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T1150_;
							colontmpD__119 = NIM_NIL;
							nimZeroMem((void*)T1150_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							T1150_[0] = tmpX60gensym660__1;
							colontmpD__119 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], c_p1, (&bodyScopeX60gensym556__3), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1149_;
							T1150_[1] = colontmpD__119;
							cpyX60gensym660__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1150_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1149_;
							{
								LA1149_:;
							}
							{
								oldNimErrFin1149_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__119);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
								*nimErr_ = oldNimErrFin1149_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						}
LA1141_: ;
						{
							NI T1155_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym660__1;
							T1155_ = bodyScopeX60gensym556__3.vars.len;
							if (!(((NI)0) < T1155_)) goto LA1156_;
							varSectionX60gensym660__1 = NIM_NIL;
							varSectionX60gensym660__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
							{
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym660__2;
								NI i_38;
								NI L_14;
								NI T1159_;
								tmpX60gensym660__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
								i_38 = ((NI)0);
								T1159_ = bodyScopeX60gensym556__3.vars.len;
								L_14 = T1159_;
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__120;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__121;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__122;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__123;
										tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1162_;
										if (!(i_38 < L_14)) goto LA1161;
										colontmpD__120 = NIM_NIL;
										colontmpD__121 = NIM_NIL;
										colontmpD__122 = NIM_NIL;
										colontmpD__123 = NIM_NIL;
										tmpX60gensym660__2 = &bodyScopeX60gensym556__3.vars.p->data[i_38];
										nimZeroMem((void*)T1162_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
										colontmpD__120 = newSymNode__ast_u5168((*tmpX60gensym660__2));
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										T1162_[0] = colontmpD__120;
										colontmpD__121 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										T1162_[1] = colontmpD__121;
										colontmpD__122 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										T1162_[2] = colontmpD__122;
										colontmpD__123 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1162_, 3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										add__ast_u3215(varSectionX60gensym660__1, colontmpD__123);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										i_38 += ((NI)1);
										eqdestroy___ast_u3252(colontmpD__123);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										eqdestroy___ast_u3252(colontmpD__122);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										eqdestroy___ast_u3252(colontmpD__121);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
										eqdestroy___ast_u3252(colontmpD__120);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
									} LA1161: ;
								}
							}
							add__ast_u3215(resultX60gensym660__1, varSectionX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
							eqdestroy___ast_u3252(varSectionX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						}
LA1156_: ;
						finSectionX60gensym660__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym660__1;
							NI i_39;
							NI L_15;
							NI T1164_;
							mX60gensym660__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
							i_39 = ((NI)0);
							T1164_ = bodyScopeX60gensym556__3.wasMoved.len;
							L_15 = T1164_;
							{
								while (1) {
									if (!(i_39 < L_15)) goto LA1166;
									mX60gensym660__1 = &bodyScopeX60gensym556__3.wasMoved.p->data[i_39];
									add__ast_u3215(finSectionX60gensym660__1, (*mX60gensym660__1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
									i_39 += ((NI)1);
								} LA1166: ;
							}
						}
						{
							NI iX60gensym660__1;
							NI colontmp__27;
							NI T1168_;
							NI res_7;
							iX60gensym660__1 = (NI)0;
							colontmp__27 = (NI)0;
							T1168_ = (bodyScopeX60gensym556__3.final.len-1);
							colontmp__27 = T1168_;
							res_7 = colontmp__27;
							{
								while (1) {
									if (!(((NI)0) <= res_7)) goto LA1170;
									iX60gensym660__1 = ((NI) (res_7));
									add__ast_u3215(finSectionX60gensym660__1, bodyScopeX60gensym556__3.final.p->data[iX60gensym660__1]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
									res_7 -= ((NI)1);
								} LA1170: ;
							}
						}
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__124;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__125;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__126;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__127;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T1176_;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T1177_;
							if (!bodyScopeX60gensym556__3.needsTry) goto LA1173_;
							colontmpD__124 = NIM_NIL;
							colontmpD__125 = NIM_NIL;
							colontmpD__126 = NIM_NIL;
							colontmpD__127 = NIM_NIL;
							nimZeroMem((void*)T1176_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							T1176_[0] = cpyX60gensym660__1;
							nimZeroMem((void*)T1177_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							T1177_[0] = dest_1;
							colontmpD__124 = p__injectdestructors_u159(tmpX60gensym660__1, c_p1, bodyScopeX60gensym556__3.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1175_;
							T1177_[1] = colontmpD__124;
							colontmpD__125 = newTree__ast_u4170((*n_p0).kind, T1177_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1175_;
							T1176_[1] = colontmpD__125;
							colontmpD__126 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1176_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1175_;
							colontmpD__127 = newTryFinally__lowerings_u110(colontmpD__126, finSectionX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1175_;
							add__ast_u3215(resultX60gensym660__1, colontmpD__127);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1175_;
							{
								LA1175_:;
							}
							{
								oldNimErrFin1175_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__127);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
								eqdestroy___ast_u3252(colontmpD__126);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
								eqdestroy___ast_u3252(colontmpD__125);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
								eqdestroy___ast_u3252(colontmpD__124);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
								*nimErr_ = oldNimErrFin1175_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						}
						goto LA1171_;
LA1173_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__128;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__129;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T1182_;
							colontmpD__128 = NIM_NIL;
							colontmpD__129 = NIM_NIL;
							add__ast_u3215(resultX60gensym660__1, cpyX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1181_;
							add__ast_u3215(resultX60gensym660__1, finSectionX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1181_;
							nimZeroMem((void*)T1182_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							T1182_[0] = dest_1;
							colontmpD__128 = p__injectdestructors_u159(tmpX60gensym660__1, c_p1, bodyScopeX60gensym556__3.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1181_;
							T1182_[1] = colontmpD__128;
							colontmpD__129 = newTree__ast_u4170((*n_p0).kind, T1182_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1181_;
							add__ast_u3215(resultX60gensym660__1, colontmpD__129);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1181_;
							{
								LA1181_:;
							}
							{
								oldNimErrFin1181_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__129);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
								eqdestroy___ast_u3252(colontmpD__128);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
								*nimErr_ = oldNimErrFin1181_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						}
LA1171_: ;
						{
							NIM_BOOL T1189_;
							if (!!((bodyScopeX60gensym556__3.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1187_;
							T1189_ = (NIM_BOOL)0;
							T1189_ = (*bodyScopeX60gensym556__3.parent).needsTry;
							if (T1189_) goto LA1190_;
							T1189_ = bodyScopeX60gensym556__3.needsTry;
LA1190_: ;
							(*bodyScopeX60gensym556__3.parent).needsTry = T1189_;
						}
LA1187_: ;
						colontmpD__116 = resultX60gensym660__1;
						eqwasMoved___ast_u3249(&resultX60gensym660__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1139_;
						T1126_ = colontmpD__116;
						{
							LA1139_:;
						}
						{
							oldNimErrFin1139_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(finSectionX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
							eqdestroy___ast_u3252(cpyX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
							eqdestroy___ast_u3252(tmpX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
							eqdestroy___ast_u3252(resultX60gensym660__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
							*nimErr_ = oldNimErrFin1139_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
					}
LA1127_: ;
					add__ast_u3215(result, T1126_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1125_;
					{
						LA1125_:;
					}
					{
						oldNimErrFin1125_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__116);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___ast_u3252(colontmpD__115);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___injectdestructors_u127((&bodyScopeX60gensym556__3));
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin1125_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
				{
					result = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
					{
						NI iX60gensym556__4;
						NI colontmp__28;
						NI i_40;
						iX60gensym556__4 = (NI)0;
						colontmp__28 = (NI)0;
						colontmp__28 = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						i_40 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym556__2;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym556__2;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym556__1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__130;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1205_;
								if (!(i_40 < colontmp__28)) goto LA1198;
								itX60gensym556__2 = NIM_NIL;
								branchX60gensym556__2 = NIM_NIL;
								nimZeroMem((void*)(&branchScopeX60gensym556__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
								colontmpD__130 = NIM_NIL;
								iX60gensym556__4 = i_40;
								eqcopy___ast_u3255(&itX60gensym556__2, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[iX60gensym556__4]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								branchX60gensym556__2 = shallowCopy__ast_u6876(itX60gensym556__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								colontmpD__130 = lastSon__ast_u5208(itX60gensym556__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								nestedScope__injectdestructors_u85(s_p2, colontmpD__130, (&branchScopeX60gensym556__1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1204_;
									if (!((*itX60gensym556__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86) || (*itX60gensym556__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49))) goto LA1202_;
									T1204_ = NIM_NIL;
									T1204_ = p__injectdestructors_u159((*itX60gensym556__2)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1204_); goto LA1199_;}
									eqsink___ast_u3261(&(*branchX60gensym556__2)._kind_6.sons.p->data[((NI)0)], T1204_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								}
LA1202_: ;
								T1205_ = NIM_NIL;
								{
									NIM_BOOL T1208_;
									NIM_BOOL T1209_;
									NI T1211_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__131;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__132;
									NI T1216_;
									tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T1217_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1218_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1235_;
									T1208_ = (NIM_BOOL)0;
									T1209_ = (NIM_BOOL)0;
									T1209_ = isEmptyType__ast_u7234((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
									if (T1209_) goto LA1210_;
									T1211_ = (NI)0;
									T1211_ = len__ast_u3190(itX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
									T1209_ = isEmptyType__ast_u7234((*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1211_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
LA1210_: ;
									T1208_ = T1209_;
									if (T1208_) goto LA1212_;
									T1208_ = NIM_TRUE;
LA1212_: ;
									if (!T1208_) goto LA1213_;
									colontmpD__131 = NIM_NIL;
									colontmpD__132 = NIM_NIL;
									T1216_ = (NI)0;
									T1216_ = len__ast_u3190(branchX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1215_;
									T1217_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
									T1217_ = (&branchScopeX60gensym556__1);
									T1218_ = NIM_NIL;
									{
										NI T1221_;
										NIM_BOOL T1222_;
										NI T1226_;
										T1221_ = (NI)0;
										T1221_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1215_;
										T1222_ = (NIM_BOOL)0;
										T1222_ = isEmptyType__ast_u7234((*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1221_ - ((NI)1))]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1215_;
										if (!T1222_) goto LA1223_;
										T1226_ = (NI)0;
										T1226_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1225_;
										colontmpD__131 = p__injectdestructors_u159((*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1226_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1225_;
										T1218_ = colontmpD__131;
										{
											LA1225_:;
										}
										{
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1215_;
									}
									goto LA1219_;
LA1223_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__133;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1231_;
										NI T1232_;
										colontmpD__133 = NIM_NIL;
										nimZeroMem((void*)T1231_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1231_[0] = dest_1;
										T1232_ = (NI)0;
										T1232_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1230_;
										colontmpD__133 = p__injectdestructors_u159((*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1232_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1230_;
										T1231_[1] = colontmpD__133;
										colontmpD__132 = newTree__ast_u4170((*n_p0).kind, T1231_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1230_;
										T1218_ = colontmpD__132;
										{
											LA1230_:;
										}
										{
											oldNimErrFin1230_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__133);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1215_;
											*nimErr_ = oldNimErrFin1230_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1215_;
									}
LA1219_: ;
									T1235_ = NIM_NIL;
									T1235_ = processScope__injectdestructors_u1058(c_p1, T1217_, T1218_);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1235_); goto LA1215_;}
									eqsink___ast_u3261(&(*branchX60gensym556__2)._kind_6.sons.p->data[(NI)(T1216_ - ((NI)1))], T1235_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1215_;
									{
										LA1215_:;
									}
									{
										oldNimErrFin1215_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__132);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
										eqdestroy___ast_u3252(colontmpD__131);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
										*nimErr_ = oldNimErrFin1215_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								}
								goto LA1206_;
LA1213_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym702__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym702__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym702__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym702__1;
									NI T1240_;
									NI T1241_;
									NI T1242_;
									NI T1243_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1244_;
									NI T1274_;
									NI T1303_;
									resultX60gensym702__1 = NIM_NIL;
									tmpX60gensym702__1 = NIM_NIL;
									cpyX60gensym702__1 = NIM_NIL;
									finSectionX60gensym702__1 = NIM_NIL;
									T1240_ = (NI)0;
									T1240_ = len__ast_u3190(itX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									T1241_ = (NI)0;
									T1241_ = len__ast_u3190(itX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									resultX60gensym702__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1240_ - ((NI)1))]).info, (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1241_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									T1242_ = (NI)0;
									T1242_ = len__ast_u3190(itX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									T1243_ = (NI)0;
									T1243_ = len__ast_u3190(itX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									tmpX60gensym702__1 = getTemp__injectdestructors_u69(c_p1, branchScopeX60gensym556__1.parent, (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1242_ - ((NI)1))]).typField, (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1243_ - ((NI)1))]).info, NIM_TRUE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									(*(*tmpX60gensym702__1)._kind_4.sym).flags = IL64(70368744177664);
									T1244_ = NIM_NIL;
									{
										NIM_BOOL T1247_;
										NI T1248_;
										NI T1250_;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1253_;
										NI T1254_;
										T1247_ = (NIM_BOOL)0;
										T1248_ = (NI)0;
										T1248_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
										T1247_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1248_ - ((NI)1))]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
										if (!(T1247_)) goto LA1249_;
										T1250_ = (NI)0;
										T1250_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
										T1247_ = !(((*(*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1250_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1250_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1249_: ;
										if (!T1247_) goto LA1251_;
										T1253_ = NIM_NIL;
										T1253_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1253_); goto LA1239_;}
										add__ast_u3225((&(*branchScopeX60gensym556__1.parent).final), T1253_);
										T1254_ = (NI)0;
										T1254_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
										cpyX60gensym702__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym702__1, (*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1254_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__1), 1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									}
									goto LA1245_;
LA1251_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__134;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1257_;
										NI T1258_;
										colontmpD__134 = NIM_NIL;
										nimZeroMem((void*)T1257_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1257_[0] = tmpX60gensym702__1;
										T1258_ = (NI)0;
										T1258_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1256_;
										colontmpD__134 = p__injectdestructors_u159((*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1258_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1256_;
										T1257_[1] = colontmpD__134;
										cpyX60gensym702__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1257_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1256_;
										{
											LA1256_:;
										}
										{
											oldNimErrFin1256_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__134);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
											*nimErr_ = oldNimErrFin1256_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									}
LA1245_: ;
									{
										NI T1263_;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym702__1;
										NI T1266_;
										T1263_ = branchScopeX60gensym556__1.vars.len;
										if (!(((NI)0) < T1263_)) goto LA1264_;
										varSectionX60gensym702__1 = NIM_NIL;
										T1266_ = (NI)0;
										T1266_ = len__ast_u3190(itX60gensym556__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
										varSectionX60gensym702__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1266_ - ((NI)1))]).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
										{
											tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym702__2;
											NI i_41;
											NI L_16;
											NI T1268_;
											tmpX60gensym702__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
											i_41 = ((NI)0);
											T1268_ = branchScopeX60gensym556__1.vars.len;
											L_16 = T1268_;
											{
												while (1) {
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__135;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__136;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__137;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__138;
													tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1271_;
													NI T1272_;
													NI T1273_;
													if (!(i_41 < L_16)) goto LA1270;
													colontmpD__135 = NIM_NIL;
													colontmpD__136 = NIM_NIL;
													colontmpD__137 = NIM_NIL;
													colontmpD__138 = NIM_NIL;
													tmpX60gensym702__2 = &branchScopeX60gensym556__1.vars.p->data[i_41];
													nimZeroMem((void*)T1271_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
													colontmpD__135 = newSymNode__ast_u5168((*tmpX60gensym702__2));
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													T1271_[0] = colontmpD__135;
													T1272_ = (NI)0;
													T1272_ = len__ast_u3190(itX60gensym556__2);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													colontmpD__136 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1272_ - ((NI)1))]).info);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													T1271_[1] = colontmpD__136;
													T1273_ = (NI)0;
													T1273_ = len__ast_u3190(itX60gensym556__2);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													colontmpD__137 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1273_ - ((NI)1))]).info);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													T1271_[2] = colontmpD__137;
													colontmpD__138 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1271_, 3);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													add__ast_u3215(varSectionX60gensym702__1, colontmpD__138);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													i_41 += ((NI)1);
													eqdestroy___ast_u3252(colontmpD__138);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													eqdestroy___ast_u3252(colontmpD__137);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													eqdestroy___ast_u3252(colontmpD__136);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
													eqdestroy___ast_u3252(colontmpD__135);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
												} LA1270: ;
											}
										}
										add__ast_u3215(resultX60gensym702__1, varSectionX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
										eqdestroy___ast_u3252(varSectionX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									}
LA1264_: ;
									T1274_ = (NI)0;
									T1274_ = len__ast_u3190(itX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									finSectionX60gensym702__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym556__2)._kind_6.sons.p->data[(NI)(T1274_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym702__1;
										NI i_42;
										NI L_17;
										NI T1276_;
										mX60gensym702__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
										i_42 = ((NI)0);
										T1276_ = branchScopeX60gensym556__1.wasMoved.len;
										L_17 = T1276_;
										{
											while (1) {
												if (!(i_42 < L_17)) goto LA1278;
												mX60gensym702__1 = &branchScopeX60gensym556__1.wasMoved.p->data[i_42];
												add__ast_u3215(finSectionX60gensym702__1, (*mX60gensym702__1));
												if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
												i_42 += ((NI)1);
											} LA1278: ;
										}
									}
									{
										NI iX60gensym702__1;
										NI colontmp__29;
										NI T1280_;
										NI res_8;
										iX60gensym702__1 = (NI)0;
										colontmp__29 = (NI)0;
										T1280_ = (branchScopeX60gensym556__1.final.len-1);
										colontmp__29 = T1280_;
										res_8 = colontmp__29;
										{
											while (1) {
												if (!(((NI)0) <= res_8)) goto LA1282;
												iX60gensym702__1 = ((NI) (res_8));
												add__ast_u3215(finSectionX60gensym702__1, branchScopeX60gensym556__1.final.p->data[iX60gensym702__1]);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
												res_8 -= ((NI)1);
											} LA1282: ;
										}
									}
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__139;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__140;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__141;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__142;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1288_;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1289_;
										if (!branchScopeX60gensym556__1.needsTry) goto LA1285_;
										colontmpD__139 = NIM_NIL;
										colontmpD__140 = NIM_NIL;
										colontmpD__141 = NIM_NIL;
										colontmpD__142 = NIM_NIL;
										nimZeroMem((void*)T1288_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1288_[0] = cpyX60gensym702__1;
										nimZeroMem((void*)T1289_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1289_[0] = dest_1;
										colontmpD__139 = p__injectdestructors_u159(tmpX60gensym702__1, c_p1, branchScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1287_;
										T1289_[1] = colontmpD__139;
										colontmpD__140 = newTree__ast_u4170((*n_p0).kind, T1289_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1287_;
										T1288_[1] = colontmpD__140;
										colontmpD__141 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1288_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1287_;
										colontmpD__142 = newTryFinally__lowerings_u110(colontmpD__141, finSectionX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1287_;
										add__ast_u3215(resultX60gensym702__1, colontmpD__142);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1287_;
										{
											LA1287_:;
										}
										{
											oldNimErrFin1287_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__142);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
											eqdestroy___ast_u3252(colontmpD__141);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
											eqdestroy___ast_u3252(colontmpD__140);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
											eqdestroy___ast_u3252(colontmpD__139);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
											*nimErr_ = oldNimErrFin1287_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									}
									goto LA1283_;
LA1285_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__143;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__144;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1294_;
										colontmpD__143 = NIM_NIL;
										colontmpD__144 = NIM_NIL;
										add__ast_u3215(resultX60gensym702__1, cpyX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1293_;
										add__ast_u3215(resultX60gensym702__1, finSectionX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1293_;
										nimZeroMem((void*)T1294_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1294_[0] = dest_1;
										colontmpD__143 = p__injectdestructors_u159(tmpX60gensym702__1, c_p1, branchScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1293_;
										T1294_[1] = colontmpD__143;
										colontmpD__144 = newTree__ast_u4170((*n_p0).kind, T1294_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1293_;
										add__ast_u3215(resultX60gensym702__1, colontmpD__144);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1293_;
										{
											LA1293_:;
										}
										{
											oldNimErrFin1293_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__144);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
											eqdestroy___ast_u3252(colontmpD__143);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
											*nimErr_ = oldNimErrFin1293_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									}
LA1283_: ;
									{
										NIM_BOOL T1301_;
										if (!!((branchScopeX60gensym556__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1299_;
										T1301_ = (NIM_BOOL)0;
										T1301_ = (*branchScopeX60gensym556__1.parent).needsTry;
										if (T1301_) goto LA1302_;
										T1301_ = branchScopeX60gensym556__1.needsTry;
LA1302_: ;
										(*branchScopeX60gensym556__1.parent).needsTry = T1301_;
									}
LA1299_: ;
									T1303_ = (NI)0;
									T1303_ = len__ast_u3190(branchX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									eqsink___ast_u3261(&(*branchX60gensym556__2)._kind_6.sons.p->data[(NI)(T1303_ - ((NI)1))], resultX60gensym702__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									eqwasMoved___ast_u3249(&resultX60gensym702__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
									{
										LA1239_:;
									}
									{
										oldNimErrFin1239_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(finSectionX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
										eqdestroy___ast_u3252(cpyX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
										eqdestroy___ast_u3252(tmpX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
										eqdestroy___ast_u3252(resultX60gensym702__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
										*nimErr_ = oldNimErrFin1239_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								}
LA1206_: ;
								add__ast_u3215(result, branchX60gensym556__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1199_;
								i_40 += ((NI)1);
								{
									LA1199_:;
								}
								{
									oldNimErrFin1199_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__130);
									if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
									eqdestroy___injectdestructors_u127((&branchScopeX60gensym556__1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
									eqdestroy___ast_u3252(branchX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
									eqdestroy___ast_u3252(itX60gensym556__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
									*nimErr_ = oldNimErrFin1199_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
							} LA1198: ;
						}
					}
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
				{
					tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ tryScopeX60gensym556__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__145;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__146;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1310_;
					nimZeroMem((void*)(&tryScopeX60gensym556__1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
					colontmpD__145 = NIM_NIL;
					colontmpD__146 = NIM_NIL;
					result = copyNode__ast_u6736((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
					nestedScope__injectdestructors_u85(s_p2, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], (&tryScopeX60gensym556__1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
					T1310_ = NIM_NIL;
					{
						NIM_BOOL T1313_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__147;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__148;
						tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T1318_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1319_;
						T1313_ = (NIM_BOOL)0;
						T1313_ = isEmptyType__ast_u7234((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
						if (T1313_) goto LA1314_;
						T1313_ = NIM_TRUE;
LA1314_: ;
						if (!T1313_) goto LA1315_;
						colontmpD__147 = NIM_NIL;
						colontmpD__148 = NIM_NIL;
						T1318_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
						T1318_ = (&tryScopeX60gensym556__1);
						T1319_ = NIM_NIL;
						{
							NIM_BOOL T1322_;
							T1322_ = (NIM_BOOL)0;
							T1322_ = isEmptyType__ast_u7234((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1317_;
							if (!T1322_) goto LA1323_;
							colontmpD__147 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1325_;
							T1319_ = colontmpD__147;
							{
								LA1325_:;
							}
							{
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1317_;
						}
						goto LA1320_;
LA1323_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__149;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T1330_;
							colontmpD__149 = NIM_NIL;
							nimZeroMem((void*)T1330_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							T1330_[0] = dest_1;
							colontmpD__149 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1329_;
							T1330_[1] = colontmpD__149;
							colontmpD__148 = newTree__ast_u4170((*n_p0).kind, T1330_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1329_;
							T1319_ = colontmpD__148;
							{
								LA1329_:;
							}
							{
								oldNimErrFin1329_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__149);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1317_;
								*nimErr_ = oldNimErrFin1329_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1317_;
						}
LA1320_: ;
						colontmpD__145 = processScope__injectdestructors_u1058(c_p1, T1318_, T1319_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1317_;
						T1310_ = colontmpD__145;
						{
							LA1317_:;
						}
						{
							oldNimErrFin1317_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__148);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
							eqdestroy___ast_u3252(colontmpD__147);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
							*nimErr_ = oldNimErrFin1317_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
					}
					goto LA1311_;
LA1315_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym734__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym734__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym734__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym734__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1337_;
						resultX60gensym734__1 = NIM_NIL;
						tmpX60gensym734__1 = NIM_NIL;
						cpyX60gensym734__1 = NIM_NIL;
						finSectionX60gensym734__1 = NIM_NIL;
						resultX60gensym734__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).info, (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						tmpX60gensym734__1 = getTemp__injectdestructors_u69(c_p1, tryScopeX60gensym556__1.parent, (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField, (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).info, NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						(*(*tmpX60gensym734__1)._kind_4.sym).flags = IL64(70368744177664);
						T1337_ = NIM_NIL;
						{
							NIM_BOOL T1340_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1344_;
							T1340_ = (NIM_BOOL)0;
							T1340_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
							if (!(T1340_)) goto LA1341_;
							T1340_ = !(((*(*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1341_: ;
							if (!T1340_) goto LA1342_;
							T1344_ = NIM_NIL;
							T1344_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1344_); goto LA1336_;}
							add__ast_u3225((&(*tryScopeX60gensym556__1.parent).final), T1344_);
							cpyX60gensym734__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym734__1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym556__1), 1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						}
						goto LA1338_;
LA1342_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__150;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T1347_;
							colontmpD__150 = NIM_NIL;
							nimZeroMem((void*)T1347_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							T1347_[0] = tmpX60gensym734__1;
							colontmpD__150 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, (&tryScopeX60gensym556__1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1346_;
							T1347_[1] = colontmpD__150;
							cpyX60gensym734__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1347_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1346_;
							{
								LA1346_:;
							}
							{
								oldNimErrFin1346_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__150);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
								*nimErr_ = oldNimErrFin1346_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						}
LA1338_: ;
						{
							NI T1352_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym734__1;
							T1352_ = tryScopeX60gensym556__1.vars.len;
							if (!(((NI)0) < T1352_)) goto LA1353_;
							varSectionX60gensym734__1 = NIM_NIL;
							varSectionX60gensym734__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
							{
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym734__2;
								NI i_43;
								NI L_18;
								NI T1356_;
								tmpX60gensym734__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
								i_43 = ((NI)0);
								T1356_ = tryScopeX60gensym556__1.vars.len;
								L_18 = T1356_;
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__151;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__152;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__153;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__154;
										tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1359_;
										if (!(i_43 < L_18)) goto LA1358;
										colontmpD__151 = NIM_NIL;
										colontmpD__152 = NIM_NIL;
										colontmpD__153 = NIM_NIL;
										colontmpD__154 = NIM_NIL;
										tmpX60gensym734__2 = &tryScopeX60gensym556__1.vars.p->data[i_43];
										nimZeroMem((void*)T1359_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
										colontmpD__151 = newSymNode__ast_u5168((*tmpX60gensym734__2));
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										T1359_[0] = colontmpD__151;
										colontmpD__152 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										T1359_[1] = colontmpD__152;
										colontmpD__153 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										T1359_[2] = colontmpD__153;
										colontmpD__154 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1359_, 3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										add__ast_u3215(varSectionX60gensym734__1, colontmpD__154);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										i_43 += ((NI)1);
										eqdestroy___ast_u3252(colontmpD__154);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										eqdestroy___ast_u3252(colontmpD__153);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										eqdestroy___ast_u3252(colontmpD__152);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
										eqdestroy___ast_u3252(colontmpD__151);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
									} LA1358: ;
								}
							}
							add__ast_u3215(resultX60gensym734__1, varSectionX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
							eqdestroy___ast_u3252(varSectionX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						}
LA1353_: ;
						finSectionX60gensym734__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym734__1;
							NI i_44;
							NI L_19;
							NI T1361_;
							mX60gensym734__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
							i_44 = ((NI)0);
							T1361_ = tryScopeX60gensym556__1.wasMoved.len;
							L_19 = T1361_;
							{
								while (1) {
									if (!(i_44 < L_19)) goto LA1363;
									mX60gensym734__1 = &tryScopeX60gensym556__1.wasMoved.p->data[i_44];
									add__ast_u3215(finSectionX60gensym734__1, (*mX60gensym734__1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
									i_44 += ((NI)1);
								} LA1363: ;
							}
						}
						{
							NI iX60gensym734__1;
							NI colontmp__30;
							NI T1365_;
							NI res_9;
							iX60gensym734__1 = (NI)0;
							colontmp__30 = (NI)0;
							T1365_ = (tryScopeX60gensym556__1.final.len-1);
							colontmp__30 = T1365_;
							res_9 = colontmp__30;
							{
								while (1) {
									if (!(((NI)0) <= res_9)) goto LA1367;
									iX60gensym734__1 = ((NI) (res_9));
									add__ast_u3215(finSectionX60gensym734__1, tryScopeX60gensym556__1.final.p->data[iX60gensym734__1]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
									res_9 -= ((NI)1);
								} LA1367: ;
							}
						}
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__155;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__156;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__157;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__158;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T1373_;
							if (!tryScopeX60gensym556__1.needsTry) goto LA1370_;
							colontmpD__155 = NIM_NIL;
							colontmpD__156 = NIM_NIL;
							colontmpD__157 = NIM_NIL;
							colontmpD__158 = NIM_NIL;
							nimZeroMem((void*)T1373_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							T1373_[0] = cpyX60gensym734__1;
							{
								NIM_BOOL T1376_;
								T1376_ = (NIM_BOOL)0;
								T1376_ = isEmptyType__ast_u7234((*tmpX60gensym734__1).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1372_;
								if (!T1376_) goto LA1377_;
								colontmpD__155 = p__injectdestructors_u159(tmpX60gensym734__1, c_p1, tryScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1379_;
								T1373_[1] = colontmpD__155;
								{
									LA1379_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1372_;
							}
							goto LA1374_;
LA1377_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__159;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T1384_;
								colontmpD__159 = NIM_NIL;
								nimZeroMem((void*)T1384_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T1384_[0] = dest_1;
								colontmpD__159 = p__injectdestructors_u159(tmpX60gensym734__1, c_p1, tryScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1383_;
								T1384_[1] = colontmpD__159;
								colontmpD__156 = newTree__ast_u4170((*n_p0).kind, T1384_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1383_;
								T1373_[1] = colontmpD__156;
								{
									LA1383_:;
								}
								{
									oldNimErrFin1383_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__159);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1372_;
									*nimErr_ = oldNimErrFin1383_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1372_;
							}
LA1374_: ;
							colontmpD__157 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1373_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1372_;
							colontmpD__158 = newTryFinally__lowerings_u110(colontmpD__157, finSectionX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1372_;
							add__ast_u3215(resultX60gensym734__1, colontmpD__158);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1372_;
							{
								LA1372_:;
							}
							{
								oldNimErrFin1372_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__158);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
								eqdestroy___ast_u3252(colontmpD__157);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
								eqdestroy___ast_u3252(colontmpD__156);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
								eqdestroy___ast_u3252(colontmpD__155);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
								*nimErr_ = oldNimErrFin1372_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						}
						goto LA1368_;
LA1370_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__160;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__161;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1391_;
							colontmpD__160 = NIM_NIL;
							colontmpD__161 = NIM_NIL;
							add__ast_u3215(resultX60gensym734__1, cpyX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1390_;
							add__ast_u3215(resultX60gensym734__1, finSectionX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1390_;
							T1391_ = NIM_NIL;
							{
								NIM_BOOL T1394_;
								T1394_ = (NIM_BOOL)0;
								T1394_ = isEmptyType__ast_u7234((*tmpX60gensym734__1).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1390_;
								if (!T1394_) goto LA1395_;
								colontmpD__160 = p__injectdestructors_u159(tmpX60gensym734__1, c_p1, tryScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1397_;
								T1391_ = colontmpD__160;
								{
									LA1397_:;
								}
								{
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1390_;
							}
							goto LA1392_;
LA1395_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__162;
								tyArray__al2p7ldDMvbBVYNFCuu4Rw T1402_;
								colontmpD__162 = NIM_NIL;
								nimZeroMem((void*)T1402_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
								T1402_[0] = dest_1;
								colontmpD__162 = p__injectdestructors_u159(tmpX60gensym734__1, c_p1, tryScopeX60gensym556__1.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1401_;
								T1402_[1] = colontmpD__162;
								colontmpD__161 = newTree__ast_u4170((*n_p0).kind, T1402_, 2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1401_;
								T1391_ = colontmpD__161;
								{
									LA1401_:;
								}
								{
									oldNimErrFin1401_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__162);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1390_;
									*nimErr_ = oldNimErrFin1401_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1390_;
							}
LA1392_: ;
							add__ast_u3215(resultX60gensym734__1, T1391_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1390_;
							{
								LA1390_:;
							}
							{
								oldNimErrFin1390_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__161);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
								eqdestroy___ast_u3252(colontmpD__160);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
								*nimErr_ = oldNimErrFin1390_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						}
LA1368_: ;
						{
							NIM_BOOL T1411_;
							if (!!((tryScopeX60gensym556__1.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1409_;
							T1411_ = (NIM_BOOL)0;
							T1411_ = (*tryScopeX60gensym556__1.parent).needsTry;
							if (T1411_) goto LA1412_;
							T1411_ = tryScopeX60gensym556__1.needsTry;
LA1412_: ;
							(*tryScopeX60gensym556__1.parent).needsTry = T1411_;
						}
LA1409_: ;
						colontmpD__146 = resultX60gensym734__1;
						eqwasMoved___ast_u3249(&resultX60gensym734__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1336_;
						T1310_ = colontmpD__146;
						{
							LA1336_:;
						}
						{
							oldNimErrFin1336_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(finSectionX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
							eqdestroy___ast_u3252(cpyX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
							eqdestroy___ast_u3252(tmpX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
							eqdestroy___ast_u3252(resultX60gensym734__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
							*nimErr_ = oldNimErrFin1336_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
					}
LA1311_: ;
					add__ast_u3215(result, T1310_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
					{
						NI iX60gensym556__5;
						NI colontmp__31;
						NI i_45;
						iX60gensym556__5 = (NI)0;
						colontmp__31 = (NI)0;
						colontmp__31 = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
						i_45 = ((NI)1);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* itX60gensym556__3;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym556__3;
								tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ branchScopeX60gensym556__2;
								NI T1419_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1420_;
								if (!(i_45 < colontmp__31)) goto LA1417;
								itX60gensym556__3 = NIM_NIL;
								branchX60gensym556__3 = NIM_NIL;
								nimZeroMem((void*)(&branchScopeX60gensym556__2), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
								iX60gensym556__5 = i_45;
								eqcopy___ast_u3255(&itX60gensym556__3, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[iX60gensym556__5]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
								branchX60gensym556__3 = copyTree__ast_u6891(itX60gensym556__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
								T1419_ = (NI)0;
								T1419_ = len__ast_u3190(itX60gensym556__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
								nestedScope__injectdestructors_u85(s_p2, (*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1419_ - ((NI)1))], (&branchScopeX60gensym556__2));
								if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
								T1420_ = NIM_NIL;
								{
									NIM_BOOL T1423_;
									NIM_BOOL T1424_;
									NI T1425_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__163;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__164;
									NI T1431_;
									tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ* T1432_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1433_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1460_;
									T1423_ = (NIM_BOOL)0;
									T1424_ = (NIM_BOOL)0;
									T1425_ = (NI)0;
									T1425_ = len__ast_u3190(itX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
									T1424_ = isEmptyType__ast_u7234((*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1425_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
									if (T1424_) goto LA1426_;
									T1424_ = NIM_TRUE;
LA1426_: ;
									T1423_ = T1424_;
									if (T1423_) goto LA1427_;
									T1423_ = ((*itX60gensym556__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107));
LA1427_: ;
									if (!T1423_) goto LA1428_;
									colontmpD__163 = NIM_NIL;
									colontmpD__164 = NIM_NIL;
									T1431_ = (NI)0;
									T1431_ = len__ast_u3190(branchX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1430_;
									T1432_ = (tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*)0;
									T1432_ = (&branchScopeX60gensym556__2);
									T1433_ = NIM_NIL;
									{
										NI T1439_;
										if (!((*itX60gensym556__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA1436_;
										T1439_ = (NI)0;
										T1439_ = len__ast_u3190(itX60gensym556__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1438_;
										colontmpD__163 = p__injectdestructors_u159((*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1439_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1438_;
										T1433_ = colontmpD__163;
										{
											LA1438_:;
										}
										{
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1430_;
									}
									goto LA1434_;
LA1436_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1444_;
										T1444_ = NIM_NIL;
										{
											NI T1447_;
											NIM_BOOL T1448_;
											NI T1451_;
											T1447_ = (NI)0;
											T1447_ = len__ast_u3190(itX60gensym556__3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1443_;
											T1448_ = (NIM_BOOL)0;
											T1448_ = isEmptyType__ast_u7234((*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1447_ - ((NI)1))]).typField);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1443_;
											if (!T1448_) goto LA1449_;
											T1451_ = (NI)0;
											T1451_ = len__ast_u3190(itX60gensym556__3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1443_;
											colontmpD__164 = p__injectdestructors_u159((*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1451_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1443_;
										}
										goto LA1445_;
LA1449_: ;
										{
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__165;
											tyArray__al2p7ldDMvbBVYNFCuu4Rw T1454_;
											NI T1455_;
											colontmpD__165 = NIM_NIL;
											nimZeroMem((void*)T1454_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
											T1454_[0] = dest_1;
											T1455_ = (NI)0;
											T1455_ = len__ast_u3190(itX60gensym556__3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1453_;
											colontmpD__165 = p__injectdestructors_u159((*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1455_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1453_;
											T1454_[1] = colontmpD__165;
											colontmpD__164 = newTree__ast_u4170((*n_p0).kind, T1454_, 2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1453_;
											{
												LA1453_:;
											}
											{
												oldNimErrFin1453_ = *nimErr_; *nimErr_ = NIM_FALSE;
												eqdestroy___ast_u3252(colontmpD__165);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1443_;
												*nimErr_ = oldNimErrFin1453_;
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA1443_;
										}
LA1445_: ;
										T1433_ = colontmpD__164;
										{
											LA1443_:;
										}
										{
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1430_;
									}
LA1434_: ;
									T1460_ = NIM_NIL;
									T1460_ = processScope__injectdestructors_u1058(c_p1, T1432_, T1433_);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1460_); goto LA1430_;}
									eqsink___ast_u3261(&(*branchX60gensym556__3)._kind_6.sons.p->data[(NI)(T1431_ - ((NI)1))], T1460_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1430_;
									{
										LA1430_:;
									}
									{
										oldNimErrFin1430_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__164);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
										eqdestroy___ast_u3252(colontmpD__163);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
										*nimErr_ = oldNimErrFin1430_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
								}
								goto LA1421_;
LA1428_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resultX60gensym780__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym780__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cpyX60gensym780__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* finSectionX60gensym780__1;
									NI T1465_;
									NI T1466_;
									NI T1467_;
									NI T1468_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1469_;
									NI T1499_;
									NI T1528_;
									resultX60gensym780__1 = NIM_NIL;
									tmpX60gensym780__1 = NIM_NIL;
									cpyX60gensym780__1 = NIM_NIL;
									finSectionX60gensym780__1 = NIM_NIL;
									T1465_ = (NI)0;
									T1465_ = len__ast_u3190(itX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									T1466_ = (NI)0;
									T1466_ = len__ast_u3190(itX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									resultX60gensym780__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1465_ - ((NI)1))]).info, (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1466_ - ((NI)1))]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									T1467_ = (NI)0;
									T1467_ = len__ast_u3190(itX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									T1468_ = (NI)0;
									T1468_ = len__ast_u3190(itX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									tmpX60gensym780__1 = getTemp__injectdestructors_u69(c_p1, branchScopeX60gensym556__2.parent, (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1467_ - ((NI)1))]).typField, (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1468_ - ((NI)1))]).info, NIM_TRUE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									(*(*tmpX60gensym780__1)._kind_4.sym).flags = IL64(70368744177664);
									T1469_ = NIM_NIL;
									{
										NIM_BOOL T1472_;
										NI T1473_;
										NI T1475_;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1478_;
										NI T1479_;
										T1472_ = (NIM_BOOL)0;
										T1473_ = (NI)0;
										T1473_ = len__ast_u3190(itX60gensym556__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
										T1472_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1473_ - ((NI)1))]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
										if (!(T1472_)) goto LA1474_;
										T1475_ = (NI)0;
										T1475_ = len__ast_u3190(itX60gensym556__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
										T1472_ = !(((*(*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1475_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1475_ - ((NI)1))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA1474_: ;
										if (!T1472_) goto LA1476_;
										T1478_ = NIM_NIL;
										T1478_ = genDestroy__injectdestructors_u603(c_p1, tmpX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1478_); goto LA1464_;}
										add__ast_u3225((&(*branchScopeX60gensym556__2.parent).final), T1478_);
										T1479_ = (NI)0;
										T1479_ = len__ast_u3190(itX60gensym556__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
										cpyX60gensym780__1 = moveOrCopy__injectdestructors_u173(tmpX60gensym780__1, (*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1479_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__2), 1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									}
									goto LA1470_;
LA1476_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__166;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1482_;
										NI T1483_;
										colontmpD__166 = NIM_NIL;
										nimZeroMem((void*)T1482_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1482_[0] = tmpX60gensym780__1;
										T1483_ = (NI)0;
										T1483_ = len__ast_u3190(itX60gensym556__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1481_;
										colontmpD__166 = p__injectdestructors_u159((*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1483_ - ((NI)1))], c_p1, (&branchScopeX60gensym556__2), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1481_;
										T1482_[1] = colontmpD__166;
										cpyX60gensym780__1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), T1482_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1481_;
										{
											LA1481_:;
										}
										{
											oldNimErrFin1481_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__166);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
											*nimErr_ = oldNimErrFin1481_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									}
LA1470_: ;
									{
										NI T1488_;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* varSectionX60gensym780__1;
										NI T1491_;
										T1488_ = branchScopeX60gensym556__2.vars.len;
										if (!(((NI)0) < T1488_)) goto LA1489_;
										varSectionX60gensym780__1 = NIM_NIL;
										T1491_ = (NI)0;
										T1491_ = len__ast_u3190(itX60gensym556__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
										varSectionX60gensym780__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1491_ - ((NI)1))]).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
										{
											tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** tmpX60gensym780__2;
											NI i_46;
											NI L_20;
											NI T1493_;
											tmpX60gensym780__2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
											i_46 = ((NI)0);
											T1493_ = branchScopeX60gensym556__2.vars.len;
											L_20 = T1493_;
											{
												while (1) {
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__167;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__168;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__169;
													tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__170;
													tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T1496_;
													NI T1497_;
													NI T1498_;
													if (!(i_46 < L_20)) goto LA1495;
													colontmpD__167 = NIM_NIL;
													colontmpD__168 = NIM_NIL;
													colontmpD__169 = NIM_NIL;
													colontmpD__170 = NIM_NIL;
													tmpX60gensym780__2 = &branchScopeX60gensym556__2.vars.p->data[i_46];
													nimZeroMem((void*)T1496_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
													colontmpD__167 = newSymNode__ast_u5168((*tmpX60gensym780__2));
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													T1496_[0] = colontmpD__167;
													T1497_ = (NI)0;
													T1497_ = len__ast_u3190(itX60gensym556__3);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													colontmpD__168 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1497_ - ((NI)1))]).info);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													T1496_[1] = colontmpD__168;
													T1498_ = (NI)0;
													T1498_ = len__ast_u3190(itX60gensym556__3);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													colontmpD__169 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1498_ - ((NI)1))]).info);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													T1496_[2] = colontmpD__169;
													colontmpD__170 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T1496_, 3);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													add__ast_u3215(varSectionX60gensym780__1, colontmpD__170);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													i_46 += ((NI)1);
													eqdestroy___ast_u3252(colontmpD__170);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													eqdestroy___ast_u3252(colontmpD__169);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													eqdestroy___ast_u3252(colontmpD__168);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
													eqdestroy___ast_u3252(colontmpD__167);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
												} LA1495: ;
											}
										}
										add__ast_u3215(resultX60gensym780__1, varSectionX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
										eqdestroy___ast_u3252(varSectionX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									}
LA1489_: ;
									T1499_ = (NI)0;
									T1499_ = len__ast_u3190(itX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									finSectionX60gensym780__1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*(*itX60gensym556__3)._kind_6.sons.p->data[(NI)(T1499_ - ((NI)1))]).info);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** mX60gensym780__1;
										NI i_47;
										NI L_21;
										NI T1501_;
										mX60gensym780__1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
										i_47 = ((NI)0);
										T1501_ = branchScopeX60gensym556__2.wasMoved.len;
										L_21 = T1501_;
										{
											while (1) {
												if (!(i_47 < L_21)) goto LA1503;
												mX60gensym780__1 = &branchScopeX60gensym556__2.wasMoved.p->data[i_47];
												add__ast_u3215(finSectionX60gensym780__1, (*mX60gensym780__1));
												if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
												i_47 += ((NI)1);
											} LA1503: ;
										}
									}
									{
										NI iX60gensym780__1;
										NI colontmp__32;
										NI T1505_;
										NI res_10;
										iX60gensym780__1 = (NI)0;
										colontmp__32 = (NI)0;
										T1505_ = (branchScopeX60gensym556__2.final.len-1);
										colontmp__32 = T1505_;
										res_10 = colontmp__32;
										{
											while (1) {
												if (!(((NI)0) <= res_10)) goto LA1507;
												iX60gensym780__1 = ((NI) (res_10));
												add__ast_u3215(finSectionX60gensym780__1, branchScopeX60gensym556__2.final.p->data[iX60gensym780__1]);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
												res_10 -= ((NI)1);
											} LA1507: ;
										}
									}
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__171;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__172;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__173;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__174;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1513_;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1514_;
										if (!branchScopeX60gensym556__2.needsTry) goto LA1510_;
										colontmpD__171 = NIM_NIL;
										colontmpD__172 = NIM_NIL;
										colontmpD__173 = NIM_NIL;
										colontmpD__174 = NIM_NIL;
										nimZeroMem((void*)T1513_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1513_[0] = cpyX60gensym780__1;
										nimZeroMem((void*)T1514_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1514_[0] = dest_1;
										colontmpD__171 = p__injectdestructors_u159(tmpX60gensym780__1, c_p1, branchScopeX60gensym556__2.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1512_;
										T1514_[1] = colontmpD__171;
										colontmpD__172 = newTree__ast_u4170((*n_p0).kind, T1514_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1512_;
										T1513_[1] = colontmpD__172;
										colontmpD__173 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), T1513_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1512_;
										colontmpD__174 = newTryFinally__lowerings_u110(colontmpD__173, finSectionX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1512_;
										add__ast_u3215(resultX60gensym780__1, colontmpD__174);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1512_;
										{
											LA1512_:;
										}
										{
											oldNimErrFin1512_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__174);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
											eqdestroy___ast_u3252(colontmpD__173);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
											eqdestroy___ast_u3252(colontmpD__172);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
											eqdestroy___ast_u3252(colontmpD__171);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
											*nimErr_ = oldNimErrFin1512_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									}
									goto LA1508_;
LA1510_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__175;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__176;
										tyArray__al2p7ldDMvbBVYNFCuu4Rw T1519_;
										colontmpD__175 = NIM_NIL;
										colontmpD__176 = NIM_NIL;
										add__ast_u3215(resultX60gensym780__1, cpyX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1518_;
										add__ast_u3215(resultX60gensym780__1, finSectionX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1518_;
										nimZeroMem((void*)T1519_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
										T1519_[0] = dest_1;
										colontmpD__175 = p__injectdestructors_u159(tmpX60gensym780__1, c_p1, branchScopeX60gensym556__2.parent, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1518_;
										T1519_[1] = colontmpD__175;
										colontmpD__176 = newTree__ast_u4170((*n_p0).kind, T1519_, 2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1518_;
										add__ast_u3215(resultX60gensym780__1, colontmpD__176);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1518_;
										{
											LA1518_:;
										}
										{
											oldNimErrFin1518_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__176);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
											eqdestroy___ast_u3252(colontmpD__175);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
											*nimErr_ = oldNimErrFin1518_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									}
LA1508_: ;
									{
										NIM_BOOL T1526_;
										if (!!((branchScopeX60gensym556__2.parent == ((tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ*) NIM_NIL)))) goto LA1524_;
										T1526_ = (NIM_BOOL)0;
										T1526_ = (*branchScopeX60gensym556__2.parent).needsTry;
										if (T1526_) goto LA1527_;
										T1526_ = branchScopeX60gensym556__2.needsTry;
LA1527_: ;
										(*branchScopeX60gensym556__2.parent).needsTry = T1526_;
									}
LA1524_: ;
									T1528_ = (NI)0;
									T1528_ = len__ast_u3190(branchX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									eqsink___ast_u3261(&(*branchX60gensym556__3)._kind_6.sons.p->data[(NI)(T1528_ - ((NI)1))], resultX60gensym780__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									eqwasMoved___ast_u3249(&resultX60gensym780__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1464_;
									{
										LA1464_:;
									}
									{
										oldNimErrFin1464_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(finSectionX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
										eqdestroy___ast_u3252(cpyX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
										eqdestroy___ast_u3252(tmpX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
										eqdestroy___ast_u3252(resultX60gensym780__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
										*nimErr_ = oldNimErrFin1464_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
								}
LA1421_: ;
								add__ast_u3215(result, branchX60gensym556__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1418_;
								i_45 += ((NI)1);
								{
									LA1418_:;
								}
								{
									oldNimErrFin1418_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___injectdestructors_u127((&branchScopeX60gensym556__2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
									eqdestroy___ast_u3252(branchX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
									eqdestroy___ast_u3252(itX60gensym556__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
									*nimErr_ = oldNimErrFin1418_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1309_;
							} LA1417: ;
						}
					}
					{
						LA1309_:;
					}
					{
						oldNimErrFin1309_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__146);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___ast_u3252(colontmpD__145);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						eqdestroy___injectdestructors_u127((&tryScopeX60gensym556__1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin1309_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__177;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T1537_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1538_;
					colontmpD__177 = NIM_NIL;
					result = copyTree__ast_u6891((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1536_;
					nimZeroMem((void*)T1537_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T1537_[0] = dest_1;
					colontmpD__177 = p__injectdestructors_u159((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1536_;
					T1537_[1] = colontmpD__177;
					T1538_ = NIM_NIL;
					T1538_ = newTree__ast_u4170((*n_p0).kind, T1537_, 2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1538_); goto LA1536_;}
					eqsink___ast_u3261(&(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T1538_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1536_;
					{
						LA1536_:;
					}
					{
						oldNimErrFin1536_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__177);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin1536_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaListX60gensym556__1;
					NI inUncheckedAssignSectionX60gensym556__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1560_;
					pragmaListX60gensym556__1 = NIM_NIL;
					inUncheckedAssignSectionX60gensym556__1 = ((NI)0);
					eqcopy___ast_u3255(&pragmaListX60gensym556__1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* piX60gensym556__1;
						piX60gensym556__1 = NIM_NIL;
						{
							NI i_48;
							NI colontmp__33;
							NI i_49;
							i_48 = (NI)0;
							colontmp__33 = (NI)0;
							colontmp__33 = safeLen__ast_u3197(pragmaListX60gensym556__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
							i_49 = ((NI)0);
							{
								while (1) {
									if (!(i_49 < colontmp__33)) goto LA1546;
									i_48 = i_49;
									eqcopy___ast_u3255(&piX60gensym556__1, (*pragmaListX60gensym556__1)._kind_6.sons.p->data[i_48]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
									{
										tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T1549_;
										tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T1552_;
										T1549_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
										T1549_ = whichPragma__trees_u218(piX60gensym556__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
										if (!(T1549_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9))) goto LA1550_;
										T1552_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
										T1552_ = whichPragma__trees_u218((*piX60gensym556__1)._kind_6.sons.p->data[((NI)1)]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
										switch (T1552_) {
										case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)87):
										{
											inUncheckedAssignSectionX60gensym556__1 = ((NI)1);
										}
										break;
										default:
										{
										}
										break;
										}
									}
LA1550_: ;
									i_49 += ((NI)1);
								} LA1546: ;
							}
						}
						eqdestroy___ast_u3252(piX60gensym556__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
					}
					result = shallowCopy__ast_u6876((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
					(*c_p1).inUncheckedAssignSection += inUncheckedAssignSectionX60gensym556__1;
					{
						NI iX60gensym556__6;
						NI colontmp__34;
						NI T1556_;
						NI i_50;
						iX60gensym556__6 = (NI)0;
						colontmp__34 = (NI)0;
						T1556_ = (NI)0;
						T1556_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
						colontmp__34 = (NI)(T1556_ - ((NI)1));
						i_50 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1559_;
								if (!(i_50 < colontmp__34)) goto LA1558;
								iX60gensym556__6 = i_50;
								T1559_ = NIM_NIL;
								T1559_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[iX60gensym556__6], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1559_); goto LA1542_;}
								eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[iX60gensym556__6], T1559_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
								i_50 += ((NI)1);
							} LA1558: ;
						}
					}
					T1560_ = NIM_NIL;
					{
						NI T1563_;
						NIM_BOOL T1564_;
						NI T1567_;
						NI T1568_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1569_;
						T1563_ = (NI)0;
						T1563_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
						T1564_ = (NIM_BOOL)0;
						T1564_ = isEmptyType__ast_u7234((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(T1563_ - ((NI)1))]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
						if (!T1564_) goto LA1565_;
						T1567_ = (NI)0;
						T1567_ = len__ast_u3190(result);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
						T1568_ = (NI)0;
						T1568_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
						T1569_ = NIM_NIL;
						T1569_ = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(T1568_ - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1569_); goto LA1542_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T1567_ - ((NI)1))], T1569_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
					}
					goto LA1561_;
LA1565_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__178;
						NI T1572_;
						tyArray__al2p7ldDMvbBVYNFCuu4Rw T1573_;
						NI T1574_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1575_;
						colontmpD__178 = NIM_NIL;
						T1572_ = (NI)0;
						T1572_ = len__ast_u3190(result);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1571_;
						nimZeroMem((void*)T1573_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
						T1573_[0] = dest_1;
						T1574_ = (NI)0;
						T1574_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1571_;
						colontmpD__178 = p__injectdestructors_u159((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(T1574_ - ((NI)1))], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1571_;
						T1573_[1] = colontmpD__178;
						T1575_ = NIM_NIL;
						T1575_ = newTree__ast_u4170((*n_p0).kind, T1573_, 2);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1575_); goto LA1571_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[(NI)(T1572_ - ((NI)1))], T1575_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1571_;
						{
							LA1571_:;
						}
						{
							oldNimErrFin1571_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__178);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
							*nimErr_ = oldNimErrFin1571_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1542_;
					}
LA1561_: ;
					(*c_p1).inUncheckedAssignSection -= inUncheckedAssignSectionX60gensym556__1;
					{
						LA1542_:;
					}
					{
						oldNimErrFin1542_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(pragmaListX60gensym556__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
						*nimErr_ = oldNimErrFin1542_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA960_;
				}
				break;
				default:
				{
					result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
				}
				break;
				}
				{
					LA960_:;
				}
				{
					oldNimErrFin960_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(dest_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin960_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA931_;
LA958_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__179;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__180;
				colontmpD__179 = NIM_NIL;
				colontmpD__180 = NIM_NIL;
				result = copyNode__ast_u6736(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1584_;
				colontmpD__179 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1584_;
				add__ast_u3215(result, colontmpD__179);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1584_;
				colontmpD__180 = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)1), IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1584_;
				add__ast_u3215(result, colontmpD__180);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1584_;
				{
					LA1584_:;
				}
				{
					oldNimErrFin1584_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__180);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(colontmpD__179);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin1584_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA931_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108):
		{
			result = pRaiseStmt__injectdestructors_u1142(n_p0, c_p1, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
		{
			internalErrorImpl__msgs_u1578((*(*c_p1).graph).config, (*n_p0).info, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_92, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_93);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)158):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
		{
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)71):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)72):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)68):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)69):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)70):
		{
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_51;
				NI colontmp__35;
				NI i_52;
				i_51 = (NI)0;
				colontmp__35 = (NI)0;
				colontmp__35 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_52 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1594_;
						if (!(i_52 < colontmp__35)) goto LA1593;
						i_51 = i_52;
						T1594_ = NIM_NIL;
						T1594_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_51], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1594_); goto BeforeRet_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_51], T1594_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_52 += ((NI)1);
					} LA1593: ;
				}
			}
			{
				NIM_BOOL T1597_;
				T1597_ = (NIM_BOOL)0;
				T1597_ = !(((*n_p0).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T1597_)) goto LA1598_;
				T1597_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*n_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA1598_: ;
				if (!T1597_) goto LA1599_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1605_;
					if (!(mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0))) goto LA1603_;
					T1605_ = NIM_NIL;
					T1605_ = ensureDestruction__injectdestructors_u938(result, n_p0, c_p1, s_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1605_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T1605_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA1603_: ;
			}
LA1599_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__181;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__182;
			colontmpD__181 = NIM_NIL;
			colontmpD__182 = NIM_NIL;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1607_;
			{
				NIM_BOOL T1610_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* nTyp_2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1615_;
				T1610_ = (NIM_BOOL)0;
				colontmpD__181 = skipTypes__ast_u5379((*n_p0).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_77);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1607_;
				T1610_ = !(((*colontmpD__181).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45)));
				if (!(T1610_)) goto LA1611_;
				colontmpD__182 = skipTypes__ast_u5379((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_77);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1607_;
				T1610_ = ((*colontmpD__182).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
LA1611_: ;
				if (!T1610_) goto LA1612_;
				nTyp_2 = NIM_NIL;
				eqcopy___ast_u3381(&nTyp_2, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1614_;
				eqcopy___ast_u3381(&(*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField, (*n_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1614_;
				T1615_ = NIM_NIL;
				T1615_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1615_); goto LA1614_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T1615_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1614_;
				eqsink___ast_u3387(&(*(*result)._kind_6.sons.p->data[((NI)1)]).typField, nTyp_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1614_;
				eqwasMoved___ast_u3375(&nTyp_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1614_;
				{
					LA1614_:;
				}
				{
					oldNimErrFin1614_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(nTyp_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1607_;
					*nimErr_ = oldNimErrFin1614_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1607_;
			}
			goto LA1608_;
LA1612_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1619_;
				T1619_ = NIM_NIL;
				T1619_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1619_); goto LA1607_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T1619_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1607_;
			}
LA1608_: ;
			{
				LA1607_:;
			}
			{
				oldNimErrFin1607_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__182);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD__181);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin1607_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1623_;
			result = copyTree__ast_u6891(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T1623_ = NIM_NIL;
			T1623_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1623_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T1623_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1625_;
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T1625_ = NIM_NIL;
			T1625_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1625_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T1625_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_53;
				NI colontmp__36;
				NI i_54;
				i_53 = (NI)0;
				colontmp__36 = (NI)0;
				colontmp__36 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_54 = ((NI)1);
				{
					while (1) {
						if (!(i_54 < colontmp__36)) goto LA1628;
						i_53 = i_54;
						eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[i_53], (*n_p0)._kind_6.sons.p->data[i_53]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_54 += ((NI)1);
					} LA1628: ;
				}
			}
			{
				NIM_BOOL T1631_;
				T1631_ = (NIM_BOOL)0;
				T1631_ = (mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2));
				if (!(T1631_)) goto LA1632_;
				T1631_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*n_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA1632_: ;
				if (!T1631_) goto LA1633_;
				{
					NIM_BOOL T1637_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1641_;
					T1637_ = (NIM_BOOL)0;
					T1637_ = isAnalysableFieldAccess__aliasanalysis_u8(n_p0, (*c_p1).owner);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T1637_)) goto LA1638_;
					T1637_ = isLastRead__injectdestructors_u433(n_p0, c_p1, s_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA1638_: ;
					if (!T1637_) goto LA1639_;
					T1641_ = NIM_NIL;
					T1641_ = genWasMoved__injectdestructors_u796(c_p1, n_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1641_); goto BeforeRet_;}
					add__ast_u3225((&(*s_p2).wasMoved), T1641_);
				}
				goto LA1635_;
LA1639_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1643_;
					T1643_ = NIM_NIL;
					T1643_ = passCopyToSink__injectdestructors_u849(result, c_p1, s_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1643_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T1643_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA1635_: ;
			}
LA1633_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
		{
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_55;
				NI colontmp__37;
				NI i_56;
				i_55 = (NI)0;
				colontmp__37 = (NI)0;
				colontmp__37 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_56 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1648_;
						if (!(i_56 < colontmp__37)) goto LA1647;
						i_55 = i_56;
						T1648_ = NIM_NIL;
						T1648_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_55], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1648_); goto BeforeRet_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_55], T1648_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_56 += ((NI)1);
					} LA1647: ;
				}
			}
			{
				NIM_BOOL T1651_;
				T1651_ = (NIM_BOOL)0;
				T1651_ = (mode_p3 == ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)2));
				if (!(T1651_)) goto LA1652_;
				T1651_ = hasDestructor__injectdestructors_u57((&(*c_p1)), (*n_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA1652_: ;
				if (!T1651_) goto LA1653_;
				{
					NIM_BOOL T1657_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1661_;
					T1657_ = (NIM_BOOL)0;
					T1657_ = isAnalysableFieldAccess__aliasanalysis_u8(n_p0, (*c_p1).owner);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T1657_)) goto LA1658_;
					T1657_ = isLastRead__injectdestructors_u433(n_p0, c_p1, s_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA1658_: ;
					if (!T1657_) goto LA1659_;
					T1661_ = NIM_NIL;
					T1661_ = genWasMoved__injectdestructors_u796(c_p1, n_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1661_); goto BeforeRet_;}
					add__ast_u3225((&(*s_p2).wasMoved), T1661_);
				}
				goto LA1655_;
LA1659_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1663_;
					T1663_ = NIM_NIL;
					T1663_ = passCopyToSink__injectdestructors_u849(result, c_p1, s_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1663_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T1663_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA1655_: ;
			}
LA1653_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)105):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44):
		{
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_57;
				NI colontmp__38;
				NI i_58;
				i_57 = (NI)0;
				colontmp__38 = (NI)0;
				colontmp__38 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_58 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1668_;
						if (!(i_58 < colontmp__38)) goto LA1667;
						i_57 = i_58;
						T1668_ = NIM_NIL;
						T1668_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_57], c_p1, s_p2, ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1668_); goto BeforeRet_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_57], T1668_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_58 += ((NI)1);
					} LA1667: ;
				}
			}
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110):
		{
			(*s_p2).needsTry = NIM_TRUE;
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109):
		{
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_59;
				NI colontmp__39;
				NI i_60;
				i_59 = (NI)0;
				colontmp__39 = (NI)0;
				colontmp__39 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_60 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1674_;
						if (!(i_60 < colontmp__39)) goto LA1673;
						i_59 = i_60;
						T1674_ = NIM_NIL;
						T1674_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[i_59], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1674_); goto BeforeRet_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_59], T1674_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_60 += ((NI)1);
					} LA1673: ;
				}
			}
			(*s_p2).needsTry = NIM_TRUE;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1676_;
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)0)], (*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T1676_ = NIM_NIL;
			T1676_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)1)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1676_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T1676_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1678_;
			result = shallowCopy__ast_u6876(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T1678_ = NIM_NIL;
			T1678_ = p__injectdestructors_u159((*n_p0)._kind_6.sons.p->data[((NI)0)], c_p1, s_p2, mode_p3, IL64(70368744177664), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1678_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T1678_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_61;
				NI colontmp__40;
				NI i_62;
				i_61 = (NI)0;
				colontmp__40 = (NI)0;
				colontmp__40 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_62 = ((NI)1);
				{
					while (1) {
						if (!(i_62 < colontmp__40)) goto LA1681;
						i_61 = i_62;
						eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[i_61], (*n_p0)._kind_6.sons.p->data[i_61]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_62 += ((NI)1);
					} LA1681: ;
				}
			}
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)156):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)157):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)89):
		{
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			NimStringV2 colontmpD__183;
			NimStringV2 colontmpD__184;
			NimStringV2 T1685_;
			colontmpD__183.len = 0; colontmpD__183.p = NIM_NIL;
			colontmpD__184.len = 0; colontmpD__184.p = NIM_NIL;
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			T1685_.len = 0; T1685_.p = NIM_NIL;
			colontmpD__183 = dollar___nodekinds_u168((*n_p0).kind);
			T1685_ = rawNewString(colontmpD__183.len + 40);
appendString((&T1685_), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_95);
appendString((&T1685_), colontmpD__183);
			colontmpD__184 = T1685_;
			internalErrorImpl__msgs_u1578((*(*c_p1).graph).config, (*n_p0).info, colontmpD__184, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_96);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1684_;
			{
				LA1684_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__184);
				eqdestroy___system_u2691(colontmpD__183);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, injectDestructorCalls__injectdestructors_u3431)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_Con__kIEtpimm10X8hzM4RzpcKg c_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* colontmpD__2;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__5;
	tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ scope_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&c_1), sizeof(tyObject_Con__kIEtpimm10X8hzM4RzpcKg));
	nimZeroMem((void*)(&scope_1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
	body_1 = NIM_NIL;
	colontmpD__7 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = (((*owner_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)39)))&63U)))!=0);
		if (T4_) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*owner_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T6_)) goto LA7_;
		T6_ = isInlineIterator__ast_u7400((*owner_p2).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA7_: ;
		T4_ = T6_;
LA5_: ;
		if (!T4_) goto LA8_;
		eqcopy___ast_u3255(&result, n_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___injectdestructors_u127((&scope_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___injectdestructors_u3470((&c_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA8_: ;
	nimZeroMem((void*)(&c_1), sizeof(tyObject_Con__kIEtpimm10X8hzM4RzpcKg));
	colontmpD_ = eqdup___ast_u4580(owner_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.owner = colontmpD_;
	colontmpD__2 = eqdup___modulegraphs_u14759(g_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.graph = colontmpD__2;
	colontmpD__3 = eqdup___ast_u3106(idgen_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.idgen = colontmpD__3;
	colontmpD__4 = eqdup___ast_u3258(n_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.body = colontmpD__4;
	colontmpD__5 = eqdup___lineinfos_u2056(unknownLineInfo__lineinfos_u383);
	c_1.otherUsage = colontmpD__5;
	{
		if (!(((*(*g_p0).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)26)))&31U)))!=0)) goto LA12_;
		computeCursors__varpartitions_u2627(owner_p2, n_p3, g_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA12_: ;
	nimZeroMem((void*)(&scope_1), sizeof(tyObject_Scope__bejbAJjXbK3ddnsIYWzBGQ));
	colontmpD__6 = eqdup___ast_u3258(n_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	scope_1.body = colontmpD__6;
	body_1 = p__injectdestructors_u159(n_p3, (&c_1), (&scope_1), ((tyEnum_ProcessMode__ku9bwJAXhMuCZyvbSoyK9b3Q)0), IL64(70368744177664), NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
		if (!((*owner_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*owner_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*owner_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*owner_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*owner_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16))) goto LA16_;
		params_1 = NIM_NIL;
		eqcopy___ast_u3255(&params_1, (*(*owner_p2).typ).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(params_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
					if (!(i_2 < colontmp_)) goto LA21;
					t_1 = NIM_NIL;
					colontmpD__8 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u3381(&t_1, (*(*(*params_1)._kind_6.sons.p->data[i_1])._kind_4.sym).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					{
						NIM_BOOL T25_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T29_;
						T25_ = (NIM_BOOL)0;
						T25_ = isSinkTypeForParam__types_u4187(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						if (!(T25_)) goto LA26_;
						colontmpD__8 = skipTypes__ast_u5379(t_1, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_97);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						T25_ = hasDestructor__injectdestructors_u57((&c_1), colontmpD__8);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
LA26_: ;
						if (!T25_) goto LA27_;
						T29_ = NIM_NIL;
						T29_ = genDestroy__injectdestructors_u603((&c_1), (*params_1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T29_); goto LA22_;}
						add__ast_u3225((&scope_1.final), T29_);
					}
LA27_: ;
					i_2 += ((NI)1);
					{
						LA22_:;
					}
					{
						oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD__8);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						eqdestroy___ast_u3378(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						*nimErr_ = oldNimErrFin22_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				} LA21: ;
			}
		}
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(params_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA16_: ;
	colontmpD__7 = processScope__injectdestructors_u1058((&c_1), (&scope_1), body_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = optimize__optimizer_u405(colontmpD__7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T36_;
		NimStringV2 colontmpD__9;
		tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T40_;
		tyArray__YgExxhfgKcesA5EOUj1MOA T41_;
		T36_ = (NIM_BOOL)0;
		T36_ = nsthasKey((*(*g_p0).config).arcToExpand, (*(*owner_p2).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T36_) goto LA37_;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		T40_[0] = TM__dJ4qrEWDmqGA8FWJ0TYKJQ_99;
		T40_[1] = (*(*owner_p2).name).s;
		echoBinSafe(T40_, 2);
		colontmpD__9 = renderTree__renderer_u59(result, 516);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		T41_[0] = colontmpD__9;
		echoBinSafe(T41_, 1);
		echoBinSafe(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_100, 1);
		{
			LA39_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__9);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA37_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___injectdestructors_u127((&scope_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___injectdestructors_u3470((&c_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
