/* 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_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
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_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
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__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_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 tySequence__ZCZaCk14bTmSb6LMW9aWPVA tySequence__ZCZaCk14bTmSb6LMW9aWPVA;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content tySequence__ZCZaCk14bTmSb6LMW9aWPVA_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_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 tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ;
typedef struct tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ;
typedef struct tySequence__mnb4N9bRCddoL53waHA7kHQ tySequence__mnb4N9bRCddoL53waHA7kHQ;
typedef struct tySequence__mnb4N9bRCddoL53waHA7kHQ_Content tySequence__mnb4N9bRCddoL53waHA7kHQ_Content;
typedef struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw tySequence__hRbbzIynOoxrYjHTIKZ3Gw;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q;
typedef struct tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg;
typedef struct tySequence__R1mQMFmsdp1ChoJDXa9a0xQ tySequence__R1mQMFmsdp1ChoJDXa9a0xQ;
typedef struct tySequence__R1mQMFmsdp1ChoJDXa9a0xQ_Content tySequence__R1mQMFmsdp1ChoJDXa9a0xQ_Content;
typedef struct tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw;
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__bxYrf1dnwYK6GanDNddhgQ tyTuple__bxYrf1dnwYK6GanDNddhgQ;
typedef struct tyTuple__Oubp8LPEu86EPyDuc56AXg tyTuple__Oubp8LPEu86EPyDuc56AXg;
typedef struct tyTuple__rczUtx07rG4YmHOEmcEUJw tyTuple__rczUtx07rG4YmHOEmcEUJw;
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;
typedef NU8 tySet_tyEnum_TransformFlag__CzUOfRCXpoYcP43GAlt9cnA;
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
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 NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
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__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 tySequence__ZCZaCk14bTmSb6LMW9aWPVA {
  NI len; tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content* p;
};
struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg {
	NI counter;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA data;
};
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 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_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_TransformFlag__CzUOfRCXpoYcP43GAlt9cnA;
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;
};
struct tySequence__mnb4N9bRCddoL53waHA7kHQ {
  NI len; tySequence__mnb4N9bRCddoL53waHA7kHQ_Content* p;
};
struct tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ {
	tySequence__mnb4N9bRCddoL53waHA7kHQ data;
	NI counter;
};
struct tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA processed;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA capturedVars;
	tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ ownerToType;
	NIM_BOOL somethingToDo;
	NIM_BOOL inTypeOf;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
};
typedef NI tyArray__EcyNQlLBiPAaRkJH9aQCXwA[1];
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;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU tyArray__yYbpDJlxVAahcZb4EP3s9cA[16];
struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* next;
	NI key;
	tyArray__yYbpDJlxVAahcZb4EP3s9cA bits;
};
typedef NU8 tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw;
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef NU8 tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q;
struct tySequence__R1mQMFmsdp1ChoJDXa9a0xQ {
  NI len; tySequence__R1mQMFmsdp1ChoJDXa9a0xQ_Content* p;
};
struct tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg {
	tySequence__R1mQMFmsdp1ChoJDXa9a0xQ data;
	NI counter;
};
struct tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA processed;
	tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg envVars;
	NI inContainer;
	tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg unownedEnvVars;
};
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__al2p7ldDMvbBVYNFCuu4Rw[2];
typedef NU8 tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TSymKind__fzoDhZbHLwFaqo7QLPWQkQ;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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 tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content { NI cap; tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* 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]; };
typedef NU8 tyArray__dnD8kjh6rJ1Yy5jHvid0Ow[16];
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__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tyTuple__bxYrf1dnwYK6GanDNddhgQ {
	NI Field0;
	NI Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__mnb4N9bRCddoL53waHA7kHQ_Content { NI cap; tyTuple__bxYrf1dnwYK6GanDNddhgQ 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 tyTuple__rczUtx07rG4YmHOEmcEUJw {
	NI Field0;
	NI Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__R1mQMFmsdp1ChoJDXa9a0xQ_Content { NI cap; tyTuple__rczUtx07rG4YmHOEmcEUJw 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]; };
typedef NU8 tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q;
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]; };
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, skipGenericOwner__ast_u7111)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
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);
N_LIB_PRIVATE N_NIMCALL(void, initDetectionPass__lambdalifting_u303)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* Result);
static N_INLINE(void, toIntSet__pureZcollectionsZintsets_u15)(NI* x_p0, NI x_p0Len_0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, toPackedSet__pureZcollectionsZintsets_u27)(NI* x_p0, NI x_p0Len_0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_u37)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ, initTable__lambdalifting_u339)(NI initialSize_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u482)(tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ dest_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(void, addClosureParam__lambdalifting_u2176)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getEnvParam__lambdalifting_u88)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
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);
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(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getEnvTypeForOwner__lambdalifting_u602)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getOrDefault__lambdalifting_u689)(tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ t_p0, NI key_p1);
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*, 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, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createEnvObj__lambdalifting_u43)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createObj__lowerings_u174)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, NIM_BOOL final_p4);
N_LIB_PRIVATE N_NIMCALL(void, rawAddField__lowerings_u195)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, createStateField__lambdalifting_u36)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
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(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createClosureIterStateType__lambdalifting_u26)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_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(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNode__ast_u5200)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NI64 intVal_p1);
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_TType__8qAQZfpTDk89aeclTNn4d9cg*, nilOrSysInt__magicsys_u9)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0);
N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_u6706)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1, NIM_BOOL propagateHasAsgn_p2);
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);
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, X5BX5Deq___lambdalifting_u1075)(tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ* t_p0, NI key_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* val_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, eqdup___ast_u3384)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p0);
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, eqwasMoved___ast_u3375)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, addHiddenParam__lambdalifting_u70)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5168)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEnvTypeForRoutine__lambdalifting_u2150)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* envTyp_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(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);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u546)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3074)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3128)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u13532)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u500)(tySequence__mnb4N9bRCddoL53waHA7kHQ 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, detectCapturedVars__lambdalifting_u2297)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInnerProc__lambdalifting_u144)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astyaml_u223)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, transformBody__transf_u26)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tySet_tyEnum_TransformFlag__CzUOfRCXpoYcP43GAlt9cnA flags_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterEnvHasUpField__lambdalifting_u2278)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_p1);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u79)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupInRecord__astalgo_u30)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* field_p1);
static N_INLINE(NIM_BOOL, interestingVar__lambdalifting_u118)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, markAsClosure__lambdalifting_u275)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
static N_INLINE(NIM_BOOL, illegalCapture__lambdalifting_u133)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw, classifyViewType__typeallowed_u552)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
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, dollar___msgs_u714)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
static N_INLINE(NIM_BOOL, isClosure__ast_u7441)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
static N_INLINE(NIM_BOOL, isNimcall__ast_u7452)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
static N_INLINE(NIM_BOOL, isExplicitCallConv__ast_u7459)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_u26)(tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ e_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_u2846)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_u366)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, addField__lowerings_u259)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u4571)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, createUpField__lambdalifting_u2110)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dep_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_u959)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getEnvTypeForOwnerUp__lambdalifting_u2104)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCallExpr__ast_u3180)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeOf__lambdalifting_u2139)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, initLiftingPass__lambdalifting_u2525)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p0, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg, initTable__lambdalifting_u2559)(NI initialSize_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u2702)(tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, liftCapturedVars__lambdalifting_u5187)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getOrDefault__lambdalifting_u2932)(tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
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*, rawClosureCreation__lambdalifting_u4501)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p1, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getHiddenParam__lambdalifting_u111)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p1);
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, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, setupEnvVar__lambdalifting_u2836)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p1, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newEnvVar__lambdalifting_u2828)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, asOwnedRef__lambdalifting_u2082)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___lambdalifting_u3396)(tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg* t_p0, NI key_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3258)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_u34)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___lambdalifting_u4602)(tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genCreateEnv__lambdalifting_u217)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* env_p0);
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*, copyTree__ast_u6891)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newAsgnStmt__lowerings_u43)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newAsgnStmt__lambdalifting_u159)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
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(void, createTypeBoundOpsLL__lambdalifting_u195)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* refType_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p4);
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__liftdestructors_u50)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* orig_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p4);
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);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, indirectAccess__lowerings_u408)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getUpViaParam__lambdalifting_u4483)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, rawIndirectAccess__lowerings_u205)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, finishClosureCreation__lambdalifting_u4863)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p1, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___lambdalifting_u4950)(tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, symToClosure__lambdalifting_u5192)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeClosure__lambdalifting_u164)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* env_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4);
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*, skipConv__types_u3715)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, closureCreationForIter__lambdalifting_u5042)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* iter_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, addUniqueField__lowerings_u285)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getUpForIter__lambdalifting_u5025)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iterOwner_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedUpTyp_p3);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, accessViaEnvParam__lambdalifting_u2799)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getFieldFromObj__lowerings_u381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, accessViaEnvVar__lambdalifting_u5084)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u2766)(tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u2720)(tySequence__R1mQMFmsdp1ChoJDXa9a0xQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntTypeNode__ast_u5387)(NI64 intVal_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1);
N_LIB_PRIVATE N_NIMCALL(void, transitionToLet__ast_u6869)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, transitionRoutineSymKind__ast_u6846)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyEnum_TSymKind__fzoDhZbHLwFaqo7QLPWQkQ kind_p1);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_u7099)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
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, propagateClosure__lambdalifting_u5483)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* start_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* last_p1);
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_2 = { 5 | NIM_STRLIT_FLAG, ":envP" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_3 = {5, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_2};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_4 = { 6 | NIM_STRLIT_FLAG, ":state" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_5 = {6, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_4};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_6 = {5, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_2};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__PI7oJkFuxeeTWjPTjlNxqg_7 = {
0x00, 0x00, 0x60, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_8 = { 45 | NIM_STRLIT_FLAG, "internal error: inconsistent environment type" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_9 = {45, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_8};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_11 = { 68 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/lambdalifting.nim" };
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_12 = { 68 | NIM_STRLIT_FLAG, "lambdalifting.nim(438, 11) `cp != nil` Env param not present in iter" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_13 = {68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_12};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_14 = { 3 | NIM_STRLIT_FLAG, ":up" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_15 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_16 = { 4 | NIM_STRLIT_FLAG, ":env" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_17 = {4, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_16};
static const struct {
  NI cap; NIM_CHAR data[198+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_18 = { 198 | NIM_STRLIT_FLAG, "\'$1\' is of type <$2> which cannot be captured as it would violate memory safety, declared here: $3; using \'-d:nimNoLentIterators\' helps in some cases. Consider using a <ref T> which can be captured." };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_19 = {198, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_18};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__PI7oJkFuxeeTWjPTjlNxqg_20 = {
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[66+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_22 = { 66 | NIM_STRLIT_FLAG, "illegal capture \'$1\' because \'$2\' has the calling convention: <$3>" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_23 = {66, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_22};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_25 = { 15 | NIM_STRLIT_FLAG, "nimCycleBreaker" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_26 = {15, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_25};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_27 = { 45 | NIM_STRLIT_FLAG, "internal error: invalid up reference computed" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_28 = {45, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_27};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_30 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_31 = { 42 | NIM_STRLIT_FLAG, "internal error: up references do not agree" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_32 = {42, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_31};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_34 = { 45 | NIM_STRLIT_FLAG, "internal error: could not find env param for " };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_35 = {45, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_34};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_37 = { 48 | NIM_STRLIT_FLAG, "internal error: could not determine closure type" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_38 = {48, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_37};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_40 = {4, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_16};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_41 = { 7 | NIM_STRLIT_FLAG, ":envAlt" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_42 = {7, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_41};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_43 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_44 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_45 = { 44 | NIM_STRLIT_FLAG, "could not find up reference for closure iter" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_46 = {44, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_45};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_48 = { 42 | NIM_STRLIT_FLAG, "internal error: cannot create up reference" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_49 = {42, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_48};
static const struct {
  NI cap; NIM_CHAR data[41+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_51 = { 41 | NIM_STRLIT_FLAG, "internal error: taking closure of closure" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_52 = {41, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_51};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_54 = {4, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_16};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_55 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_56 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const struct {
  NI cap; NIM_CHAR data[51+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_57 = { 51 | NIM_STRLIT_FLAG, "internal error: cannot create up reference for iter" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_58 = {51, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_57};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_60 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_61 = { 36 | NIM_STRLIT_FLAG, "internal error: no environment found" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_62 = {36, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_61};
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_64 = {3, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_14};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_65 = { 36 | NIM_STRLIT_FLAG, "internal error: environment misses: " };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_66 = {36, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_65};
static const struct {
  NI cap; NIM_CHAR data[47+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_68 = { 47 | NIM_STRLIT_FLAG, "internal error: not part of closure object type" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_69 = {47, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_68};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__PI7oJkFuxeeTWjPTjlNxqg_71 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_72 = { 24 | NIM_STRLIT_FLAG, "ignored invalid for loop" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_73 = {24, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_72};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_75 = { 12 | NIM_STRLIT_FLAG, ":closureTemp" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_76 = {12, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_75};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__PI7oJkFuxeeTWjPTjlNxqg_77 = { 7 | NIM_STRLIT_FLAG, ":result" };
static const NimStringV2 TM__PI7oJkFuxeeTWjPTjlNxqg_78 = {7, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_77};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_10 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)433),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_21 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)285),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_24 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)291),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_29 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)363),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_33 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)369),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_36 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)192),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_39 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)581),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_47 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)596),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_50 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)651),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_53 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)226),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_59 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)705),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_63 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)751),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_67 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)557),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_70 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)718),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PI7oJkFuxeeTWjPTjlNxqg_74 = {{68, (NimStrPayload*)&TM__PI7oJkFuxeeTWjPTjlNxqg_11},
((NI)958),
((NI)14)}
;
extern NIM_BOOL nimInErrorMode__system_u4144;
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*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4144);
	return result;
}
static N_INLINE(void, toIntSet__pureZcollectionsZintsets_u15)(NI* x_p0, NI x_p0Len_0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	toPackedSet__pureZcollectionsZintsets_u27(x_p0, x_p0Len_0, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initDetectionPass__lambdalifting_u303)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* Result) {
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* colontmpD_;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* colontmpD__2;
	tyArray__EcyNQlLBiPAaRkJH9aQCXwA T1_;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym47__1;
	tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ));
	nimZeroMem((void*)Result, sizeof(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ));
	xX60gensym47__1 = (*fn_p1).itemId;
	T1_[0] = (NI)((NI)((NU32)(((NI) (xX60gensym47__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym47__1.item)));
	toIntSet__pureZcollectionsZintsets_u15(T1_, 1, (&(*Result).processed));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	initIntSet__pureZcollectionsZintsets_u598((&(*Result).capturedVars));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_Table__GUbI9btx7o12c3PxZ9cboQZQ));
	T2_ = initTable__lambdalifting_u339(((NI)32));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___lambdalifting_u482(T2_); goto BeforeRet_;}
	(*Result).ownerToType = T2_;
	colontmpD_ = eqdup___modulegraphs_u14759(g_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).graph = colontmpD_;
	colontmpD__2 = eqdup___ast_u3106(idgen_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).idgen = colontmpD__2;
	}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;
}
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;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getEnvParam__lambdalifting_u88)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* hidden_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	params_1 = NIM_NIL;
	hidden_1 = NIM_NIL;
	{
		if (!((*routine_p0).ast == 0)) goto LA4_;
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		eqdestroy___ast_u3252(hidden_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(params_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&params_1, (*(*routine_p0).ast)._kind_6.sons.p->data[((NI)3)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hidden_1 = lastSon__ast_u5208(params_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*hidden_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T9_)) goto LA10_;
		T9_ = ((*(*hidden_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA10_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA11_;
		T8_ = eqStrings((*(*(*hidden_1)._kind_4.sym).name).s, TM__PI7oJkFuxeeTWjPTjlNxqg_3);
LA11_: ;
		if (!T8_) goto LA12_;
		eqcopy___ast_u4577(&result, (*hidden_1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA12_: ;
	{
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(hidden_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(params_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createClosureIterStateType__lambdalifting_u26)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* intType_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	n_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	intType_1 = NIM_NIL;
	n_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44), (*iter_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(-1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(n_1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD__2 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(n_1, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20), idgen_p2, iter_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqsink___ast_u3261(&(*result).n, n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	intType_1 = nilOrSysInt__magicsys_u9(g_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T5_;
		if (!(intType_1 == 0)) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31), idgen_p2, iter_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T5_); goto BeforeRet_;}
		eqsink___ast_u3387(&intType_1, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	rawAddSon__ast_u6706(result, intType_1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(intType_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_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, createStateField__lambdalifting_u36)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T1_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_5);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = 0;
	result = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19), colontmpD_, idgen_p2, iter_p1, (*iter_p1).info, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = NIM_NIL;
	T2_ = createClosureIterStateType__lambdalifting_u26(g_p0, iter_p1, idgen_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T2_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*result).typ, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___idents_u155(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createEnvObj__lambdalifting_u43)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = createObj__lowerings_u174(g_p0, idgen_p1, owner_p2, info_p3, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2))) & 63);
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*owner_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*owner_p2).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA4_: ;
		if (!T3_) goto LA5_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = createStateField__lambdalifting_u36(g_p0, owner_p2, idgen_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddField__lowerings_u195(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getEnvTypeForOwner__lambdalifting_u602)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym51__1;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	xX60gensym51__1 = (*owner_p1).itemId;
	result = getOrDefault__lambdalifting_u689((*c_p0).ownerToType, (NI)((NI)((NU32)(((NI) (xX60gensym51__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym51__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* env_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym58__1;
		if (!(result == 0)) goto LA3_;
		env_1 = NIM_NIL;
		env_1 = getEnvParam__lambdalifting_u88(owner_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NIM_BOOL T8_;
			NIM_BOOL T10_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = (env_1 == 0);
			if (T8_) goto LA9_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*owner_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
			if (!(T10_)) goto LA11_;
			T10_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA11_: ;
			T8_ = !(T10_);
LA9_: ;
			if (!T8_) goto LA12_;
			obj_1 = NIM_NIL;
			T15_ = NIM_NIL;
			T15_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22), (*c_p0).idgen, owner_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T15_); goto LA14_;}
			eqsink___ast_u3387(&result, T15_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			obj_1 = createEnvObj__lambdalifting_u43((*c_p0).graph, (*c_p0).idgen, owner_p1, info_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			rawAddSon__ast_u6706(result, obj_1, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(obj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		goto LA6_;
LA12_: ;
		{
			eqcopy___ast_u3381(&result, (*env_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA6_: ;
		xX60gensym58__1 = (*owner_p1).itemId;
		colontmpD_ = eqdup___ast_u3384(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		X5BX5Deq___lambdalifting_u1075((&(*c_p0).ownerToType), (NI)((NI)((NU32)(((NI) (xX60gensym58__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym58__1.item))), colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(env_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
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;
}
N_LIB_PRIVATE N_NIMCALL(void, addHiddenParam__lambdalifting_u70)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	params_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	eqcopy___ast_u3255(&params_1, (*(*routine_p0).ast)._kind_6.sons.p->data[((NI)3)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NI)0;
	T1_ = len__ast_u3190((*(*routine_p0).typ).n);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*param_p1).position = (NI)(T1_ - ((NI)1));
	colontmpD_ = newSymNode__ast_u5168(param_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(params_1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(params_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* 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(NIM_BOOL, isEnvTypeForRoutine__lambdalifting_u2150)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* envTyp_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p1) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NIM_BOOL T1_;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym82__1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym84__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	obj_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	obj_1 = skipTypes__ast_u5379(envTyp_p0, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
	if (!(T1_)) goto LA2_;
	colontmpD_ = owner__ast_u6246(obj_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	xX60gensym82__1 = (*colontmpD_).itemId;
	xX60gensym84__1 = (*routine_p1).itemId;
	T1_ = ((NI)((NI)((NU32)(((NI) (xX60gensym82__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym82__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym84__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym84__1.item))));
LA2_: ;
	result = T1_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(obj_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addClosureParam__lambdalifting_u2176)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* cp_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	cp_1 = NIM_NIL;
	owner_1 = NIM_NIL;
	t_1 = NIM_NIL;
	cp_1 = getEnvParam__lambdalifting_u88(fn_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	{
		if (!((*fn_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15))) goto LA5_;
		eqcopy___ast_u4577(&owner_1, fn_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA5_: ;
	{
		owner_1 = skipGenericOwner__ast_u7111(fn_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	t_1 = getEnvTypeForOwner__lambdalifting_u602(c_p0, owner_1, info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T12_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T13_;
		if (!(cp_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA10_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = getIdent__idents_u206((*(*c_p0).graph).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_ = 0;
		T13_ = NIM_NIL;
		T13_ = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3), colontmpD_, (*c_p0).idgen, fn_p1, (*fn_p1).info, T12_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T13_); goto LA1_;}
		eqsink___ast_u4583(&cp_1, T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*cp_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2))) & 63);
		eqsink___ast_u3387(&(*cp_1).typ, t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		addHiddenParam__lambdalifting_u70(fn_p1, cp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA8_;
LA10_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = !(((*cp_1).typ == t_1));
		if (!(T15_)) goto LA16_;
		T15_ = !(((*fn_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15)));
LA16_: ;
		if (!T15_) goto LA17_;
		{
			NIM_BOOL T21_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym88__1;
			T21_ = (NIM_BOOL)0;
			T21_ = isEnvTypeForRoutine__lambdalifting_u2150((*cp_1).typ, owner_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T21_)) goto LA22_;
			T21_ = isEnvTypeForRoutine__lambdalifting_u2150(t_1, owner_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA22_: ;
			if (!T21_) goto LA23_;
			xX60gensym88__1 = (*owner_1).itemId;
			colontmpD__2 = eqdup___ast_u3384((*cp_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			X5BX5Deq___lambdalifting_u1075((&(*c_p0).ownerToType), (NI)((NI)((NU32)(((NI) (xX60gensym88__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym88__1.item))), colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA19_;
LA23_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*fn_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_10, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA19_: ;
	}
	goto LA8_;
LA17_: ;
LA8_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(owner_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(cp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
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, 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;
}
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_u3128(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u546)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLast((*dest_p0).idgen);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3074((&(*(*dest_p0).idgen)));
		nimRawDispose((*dest_p0).idgen, ((NI)4));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).graph);
		if (!T8_) goto LA9_;
		eqdestroy___modulegraphs_u13532((&(*(*dest_p0).graph)));
		nimRawDispose((*dest_p0).graph, ((NI)8));
	}
LA9_: ;
	eqdestroy___lambdalifting_u500((*dest_p0).ownerToType.data);
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).capturedVars.data);
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).capturedVars.head);
		if (!T13_) goto LA14_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).capturedVars.head)));
		nimRawDispose((*dest_p0).capturedVars.head, ((NI)4));
	}
LA14_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).processed.data);
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).processed.head);
		if (!T18_) goto LA19_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).processed.head)));
		nimRawDispose((*dest_p0).processed.head, ((NI)4));
	}
LA19_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInnerProc__lambdalifting_u144)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T3_)) goto LA4_;
		T3_ = ((*s_p0).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA4_: ;
		if (!T3_) goto LA5_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = skipGenericOwner__ast_u7111(s_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = ((*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterEnvHasUpField__lambdalifting_u2278)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_p1) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* cp_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	cp_1 = NIM_NIL;
	upField_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	cp_1 = getEnvParam__lambdalifting_u88(iter_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(!((cp_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))))) goto LA3_;
		failedAssertImpl__stdZassertions_u79(TM__PI7oJkFuxeeTWjPTjlNxqg_13);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	colontmpD_ = skipTypes__ast_u5379((*cp_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD__2 = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_15);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	upField_1 = lookupInRecord__astalgo_u30((*colontmpD_).n, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = !((upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	eqdestroy___idents_u155(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(upField_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(cp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, interestingVar__lambdalifting_u118)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
	if (!(T2_)) goto LA3_;
	T2_ = !((((*s_p0).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = !(((*(*s_p0).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*(*s_p0).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA4_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, illegalCapture__lambdalifting_u133)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0;
	T2_ = classifyViewType__typeallowed_u552((*s_p0).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = !((T2_ == ((tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0)));
	if (T1_) goto LA3_;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
LA3_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isClosure__ast_u7441)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
	if (!(T1_)) goto LA2_;
	T1_ = ((*typ_p0).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isNimcall__ast_u7452)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	result = ((*(*s_p0).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)0));
	return result;
}
static N_INLINE(NIM_BOOL, isExplicitCallConv__ast_u7459)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	result = (((*(*s_p0).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42)))&63U)))!=0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, markAsClosure__lambdalifting_u275)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	NIM_BOOL isEnv_1;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	eqcopy___ast_u4577(&s_1, (*n_p2)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_17);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	isEnv_1 = ((*(*s_1).name).id == (*colontmpD_).id);
	{
		NIM_BOOL T4_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = illegalCapture__lambdalifting_u133(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		colontmpD__2 = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		T8_[0] = (*(*s_1).name).s;
		colontmpD__2 = skipTypes__ast_u5379((*s_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_20);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD__3 = typeToString__types_u54(colontmpD__2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_[1] = colontmpD__3;
		colontmpD__4 = dollar___msgs_u714((*g_p0).config, (*s_1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_[2] = colontmpD__4;
		colontmpD__5 = nsuFormatOpenArray(TM__PI7oJkFuxeeTWjPTjlNxqg_19, T8_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		liMessage__msgs_u1227((*g_p0).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_21, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA5_: ;
	{
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		NIM_BOOL T15_;
		NIM_BOOL T17_;
		NimStringV2 colontmpD__6;
		NimStringV2 colontmpD__7;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T22_;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T13_ = isClosure__ast_u7441((*owner_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T13_) goto LA14_;
		T15_ = (NIM_BOOL)0;
		T15_ = isNimcall__ast_u7452(owner_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T15_)) goto LA16_;
		T17_ = (NIM_BOOL)0;
		T17_ = isExplicitCallConv__ast_u7459(owner_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T15_ = !(T17_);
LA16_: ;
		T13_ = T15_;
LA14_: ;
		T12_ = T13_;
		if (T12_) goto LA18_;
		T12_ = isEnv_1;
LA18_: ;
		if (!!(T12_)) goto LA19_;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		T22_[0] = (*(*s_1).name).s;
		T22_[1] = (*(*owner_p1).name).s;
		colontmpD__6 = dollar___ast_u26((*(*owner_p1).typ).callConv);
		T22_[2] = colontmpD__6;
		colontmpD__7 = nsuFormatOpenArray(TM__PI7oJkFuxeeTWjPTjlNxqg_23, T22_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		liMessage__msgs_u1227((*g_p0).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_24, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			LA21_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(colontmpD__6);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA19_: ;
LA2_: ;
	(*(*owner_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)12))) & 63);
	{
		if (!!(isEnv_1)) goto LA27_;
		(*(*owner_p1).typ).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9);
	}
LA27_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getEnvTypeForOwnerUp__lambdalifting_u2104)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* r_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	r_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	r_1 = getEnvTypeForOwner__lambdalifting_u602(c_p0, owner_p1, info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21), (*c_p0).idgen, owner_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = skipTypes__ast_u5379(r_1, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	rawAddSon__ast_u6706(result, colontmpD_, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(r_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createUpField__lambdalifting_u2110)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dep_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* refObj_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* fieldType_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* upIdent_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	refObj_1 = NIM_NIL;
	obj_1 = NIM_NIL;
	fieldType_1 = NIM_NIL;
	upIdent_1 = NIM_NIL;
	upField_1 = NIM_NIL;
	refObj_1 = getEnvTypeForOwner__lambdalifting_u602(c_p0, dest_p1, info_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	obj_1 = skipTypes__ast_u5379(refObj_1, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = isDefined__options_u959((*(*c_p0).graph).config, TM__PI7oJkFuxeeTWjPTjlNxqg_26);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T5_) goto LA6_;
		fieldType_1 = getEnvTypeForOwnerUp__lambdalifting_u2104(c_p0, dep_p2, info_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA6_: ;
	{
		fieldType_1 = getEnvTypeForOwner__lambdalifting_u602(c_p0, dep_p2, info_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	{
		if (!(refObj_1 == fieldType_1)) goto LA11_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*dep_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_28, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_29, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	upIdent_1 = getIdent__idents_u206((*(*c_p0).graph).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_30);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	upField_1 = lookupInRecord__astalgo_u30((*obj_1).n, upIdent_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		if (!!((upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA15_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		{
			colontmpD_ = skipTypes__ast_u5379((*upField_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			colontmpD__2 = skipTypes__ast_u5379(fieldType_1, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			if (!!((colontmpD_ == colontmpD__2))) goto LA20_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*dep_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_32, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_33, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		}
LA20_: ;
		{
			LA17_:;
		}
		{
			oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin17_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA13_;
LA15_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T25_;
		result_1 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__3 = owner__ast_u6246(obj_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__4 = owner__ast_u6246(obj_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T25_ = 0;
		result_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19), upIdent_1, (*c_p0).idgen, colontmpD__3, (*colontmpD__4).info, T25_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3387(&(*result_1).typ, fieldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&fieldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		rawAddField__lowerings_u195(obj_1, result_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(result_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(upField_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(upIdent_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(fieldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(obj_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(refObj_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeOf__lambdalifting_u2139)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T1_)) goto LA2_;
	T1_ = ((*(*n_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18) || (*(*n_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)17));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, detectCapturedVars__lambdalifting_u2297)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p2) {
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin63_;
NIM_BOOL oldNimErrFin99_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin52_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ow_1;
		NIM_BOOL innerProc_1;
		NIM_BOOL innerClosure_1;
		NIM_BOOL T29_;
		NIM_BOOL T30_;
		NIM_BOOL T33_;
		NIM_BOOL T34_;
		NIM_BOOL interested_1;
		s_1 = NIM_NIL;
		ow_1 = NIM_NIL;
		eqcopy___ast_u4577(&s_1, (*n_p0)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			NIM_BOOL T5_;
			NIM_BOOL T6_;
			T5_ = (NIM_BOOL)0;
			T6_ = (NIM_BOOL)0;
			T6_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
			if (!(T6_)) goto LA7_;
			T6_ = !(((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA7_: ;
			T5_ = T6_;
			if (!(T5_)) goto LA8_;
			T5_ = ((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA8_: ;
			if (!T5_) goto LA9_;
			addClosureParam__lambdalifting_u2176(c_p2, s_1, (*n_p0).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			(*c_p2).somethingToDo = NIM_TRUE;
		}
LA9_: ;
		innerProc_1 = isInnerProc__lambdalifting_u144(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			if (!innerProc_1) goto LA13_;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
				if (!(T17_)) goto LA18_;
				T17_ = ((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA18_: ;
				if (!T17_) goto LA19_;
				(*c_p2).somethingToDo = NIM_TRUE;
			}
LA19_: ;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym99__1;
				NIM_BOOL T23_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_1;
				xX60gensym99__1 = (*s_1).itemId;
				T23_ = (NIM_BOOL)0;
				T23_ = containsOrIncl__astyaml_u223((&(*c_p2).processed), (NI)((NI)((NU32)(((NI) (xX60gensym99__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym99__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				if (!!(T23_)) goto LA24_;
				body_1 = NIM_NIL;
				body_1 = transformBody__transf_u26((*c_p2).graph, (*c_p2).idgen, s_1, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				detectCapturedVars__lambdalifting_u2297(body_1, s_1, c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				{
					LA26_:;
				}
				{
					oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(body_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
					*nimErr_ = oldNimErrFin26_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
LA24_: ;
		}
LA13_: ;
		ow_1 = skipGenericOwner__ast_u7111(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		T29_ = (NIM_BOOL)0;
		T30_ = (NIM_BOOL)0;
		T30_ = innerProc_1;
		if (!(T30_)) goto LA31_;
		T30_ = ((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA31_: ;
		T29_ = T30_;
		if (!(T29_)) goto LA32_;
		T33_ = (NIM_BOOL)0;
		T34_ = (NIM_BOOL)0;
		T34_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T34_)) goto LA35_;
		T34_ = ((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA35_: ;
		T33_ = !(T34_);
		if (T33_) goto LA36_;
		T33_ = iterEnvHasUpField__lambdalifting_u2278((*c_p2).graph, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
LA36_: ;
		T29_ = T33_;
LA32_: ;
		innerClosure_1 = T29_;
		interested_1 = interestingVar__lambdalifting_u118(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			if (!(ow_1 == owner_p1)) goto LA39_;
			{
				NIM_BOOL T43_;
				T43_ = (NIM_BOOL)0;
				T43_ = ((*owner_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
				if (!(T43_)) goto LA44_;
				T43_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA44_: ;
				if (!T43_) goto LA45_;
				(*c_p2).somethingToDo = NIM_TRUE;
				addClosureParam__lambdalifting_u2176(c_p2, owner_p1, (*n_p0).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
LA45_: ;
		}
		goto LA37_;
LA39_: ;
		{
			NIM_BOOL T48_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* w_1;
			T48_ = (NIM_BOOL)0;
			T48_ = innerClosure_1;
			if (T48_) goto LA49_;
			T48_ = interested_1;
LA49_: ;
			if (!T48_) goto LA50_;
			w_1 = NIM_NIL;
			(*c_p2).somethingToDo = NIM_TRUE;
			markAsClosure__lambdalifting_u275((*c_p2).graph, owner_p1, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			addClosureParam__lambdalifting_u2176(c_p2, owner_p1, (*n_p0).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			{
				NIM_BOOL T55_;
				T55_ = (NIM_BOOL)0;
				T55_ = interestingVar__lambdalifting_u118(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				if (!T55_) goto LA56_;
				{
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym103__1;
					NIM_BOOL T60_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
					xX60gensym103__1 = (*s_1).itemId;
					T60_ = (NIM_BOOL)0;
					T60_ = contains__astalgo_u2846((&(*c_p2).capturedVars), (NI)((NI)((NU32)(((NI) (xX60gensym103__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym103__1.item))));
					if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
					if (!!(T60_)) goto LA61_;
					obj_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					{
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym105__1;
						if (!!((*c_p2).inTypeOf)) goto LA66_;
						xX60gensym105__1 = (*s_1).itemId;
						incl__pureZcollectionsZintsets_u366((&(*c_p2).capturedVars), (NI)((NI)((NU32)(((NI) (xX60gensym105__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym105__1.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
					}
LA66_: ;
					colontmpD_ = getEnvTypeForOwner__lambdalifting_u602(c_p2, ow_1, (*n_p0).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
					obj_1 = skipTypes__ast_u5379(colontmpD_, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
					if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
					colontmpD__2 = addField__lowerings_u259(obj_1, s_1, (*(*c_p2).graph).cache, (*c_p2).idgen);
					if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
					(void)(colontmpD__2);
					{
						LA63_:;
					}
					{
						oldNimErrFin63_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						eqdestroy___ast_u3378(obj_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						*nimErr_ = oldNimErrFin63_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				}
LA61_: ;
			}
LA56_: ;
			w_1 = skipGenericOwner__ast_u7111(owner_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			{
				NIM_BOOL T72_;
				NIM_BOOL T74_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* last_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T85_;
				T72_ = (NIM_BOOL)0;
				T72_ = isInnerProc__lambdalifting_u144(w_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				if (T72_) goto LA73_;
				T74_ = (NIM_BOOL)0;
				T74_ = ((*owner_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
				if (!(T74_)) goto LA75_;
				T74_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA75_: ;
				T72_ = T74_;
LA73_: ;
				if (!T72_) goto LA76_;
				last_1 = NIM_NIL;
				{
					NIM_BOOL T81_;
					T81_ = (NIM_BOOL)0;
					T81_ = ((*owner_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
					if (!(T81_)) goto LA82_;
					T81_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA82_: ;
					if (!T81_) goto LA83_;
					eqcopy___ast_u4577(&w_1, owner_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
				}
LA83_: ;
				T85_ = NIM_NIL;
				{
					NIM_BOOL T88_;
					T88_ = (NIM_BOOL)0;
					T88_ = ((*ow_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
					if (!(T88_)) goto LA89_;
					T88_ = ((*(*ow_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA89_: ;
					if (!T88_) goto LA90_;
					last_1 = skipGenericOwner__ast_u7111(ow_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
				}
				goto LA86_;
LA90_: ;
				{
					last_1 = ow_1;
					eqwasMoved___ast_u4571(&ow_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
				}
LA86_: ;
				{
					while (1) {
						NIM_BOOL T95_;
						NIM_BOOL T96_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* up_1;
						T95_ = (NIM_BOOL)0;
						T96_ = (NIM_BOOL)0;
						T96_ = !((w_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T96_)) goto LA97_;
						T96_ = !(((*w_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
LA97_: ;
						T95_ = T96_;
						if (!(T95_)) goto LA98_;
						T95_ = !((last_1 == w_1));
LA98_: ;
						if (!T95_) goto LA94;
						up_1 = NIM_NIL;
						up_1 = skipGenericOwner__ast_u7111(w_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
						markAsClosure__lambdalifting_u275((*c_p2).graph, w_1, n_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
						addClosureParam__lambdalifting_u2176(c_p2, w_1, (*n_p0).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
						createUpField__lambdalifting_u2110(c_p2, w_1, up_1, (*n_p0).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
						eqsink___ast_u4583(&w_1, up_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
						eqwasMoved___ast_u4571(&up_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
						{
							LA99_:;
						}
						{
							oldNimErrFin99_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(up_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
							*nimErr_ = oldNimErrFin99_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
					} LA94: ;
				}
				{
					LA78_:;
				}
				{
					oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(last_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
					*nimErr_ = oldNimErrFin78_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			}
LA76_: ;
			{
				LA52_:;
			}
			{
				oldNimErrFin52_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(w_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				*nimErr_ = oldNimErrFin52_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		goto LA37_;
LA50_: ;
LA37_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(ow_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	{
		{
			if (!!(((*n_p0).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA112_;
			detectCapturedVars__lambdalifting_u2297((*n_p0)._kind_6.sons.p->data[((NI)0)], owner_p1, c_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA112_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109):
	{
		detectCapturedVars__lambdalifting_u2297((*n_p0)._kind_6.sons.p->data[((NI)0)], owner_p1, c_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
	{
		NI T116_;
		T116_ = (NI)0;
		T116_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		detectCapturedVars__lambdalifting_u2297((*n_p0)._kind_6.sons.p->data[(NI)(T116_ - ((NI)1))], owner_p1, c_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			NIM_BOOL T120_;
			T120_ = (NIM_BOOL)0;
			T120_ = isCallExpr__ast_u3180(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T120_)) goto LA121_;
			T120_ = isTypeOf__lambdalifting_u2139((*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA121_: ;
			if (!T120_) goto LA122_;
			(*c_p2).inTypeOf = NIM_TRUE;
		}
LA122_: ;
		{
			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)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA126;
					i_1 = i_2;
					detectCapturedVars__lambdalifting_u2297((*n_p0)._kind_6.sons.p->data[i_1], owner_p1, c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA126: ;
			}
		}
		(*c_p2).inTypeOf = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initLiftingPass__lambdalifting_u2525)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p0, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* Result) {
	tyArray__EcyNQlLBiPAaRkJH9aQCXwA T1_;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym122__1;
	tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q));
	nimZeroMem((void*)Result, sizeof(tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q));
	xX60gensym122__1 = (*fn_p0).itemId;
	T1_[0] = (NI)((NI)((NU32)(((NI) (xX60gensym122__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym122__1.item)));
	toIntSet__pureZcollectionsZintsets_u15(T1_, 1, (&(*Result).processed));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_Table__01H8mjk9bzeSBsWX9ctnNFpg));
	T2_ = initTable__lambdalifting_u2559(((NI)32));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___lambdalifting_u2702(T2_); goto BeforeRet_;}
	(*Result).envVars = T2_;
	}BeforeRet_: ;
}
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getHiddenParam__lambdalifting_u111)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* routine_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = getEnvParam__lambdalifting_u88(routine_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NimStringV2 colontmpD_;
		NimStringV2 T6_;
		if (!(result == 0)) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T6_.len = 0; T6_.p = NIM_NIL;
		T6_ = rawNewString((*(*routine_p1).name).s.len + 45);
appendString((&T6_), TM__PI7oJkFuxeeTWjPTjlNxqg_35);
appendString((&T6_), (*(*routine_p1).name).s);
		colontmpD_ = T6_;
		liMessage__msgs_u1227((*g_p0).config, (*routine_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_36, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eqcopy___ast_u4577(&result, routine_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newEnvVar__lambdalifting_u2828)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	v_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getIdent__idents_u206(cache_p0, TM__PI7oJkFuxeeTWjPTjlNxqg_40);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = 0;
	v_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8), colontmpD_, idgen_p4, owner_p1, info_p3, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*v_1).flags = IL64(549789368320);
	eqcopy___ast_u3381(&(*v_1).typ, typ_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newSymNode__ast_u5168(v_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___idents_u155(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(v_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, asOwnedRef__lambdalifting_u2082)(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = owner__ast_u6246(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45), (*c_p0).idgen, colontmpD_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4))) & 63);
		rawAddSon__ast_u6706(result, t_p1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		eqcopy___ast_u3381(&result, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, setupEnvVar__lambdalifting_u2836)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p1, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin7_;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym134__1;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*owner_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*owner_p0).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA4_: ;
		if (!T3_) goto LA5_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = getHiddenParam__lambdalifting_u111((*d_p1).graph, owner_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		result = newSymNode__ast_u5168(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	xX60gensym134__1 = (*owner_p0).itemId;
	result = getOrDefault__lambdalifting_u2932((*c_p2).envVars, (NI)((NI)((NU32)(((NI) (xX60gensym134__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym134__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* envVarType_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym140__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym144__1;
		if (!(result == 0)) goto LA12_;
		envVarType_1 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		xX60gensym140__1 = (*owner_p0).itemId;
		envVarType_1 = getOrDefault__lambdalifting_u689((*d_p1).ownerToType, (NI)((NI)((NU32)(((NI) (xX60gensym140__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym140__1.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			if (!(envVarType_1 == 0)) goto LA17_;
			liMessage__msgs_u1227((*(*d_p1).graph).config, (*owner_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_38, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_39, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA17_: ;
		colontmpD__2 = asOwnedRef__lambdalifting_u2082(d_p1, envVarType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T19_ = NIM_NIL;
		T19_ = newEnvVar__lambdalifting_u2828((*(*d_p1).graph).cache, owner_p0, colontmpD__2, info_p3, (*d_p1).idgen);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA14_;}
		eqsink___ast_u3261(&result, T19_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		xX60gensym144__1 = (*owner_p0).itemId;
		colontmpD__3 = eqdup___ast_u3258(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		X5BX5Deq___lambdalifting_u3396((&(*c_p2).envVars), (NI)((NI)((NU32)(((NI) (xX60gensym144__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym144__1.item))), colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__4;
			tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T24_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym159__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T25_;
			if (!(((*(*(*d_p1).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA22_;
			v_1 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			colontmpD__4 = getIdent__idents_u206((*(*d_p1).graph).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_42);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T24_ = 0;
			v_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8), colontmpD__4, (*d_p1).idgen, owner_p0, info_p3, T24_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			(*v_1).flags = IL64(549789368320);
			eqsink___ast_u3387(&(*v_1).typ, envVarType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			eqwasMoved___ast_u3375(&envVarType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			xX60gensym159__1 = (*owner_p0).itemId;
			T25_ = NIM_NIL;
			T25_ = newSymNode__ast_u5168(v_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T25_); goto LA14_;}
			X5BX5Deq___lambdalifting_u3396((&(*c_p2).unownedEnvVars), (NI)((NI)((NU32)(((NI) (xX60gensym159__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym159__1.item))), T25_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			eqdestroy___idents_u155(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			eqdestroy___ast_u4574(v_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA22_: ;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(envVarType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA12_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, genCreateEnv__lambdalifting_u217)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* env_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	c_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	e_1 = NIM_NIL;
	c_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38), (*env_p0).info, (*env_p0).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*env_p0).info, (*env_p0).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(c_1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	e_1 = copyTree__ast_u6891(env_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*e_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)22))) & 31);
	result = newAsgnStmt__lowerings_u43(e_1, c_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(c_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*, newAsgnStmt__lambdalifting_u159)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73), info_p2, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)0)], le_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)1)], ri_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
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;
}
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOpsLL__lambdalifting_u195)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* refType_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p4) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		if (!!(((*owner_p4).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = elementType__ast_u5331(refType_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		createTypeBoundOps__liftdestructors_u50(g_p0, ((tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*) NIM_NIL), colontmpD_, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		createTypeBoundOps__liftdestructors_u50(g_p0, ((tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*) NIM_NIL), refType_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NIM_BOOL T8_;
			T8_ = (NIM_BOOL)0;
			T8_ = (((*refType_p1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31)))&63U)))!=0);
			if (T8_) goto LA9_;
			T8_ = (((*(*g_p0).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)45)))&63U)))!=0);
LA9_: ;
			if (!T8_) goto LA10_;
			(*owner_p4).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)42))) & 63);
		}
LA10_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getUpViaParam__lambdalifting_u4483)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* p_1;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	p_1 = NIM_NIL;
	p_1 = getHiddenParam__lambdalifting_u111(g_p0, owner_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newSymNode__ast_u5168(p_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*owner_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA5_: ;
		if (!T4_) goto LA6_;
		upField_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD_ = skipTypes__ast_u5379((*p_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		colontmpD__2 = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_44);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		upField_1 = lookupInRecord__astalgo_u30((*colontmpD_).n, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			if (!(upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA11_;
			liMessage__msgs_u1227((*g_p0).config, (*owner_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_46, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_47, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
		goto LA9_;
LA11_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
			T14_ = NIM_NIL;
			T14_ = rawIndirectAccess__lowerings_u205(result, upField_1, (*p_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA8_;}
			eqsink___ast_u3261(&result, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA9_: ;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(upField_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(p_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*, rawClosureCreation__lambdalifting_u4501)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p1, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* env_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	env_1 = NIM_NIL;
	upField_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*owner_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*owner_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*owner_p0).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA5_: ;
		if (!T4_) goto LA6_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = getHiddenParam__lambdalifting_u111((*d_p1).graph, owner_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		env_1 = newSymNode__ast_u5168(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		env_1 = setupEnvVar__lambdalifting_u2836(owner_p0, d_p1, c_p2, info_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
			if (!((*env_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA15_;
			v_1 = NIM_NIL;
			v_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*env_1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			addVar__lowerings_u34(v_1, env_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			add__ast_u3215(result, v_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* unowned_1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym166__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T23_;
				if (!(((*(*(*d_p1).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA20_;
				unowned_1 = NIM_NIL;
				xX60gensym166__1 = (*owner_p0).itemId;
				T23_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
				T23_ = X5BX5D___lambdalifting_u4602((&(*c_p2).unownedEnvVars), (NI)((NI)((NU32)(((NI) (xX60gensym166__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym166__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				eqcopy___ast_u3255(&unowned_1, (*T23_));
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				addVar__lowerings_u34(v_1, unowned_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					LA22_:;
				}
				{
					oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(unowned_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					*nimErr_ = oldNimErrFin22_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			}
LA20_: ;
			{
				LA17_:;
			}
			{
				oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(v_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				*nimErr_ = oldNimErrFin17_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA15_: ;
		colontmpD__4 = genCreateEnv__lambdalifting_u217(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		add__ast_u3215(result, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* unowned_2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* env2_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym172__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T33_;
			if (!(((*(*(*d_p1).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA30_;
			unowned_2 = NIM_NIL;
			env2_1 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			xX60gensym172__1 = (*owner_p0).itemId;
			T33_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			T33_ = X5BX5D___lambdalifting_u4602((&(*c_p2).unownedEnvVars), (NI)((NI)((NU32)(((NI) (xX60gensym172__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym172__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			eqcopy___ast_u3255(&unowned_2, (*T33_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			env2_1 = copyTree__ast_u6891(env_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			eqcopy___ast_u3381(&(*env2_1).typField, (*unowned_2).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			colontmpD__5 = newAsgnStmt__lambdalifting_u159(unowned_2, env2_1, (*env_1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			add__ast_u3215(result, colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			createTypeBoundOpsLL__lambdalifting_u195((*d_p1).graph, (*unowned_2).typField, (*env_1).info, (*d_p1).idgen, owner_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			{
				LA32_:;
			}
			{
				oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u3252(env2_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u3252(unowned_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				*nimErr_ = oldNimErrFin32_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA30_: ;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190((*(*owner_p0).typ).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* local_1;
					if (!(i_2 < colontmp_)) goto LA38;
					local_1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u4577(&local_1, (*(*(*(*owner_p0).typ).n)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
					{
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym182__1;
						NIM_BOOL T42_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldAccess_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
						xX60gensym182__1 = (*local_1).itemId;
						T42_ = (NIM_BOOL)0;
						T42_ = contains__astalgo_u2846((&(*d_p1).capturedVars), (NI)((NI)((NU32)(((NI) (xX60gensym182__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym182__1.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
						if (!T42_) goto LA43_;
						fieldAccess_1 = NIM_NIL;
						colontmpD__6 = NIM_NIL;
						colontmpD__7 = NIM_NIL;
						fieldAccess_1 = indirectAccess__lowerings_u408(env_1, local_1, (*env_1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						colontmpD__6 = newSymNode__ast_u5168(local_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						colontmpD__7 = newAsgnStmt__lambdalifting_u159(fieldAccess_1, colontmpD__6, (*env_1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						add__ast_u3215(result, colontmpD__7);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						{
							if (!!(((*owner_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA48_;
							createTypeBoundOps__liftdestructors_u50((*d_p1).graph, ((tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*) NIM_NIL), (*fieldAccess_1).typField, (*env_1).info, (*d_p1).idgen);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						}
LA48_: ;
						{
							NIM_BOOL T52_;
							T52_ = (NIM_BOOL)0;
							T52_ = (((*(*fieldAccess_1).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31)))&63U)))!=0);
							if (T52_) goto LA53_;
							T52_ = (((*(*(*d_p1).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)45)))&63U)))!=0);
LA53_: ;
							if (!T52_) goto LA54_;
							(*owner_p0).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)42))) & 63);
						}
LA54_: ;
						{
							LA45_:;
						}
						{
							oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__7);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							eqdestroy___ast_u3252(colontmpD__6);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							eqdestroy___ast_u3252(fieldAccess_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							*nimErr_ = oldNimErrFin45_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
					}
LA43_: ;
					i_2 += ((NI)1);
					{
						LA39_:;
					}
					{
						oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(local_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						*nimErr_ = oldNimErrFin39_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				} LA38: ;
			}
		}
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	colontmpD_ = skipTypes__ast_u5379((*env_1).typField, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = getIdent__idents_u206((*(*d_p1).graph).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_43);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	upField_1 = lookupInRecord__astalgo_u30((*colontmpD_).n, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* up_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
		if (!!((upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA64_;
		up_1 = NIM_NIL;
		colontmpD__8 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		up_1 = getUpViaParam__lambdalifting_u4483((*d_p1).graph, owner_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		{
			NIM_BOOL T69_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
			T69_ = (NIM_BOOL)0;
			T69_ = !((up_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T69_)) goto LA70_;
			colontmpD__8 = skipTypes__ast_u5379((*upField_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			colontmpD__9 = skipTypes__ast_u5379((*up_1).typField, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			T69_ = (colontmpD__8 == colontmpD__9);
LA70_: ;
			if (!T69_) goto LA71_;
			colontmpD__10 = NIM_NIL;
			colontmpD__11 = NIM_NIL;
			colontmpD__10 = rawIndirectAccess__lowerings_u205(env_1, upField_1, (*env_1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			colontmpD__11 = newAsgnStmt__lambdalifting_u159(colontmpD__10, up_1, (*env_1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			add__ast_u3215(result, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			eqdestroy___ast_u3252(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			eqdestroy___ast_u3252(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		}
		goto LA67_;
LA71_: ;
		{
			liMessage__msgs_u1227((*(*d_p1).graph).config, (*env_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_49, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_50, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		}
LA67_: ;
		{
			LA66_:;
		}
		{
			oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(up_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin66_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA64_: ;
	createTypeBoundOpsLL__lambdalifting_u195((*d_p1).graph, (*env_1).typField, (*owner_p0).info, (*d_p1).idgen, owner_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(upField_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, finishClosureCreation__lambdalifting_u4863)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p1, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_p4) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* unowned_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nilLit_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym197__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T6_;
		if (!(((*(*(*d_p1).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA3_;
		unowned_1 = NIM_NIL;
		nilLit_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		xX60gensym197__1 = (*owner_p0).itemId;
		T6_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		T6_ = X5BX5D___lambdalifting_u4950((&(*c_p2).unownedEnvVars), (NI)((NI)((NU32)(((NI) (xX60gensym197__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym197__1.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eqcopy___ast_u3255(&unowned_1, (*T6_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		nilLit_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23), info_p3, (*unowned_1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = newAsgnStmt__lambdalifting_u159(unowned_1, nilLit_1, info_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(res_p4, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		createTypeBoundOpsLL__lambdalifting_u195((*d_p1).graph, (*unowned_1).typField, info_p3, (*d_p1).idgen, owner_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(nilLit_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(unowned_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*, makeClosure__lambdalifting_u164)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* env_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155), info_p4, (*prc_p2).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = newSymNode__ast_u5168(prc_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		if (!(env_p3 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA4_;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__2 = getSysType__magicsys_u55(g_p0, info_p4, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__3 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23), info_p4, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		{
			colontmpD__4 = skipConv__types_u3715(env_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			if (!((*colontmpD__4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155))) goto LA13_;
			liMessage__msgs_u1227((*g_p0).config, info_p4, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_52, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_53, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
LA13_: ;
		add__ast_u3215(result, env_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	createTypeBoundOps__liftdestructors_u50(g_p0, ((tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*) NIM_NIL), (*result).typField, info_p4, idgen_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T19_;
		T19_ = (NIM_BOOL)0;
		T19_ = (((*(*result).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31)))&63U)))!=0);
		if (T19_) goto LA20_;
		T19_ = (((*(*g_p0).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)45)))&63U)))!=0);
LA20_: ;
		if (!T19_) goto LA21_;
		(*prc_p2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)42))) & 63);
	}
LA21_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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*, getUpForIter__lambdalifting_u5025)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iterOwner_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedUpTyp_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* p_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	p_1 = NIM_NIL;
	res_1 = NIM_NIL;
	p_1 = getHiddenParam__lambdalifting_u111(g_p0, owner_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	res_1 = newSymNode__ast_u5168(p_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		colontmpD_ = NIM_NIL;
		while (1) {
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T5_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
			T5_ = NIM_NIL;
			T5_ = skipTypes__ast_u5379((*res_1).typField, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T5_); goto LA3_;}
			eqsink___ast_u3387(&colontmpD_, T5_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			if (!!((colontmpD_ == expectedUpTyp_p3))) goto LA4;
			upField_1 = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__2 = skipTypes__ast_u5379((*p_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			colontmpD__3 = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_56);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			upField_1 = lookupInRecord__astalgo_u30((*colontmpD__2).n, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				if (!(upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA9_;
				result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
				eqdestroy___idents_u155(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u3378(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u4574(upField_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(res_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(p_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA9_: ;
			eqcopy___ast_u4577(&p_1, upField_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T11_ = NIM_NIL;
			T11_ = rawIndirectAccess__lowerings_u205(res_1, upField_1, (*p_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA6_;}
			eqsink___ast_u3261(&res_1, T11_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u3378(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u4574(upField_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		} LA4: ;
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	result = res_1;
	eqwasMoved___ast_u3249(&res_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(res_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(p_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*, closureCreationForIter__lambdalifting_u5042)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* iter_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iterOwner_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* vnode_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T2_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T3_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	iterOwner_1 = NIM_NIL;
	v_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	vnode_1 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	upField_1 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	colontmpD__5 = NIM_NIL;
	colontmpD__6 = NIM_NIL;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*iter_p1).info, (*(*iter_p1)._kind_4.sym).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	iterOwner_1 = skipGenericOwner__ast_u7111((*iter_p1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getIdent__idents_u206((*(*d_p2).graph).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_54);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	v_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8), colontmpD_, (*d_p2).idgen, iterOwner_1, (*iter_p1).info, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*v_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)25))) & 63);
	colontmpD__2 = getHiddenParam__lambdalifting_u111((*d_p2).graph, (*iter_p1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = NIM_NIL;
	T3_ = asOwnedRef__lambdalifting_u2082(d_p2, (*colontmpD__2).typ);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T3_); goto LA1_;}
	eqsink___ast_u3387(&(*v_1).typ, T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T6_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* it_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*iterOwner_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T6_)) goto LA7_;
		T6_ = ((*(*iterOwner_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA7_: ;
		if (!T6_) goto LA8_;
		it_1 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		colontmpD__8 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		it_1 = getHiddenParam__lambdalifting_u111((*d_p2).graph, iterOwner_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		colontmpD__7 = skipTypes__ast_u5379((*it_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		colontmpD__8 = addUniqueField__lowerings_u285(colontmpD__7, v_1, (*(*d_p2).graph).cache, (*d_p2).idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		colontmpD__9 = newSymNode__ast_u5168(it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		vnode_1 = indirectAccess__lowerings_u408(colontmpD__9, v_1, (*v_1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA4_;
LA8_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* vs_1;
		vs_1 = NIM_NIL;
		vnode_1 = newSymNode__ast_u5168(v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		vs_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*iter_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		addVar__lowerings_u34(vs_1, vnode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, vs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(vs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	colontmpD__3 = genCreateEnv__lambdalifting_u217(vnode_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	createTypeBoundOpsLL__lambdalifting_u195((*d_p2).graph, (*vnode_1).typField, (*iter_p1).info, (*d_p2).idgen, iterOwner_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__4 = skipTypes__ast_u5379((*v_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__5 = getIdent__idents_u206((*(*d_p2).graph).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_55);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	upField_1 = lookupInRecord__astalgo_u30((*colontmpD__4).n, colontmpD__5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedUpTyp_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* u_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
		if (!!((upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA16_;
		expectedUpTyp_1 = NIM_NIL;
		u_1 = NIM_NIL;
		colontmpD__10 = NIM_NIL;
		expectedUpTyp_1 = skipTypes__ast_u5379((*upField_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		T19_ = NIM_NIL;
		{
			if (!(iterOwner_1 == owner_p0)) goto LA22_;
			u_1 = setupEnvVar__lambdalifting_u2836(iterOwner_1, d_p2, c_p3, (*iter_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA20_;
LA22_: ;
		{
			u_1 = getUpForIter__lambdalifting_u5025((*d_p2).graph, owner_p0, iterOwner_1, expectedUpTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
LA20_: ;
		{
			NIM_BOOL T27_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
			T27_ = (NIM_BOOL)0;
			T27_ = !((u_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T27_)) goto LA28_;
			colontmpD__10 = skipTypes__ast_u5379((*u_1).typField, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			T27_ = (colontmpD__10 == expectedUpTyp_1);
LA28_: ;
			if (!T27_) goto LA29_;
			colontmpD__11 = NIM_NIL;
			colontmpD__12 = NIM_NIL;
			colontmpD__11 = rawIndirectAccess__lowerings_u205(vnode_1, upField_1, (*iter_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			colontmpD__12 = newAsgnStmt__lambdalifting_u159(colontmpD__11, u_1, (*iter_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			add__ast_u3215(result, colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			eqdestroy___ast_u3252(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			eqdestroy___ast_u3252(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA25_;
LA29_: ;
		{
			liMessage__msgs_u1227((*(*d_p2).graph).config, (*iter_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_58, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_59, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
LA25_: ;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(u_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(expectedUpTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA16_: ;
	colontmpD__6 = makeClosure__lambdalifting_u164((*d_p2).graph, (*d_p2).idgen, (*iter_p1)._kind_4.sym, vnode_1, (*iter_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__6);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(upField_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(vnode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(iterOwner_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*, symToClosure__lambdalifting_u5192)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	eqcopy___ast_u4577(&s_1, (*n_p0)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* available_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		if (!(s_1 == owner_p1)) goto LA4_;
		available_1 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		available_1 = getHiddenParam__lambdalifting_u111((*d_p2).graph, owner_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__2 = newSymNode__ast_u5168(available_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = makeClosure__lambdalifting_u164((*d_p2).graph, (*d_p2).idgen, s_1, colontmpD__2, (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(available_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T10_)) goto LA11_;
		T10_ = ((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA11_: ;
		if (!T10_) goto LA12_;
		result = closureCreationForIter__lambdalifting_u5042(owner_p1, n_p0, d_p2, c_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA12_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		colontmpD_ = skipGenericOwner__ast_u7111(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(colontmpD_ == owner_p1)) goto LA15_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = setupEnvVar__lambdalifting_u2836(owner_p1, d_p2, c_p3, (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		result = makeClosure__lambdalifting_u164((*d_p2).graph, (*d_p2).idgen, s_1, colontmpD__3, (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		{
			LA17_:;
		}
		{
			oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin17_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA15_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* available_2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* wanted_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* access_1;
		available_2 = NIM_NIL;
		wanted_1 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		access_1 = NIM_NIL;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		available_2 = getHiddenParam__lambdalifting_u111((*d_p2).graph, owner_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		colontmpD__4 = getHiddenParam__lambdalifting_u111((*d_p2).graph, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		eqcopy___ast_u3381(&wanted_1, (*colontmpD__4).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		access_1 = newSymNode__ast_u5168(available_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
				obj_1 = NIM_NIL;
				upField_1 = NIM_NIL;
				colontmpD__5 = NIM_NIL;
				{
					if (!((*access_1).typField == wanted_1)) goto LA27_;
					result = makeClosure__lambdalifting_u164((*d_p2).graph, (*d_p2).idgen, s_1, access_1, (*n_p0).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					eqdestroy___idents_u155(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u4574(upField_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u3378(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u3252(access_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(wanted_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(available_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA27_: ;
				obj_1 = skipTypes__ast_u5379((*access_1).typField, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				colontmpD__5 = getIdent__idents_u206((*(*d_p2).graph).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_60);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				upField_1 = lookupInRecord__astalgo_u30((*obj_1).n, colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				{
					if (!(upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA31_;
					liMessage__msgs_u1227((*(*d_p2).graph).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_62, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_63, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					eqcopy___ast_u3255(&result, n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					eqdestroy___idents_u155(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u4574(upField_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u3378(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u3252(access_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(wanted_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(available_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA31_: ;
				T33_ = NIM_NIL;
				T33_ = rawIndirectAccess__lowerings_u205(access_1, upField_1, (*n_p0).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T33_); goto LA24_;}
				eqsink___ast_u3261(&access_1, T33_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				{
					LA24_:;
				}
				{
					oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u4574(upField_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u3378(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					*nimErr_ = oldNimErrFin24_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			}
		}
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(access_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(wanted_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(available_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		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;
}
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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, accessViaEnvParam__lambdalifting_u2799)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* envParam_1;
	NimStringV2 colontmpD_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin6_;
	NimStringV2 T24_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	envParam_1 = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	eqcopy___ast_u4577(&s_1, (*n_p1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	envParam_1 = getHiddenParam__lambdalifting_u111(g_p0, owner_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* access_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
		if (!!((envParam_1 == 0))) goto LA4_;
		access_1 = NIM_NIL;
		obj_1 = NIM_NIL;
		access_1 = newSymNode__ast_u5168(envParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		obj_1 = elementType__ast_u5331((*access_1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* upField_1;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T19_;
				field_1 = NIM_NIL;
				upField_1 = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				field_1 = getFieldFromObj__lowerings_u381(obj_1, s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				{
					if (!!((field_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA12_;
					result = rawIndirectAccess__lowerings_u205(access_1, field_1, (*n_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					eqdestroy___idents_u155(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u4574(upField_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u4574(field_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u3378(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(access_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___system_u2691(colontmpD_);
					eqdestroy___ast_u4574(envParam_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA12_: ;
				colontmpD__2 = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_64);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				upField_1 = lookupInRecord__astalgo_u30((*obj_1).n, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				{
					if (!(upField_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA16_;
					eqdestroy___idents_u155(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u4574(upField_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u4574(field_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					goto LA7;
				}
LA16_: ;
				T18_ = NIM_NIL;
				T18_ = rawIndirectAccess__lowerings_u205(access_1, upField_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto LA9_;}
				eqsink___ast_u3261(&access_1, T18_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				T19_ = NIM_NIL;
				T19_ = baseClass__ast_u5348((*access_1).typField);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T19_); goto LA9_;}
				eqsink___ast_u3387(&obj_1, T19_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				{
					LA9_:;
				}
				{
					oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u4574(upField_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u4574(field_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					*nimErr_ = oldNimErrFin9_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			}
		} LA7: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(obj_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(access_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	T24_.len = 0; T24_.p = NIM_NIL;
	T24_ = rawNewString((*(*s_1).name).s.len + 36);
appendString((&T24_), TM__PI7oJkFuxeeTWjPTjlNxqg_66);
appendString((&T24_), (*(*s_1).name).s);
	colontmpD_ = T24_;
	liMessage__msgs_u1227((*g_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_67, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___ast_u4574(envParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_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*, accessViaEnvVar__lambdalifting_u5084)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* access_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	access_1 = NIM_NIL;
	obj_1 = NIM_NIL;
	field_1 = NIM_NIL;
	access_1 = setupEnvVar__lambdalifting_u2836(owner_p1, d_p2, c_p3, (*n_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym214__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T6_;
		if (!(((*(*(*d_p2).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA4_;
		xX60gensym214__1 = (*owner_p1).itemId;
		T6_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		T6_ = X5BX5D___lambdalifting_u4602((&(*c_p3).unownedEnvVars), (NI)((NI)((NU32)(((NI) (xX60gensym214__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym214__1.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&access_1, (*T6_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	obj_1 = skipTypes__ast_u5379((*access_1).typField, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	field_1 = getFieldFromObj__lowerings_u381(obj_1, (*n_p0)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((field_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA9_;
		result = rawIndirectAccess__lowerings_u205(access_1, field_1, (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA7_;
LA9_: ;
	{
		liMessage__msgs_u1227((*(*d_p2).graph).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_69, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_70, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(obj_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(access_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*, liftCapturedVars__lambdalifting_u5187)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ* d_p2, tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* c_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL oldNimErrFin70_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		s_1 = NIM_NIL;
		eqcopy___ast_u4577(&s_1, (*n_p0)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = isInnerProc__lambdalifting_u144(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (!T5_) goto LA6_;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym226__1;
				NIM_BOOL T10_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				NI oldInContainer_1;
				tySet_tyEnum_TransformFlag__CzUOfRCXpoYcP43GAlt9cnA T14_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
				xX60gensym226__1 = (*s_1).itemId;
				T10_ = (NIM_BOOL)0;
				T10_ = containsOrIncl__astyaml_u223((&(*c_p3).processed), (NI)((NI)((NU32)(((NI) (xX60gensym226__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym226__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				if (!!(T10_)) goto LA11_;
				body_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				oldInContainer_1 = (*c_p3).inContainer;
				(*c_p3).inContainer = ((NI)0);
				T14_ = 0;
				body_1 = transformBody__transf_u26((*d_p2).graph, (*d_p2).idgen, s_1, T14_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				T15_ = NIM_NIL;
				T15_ = liftCapturedVars__lambdalifting_u5187(body_1, s_1, d_p2, c_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA13_;}
				eqsink___ast_u3261(&body_1, T15_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				{
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym228__1;
					xX60gensym228__1 = (*s_1).itemId;
					colontmpD_ = getOrDefault__lambdalifting_u2932((*c_p3).envVars, (NI)((NI)((NU32)(((NI) (xX60gensym228__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym228__1.item))));
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					if (!(colontmpD_ == 0)) goto LA18_;
					eqsink___ast_u3261(&(*s_1)._kind_1.transformedBody, body_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqwasMoved___ast_u3249(&body_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				}
				goto LA16_;
LA18_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T22_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
					colontmpD__2 = NIM_NIL;
					nimZeroMem((void*)T22_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					colontmpD__2 = rawClosureCreation__lambdalifting_u4501(s_1, d_p2, c_p3, (*n_p0).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					T22_[0] = colontmpD__2;
					T22_[1] = body_1;
					T23_ = NIM_NIL;
					T23_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T22_, 2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA21_;}
					eqsink___ast_u3261(&(*s_1)._kind_1.transformedBody, T23_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					finishClosureCreation__lambdalifting_u4863(s_1, d_p2, (&(*c_p3)), (*n_p0).info, (*s_1)._kind_1.transformedBody);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					{
						LA21_:;
					}
					{
						oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						*nimErr_ = oldNimErrFin21_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				}
LA16_: ;
				(*c_p3).inContainer = oldInContainer_1;
				{
					LA13_:;
				}
				{
					oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
					eqdestroy___ast_u3252(body_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
					*nimErr_ = oldNimErrFin13_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
LA11_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
				if (!((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9))) goto LA30_;
				T32_ = NIM_NIL;
				T32_ = symToClosure__lambdalifting_u5192(n_p0, owner_p1, d_p2, c_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA2_;}
				eqsink___ast_u3261(&result, T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
LA30_: ;
		}
		goto LA3_;
LA6_: ;
		{
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym231__1;
			NIM_BOOL T34_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			xX60gensym231__1 = (*s_1).itemId;
			T34_ = (NIM_BOOL)0;
			T34_ = contains__astalgo_u2846((&(*d_p2).capturedVars), (NI)((NI)((NU32)(((NI) (xX60gensym231__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym231__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (!T34_) goto LA35_;
			colontmpD__3 = NIM_NIL;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T42_;
				colontmpD__3 = owner__ast_u6254(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				if (!!((colontmpD__3 == owner_p1))) goto LA40_;
				T42_ = NIM_NIL;
				T42_ = accessViaEnvParam__lambdalifting_u2799((*d_p2).graph, n_p0, owner_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T42_); goto LA37_;}
				eqsink___ast_u3261(&result, T42_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			}
			goto LA38_;
LA40_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T44_;
				T44_ = NIM_NIL;
				T44_ = accessViaEnvVar__lambdalifting_u5084(n_p0, owner_p1, d_p2, c_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T44_); goto LA37_;}
				eqsink___ast_u3261(&result, T44_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			}
LA38_: ;
			{
				LA37_:;
			}
			{
				oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				*nimErr_ = oldNimErrFin37_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		goto LA3_;
LA35_: ;
LA3_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)24):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T56_;
			if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA53_;
			x_1 = NIM_NIL;
			T56_ = NIM_NIL;
			T56_ = liftCapturedVars__lambdalifting_u5187((*n_p0)._kind_6.sons.p->data[((NI)0)], owner_p1, d_p2, c_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T56_); goto LA55_;}
			eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[((NI)0)], T56_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			x_1 = skipConv__types_u3715((*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			{
				if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155))) goto LA59_;
				eqcopy___ast_u3255(&(*n_p0)._kind_6.sons.p->data[((NI)0)], (*x_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
				eqcopy___ast_u3255(&(*n_p0)._kind_6.sons.p->data[((NI)1)], (*x_1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			}
LA59_: ;
			{
				LA55_:;
			}
			{
				oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin55_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA53_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	{
		{
			NIM_BOOL T66_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
			NI oldInContainer_2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T71_;
			T66_ = (NIM_BOOL)0;
			T66_ = !(((*n_p0).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T66_)) goto LA67_;
			T66_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA67_: ;
			if (!T66_) goto LA68_;
			m_1 = NIM_NIL;
			oldInContainer_2 = (*c_p3).inContainer;
			(*c_p3).inContainer = ((NI)0);
			m_1 = newSymNode__ast_u5168((*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
			eqcopy___ast_u3381(&(*m_1).typField, (*n_p0).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
			T71_ = NIM_NIL;
			T71_ = liftCapturedVars__lambdalifting_u5187(m_1, owner_p1, d_p2, c_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T71_); goto LA70_;}
			eqsink___ast_u3261(&result, T71_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
			(*c_p3).inContainer = oldInContainer_2;
			{
				LA70_:;
			}
			{
				oldNimErrFin70_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(m_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin70_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA68_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	{
		{
			NI T77_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T80_;
			T77_ = (NI)0;
			T77_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T77_ == ((NI)2))) goto LA78_;
			T80_ = NIM_NIL;
			T80_ = liftCapturedVars__lambdalifting_u5187((*n_p0)._kind_6.sons.p->data[((NI)1)], owner_p1, d_p2, c_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T80_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[((NI)1)], T80_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155))) goto LA83_;
				eqcopy___ast_u3255(&result, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA83_: ;
		}
LA78_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T90_;
			if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74) || (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149))) goto LA88_;
			T90_ = NIM_NIL;
			T90_ = liftCapturedVars__lambdalifting_u5187((*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], owner_p1, d_p2, c_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T90_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], T90_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA86_;
LA88_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T92_;
			T92_ = NIM_NIL;
			T92_ = liftCapturedVars__lambdalifting_u5187((*n_p0)._kind_6.sons.p->data[((NI)0)], owner_p1, d_p2, c_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T92_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[((NI)0)], T92_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA86_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	{
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NIM_BOOL inContainer_1;
		{
			NIM_BOOL T97_;
			T97_ = (NIM_BOOL)0;
			T97_ = isCallExpr__ast_u3180(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T97_)) goto LA98_;
			T97_ = isTypeOf__lambdalifting_u2139((*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA98_: ;
			if (!T97_) goto LA99_;
			goto BeforeRet_;
		}
LA99_: ;
		{
			NIM_BOOL T103_;
			T103_ = (NIM_BOOL)0;
			T103_ = ((*owner_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
			if (!(T103_)) goto LA104_;
			T103_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA104_: ;
			if (!T103_) goto LA105_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T111_;
				if (!(((*n_p0).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)8)))&31U)))!=0)) goto LA109_;
				T111_ = NIM_NIL;
				T111_ = liftCapturedVars__lambdalifting_u5187((*n_p0)._kind_6.sons.p->data[((NI)1)], owner_p1, d_p2, c_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T111_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[((NI)1)], T111_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA109_: ;
		}
LA105_: ;
		inContainer_1 = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41));
		{
			if (!inContainer_1) goto LA114_;
			(*c_p3).inContainer += ((NI)1);
		}
LA114_: ;
		{
			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)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T119_;
					if (!(i_2 < colontmp_)) goto LA118;
					i_1 = i_2;
					T119_ = NIM_NIL;
					T119_ = liftCapturedVars__lambdalifting_u5187((*n_p0)._kind_6.sons.p->data[i_1], owner_p1, d_p2, c_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T119_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[i_1], T119_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA118: ;
			}
		}
		{
			if (!inContainer_1) goto LA122_;
			(*c_p3).inContainer -= ((NI)1);
		}
LA122_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_u2766)(tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q* dest_p0) {
	eqdestroy___lambdalifting_u2720((*dest_p0).unownedEnvVars.data);
	eqdestroy___lambdalifting_u2720((*dest_p0).envVars.data);
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).processed.data);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).processed.head);
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).processed.head)));
		nimRawDispose((*dest_p0).processed.head, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, liftLambdas__lambdalifting_u5628)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2, NIM_BOOL* tooEarly_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p4, tySet_tyEnum_TransformFlag__CzUOfRCXpoYcP43GAlt9cnA flags_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NIM_BOOL isCompileTime_1;
	NIM_BOOL T2_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin46_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	T2_ = (NIM_BOOL)0;
	T2_ = (((*fn_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0);
	if (T2_) goto LA3_;
	T2_ = ((*fn_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA3_: ;
	isCompileTime_1 = T2_;
	{
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		NIM_BOOL T14_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = ((*body_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
		if (T7_) goto LA8_;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T10_ = (((*(*g_p0).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)5)))&7U)))!=0);
		if (!(T10_)) goto LA11_;
		T10_ = ((*(*g_p0).config).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)3));
LA11_: ;
		T9_ = T10_;
		if (!(T9_)) goto LA12_;
		T9_ = !(isCompileTime_1);
LA12_: ;
		T7_ = T9_;
LA8_: ;
		T6_ = T7_;
		if (T6_) goto LA13_;
		T14_ = (NIM_BOOL)0;
		colontmpD_ = skipGenericOwner__ast_u7111(fn_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T14_ = !(((*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
		if (!(T14_)) goto LA15_;
		T14_ = !(((flags_p5 &((NU8)1<<((NU)((((tyEnum_TransformFlag__CzUOfRCXpoYcP43GAlt9cnA)2)))&7U)))!=0));
LA15_: ;
		T6_ = T14_;
LA13_: ;
		if (!T6_) goto LA16_;
		eqcopy___ast_u3255(&result, body_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*tooEarly_p3) = NIM_TRUE;
		{
			NIM_BOOL T20_;
			tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ d_1;
			T20_ = (NIM_BOOL)0;
			T20_ = ((*fn_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
			if (!(T20_)) goto LA21_;
			T20_ = ((*(*fn_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA21_: ;
			if (!T20_) goto LA22_;
			nimZeroMem((void*)(&d_1), sizeof(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ));
			initDetectionPass__lambdalifting_u303(g_p0, fn_p1, idgen_p4, (&d_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			addClosureParam__lambdalifting_u2176((&d_1), fn_p1, (*body_p2).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___lambdalifting_u546((&d_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA22_: ;
	}
	goto LA4_;
LA16_: ;
	{
		tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ d_2;
		nimZeroMem((void*)(&d_2), sizeof(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ));
		initDetectionPass__lambdalifting_u303(g_p0, fn_p1, idgen_p4, (&d_2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		detectCapturedVars__lambdalifting_u2297(body_p2, fn_p1, (&d_2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			NIM_BOOL T31_;
			NIM_BOOL T33_;
			T31_ = (NIM_BOOL)0;
			T31_ = !(d_2.somethingToDo);
			if (!(T31_)) goto LA32_;
			T33_ = (NIM_BOOL)0;
			T33_ = ((*fn_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
			if (!(T33_)) goto LA34_;
			T33_ = ((*(*fn_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA34_: ;
			T31_ = T33_;
LA32_: ;
			if (!T31_) goto LA35_;
			addClosureParam__lambdalifting_u2176((&d_2), fn_p1, (*body_p2).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			d_2.somethingToDo = NIM_TRUE;
		}
LA35_: ;
		{
			tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q c_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			if (!d_2.somethingToDo) goto LA39_;
			nimZeroMem((void*)(&c_1), sizeof(tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q));
			colontmpD__2 = NIM_NIL;
			initLiftingPass__lambdalifting_u2525(fn_p1, (&c_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			result = liftCapturedVars__lambdalifting_u5187(body_p2, fn_p1, (&d_2), (&c_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym284__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T47_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
				xX60gensym284__1 = (*fn_p1).itemId;
				colontmpD__2 = getOrDefault__lambdalifting_u2932(c_1.envVars, (NI)((NI)((NU32)(((NI) (xX60gensym284__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym284__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				if (!!((colontmpD__2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA44_;
				colontmpD__3 = NIM_NIL;
				nimZeroMem((void*)T47_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				colontmpD__3 = rawClosureCreation__lambdalifting_u4501(fn_p1, (&d_2), (&c_1), (*body_p2).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				T47_[0] = colontmpD__3;
				T47_[1] = result;
				T48_ = NIM_NIL;
				T48_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T47_, 2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA46_;}
				eqsink___ast_u3261(&result, T48_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				finishClosureCreation__lambdalifting_u4863(fn_p1, (&d_2), (&c_1), (*body_p2).info, result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				{
					LA46_:;
				}
				{
					oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					*nimErr_ = oldNimErrFin46_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			}
LA44_: ;
			{
				LA41_:;
			}
			{
				oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
				eqdestroy___lambdalifting_u2766((&c_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
				*nimErr_ = oldNimErrFin41_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		}
		goto LA37_;
LA39_: ;
		{
			eqcopy___ast_u3255(&result, body_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		}
LA37_: ;
		{
			LA28_:;
		}
		{
			oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___lambdalifting_u546((&d_2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin28_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		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*, liftIterSym__lambdalifting_u226)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* hp_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* env_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	iter_1 = NIM_NIL;
	hp_1 = NIM_NIL;
	env_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		NIM_BOOL isCompileTimeX60gensym33__1;
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		T4_ = (NIM_BOOL)0;
		T4_ = (((*owner_p3).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0);
		if (T4_) goto LA5_;
		T4_ = ((*owner_p3).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA5_: ;
		isCompileTimeX60gensym33__1 = T4_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = (((*(*g_p0).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)5)))&7U)))!=0);
		if (!(T7_)) goto LA8_;
		T7_ = ((*(*g_p0).config).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)3));
LA8_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA9_;
		T6_ = !(isCompileTimeX60gensym33__1);
LA9_: ;
		if (!T6_) goto LA10_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(hp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(iter_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA10_: ;
	eqcopy___ast_u4577(&iter_1, (*n_p1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*n_p1).info, (*iter_1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hp_1 = getHiddenParam__lambdalifting_u111(g_p0, iter_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T14_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* it_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*owner_p3).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T14_)) goto LA15_;
		T14_ = ((*(*owner_p3).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA15_: ;
		if (!T14_) goto LA16_;
		it_1 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		it_1 = getHiddenParam__lambdalifting_u111(g_p0, owner_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		colontmpD__3 = skipTypes__ast_u5379((*it_1).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_71);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		colontmpD__4 = addUniqueField__lowerings_u285((*colontmpD__3).sons.p->data[((NI)0)], hp_1, (*g_p0).cache, idgen_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		colontmpD__5 = newSymNode__ast_u5168(it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		env_1 = indirectAccess__lowerings_u408(colontmpD__5, hp_1, (*hp_1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA12_;
LA16_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* e_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T22_;
		e_1 = NIM_NIL;
		v_1 = NIM_NIL;
		T22_ = 0;
		e_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), (*iter_1).name, idgen_p2, owner_p3, (*n_p1).info, T22_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3381(&(*e_1).typ, (*hp_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*e_1).flags = (*hp_1).flags;
		env_1 = newSymNode__ast_u5168(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		v_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		addVar__lowerings_u34(v_1, env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA12_: ;
	colontmpD_ = genCreateEnv__lambdalifting_u217(env_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	createTypeBoundOpsLL__lambdalifting_u195(g_p0, (*env_1).typField, (*n_p1).info, idgen_p2, owner_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = makeClosure__lambdalifting_u164(g_p0, idgen_p2, iter_1, env_1, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__2);
	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(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(hp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(iter_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*, liftForLoop__lambdalifting_u5780)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* env_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* loopBody_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* whileLoop_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v2_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* vpart_1;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__2;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bs_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ibs_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* elifBranch_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* br_1;
	NI T19_;
NIM_BOOL oldNimErrFin28_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw T49_;
NIM_BOOL oldNimErrFin76_;
	NI T80_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	call_1 = NIM_NIL;
	env_1 = NIM_NIL;
	op_1 = NIM_NIL;
	loopBody_1 = NIM_NIL;
	whileLoop_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	v2_1 = NIM_NIL;
	vpart_1 = NIM_NIL;
	colontmpD__2 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__3 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	bs_1 = NIM_NIL;
	ibs_1 = NIM_NIL;
	elifBranch_1 = NIM_NIL;
	br_1 = NIM_NIL;
	{
		NIM_BOOL isCompileTimeX60gensym285__1;
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		T4_ = (NIM_BOOL)0;
		T4_ = (((*owner_p3).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0);
		if (T4_) goto LA5_;
		T4_ = ((*owner_p3).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA5_: ;
		isCompileTimeX60gensym285__1 = T4_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = (((*(*g_p0).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)5)))&7U)))!=0);
		if (!(T7_)) goto LA8_;
		T7_ = ((*(*g_p0).config).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)3));
LA8_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA9_;
		T6_ = !(isCompileTimeX60gensym285__1);
LA9_: ;
		if (!T6_) goto LA10_;
		eqcopy___ast_u3255(&result, body_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(br_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(elifBranch_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ibs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(bs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(vpart_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(v2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(whileLoop_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(loopBody_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA10_: ;
	{
		NIM_BOOL T14_;
		NI T16_;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*body_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94));
		if (!(T14_)) goto LA15_;
		T16_ = (NI)0;
		T16_ = len__ast_u3190(body_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T14_ = ((*(*body_p1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*(*body_p1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*(*body_p1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*(*body_p1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*(*body_p1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*(*body_p1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*(*body_p1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
LA15_: ;
		if (!!(T14_)) goto LA17_;
		liMessage__msgs_u1227((*g_p0).config, (*body_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__PI7oJkFuxeeTWjPTjlNxqg_73, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__PI7oJkFuxeeTWjPTjlNxqg_74, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&result, body_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(br_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(elifBranch_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ibs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(bs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(vpart_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(v2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(whileLoop_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(loopBody_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA17_: ;
	T19_ = (NI)0;
	T19_ = len__ast_u3190(body_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&call_1, (*body_p1)._kind_6.sons.p->data[(NI)(T19_ - ((NI)2))]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*body_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	env_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	eqcopy___ast_u3255(&op_1, (*call_1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T22_;
		NIM_BOOL T24_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* hp_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T29_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T30_;
		T22_ = (NIM_BOOL)0;
		T22_ = ((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T22_)) goto LA23_;
		T24_ = (NIM_BOOL)0;
		T24_ = ((*(*op_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (!(T24_)) goto LA25_;
		T24_ = ((*(*(*op_1)._kind_4.sym).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA25_: ;
		T22_ = T24_;
LA23_: ;
		if (!T22_) goto LA26_;
		iter_1 = NIM_NIL;
		hp_1 = NIM_NIL;
		v_1 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		eqcopy___ast_u4577(&iter_1, (*op_1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		hp_1 = getHiddenParam__lambdalifting_u111(g_p0, iter_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		T29_ = 0;
		T30_ = NIM_NIL;
		T30_ = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), (*iter_1).name, idgen_p2, owner_p3, (*body_p1).info, T29_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T30_); goto LA28_;}
		eqsink___ast_u4583(&env_1, T30_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		eqcopy___ast_u3381(&(*env_1).typ, (*hp_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		(*env_1).flags = (*hp_1).flags;
		v_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*body_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		colontmpD__4 = newSymNode__ast_u5168(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		addVar__lowerings_u34(v_1, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		add__ast_u3215(result, v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		colontmpD__5 = newSymNode__ast_u5168(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		colontmpD__6 = genCreateEnv__lambdalifting_u217(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		add__ast_u3215(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		createTypeBoundOpsLL__lambdalifting_u195(g_p0, (*env_1).typ, (*body_p1).info, idgen_p2, owner_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			LA28_:;
		}
		{
			oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			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(v_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(hp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(iter_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin28_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA20_;
LA26_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* closure_1;
		if (!((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126))) goto LA34_;
		closure_1 = NIM_NIL;
		closure_1 = lastSon__ast_u5208(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!((*closure_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155))) goto LA38_;
			eqsink___ast_u3261(&(*call_1)._kind_6.sons.p->data[((NI)0)], closure_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqwasMoved___ast_u3249(&closure_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NI i_1;
				NI colontmp_;
				NI T41_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T41_ = (NI)0;
				T41_ = len__ast_u3190(op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				colontmp_ = (NI)(T41_ - ((NI)1));
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA43;
						i_1 = i_2;
						add__ast_u3215(result, (*op_1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						i_2 += ((NI)1);
					} LA43: ;
				}
			}
		}
LA38_: ;
		eqdestroy___ast_u3252(closure_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA20_;
LA34_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* tempSym_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__7;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* temp_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T47_;
		if (!!(((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA45_;
		tempSym_1 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		temp_1 = NIM_NIL;
		v_2 = NIM_NIL;
		colontmpD__8 = NIM_NIL;
		colontmpD__7 = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_76);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T47_ = 0;
		tempSym_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), colontmpD__7, idgen_p2, owner_p3, (*body_p1).info, T47_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3381(&(*tempSym_1).typ, (*(*call_1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		temp_1 = newSymNode__ast_u5168(tempSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		v_2 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), (*body_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		addVar__lowerings_u34(v_2, temp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, v_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__8 = newAsgnStmt__lambdalifting_u159(temp_1, (*call_1)._kind_6.sons.p->data[((NI)0)], (*body_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3261(&(*call_1)._kind_6.sons.p->data[((NI)0)], temp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(v_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___idents_u155(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(tempSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA20_;
LA45_: ;
LA20_: ;
	loopBody_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*body_p1).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	whileLoop_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96), (*body_p1).info, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getSysType__magicsys_u55(g_p0, (*body_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T48_ = NIM_NIL;
	T48_ = newIntTypeNode__ast_u5387(IL64(1), colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA1_;}
	eqsink___ast_u3261(&(*whileLoop_1)._kind_6.sons.p->data[((NI)0)], T48_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*whileLoop_1)._kind_6.sons.p->data[((NI)1)], loopBody_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, whileLoop_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	v2_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100), (*body_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T49_ = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	{
		NI T52_;
		T52_ = (NI)0;
		T52_ = len__ast_u3190(body_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T52_ == ((NI)3))) goto LA53_;
		colontmpD__2 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35);
		T49_ = colontmpD__2;
	}
	goto LA50_;
LA53_: ;
	{
		colontmpD__3 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36);
		T49_ = colontmpD__3;
	}
LA50_: ;
	vpart_1 = newNodeI__ast_u4091(T49_, (*body_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T58_;
		NI T59_;
		T58_ = (NIM_BOOL)0;
		T59_ = (NI)0;
		T59_ = len__ast_u3190(body_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T58_ = (T59_ == ((NI)3));
		if (!(T58_)) goto LA60_;
		T58_ = ((*(*body_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36));
LA60_: ;
		if (!T58_) goto LA61_;
		eqcopy___ast_u3255(&vpart_1, (*body_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA56_;
LA61_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
		colontmpD__9 = NIM_NIL;
		{
			NI i_3;
			NI colontmp__2;
			NI T65_;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			T65_ = (NI)0;
			T65_ = len__ast_u3190(body_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmp__2 = (NI)(T65_ - ((NI)2));
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA67;
					i_3 = i_4;
					{
						if (!((*(*body_p1)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA70_;
						transitionToLet__ast_u6869((*(*body_p1)._kind_6.sons.p->data[i_3])._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA70_: ;
					add__ast_u3215(vpart_1, (*body_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					i_4 += ((NI)1);
				} LA67: ;
			}
		}
		colontmpD__9 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*body_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(vpart_1, colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA56_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T77_;
		if (!!((env_1 == 0))) goto LA74_;
		colontmpD__10 = NIM_NIL;
		colontmpD__10 = newSymNode__ast_u5168(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
		T77_ = NIM_NIL;
		T77_ = makeClosure__lambdalifting_u164(g_p0, idgen_p2, (*(*call_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, colontmpD__10, (*body_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T77_); goto LA76_;}
		eqsink___ast_u3261(&(*call_1)._kind_6.sons.p->data[((NI)0)], T77_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
		{
			LA76_:;
		}
		{
			oldNimErrFin76_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin76_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA74_: ;
	add__ast_u3215(vpart_1, call_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(v2_1, vpart_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___ast_u3261(&(*loopBody_1)._kind_6.sons.p->data[((NI)0)], v2_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___ast_u3249(&v2_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	bs_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)158), (*body_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(bs_1, (*call_1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	ibs_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92), (*body_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	elifBranch_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86), (*body_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(elifBranch_1, bs_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	br_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110), (*body_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(br_1, (*g_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(elifBranch_1, br_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(ibs_1, elifBranch_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___ast_u3261(&(*loopBody_1)._kind_6.sons.p->data[((NI)1)], ibs_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___ast_u3249(&ibs_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T80_ = (NI)0;
	T80_ = len__ast_u3190(body_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*loopBody_1)._kind_6.sons.p->data[((NI)2)], (*body_p1)._kind_6.sons.p->data[(NI)(T80_ - ((NI)1))]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(br_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(elifBranch_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ibs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(bs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(vpart_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(v2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(whileLoop_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(loopBody_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(env_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(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(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getClosureIterResult__lambdalifting_u61)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* iter_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190((*iter_p1).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(((NI)7) < T3_)) goto LA4_;
		eqcopy___ast_u4577(&result, (*(*(*iter_p1).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T7_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T8_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD_ = getIdent__idents_u206((*g_p0).cache, TM__PI7oJkFuxeeTWjPTjlNxqg_78);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T7_ = 0;
		result = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11), colontmpD_, idgen_p2, iter_p1, (*iter_p1).info, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T8_ = NIM_NIL;
		T8_ = returnType__ast_u5354((*iter_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T8_); goto BeforeRet_;}
		eqsink___ast_u3387(&(*result).typ, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
		colontmpD__2 = newSymNode__ast_u5168(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215((*iter_p1).ast, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getStateField__lambdalifting_u5183)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = getHiddenParam__lambdalifting_u111(g_p0, owner_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = skipTypes__ast_u5379((*colontmpD_).typ, TM__PI7oJkFuxeeTWjPTjlNxqg_7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u4577(&result, (*(*(*colontmpD__2).n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	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(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*, liftIterToProc__lambdalifting_u5542)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ptrType_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ d_1;
	tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q c_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q oldKind_1;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ oldCC_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym275__1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&d_1), sizeof(tyObject_DetectionPass__9b9bkUSoB1u9bCSGu79ceeisqQ));
	nimZeroMem((void*)(&c_1), sizeof(tyObject_LiftingPass__NDUUsTHqUynazLsfzatu4Q));
	initDetectionPass__lambdalifting_u303(g_p0, fn_p1, idgen_p4, (&d_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initLiftingPass__lambdalifting_u2525(fn_p1, (&c_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	oldKind_1 = (*fn_p1).kind;
	oldCC_1 = (*(*fn_p1).typ).callConv;
	transitionRoutineSymKind__ast_u6846(fn_p1, ((tyEnum_TSymKind__fzoDhZbHLwFaqo7QLPWQkQ)15));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*fn_p1).typ).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9);
	xX60gensym275__1 = (*fn_p1).itemId;
	colontmpD_ = eqdup___ast_u3384(ptrType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	X5BX5Deq___lambdalifting_u1075((&d_1.ownerToType), (NI)((NI)((NU32)(((NI) (xX60gensym275__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym275__1.item))), colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	detectCapturedVars__lambdalifting_u2297(body_p2, fn_p1, (&d_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = liftCapturedVars__lambdalifting_u5187(body_p2, fn_p1, (&d_1), (&c_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	transitionRoutineSymKind__ast_u6846(fn_p1, (oldKind_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*fn_p1).typ).callConv = oldCC_1;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lambdalifting_u2766((&c_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lambdalifting_u546((&d_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	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(NIM_BOOL, isGenericRoutine__ast_u7099)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = (((*s_p0).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2)))&63U)))!=0);
	if (T3_) goto LA4_;
	T3_ = isGenericRoutine__ast_u7081((*s_p0).ast);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, propagateClosure__lambdalifting_u5483)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* start_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* last_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* o_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	o_1 = NIM_NIL;
	eqcopy___ast_u4577(&o_1, start_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			NIM_BOOL T4_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T10_;
			T4_ = (NIM_BOOL)0;
			T4_ = !((o_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T4_)) goto LA5_;
			T4_ = !(((*o_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
LA5_: ;
			if (!T4_) goto LA3;
			{
				if (!(o_1 == last_p1)) goto LA8_;
				goto LA2;
			}
LA8_: ;
			(*(*o_1).typ).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9);
			T10_ = NIM_NIL;
			T10_ = skipGenericOwner__ast_u7111(o_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T10_); goto LA1_;}
			eqsink___ast_u4583(&o_1, T10_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	} LA2: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(o_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, semCaptureSym__lambdalifting_u5480)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = interestingVar__lambdalifting_u118(s_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_)) goto LA4_;
		T3_ = !(((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			NIM_BOOL T11_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* o_1;
			T9_ = (NIM_BOOL)0;
			T9_ = !(((*owner_p1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T9_)) goto LA10_;
			T11_ = (NIM_BOOL)0;
			T11_ = isGenericRoutine__ast_u7099(owner_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T9_ = !(T11_);
LA10_: ;
			if (!T9_) goto LA12_;
			o_1 = NIM_NIL;
			o_1 = skipGenericOwner__ast_u7111(owner_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				while (1) {
					NIM_BOOL T16_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T33_;
					T16_ = (NIM_BOOL)0;
					T16_ = !((o_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
					if (!(T16_)) goto LA17_;
					T16_ = !(((*o_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
LA17_: ;
					if (!T16_) goto LA15;
					colontmpD_ = NIM_NIL;
					{
						colontmpD_ = owner__ast_u6254(s_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!(colontmpD_ == o_1)) goto LA20_;
						{
							NIM_BOOL T24_;
							NIM_BOOL T25_;
							NIM_BOOL T28_;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
							T24_ = (NIM_BOOL)0;
							T25_ = (NIM_BOOL)0;
							T25_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
							if (T25_) goto LA26_;
							T25_ = ((*owner_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
LA26_: ;
							T24_ = T25_;
							if (T24_) goto LA27_;
							T28_ = (NIM_BOOL)0;
							T28_ = ((*(*owner_p1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)0));
							if (!(T28_)) goto LA29_;
							T28_ = !((((*(*owner_p1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42)))&63U)))!=0));
LA29_: ;
							T24_ = T28_;
LA27_: ;
							if (!T24_) goto LA30_;
							colontmpD__2 = NIM_NIL;
							colontmpD__3 = NIM_NIL;
							(*(*owner_p1).typ).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9);
							colontmpD__2 = skipGenericOwner__ast_u7111(owner_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							colontmpD__3 = owner__ast_u6254(s_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							propagateClosure__lambdalifting_u5483(colontmpD__2, colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u4574(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u4574(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						goto LA22_;
LA30_: ;
						{
						}
LA22_: ;
					}
LA20_: ;
					T33_ = NIM_NIL;
					T33_ = skipGenericOwner__ast_u7111(o_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T33_); goto BeforeRet_;}
					eqsink___ast_u4583(&o_1, T33_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u4574(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA15: ;
			}
			eqdestroy___ast_u4574(o_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
	}
LA5_: ;
	}BeforeRet_: ;
}
