/* Generated by Nim Compiler v2.2.4 */
#define NIM_INTBITS 64

#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_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
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__JArSTGkZV9bC6esVaXtV5AQ tyObject_Table__JArSTGkZV9bC6esVaXtV5AQ;
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__i84Wao44jI6syZk89agQa3A tyObject_Table__i84Wao44jI6syZk89agQa3A;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content;
typedef struct tyObject_Table__PP7WaQpDIVUGTt9a5wqrp2w tyObject_Table__PP7WaQpDIVUGTt9a5wqrp2w;
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_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_Table__EBxQTL6E9bw5fvLqaWTwfjg tyObject_Table__EBxQTL6E9bw5fvLqaWTwfjg;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg tySequence__fz0REU1l0nYmKHXgMLRrIg;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content tySequence__fz0REU1l0nYmKHXgMLRrIg_Content;
typedef struct tyObject_Table__9a6FPRm2dlvMYWS2z9bot9azw tyObject_Table__9a6FPRm2dlvMYWS2z9bot9azw;
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__cHiRnaNfFQX0bO8NeChGKw tyObject_Table__cHiRnaNfFQX0bO8NeChGKw;
typedef struct tySequence__v39a1OZ0bpQc9aC2dbEjYlPA tySequence__v39a1OZ0bpQc9aC2dbEjYlPA;
typedef struct tySequence__v39a1OZ0bpQc9aC2dbEjYlPA_Content tySequence__v39a1OZ0bpQc9aC2dbEjYlPA_Content;
typedef struct tyObject_Table__y1vW9cSD6Mnwig2jOdU5sZg tyObject_Table__y1vW9cSD6Mnwig2jOdU5sZg;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content tySequence__fIB1rTQ55aFonoft9a9bmljQ_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_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tySequence__9bffTLF0HkxjFCzZL8og4GA tySequence__9bffTLF0HkxjFCzZL8og4GA;
typedef struct tySequence__9bffTLF0HkxjFCzZL8og4GA_Content tySequence__9bffTLF0HkxjFCzZL8og4GA_Content;
typedef struct tyTuple__09aD69az7aYn14Gt61AHvLIA tyTuple__09aD69az7aYn14Gt61AHvLIA;
typedef struct tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw;
typedef struct tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content tySequence__E8pi9b5QNahsURYzXMjh3qw_Content;
typedef struct tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw;
typedef struct tySequence__bdNIx7Bah2llfuqeoTJEWQ tySequence__bdNIx7Bah2llfuqeoTJEWQ;
typedef struct tySequence__bdNIx7Bah2llfuqeoTJEWQ_Content tySequence__bdNIx7Bah2llfuqeoTJEWQ_Content;
typedef struct tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA;
typedef struct tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww;
typedef struct tySequence__AE2UIxl7EbPzzBnmYsjIcw tySequence__AE2UIxl7EbPzzBnmYsjIcw;
typedef struct tySequence__AE2UIxl7EbPzzBnmYsjIcw_Content tySequence__AE2UIxl7EbPzzBnmYsjIcw_Content;
typedef struct tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ;
typedef struct tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg;
typedef struct tySequence__tsHRsYLyvTCPLlGRExqi7Q tySequence__tsHRsYLyvTCPLlGRExqi7Q;
typedef struct tySequence__tsHRsYLyvTCPLlGRExqi7Q_Content tySequence__tsHRsYLyvTCPLlGRExqi7Q_Content;
typedef struct tySequence__lAikaRQvUF0uwNAz0U4FFA tySequence__lAikaRQvUF0uwNAz0U4FFA;
typedef struct tySequence__lAikaRQvUF0uwNAz0U4FFA_Content tySequence__lAikaRQvUF0uwNAz0U4FFA_Content;
typedef struct tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A;
typedef struct tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew;
typedef struct tySequence__4zAALtm0xUbRlYWQ2V8K7A tySequence__4zAALtm0xUbRlYWQ2V8K7A;
typedef struct tySequence__4zAALtm0xUbRlYWQ2V8K7A_Content tySequence__4zAALtm0xUbRlYWQ2V8K7A_Content;
typedef struct tyObject_HashSet__cx4zJRA9aTCfmpbY2J9bKwnQ tyObject_HashSet__cx4zJRA9aTCfmpbY2J9bKwnQ;
typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content;
typedef struct tyObject_Table__g77QNejuRRKraNk8K2YkoA tyObject_Table__g77QNejuRRKraNk8K2YkoA;
typedef struct tySequence__3B6hFqG0Do0FxDvnNucL7w tySequence__3B6hFqG0Do0FxDvnNucL7w;
typedef struct tySequence__3B6hFqG0Do0FxDvnNucL7w_Content tySequence__3B6hFqG0Do0FxDvnNucL7w_Content;
typedef struct tyObject_Table__toCaB3NxiVHPRVLgcez0Xg tyObject_Table__toCaB3NxiVHPRVLgcez0Xg;
typedef struct tySequence__QqvaCqCpEE1QmQZbcZLi5A tySequence__QqvaCqCpEE1QmQZbcZLi5A;
typedef struct tySequence__QqvaCqCpEE1QmQZbcZLi5A_Content tySequence__QqvaCqCpEE1QmQZbcZLi5A_Content;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tyTuple__kIcKc1aSJCixG4QCidyBAg tyTuple__kIcKc1aSJCixG4QCidyBAg;
typedef struct tySequence__KYLoGmc5aaHsSDjEH1FTxQ tySequence__KYLoGmc5aaHsSDjEH1FTxQ;
typedef struct tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content;
typedef struct tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ;
typedef struct tyTuple__QEtmrJl2wkbDhVzeJSgyBQ tyTuple__QEtmrJl2wkbDhVzeJSgyBQ;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ_Content tySequence__8Np6tlClE5az1CyqZdN19bQ_Content;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA;
typedef struct tyTuple__EJOd8NnRbGOjqpW2d6uq2g tyTuple__EJOd8NnRbGOjqpW2d6uq2g;
typedef struct tySequence__Cw89anHgi6Xla7dgB7Unvmw tySequence__Cw89anHgi6Xla7dgB7Unvmw;
typedef struct tySequence__Cw89anHgi6Xla7dgB7Unvmw_Content tySequence__Cw89anHgi6Xla7dgB7Unvmw_Content;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ tySequence__juxPMVNF1FoR2ltzeQu8NQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content;
typedef struct tyTuple__V6P73hvHy70PBBwharKjig tyTuple__V6P73hvHy70PBBwharKjig;
typedef struct tyObject_Partitions__b3asvfSDaO0FD04RolbF7A tyObject_Partitions__b3asvfSDaO0FD04RolbF7A;
typedef struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ;
typedef struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content;
typedef struct tySequence__9aee2Loc4nE9bvjjGuhsI78w tySequence__9aee2Loc4nE9bvjjGuhsI78w;
typedef struct tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content;
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__dOpm9cFTt2PU9bP8hN2TR8cA tyObject_Table__dOpm9cFTt2PU9bP8hN2TR8cA;
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 tyTuple__zExIg9bDTcVf2FHROUpzoow tyTuple__zExIg9bDTcVf2FHROUpzoow;
typedef struct tyTuple__Imb3Ip1lli9a9ceyNOElKADA tyTuple__Imb3Ip1lli9a9ceyNOElKADA;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
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 tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw;
typedef struct tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg;
typedef struct tyObject_Table__rIDniaYgWTEwlny3uhSy2w tyObject_Table__rIDniaYgWTEwlny3uhSy2w;
typedef struct tySequence__HKGx0ku9cD9aZMR2LhlVcUmA tySequence__HKGx0ku9cD9aZMR2LhlVcUmA;
typedef struct tySequence__HKGx0ku9cD9aZMR2LhlVcUmA_Content tySequence__HKGx0ku9cD9aZMR2LhlVcUmA_Content;
typedef struct tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw;
typedef struct tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ;
typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
typedef struct tyTuple__CH9a39cWKma9c9c9cYqCyX1wBsw tyTuple__CH9a39cWKma9c9c9cYqCyX1wBsw;
typedef struct tyTuple__EbsafWGli8bW2GRJQ9apsjA tyTuple__EbsafWGli8bW2GRJQ9apsjA;
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 tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg;
typedef struct tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q;
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 tyTuple__lGHLhAAUpxgfrnQkIzNrMw tyTuple__lGHLhAAUpxgfrnQkIzNrMw;
typedef struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA;
typedef struct tyTuple__AzwzwiNiQJfT9cPRYC53HhA tyTuple__AzwzwiNiQJfT9cPRYC53HhA;
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
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;
};
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_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 tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
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 tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
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__JArSTGkZV9bC6esVaXtV5AQ {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
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__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p;
};
struct tyObject_Table__i84Wao44jI6syZk89agQa3A {
	tySequence__fdmz6VkIf1ewwrssKYqRFg data;
	NI counter;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p;
};
struct tyObject_Table__PP7WaQpDIVUGTt9a5wqrp2w {
	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__EBxQTL6E9bw5fvLqaWTwfjg {
	tySequence__fz0REU1l0nYmKHXgMLRrIg data;
	NI counter;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ {
  NI len; tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content* p;
};
struct tyObject_Table__9a6FPRm2dlvMYWS2z9bot9azw {
	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__v39a1OZ0bpQc9aC2dbEjYlPA {
  NI len; tySequence__v39a1OZ0bpQc9aC2dbEjYlPA_Content* p;
};
struct tyObject_Table__cHiRnaNfFQX0bO8NeChGKw {
	tySequence__v39a1OZ0bpQc9aC2dbEjYlPA data;
	NI counter;
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
  NI len; tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content* p;
};
struct tyObject_Table__y1vW9cSD6Mnwig2jOdU5sZg {
	tySequence__fIB1rTQ55aFonoft9a9bmljQ 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__JArSTGkZV9bC6esVaXtV5AQ emittedTypeInfo;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ startupPackedConfig;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA deps;
	tyObject_Table__i84Wao44jI6syZk89agQa3A importDeps;
	NIM_BOOL suggestMode;
	NIM_BOOL invalidTransitiveClosure;
	NIM_BOOL interactive;
	NIM_BOOL withinSystem;
	tyObject_Table__PP7WaQpDIVUGTt9a5wqrp2w 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__EBxQTL6E9bw5fvLqaWTwfjg suggestSymbols;
	tyObject_Table__9a6FPRm2dlvMYWS2z9bot9azw 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__cHiRnaNfFQX0bO8NeChGKw canonTypes;
	tyObject_Table__y1vW9cSD6Mnwig2jOdU5sZg 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;
};
typedef NU16 tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw;
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
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_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__x62LCo0NsHSigsbcUGs9byw) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
struct tySequence__9bffTLF0HkxjFCzZL8og4GA {
  NI len; tySequence__9bffTLF0HkxjFCzZL8og4GA_Content* p;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
struct tyTuple__09aD69az7aYn14Gt61AHvLIA {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field0;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field1;
};
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU16 tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg;
typedef NU8 tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q;
typedef NimStringV2 tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
  NI len; tySequence__E8pi9b5QNahsURYzXMjh3qw_Content* p;
};
struct tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw {
	tySequence__E8pi9b5QNahsURYzXMjh3qw data;
	NI counter;
};
struct tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw {
	tySequence__9ahcSjIErJohSBBFLwuF56Q s;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g;
	NIM_BOOL beSmart;
};
struct tySequence__bdNIx7Bah2llfuqeoTJEWQ {
  NI len; tySequence__bdNIx7Bah2llfuqeoTJEWQ_Content* p;
};
struct tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* exc;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forbids;
	NI bottom;
	NI inTryStmt;
	NI inExceptOrFinallyStmt;
	NI leftPartOfAsgn;
	NI inIfStmt;
	NI currentBlock;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerModule;
	tySequence__qwqHTkRvwhrRyENtudHQ7g init;
	tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw scopes;
	tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw guards;
	tySequence__9ahcSjIErJohSBBFLwuF56Q locked;
	NIM_BOOL gcUnsafe;
	NIM_BOOL isRecursive;
	NIM_BOOL isTopLevel;
	NIM_BOOL hasSideEffect;
	NIM_BOOL inEnforcedGcSafe;
	NIM_BOOL isInnerProc;
	NIM_BOOL inEnforcedNoSideEffects;
	tySequence__9bffTLF0HkxjFCzZL8og4GA unknownRaises;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ currOptions;
	tySequence__bdNIx7Bah2llfuqeoTJEWQ optionsStack;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph;
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA escapingParams;
};
typedef NU8 tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA;
struct tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA mutatedHere;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA connectedVia;
	tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA flags;
	NI maxMutation;
	NI minConnection;
	tySequence__qwqHTkRvwhrRyENtudHQ7g mutations;
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ {
	RootObj Sup;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
};
struct tySequence__AE2UIxl7EbPzzBnmYsjIcw {
  NI len; tySequence__AE2UIxl7EbPzzBnmYsjIcw_Content* p;
};
typedef tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tyArray__wpKe6cP5WSIeg2SOAYqA6Q[38];
struct tySequence__tsHRsYLyvTCPLlGRExqi7Q {
  NI len; tySequence__tsHRsYLyvTCPLlGRExqi7Q_Content* p;
};
struct tySequence__lAikaRQvUF0uwNAz0U4FFA {
  NI len; tySequence__lAikaRQvUF0uwNAz0U4FFA_Content* p;
};
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__Yik7hgYZHhPeLJ5RsXTPqg) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
typedef NU32 tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg;
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__JIyBW5s9ba7hfYBnWxDVvgg) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__iXlRd9cBAN0CQpA5dkyhRvw) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__7FLV9alRQFu6LOhr9bksExQQ) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, void* ClE_0);
void* ClE_0;
} tyProc__0qHBYUhlP28E2DV7mVNNAg;
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__1nD4dBuhjTAOzMZJo9bmgog) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
typedef NU32 tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__209aOewTLBT6nbWmyvOQFiw) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p5);
typedef N_NIMCALL_PTR(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, tyProc__D9aXgBooMpgLrPTmha6q31w) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
typedef struct {
N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, ClP_0) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* pt_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, void* ClE_0);
void* ClE_0;
} tyProc__GbPSPD9bjvt0RIJnnVTczJA;
typedef struct {
N_NIMCALL_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, ClP_0) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* pt_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, void* ClE_0);
void* ClE_0;
} tyProc__iDJMP540ifFac3zJ49bj2cA;
typedef struct {
N_NIMCALL_PTR(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, ClP_0) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* pt_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, void* ClE_0);
void* ClE_0;
} tyProc__gq9a76bauTeymgreaiTI9cmg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2, void* ClE_0);
void* ClE_0;
} tyProc__Gji0NjiFFDU49aJiF3QZF8A;
struct tySequence__4zAALtm0xUbRlYWQ2V8K7A {
  NI len; tySequence__4zAALtm0xUbRlYWQ2V8K7A_Content* p;
};
typedef NU8 tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q;
typedef N_NIMCALL_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, tyProc__UAj9bGJLVN9cwAsTcRZFyWmg) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dc_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p4, NI col_p5);
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
  NI len; tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content* p;
};
struct tyObject_HashSet__cx4zJRA9aTCfmpbY2J9bKwnQ {
	tySequence__Bis5AbpONWcIRrPyPJS8Yw data;
	NI counter;
};
struct tySequence__3B6hFqG0Do0FxDvnNucL7w {
  NI len; tySequence__3B6hFqG0Do0FxDvnNucL7w_Content* p;
};
struct tyObject_Table__g77QNejuRRKraNk8K2YkoA {
	tySequence__3B6hFqG0Do0FxDvnNucL7w data;
	NI counter;
};
struct tySequence__QqvaCqCpEE1QmQZbcZLi5A {
  NI len; tySequence__QqvaCqCpEE1QmQZbcZLi5A_Content* p;
};
struct tyObject_Table__toCaB3NxiVHPRVLgcez0Xg {
	tySequence__QqvaCqCpEE1QmQZbcZLi5A data;
	NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__bvRec9bo79ajqrJt3Bkg9c33w) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p2);
struct tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw {
	tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ Sup;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* enforceVoidContext;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* voidType;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* currentScope;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* moduleScope;
	tySequence__AE2UIxl7EbPzzBnmYsjIcw imports;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* topLevelScope;
	tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* p;
	tyArray__wpKe6cP5WSIeg2SOAYqA6Q intTypeCache;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* nilTypeCache;
	tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg* matchedConcept;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA friendModules;
	NI instCounter;
	NI* templInstCounter;
	NI inGenericContext;
	NI inStaticContext;
	NI inUnrolledContext;
	NI compilesContextId;
	NI compilesContextIdGenerator;
	NI inGenericInst;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA converters;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA patterns;
	tySequence__tsHRsYLyvTCPLlGRExqi7Q optionStack;
	tySequence__lAikaRQvUF0uwNAz0U4FFA libs;
	tyProc__Yik7hgYZHhPeLJ5RsXTPqg semConstExpr;
	tyProc__JIyBW5s9ba7hfYBnWxDVvgg semExpr;
	tyProc__JIyBW5s9ba7hfYBnWxDVvgg semExprWithType;
	tyProc__iXlRd9cBAN0CQpA5dkyhRvw semTryExpr;
	tyProc__Yik7hgYZHhPeLJ5RsXTPqg semTryConstExpr;
	tyProc__7FLV9alRQFu6LOhr9bksExQQ computeRequiresInit;
	tyProc__0qHBYUhlP28E2DV7mVNNAg hasUnresolvedArgs;
	tyProc__iXlRd9cBAN0CQpA5dkyhRvw semOperand;
	tyProc__1nD4dBuhjTAOzMZJo9bmgog semConstBoolExpr;
	tyProc__209aOewTLBT6nbWmyvOQFiw semOverloadedCall;
	tyProc__D9aXgBooMpgLrPTmha6q31w semTypeNode;
	tyProc__GbPSPD9bjvt0RIJnnVTczJA semInferredLambda;
	tyProc__iDJMP540ifFac3zJ49bj2cA semGenerateInstance;
	tyProc__gq9a76bauTeymgreaiTI9cmg instantiateOnlyProcType;
	tyProc__Gji0NjiFFDU49aJiF3QZF8A fitDefaultNode;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA includedFiles;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg pureEnumFields;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg userPragmas;
	tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew* evalContext;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA unknownIdents;
	tySequence__4zAALtm0xUbRlYWQ2V8K7A generics;
	NI topStmts;
	NI lastGenericIdx;
	NI hloLoopDetector;
	NI inParallelStmt;
	tyProc__UAj9bGJLVN9cwAsTcRZFyWmg instTypeBoundOp;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg signatures;
	NimStringV2 recursiveDep;
	NIM_BOOL suggestionsMade;
	NIM_BOOL isAmbiguous;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	NI inTypeContext;
	NI inConceptDecl;
	tySequence__9bffTLF0HkxjFCzZL8og4GA unusedImports;
	tyObject_HashSet__cx4zJRA9aTCfmpbY2J9bKwnQ exportIndirections;
	tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw importModuleMap;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastTLineInfo;
	tyObject_Table__g77QNejuRRKraNk8K2YkoA sideEffects;
	NI inUncheckedAssignSection;
	tyObject_Table__toCaB3NxiVHPRVLgcez0Xg importModuleLookup;
	tySequence__9ahcSjIErJohSBBFLwuF56Q skipTypes;
	NI inTypeofContext;
	tyProc__bvRec9bo79ajqrJt3Bkg9c33w semAsgnOpr;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU8 tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w[13];
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__JArSTGkZV9bC6esVaXtV5AQ 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 NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
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__cEzzaeCrXWo9cfLClsd4c3w modifiedyNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w cmdlineNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w foreignPackageNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w notes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w warningAsErrors;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w 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;
};
struct tyTuple__kIcKc1aSJCixG4QCidyBAg {
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ Field0;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w Field1;
};
typedef NU8 tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
struct tySequence__KYLoGmc5aaHsSDjEH1FTxQ {
  NI len; tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content* p;
};
struct tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field1;
};
typedef NU16 tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ;
typedef NU8 tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef NU8 tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w;
typedef NU8 tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw[21];
typedef NU8 tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw;
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
struct tyTuple__QEtmrJl2wkbDhVzeJSgyBQ {
	NIM_BOOL Field0;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q Field1;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
  NI len; tySequence__8Np6tlClE5az1CyqZdN19bQ_Content* p;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
	NI Field0;
	NI Field1;
};
typedef NU8 tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg;
struct tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA {
	NI oldLocked;
	NIM_BOOL enforcedGcSafety;
	NIM_BOOL enforceNoSideEffects;
	NI oldExc;
	NI oldTags;
	NI oldForbids;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* exc;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forbids;
};
struct tyTuple__EJOd8NnRbGOjqpW2d6uq2g {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
};
struct tySequence__Cw89anHgi6Xla7dgB7Unvmw {
  NI len; tySequence__Cw89anHgi6Xla7dgB7Unvmw_Content* p;
};
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ {
  NI len; tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content* p;
};
struct tyTuple__V6P73hvHy70PBBwharKjig {
	NI Field0;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field1;
};
struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ {
  NI len; tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content* p;
};
struct tySequence__9aee2Loc4nE9bvjjGuhsI78w {
  NI len; tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content* p;
};
typedef NU8 tySet_tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g;
struct tyObject_Partitions__b3asvfSDaO0FD04RolbF7A {
	NI abstractTime;
	tySequence__9ahcSjIErJohSBBFLwuF56Q defers;
	NIM_BOOL processDefer;
	tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ s;
	tySequence__9aee2Loc4nE9bvjjGuhsI78w graphs;
	tySet_tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g goals;
	NIM_BOOL unanalysableMutation;
	NI inAsgnSource;
	NI inConstructor;
	NI inNoSideEffectSection;
	NI inConditional;
	NI inLoop;
	NI inConvHasDestructor;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g;
};
typedef NimStringV2 tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
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__dOpm9cFTt2PU9bP8hN2TR8cA {
	tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data;
	NI counter;
};
struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ {
	NI32 thisModule;
	NI32 lastFile;
	NU32 lastLit;
	tyObject_Table__dOpm9cFTt2PU9bP8hN2TR8cA 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;
	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 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__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__Imb3Ip1lli9a9ceyNOElKADA {
	NI Field0;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__v39a1OZ0bpQc9aC2dbEjYlPA_Content { NI cap; tyTuple__Imb3Ip1lli9a9ceyNOElKADA data[SEQ_DECL_SIZE]; };
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
	NI Field0;
	NI Field1;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content { NI cap; tyTuple__OJFzEczluV8Jmo9bRpBfkzw 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 tySequence__9bffTLF0HkxjFCzZL8og4GA_Content { NI cap; tyTuple__09aD69az7aYn14Gt61AHvLIA data[SEQ_DECL_SIZE]; };
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
	NI Field0;
	NI Field1;
	NI Field2;
};
struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content { NI cap; tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE]; };
struct tySequence__bdNIx7Bah2llfuqeoTJEWQ_Content { NI cap; tyTuple__kIcKc1aSJCixG4QCidyBAg data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_ImportMode__rHuf2PYQqUqEBlVu227wVQ;
struct tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m;
	tyEnum_ImportMode__rHuf2PYQqUqEBlVu227wVQ mode;
union{
	struct {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA imported;
} _mode_2;
	struct {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA exceptSet;
} _mode_3;
};
};
struct tySequence__AE2UIxl7EbPzzBnmYsjIcw_Content { NI cap; tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw data[SEQ_DECL_SIZE]; };
struct tySequence__tsHRsYLyvTCPLlGRExqi7Q_Content { NI cap; tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* data[SEQ_DECL_SIZE]; };
struct tySequence__lAikaRQvUF0uwNAz0U4FFA_Content { NI cap; tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* data[SEQ_DECL_SIZE]; };
struct tySequence__HKGx0ku9cD9aZMR2LhlVcUmA {
  NI len; tySequence__HKGx0ku9cD9aZMR2LhlVcUmA_Content* p;
};
struct tyObject_Table__rIDniaYgWTEwlny3uhSy2w {
	tySequence__HKGx0ku9cD9aZMR2LhlVcUmA data;
	NI counter;
};
struct tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A {
	tyObject_Table__rIDniaYgWTEwlny3uhSy2w topLayer;
	tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* nextLayer;
	NI previousLen;
};
struct tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* genericSym;
	tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst;
};
struct tySequence__4zAALtm0xUbRlYWQ2V8K7A_Content { NI cap; tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw data[SEQ_DECL_SIZE]; };
struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
	NI Field0;
	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
};
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content { NI cap; tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE]; };
struct tyTuple__CH9a39cWKma9c9c9cYqCyX1wBsw {
	NI Field0;
	NI Field1;
	tySequence__KYLoGmc5aaHsSDjEH1FTxQ Field2;
};
struct tySequence__3B6hFqG0Do0FxDvnNucL7w_Content { NI cap; tyTuple__CH9a39cWKma9c9c9cYqCyX1wBsw data[SEQ_DECL_SIZE]; };
struct tyTuple__EbsafWGli8bW2GRJQ9apsjA {
	NI Field0;
	NI Field1;
	tySequence__qwqHTkRvwhrRyENtudHQ7g Field2;
};
struct tySequence__QqvaCqCpEE1QmQZbcZLi5A_Content { NI cap; tyTuple__EbsafWGli8bW2GRJQ9apsjA data[SEQ_DECL_SIZE]; };
typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8];
struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* next;
	NI key;
	tyArray__VqSA39cBDWnwnJySTumCdjw bits;
};
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__KYLoGmc5aaHsSDjEH1FTxQ_Content { NI cap; tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ data[SEQ_DECL_SIZE]; };
struct tySequence__8Np6tlClE5az1CyqZdN19bQ_Content { NI cap; tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE]; };
struct tySequence__Cw89anHgi6Xla7dgB7Unvmw_Content { NI cap; tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA data[SEQ_DECL_SIZE]; };
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content { NI cap; tyTuple__V6P73hvHy70PBBwharKjig data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA;
struct tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q {
	tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA kind;
union{
	NI parent;
	NI graphIndex;
};
};
typedef NU8 tySet_tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ;
struct tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg {
	tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q con;
	tySet_tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ flags;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI reassignedTo;
	NI aliveStart;
	NI aliveEnd;
	tySequence__qwqHTkRvwhrRyENtudHQ7g borrowsFrom;
};
struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content { NI cap; tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg data[SEQ_DECL_SIZE]; };
struct tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content { NI cap; tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA data[SEQ_DECL_SIZE]; };
struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
	NU32 Field0;
	NimStringV2 Field1;
};
struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content { NI cap; tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE]; };
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE]; };
struct tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w {
	NU32 x;
	NU32 info;
};
struct tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content { NI cap; tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w data[SEQ_DECL_SIZE]; };
struct tyTuple__48iPM3yLBKU5nyEuYwJvuQ {
	NI32 Field0;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw Field1;
};
struct tySequence__ezS5mGPcRfBURJyMgqYVzA_Content { NI cap; tyTuple__48iPM3yLBKU5nyEuYwJvuQ data[SEQ_DECL_SIZE]; };
struct tyTuple__R3ddFrA0G9buJY57Qhf9cTpg {
	NI32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content { NI cap; tyTuple__R3ddFrA0G9buJY57Qhf9cTpg data[SEQ_DECL_SIZE]; };
struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
	NU32 Field0;
	NI32 Field1;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE]; };
struct tyTuple__7rmdAMLZ8fDd79brQn2ixZA {
	NU32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content { NI cap; tyTuple__7rmdAMLZ8fDd79brQn2ixZA data[SEQ_DECL_SIZE]; };
struct tyTuple__qPXRCRNQuZLLKto7CIIEzw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__YYy1721YAuPF0ajBYHd8Wg_Content { NI cap; tyTuple__qPXRCRNQuZLLKto7CIIEzw data[SEQ_DECL_SIZE]; };
struct tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig key;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw concreteTypes;
};
struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content { NI cap; tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg data[SEQ_DECL_SIZE]; };
struct tyTuple__6kG8KAxm9aXPdLdlxcxqJJw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content { NI cap; tyTuple__6kG8KAxm9aXPdLdlxcxqJJw data[SEQ_DECL_SIZE]; };
struct tyTuple__TRK7rrwoha9bbDAdPWsqJMw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	NI Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content { NI cap; tyTuple__TRK7rrwoha9bbDAdPWsqJMw data[SEQ_DECL_SIZE]; };
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content { NI cap; tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A;
struct tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg {
	tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A kind;
	NIM_BOOL generated;
	NIM_BOOL isOverridden;
	NU32 name;
	NI32 path;
};
struct tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw {
	NI32 id;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
	NU32 name;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typ;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	NU32 info;
	NI32 ast;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig guard;
	NI bitsize;
	NI alignment;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	NU32 externalName;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg locFlags;
	tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg annex;
	NI32 constraint;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig instantiatedFrom;
};
struct tyTuple__V1VWX9bHapuzCjpMfFfys5Q {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw Field3;
};
struct tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content { NI cap; tyTuple__V1VWX9bHapuzCjpMfFfys5Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ {
	NI32 id;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw types;
	NI32 n;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typeInst;
	NI32 nonUniqueId;
};
struct tyTuple__anemVmHCFglLFt6LiEhFvg {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ Field3;
};
struct tySequence__qyyNkmlc4fzOzelC8spUkQ_Content { NI cap; tyTuple__anemVmHCFglLFt6LiEhFvg data[SEQ_DECL_SIZE]; };
struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content { NI cap; NI64 data[SEQ_DECL_SIZE]; };
struct tyTuple__MaWaKZwaGUqCXKsSK12rVg {
	NU32 Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__orxtl6CusdjXleqrxi67gw_Content { NI cap; tyTuple__MaWaKZwaGUqCXKsSK12rVg data[SEQ_DECL_SIZE]; };
struct tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field3;
};
struct tySequence__K0j67V58u5FW0dCC534FQw_Content { NI cap; tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA data[SEQ_DECL_SIZE]; };
struct tyTuple__1xWeGeoNoZxaLhTUDDWYyA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field3;
};
struct tySequence__UE4b6iUkm1b3zTPamTTkDw_Content { NI cap; tyTuple__1xWeGeoNoZxaLhTUDDWYyA data[SEQ_DECL_SIZE]; };
struct tyTuple__MZVSn3SE3XUBJOaMu7ofRQ {
	NI Field0;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field1;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw Field2;
};
struct tySequence__FmsTQiIcS9arxHxs3QY48vA_Content { NI cap; tyTuple__MZVSn3SE3XUBJOaMu7ofRQ data[SEQ_DECL_SIZE]; };
struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
	NI Field0;
	NI32 Field1;
	NU32 Field2;
};
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content { NI cap; tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE]; };
struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
};
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content { NI cap; tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ {
  NI len; tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content* p;
};
struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA {
	NI module;
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ sym;
	tySequence__YxH9cgSorHRI8ZPzHf47NNQ concreteTypes;
	tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst;
};
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content { NI cap; tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA data[SEQ_DECL_SIZE]; };
struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw {
	NI Field0;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field1;
};
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content { NI cap; tyTuple__lGHLhAAUpxgfrnQkIzNrMw data[SEQ_DECL_SIZE]; };
struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA {
	NU16 line;
	NI16 col;
};
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content { NI cap; tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA data[SEQ_DECL_SIZE]; };
struct tySequence__yUWoZehF86MIc40opFgacw_Content { NI cap; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content { NI cap; tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* data[SEQ_DECL_SIZE]; };
struct tyTuple__AzwzwiNiQJfT9cPRYC53HhA {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__HKGx0ku9cD9aZMR2LhlVcUmA_Content { NI cap; tyTuple__AzwzwiNiQJfT9cPRYC53HhA data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content { NI cap; tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3240)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3237)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
static N_INLINE(NI, len__ast_u3175)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NimStringV2, toFileLineCol__msgs_u701)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info_p0);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1718)(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(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_u187)(NimStringV2* result_p0, NI64 x_p1);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_u1594)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 errMsg_p2, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2627)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__ast_u4085)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, effectSpec__trees_u307)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw effectType_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3246)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3234)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4076)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, propSpec__trees_u329)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw effectType_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, checkRaisesSpec__sempass2_u7596)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NIM_BOOL emitWarnings_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* spec_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* real_p3, NimStringV2 msg_p4, NIM_BOOL hints_p5, tyProc__x62LCo0NsHSigsbcUGs9byw effectPredicate_p6, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* hintsArg_p7, NIM_BOOL isForbids_p8, tySequence__9bffTLF0HkxjFCzZL8og4GA unknownRaises_p9);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_u37)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
static N_INLINE(NI, safeLen__ast_u3182)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_u366)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext__msgs_u569)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 detail_p2);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5187)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1223)(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(NimStringV2, renderTree__renderer_u59)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg renderFlags_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, typeToString__types_u54)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, popInfoContext__msgs_u593)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_u2848)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u230)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, subtypeRelation__sempass2_u7586)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* spec_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* real_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3366)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(NI, safeInheritanceDiff__types_u3499)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, excType__sempass2_u5407)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getEbase__sempass2_u5403)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, sysTypeFromName__magicsys_u49)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 name_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5358)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3363)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___modulegraphs_u14747)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw** dest_p0, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u235)(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u8004)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3067)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3454)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u450)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmdef_u2009)(tySequence__E8pi9b5QNahsURYzXMjh3qw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3681)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u13521)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u3485)(tySequence__9bffTLF0HkxjFCzZL8og4GA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___cgendata_u1267)(tySequence__bdNIx7Bah2llfuqeoTJEWQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1750)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3470)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u66)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u100)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u14744)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasRealBody__sempass2_u8118)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, initEffects__sempass2_u7933)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p3, tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* Result);
N_LIB_PRIVATE N_NIMCALL(void, rawInitEffects__sempass2_u7926)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3243)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, eqdup___ast_u4564)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getModule__astalgo_u156)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4558)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw*, eqdup___modulegraphs_u14750)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*, eqdup___options_u2140)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*, eqdup___semdata_u4389)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* src_p0, NIM_BOOL cyclic_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3690)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7205)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5333)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4561)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sempass2_u2227)(tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw* t_p0, NI key_p1, NI val_p2);
N_LIB_PRIVATE N_NIMCALL(void, track__sempass2_u5570)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, useVar__sempass2_u5262)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocalSym__sempass2_u2035)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
static N_INLINE(NIM_BOOL, isOutParam__ast_u7626)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6233)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u1540)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI y_p1);
static N_INLINE(NIM_BOOL, contains__sigmatch_u5088)(NI* a_p0, NI a_p0Len_0, NI item_p1);
static N_INLINE(NI, find__sigmatch_u5093)(NI* a_p0, NI a_p0Len_0, NI item_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, requiresInit__typeallowed_u557)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, useVarNoInitCheck__sempass2_u4088)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(void, guardGlobal__sempass2_u2074)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard_p2);
static N_INLINE(NIM_BOOL, isGCedMem__ast_u6592)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass2_u3457)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* reason_p1);
N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass2_u4124)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* reason_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA useLoc_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u5223)(tySequence__KYLoGmc5aaHsSDjEH1FTxQ* x_p0, tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ y_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__KYLoGmc5aaHsSDjEH1FTxQ*, mgetOrPut__sempass2_u4203)(tyObject_Table__g77QNejuRRKraNk8K2YkoA* t_p0, NI key_p1, tySequence__KYLoGmc5aaHsSDjEH1FTxQ val_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_u1815)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1, tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass2_u5433)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefectException__types_u3521)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, throws__sempass2_u5386)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyTree__ast_u6862)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3200)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__sempass2_u2010)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, NIM_BOOL explicit_p3);
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);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, createRaise__sempass2_u5419)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNode__ast_u4054)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3372)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass2_u6710)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getConstExpr__semfold_u69)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p3);
N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass2_u6119)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* reason_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA useLoc_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSym__ast_u4189)(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);
static N_INLINE(NIM_BOOL, hasWarn__options_u614)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w note_p1);
N_LIB_PRIVATE N_NIMCALL(void, warnAboutGcUnsafe__sempass2_u3454)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass2_u3464)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* reason_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u4567)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, propagateEffects__sempass2_u5831)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u5844)(tySequence__9bffTLF0HkxjFCzZL8og4GA* x_p0, tyTuple__09aD69az7aYn14Gt61AHvLIA y_p1);
N_LIB_PRIVATE N_NIMCALL(void, mergeRaises__sempass2_u5467)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(void, mergeTags__sempass2_u5475)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(void, addTag__sempass2_u5447)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, createTag__sempass2_u5426)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NIM_BOOL, isNoEffectList__sempass2_u6007)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isForwardedProc__sempass2_u5797)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIndirectCall__sempass2_u5754)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, assumeTheWorst__sempass2_u5976)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* op_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass2_u5820)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, trackOperandForIndirectCall__sempass2_u6040)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formals_p2, NI argIndex_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caller_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConvCastAndClosure__astalgo_u60)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConv__types_u3718)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, isTrival__sempass2_u6029)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caller_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass2_u5980)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NI, signatureLen__ast_u5589)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_u610)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(void, makeVolatile__sempass2_u2148)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2143)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass2_u5906)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_p2);
N_LIB_PRIVATE N_NIMCALL(void, procVarCheck__sempass2_u5886)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypesOrNil__ast_u6577)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode__ast_u6979)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kinds_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesNotNil__guards_u802)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p1);
N_LIB_PRIVATE N_NIMCALL(void, initVarViaNew__sempass2_u3436)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenDeref__sempass2_u3242)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass2_u3249)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL volatileCheck_p2);
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sempass2_u3363)(tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u4555)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0);
static N_INLINE(NIM_BOOL, hasElementType__ast_u5639)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5310)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5260)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass2_u6655)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arr_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idx_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass2_u6651)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, proveLe__guards_u1542)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lowBound__guards_u230)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, highBound__guards_u234)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p2);
N_LIB_PRIVATE N_NIMCALL(tyTuple__QEtmrJl2wkbDhVzeJSgyBQ, findHookKind__sempass2_u6687)(NimStringV2 name_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuNormalize)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1726)(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(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getAttachedOp__modulegraphs_u4989)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, replaceHookMagic__semdata_u7895)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q kind_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass2_u6674)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass2_u30)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newType__ast_u5879)(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, add__ast_u3866)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenAddr__ast_u7605)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDangerousLocation__semstrictfuncs_u6)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
N_LIB_PRIVATE N_NIMCALL(void, guardDotAccess__sempass2_u2090)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupInRecord__astalgo_u30)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* field_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4080)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NI children_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5147)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTree__guards_u545)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkFieldAccess__guards_u1676)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, NIM_BOOL produceError_p3);
N_LIB_PRIVATE N_NIMCALL(void, trackTryStmt__sempass2_u5573)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, addToIntersection__sempass2_u5327)(tySequence__8Np6tlClE5az1CyqZdN19bQ* inter_p0, NI s_p1, tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg state_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u5356)(tySequence__8Np6tlClE5az1CyqZdN19bQ* x_p0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass2_u5511)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0);
N_LIB_PRIVATE N_NIMCALL(void, setLen__ast_u3703)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_u7304)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, catches__sempass2_u5488)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* e_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__pureZosproc_u379)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___types_u1558)(tySequence__8Np6tlClE5az1CyqZdN19bQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, trackPragmaStmt__sempass2_u5808)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichPragma__trees_u218)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, listEffects__sempass2_u5483)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0);
N_LIB_PRIVATE N_NIMCALL(void, processPushBackendOption__pushpoppragmas_u288)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tySequence__bdNIx7Bah2llfuqeoTJEWQ* optionsStack_p1, tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ* options_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p3, NI start_p4);
N_LIB_PRIVATE N_NIMCALL(void, popBackendOption__pushpoppragmas_u230)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tySequence__bdNIx7Bah2llfuqeoTJEWQ* optionsStack_p1, tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ* options_p2);
N_LIB_PRIVATE N_NIMCALL(void, addAsgnFact__guards_u1619)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipPragmaExpr__ast_u4032)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(void, varDecl__sempass2_u2159)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, trackCase__sempass2_u6359)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, interestingCaseExpr__guards_u114)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_p0);
N_LIB_PRIVATE N_NIMCALL(void, addCaseBranchFacts__guards_u1638)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI i_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg, breaksBlock__sempass2_u6276)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, addIdToIntersection__sempass2_u6311)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tySequence__8Np6tlClE5az1CyqZdN19bQ* inter_p1, NI* resCounter_p2, tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg hasBreaksBlock_p3, NI oldState_p4, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* resSym_p5, NIM_BOOL hasResult_p6);
N_LIB_PRIVATE N_NIMCALL(void, trackIf__sempass2_u6476)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, addFact__guards_u476)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nn_p1);
N_LIB_PRIVATE N_NIMCALL(void, addFactNeg__guards_u497)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, trackBlock__sempass2_u6586)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubnodeWith__ast_u7000)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__ast_u7646)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, fromSystem__astalgo_u184)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p0);
N_LIB_PRIVATE N_NIMCALL(void, addFactLe__guards_u1553)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(void, addFactLt__guards_u1561)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(void, addDiscriminantFact__guards_u1611)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipColon__ast_u7318)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass2_u6977)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* Result);
N_LIB_PRIVATE N_NIMCALL(void, lockLocations__sempass2_u2062)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3210)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass2_u7070)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_p1, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p2);
N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass2_u7033)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p1);
N_LIB_PRIVATE N_NIMCALL(void, unapplyBlockContext__sempass2_u7036)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p1);
N_LIB_PRIVATE N_NIMCALL(void, addNotTag__sempass2_u5457)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u6991)(tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, trackInnerProc__sempass2_u7089)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getBody__modulegraphs_u17859)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, loadProcBody__icZic_u21211)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p1, tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg* g_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p3);
N_LIB_PRIVATE N_NIMCALL(void, collectObjectTree__sempass2_u374)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5327)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__EJOd8NnRbGOjqpW2d6uq2g, getObjDepth__sempass2_u125)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__Cw89anHgi6Xla7dgB7Unvmw, newSeq__sempass2_u149)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u233)(tySequence__Cw89anHgi6Xla7dgB7Unvmw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u282)(tySequence__Cw89anHgi6Xla7dgB7Unvmw* x_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA y_p1);
static N_INLINE(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA*, X5BX5D___sempass2_u307)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA* s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sempass2_u442)(tyObject_Table__fZyCWkMwhdvr3pauCNDaag* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tySequence__juxPMVNF1FoR2ltzeQu8NQ val_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sempass2_u1733)(tyObject_Table__fZyCWkMwhdvr3pauCNDaag t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3360)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u1947)(tySequence__juxPMVNF1FoR2ltzeQu8NQ* x_p0, tyTuple__V6P73hvHy70PBBwharKjig y_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__juxPMVNF1FoR2ltzeQu8NQ*, X5BX5D___sempass2_u1862)(tyObject_Table__fZyCWkMwhdvr3pauCNDaag* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allowCStringConv__sempass2_u7152)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCharArrayPtr__types_u4221)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, NIM_BOOL allowPointerToChar_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass2_u6659)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, errorToString__errorhandling_u83)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_u4190)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(NIM_BOOL, isClosure__ast_u7412)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass2_u6622)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, computeGraphPartitions__varpartitions_u2113)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tySet_tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g goals_p3, tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* Result);
N_LIB_PRIVATE N_NIMCALL(void, checkBorrowedLocations__varpartitions_u2564)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* par_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2169)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass2_u3526)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, NIM_BOOL onlyWarning_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2);
N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass2_u3482)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, NIM_BOOL onlyWarning_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* cycleCheck_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astyaml_u223)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass2_u4082)(NimStringV2* result_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* context_p3);
N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringV2* s_p0, NimStringV2 formatstr_p1, NimStringV2* a_p2, NI a_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass2_u3531)(NimStringV2* result_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* cycleCheck_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* context_p4, NI indentLevel_p5);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__sempass2_u3596)(tyObject_Table__g77QNejuRRKraNk8K2YkoA t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___semdata_u3779)(tySequence__KYLoGmc5aaHsSDjEH1FTxQ* dest_p0, tySequence__KYLoGmc5aaHsSDjEH1FTxQ src_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__KYLoGmc5aaHsSDjEH1FTxQ*, X5BX5D___sempass2_u3917)(tyObject_Table__g77QNejuRRKraNk8K2YkoA* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuRepeatStr)(NimStringV2 s_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___msgs_u710)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u3776)(tySequence__KYLoGmc5aaHsSDjEH1FTxQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkNil__nilcheck_u11445)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3);
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_3 = {0, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_2};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_4 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_5 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_4};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_6 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_7 = {2, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_6};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_8 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_9 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_8};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_11 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/sempass2.nim" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_12 = {0, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_2};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_14 = { 1 | NIM_STRLIT_FLAG, " " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_15 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_14};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_17 = { 22 | NIM_STRLIT_FLAG, "\'$1\' cannot raise \'$2\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_18 = {22, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_17};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_20 = { 33 | NIM_STRLIT_FLAG, "can raise an unlisted exception: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_21 = {33, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_20};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_22 = { 9 | NIM_STRLIT_FLAG, "Exception" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_23 = {9, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_22};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_24 = {
0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_25 = { 29 | NIM_STRLIT_FLAG, "can have an unlisted effect: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_26 = {29, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_25};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_27 = { 23 | NIM_STRLIT_FLAG, "has an illegal effect: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_28 = {23, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_27};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_29 = { 39 | NIM_STRLIT_FLAG, "base method is GC-safe, but \'$1\' is not" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_30 = {39, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_29};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_33 = { 39 | NIM_STRLIT_FLAG, "\'let\' symbol requires an initialization" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_34 = {39, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_33};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_37 = { 18 | NIM_STRLIT_FLAG, "unguarded access: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_38 = {18, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_37};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_40 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_42 = { 10 | NIM_STRLIT_FLAG, "RootEffect" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_43 = {10, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_42};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_45 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_46 = { 15 | NIM_STRLIT_FLAG, " is not GC safe" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_47 = {15, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_46};
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_49 = { 64 | NIM_STRLIT_FLAG, "\'$1\' is a built-in and cannot be used as a first-class procedure" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_50 = {64, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_49};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_52 = {
0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw TM__wkTG4eaV3t1uo3x09apjcwA_53 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_54 = { 28 | NIM_STRLIT_FLAG, "cannot prove \'$1\' is not nil" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_55 = {28, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_54};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_57 = { 20 | NIM_STRLIT_FLAG, "\'$1\' is provably nil" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_58 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_57};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_60 = { 26 | NIM_STRLIT_FLAG, "\'$1\' cannot be assigned to" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_61 = {26, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_60};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_64 = { 14 | NIM_STRLIT_FLAG, "cannot prove: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_65 = {14, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_64};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_66 = { 4 | NIM_STRLIT_FLAG, " <= " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_67 = {4, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_66};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_69 = { 11 | NIM_STRLIT_FLAG, "can prove: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_70 = {11, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_69};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_71 = { 3 | NIM_STRLIT_FLAG, " > " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_72 = {3, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_71};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_74 = { 9 | NIM_STRLIT_FLAG, "=wasmoved" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_75 = {9, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_74};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_76 = { 8 | NIM_STRLIT_FLAG, "=destroy" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_77 = {8, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_76};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_78 = { 5 | NIM_STRLIT_FLAG, "=copy" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_79 = {5, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_78};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_80 = { 1 | NIM_STRLIT_FLAG, "=" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_81 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_80};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_82 = { 4 | NIM_STRLIT_FLAG, "=dup" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_83 = {4, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_82};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_84 = { 5 | NIM_STRLIT_FLAG, "=sink" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_85 = {5, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_84};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_86 = { 6 | NIM_STRLIT_FLAG, "=trace" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_87 = {6, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_86};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_88 = { 9 | NIM_STRLIT_FLAG, "=deepcopy" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_89 = {9, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_88};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_90 = {
0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_91 = { 39 | NIM_STRLIT_FLAG, "could not turn \'$1\' to a sink parameter" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_92 = {39, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_91};
static const struct {
  NI cap; NIM_CHAR data[78+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_94 = { 78 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/sinkparameter_inference.nim" };
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_95 = { 56 | NIM_STRLIT_FLAG, "cannot pass $1 to `var T` parameter within a strict func" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_96 = {56, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_95};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_98 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_99 = { 21 | NIM_STRLIT_FLAG, "invalid guard field: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_100 = {21, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_99};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_102 = {18, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_37};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_107 = { 46 | NIM_STRLIT_FLAG, "cannot mutate location $1 within a strict func" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_108 = {46, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_107};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_110 = {
0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_111 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_112 = {2, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_111};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_113 = { 7 | NIM_STRLIT_FLAG, "countup" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_114 = {7, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_113};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_115 = { 9 | NIM_STRLIT_FLAG, "countdown" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_116 = {9, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_115};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_117 = { 3 | NIM_STRLIT_FLAG, "..<" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_118 = {3, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_117};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_119 = { 29 | NIM_STRLIT_FLAG, "locks pragma without argument" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_120 = {29, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_119};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_122 = { 22 | NIM_STRLIT_FLAG, "invalid pragma block: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_123 = {22, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_122};
static const struct {
  NI cap; NIM_CHAR data[115+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_125 = { 115 | NIM_STRLIT_FLAG, "implicit conversion to \'cstring\' from a non-const location: $1; this will become a compile time error in the future" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_126 = {115, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_125};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_129 = { 43 | NIM_STRLIT_FLAG, "conversion to enum with holes is unsafe: $1" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_130 = {43, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_129};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_132 = { 19 | NIM_STRLIT_FLAG, "enum conversion: $1" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_133 = {19, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_132};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_135 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_138 = { 37 | NIM_STRLIT_FLAG, "\'$1\' requires explicit initialization" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_139 = {37, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_138};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_140 = { 6 | NIM_STRLIT_FLAG, "result" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_141 = {6, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_140};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_143 = {6, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_140};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_145 = {8, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_76};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_146 = {33, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_20};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_147 = {29, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_25};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_148 = {23, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_27};
static const struct {
  NI cap; NIM_CHAR data[59+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_149 = { 59 | NIM_STRLIT_FLAG, "routine has no return type, but .requires contains \'result\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_150 = {59, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_149};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_152 = { 36 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it calls \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_153 = {36, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_152};
static const struct {
  NI cap; NIM_CHAR data[76+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_155 = { 76 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it accesses \'$#\' which is a global using GC\'ed memory" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_156 = {76, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_155};
static const struct {
  NI cap; NIM_CHAR data[61+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_158 = { 61 | NIM_STRLIT_FLAG, "Base method \'$#\' requires explicit \'{.gcsafe.}\' to be GC-safe" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_159 = {61, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_158};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_161 = {36, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_152};
static const struct {
  NI cap; NIM_CHAR data[60+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_163 = { 60 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it performs an indirect call via \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_164 = {60, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_163};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_166 = { 56 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it performs an indirect call here" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_167 = {56, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_166};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_169 = {0, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_2};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_170 = { 27 | NIM_STRLIT_FLAG, "\'$#\' can have side effects\012" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_171 = {27, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_170};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_172 = { 20 | NIM_STRLIT_FLAG, "$# $# Hint: \'$#\' $#\012" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_173 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_174 = { 1 | NIM_STRLIT_FLAG, ">" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_175 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_174};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_176 = { 26 | NIM_STRLIT_FLAG, "accesses global state \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_177 = {26, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_176};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_178 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_179 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_174};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_180 = { 16 | NIM_STRLIT_FLAG, "accessed by \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_181 = {16, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_180};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_182 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_183 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_174};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_184 = { 24 | NIM_STRLIT_FLAG, "calls `.sideEffect` \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_185 = {24, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_184};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_186 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_187 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_174};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_188 = { 14 | NIM_STRLIT_FLAG, "called by \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_189 = {14, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_188};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_190 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_191 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_174};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_192 = { 44 | NIM_STRLIT_FLAG, "calls routine via hidden pointer indirection" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_193 = {44, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_192};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_194 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_195 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_174};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_196 = { 37 | NIM_STRLIT_FLAG, "calls routine via pointer indirection" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_197 = {37, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_196};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_199 = {0, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_2};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_10 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1588),
((NI)4)}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u361;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_13 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1547),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_16 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1548),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_19 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1555),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_31 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1577),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_32 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)382),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_35 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)386),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_36 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)388),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_39 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)166),
((NI)14)}
;
extern NIM_CONST tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q routineKinds__ast_u312;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_41 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)263),
((NI)9)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_44 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)719),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_48 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)758),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_51 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)659),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_56 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)683),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_59 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)686),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_62 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)227),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_63 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1077),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_68 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)925),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_73 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)930),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_93 = {{78, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_94},
((NI)49),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_97 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1118),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_101 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)189),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_103 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)202),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_104 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)479),
((NI)33)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_105 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)480),
((NI)33)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_106 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)481),
((NI)36)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_109 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1288),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_121 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)151),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_124 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1198),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_127 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1465),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_128 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1470),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_131 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1477),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_134 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1479),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_136 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1514),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_137 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1687),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_142 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1697),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_144 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1699),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_151 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)915),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_154 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)303),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_157 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)307),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_160 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)314),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_162 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)319),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_165 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)323),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_168 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)327),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_198 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1756),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_200 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1758),
((NI)18)}
;
extern NIM_BOOL nimInErrorMode__system_u4304;
static N_INLINE(NI, len__ast_u3175)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1718)(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_u1718(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1) {
	addInt__stdZprivateZdigitsutils_u187(result_p0, ((NI64) (x_p1)));
}
static N_INLINE(NimStringV2, toFileLineCol__msgs_u701)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info_p0) {
	NimStringV2 result;
	result = TM__wkTG4eaV3t1uo3x09apjcwA_3;
	prepareAdd((&result), (*info_p0).Field0.len + 0);
appendString((&result), (*info_p0).Field0);
	{
		if (!(((NI)0) < (*info_p0).Field1)) goto LA3_;
		prepareAdd((&result), 1);
appendString((&result), TM__wkTG4eaV3t1uo3x09apjcwA_5);
		addInt__stdZprivateZdigitsutils_u204((&result), (*info_p0).Field1);
		{
			if (!(((NI)0) < (NI)((*info_p0).Field2 + ((NI)1)))) goto LA7_;
			prepareAdd((&result), 2);
appendString((&result), TM__wkTG4eaV3t1uo3x09apjcwA_7);
			addInt__stdZprivateZdigitsutils_u204((&result), (NI)((*info_p0).Field2 + ((NI)1)));
		}
LA7_: ;
		prepareAdd((&result), 1);
appendString((&result), TM__wkTG4eaV3t1uo3x09apjcwA_9);
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4304);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setEffectsForProcType__sempass2_u7816)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	effects_1 = NIM_NIL;
	eqcopy___ast_u3240(&effects_1, (*(*t_p1).n)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*t_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25)));
		if (T4_) goto LA5_;
		T4_ = !(((*effects_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152)));
LA5_: ;
		if (!T4_) goto LA6_;
		eqdestroy___ast_u3237(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* raisesSpec_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tagsSpec_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forbidsSpec_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* requiresSpec_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ensuresSpec_1;
		if (!!(((*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA10_;
		raisesSpec_1 = NIM_NIL;
		tagsSpec_1 = NIM_NIL;
		forbidsSpec_1 = NIM_NIL;
		requiresSpec_1 = NIM_NIL;
		ensuresSpec_1 = NIM_NIL;
		{
			NI T15_;
			NimStringV2 argX60gensym732__1;
			T15_ = (NI)0;
			T15_ = len__ast_u3175(effects_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			if (!!((T15_ == ((NI)0)))) goto LA16_;
			argX60gensym732__1.len = 0; argX60gensym732__1.p = NIM_NIL;
			argX60gensym732__1 = toFileLineCol__msgs_u701((&TM__wkTG4eaV3t1uo3x09apjcwA_10));
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			internalErrorImpl__msgs_u1594((*g_p0).config, unknownLineInfo__lineinfos_u361, argX60gensym732__1, (&TM__wkTG4eaV3t1uo3x09apjcwA_10));
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				LA18_:;
			}
			{
				eqdestroy___system_u2627(argX60gensym732__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA16_: ;
		newSeq__ast_u4085((&(*effects_1)._kind_6.sons), ((NI)6));
		raisesSpec_1 = effectSpec__trees_u307(n_p2, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)175));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			if (!!((raisesSpec_1 == 0))) goto LA23_;
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)0)], raisesSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3234(&raisesSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		goto LA21_;
LA23_: ;
		{
			NIM_BOOL T26_;
			NIM_BOOL T28_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
			T26_ = (NIM_BOOL)0;
			T26_ = !((s_p3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T26_)) goto LA27_;
			T28_ = (NIM_BOOL)0;
			T28_ = !(((*s_p3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
			if (T28_) goto LA29_;
			T28_ = ((192 & (*s_p3).flags) == 64);
LA29_: ;
			T26_ = T28_;
LA27_: ;
			if (!T26_) goto LA30_;
			T32_ = NIM_NIL;
			T32_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T32_); goto LA12_;}
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)0)], T32_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		goto LA21_;
LA30_: ;
LA21_: ;
		tagsSpec_1 = effectSpec__trees_u307(n_p2, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)180));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			if (!!((tagsSpec_1 == 0))) goto LA35_;
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)3)], tagsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3234(&tagsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		goto LA33_;
LA35_: ;
		{
			NIM_BOOL T38_;
			NIM_BOOL T40_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T44_;
			T38_ = (NIM_BOOL)0;
			T38_ = !((s_p3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T38_)) goto LA39_;
			T40_ = (NIM_BOOL)0;
			T40_ = !(((*s_p3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
			if (T40_) goto LA41_;
			T40_ = ((192 & (*s_p3).flags) == 64);
LA41_: ;
			T38_ = T40_;
LA39_: ;
			if (!T38_) goto LA42_;
			T44_ = NIM_NIL;
			T44_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T44_); goto LA12_;}
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)3)], T44_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		goto LA33_;
LA42_: ;
LA33_: ;
		forbidsSpec_1 = effectSpec__trees_u307(n_p2, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)181));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			if (!!((forbidsSpec_1 == 0))) goto LA47_;
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)5)], forbidsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3234(&forbidsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		goto LA45_;
LA47_: ;
		{
			NIM_BOOL T50_;
			NIM_BOOL T52_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T56_;
			T50_ = (NIM_BOOL)0;
			T50_ = !((s_p3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T50_)) goto LA51_;
			T52_ = (NIM_BOOL)0;
			T52_ = !(((*s_p3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
			if (T52_) goto LA53_;
			T52_ = ((192 & (*s_p3).flags) == 64);
LA53_: ;
			T50_ = T52_;
LA51_: ;
			if (!T50_) goto LA54_;
			T56_ = NIM_NIL;
			T56_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T56_); goto LA12_;}
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)5)], T56_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		goto LA45_;
LA54_: ;
LA45_: ;
		requiresSpec_1 = propSpec__trees_u329(n_p2, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)182));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			if (!!((requiresSpec_1 == 0))) goto LA59_;
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)1)], requiresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3234(&requiresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA59_: ;
		ensuresSpec_1 = propSpec__trees_u329(n_p2, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)183));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			if (!!((ensuresSpec_1 == 0))) goto LA63_;
			eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)2)], ensuresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3234(&ensuresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA63_: ;
		eqcopy___ast_u3240(&(*effects_1)._kind_6.sons.p->data[((NI)4)], n_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(ensuresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3237(requiresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3237(forbidsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3237(tagsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3237(raisesSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	{
		NIM_BOOL T69_;
		T69_ = (NIM_BOOL)0;
		T69_ = !((s_p3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T69_)) goto LA70_;
		T69_ = !(((*s_p3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
LA70_: ;
		if (!T69_) goto LA71_;
		{
			if (!!(((*s_p3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)20)))) goto LA75_;
			(*t_p1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1))) & 63);
		}
LA75_: ;
	}
LA71_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(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) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
	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_: ;
}
static N_INLINE(NI, safeLen__ast_u3182)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3175(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5190)(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_u5187)(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_u5190((((*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_u3240(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkRaisesSpec__sempass2_u7596)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NIM_BOOL emitWarnings_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* spec_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* real_p3, NimStringV2 msg_p4, NIM_BOOL hints_p5, tyProc__x62LCo0NsHSigsbcUGs9byw effectPredicate_p6, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* hintsArg_p7, NIM_BOOL isForbids_p8, tySequence__9bffTLF0HkxjFCzZL8og4GA unknownRaises_p9) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA used_1;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&used_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initIntSet__pureZcollectionsZintsets_u598((&used_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_1;
		r_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3182(real_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA6;
					i_1 = i_2;
					eqcopy___ast_u3240(&r_1, (*real_p3)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* rr_1;
						tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA colontmpD_;
						tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA colontmpD__2;
						NimStringV2 colontmpD__3;
						NimStringV2 colontmpD__4;
						NimStringV2 colontmpD__5;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T25_;
						tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA T41_;
						NimStringV2 T47_;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T48_;
						rr_1 = NIM_NIL;
						colontmpD_ = (tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)0;
						colontmpD__2 = (tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)0;
						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;
						{
							NI s_1;
							NI colontmp__2;
							NI i_3;
							s_1 = (NI)0;
							colontmp__2 = (NI)0;
							colontmp__2 = len__ast_u3175(spec_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
							i_3 = ((NI)0);
							{
								while (1) {
									if (!(i_3 < colontmp__2)) goto LA11;
									s_1 = i_3;
									{
										NIM_BOOL T14_;
										T14_ = (NIM_BOOL)0;
										T14_ = effectPredicate_p6(g_p0, (*spec_p2)._kind_6.sons.p->data[s_1], r_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
										if (!T14_) goto LA15_;
										{
											if (!isForbids_p8) goto LA19_;
											goto LA9;
										}
LA19_: ;
										incl__pureZcollectionsZintsets_u366((&used_1), s_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
										eqdestroy___system_u2627(colontmpD__5);
										eqdestroy___system_u2627(colontmpD__4);
										eqdestroy___system_u2627(colontmpD__3);
										eqdestroy___ast_u3237(rr_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
										goto LA7;
									}
LA15_: ;
									{
										if (!isForbids_p8) goto LA23_;
										eqdestroy___system_u2627(colontmpD__5);
										eqdestroy___system_u2627(colontmpD__4);
										eqdestroy___system_u2627(colontmpD__3);
										eqdestroy___ast_u3237(rr_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
										goto LA7;
									}
LA23_: ;
									i_3 += ((NI)1);
								} LA11: ;
							}
						} LA9: ;
						pushInfoContext__msgs_u569((*g_p0).config, (*spec_p2).info, TM__wkTG4eaV3t1uo3x09apjcwA_12);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						T25_ = NIM_NIL;
						{
							if (!((*r_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108))) goto LA28_;
							eqcopy___ast_u3240(&rr_1, (*r_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						}
						goto LA26_;
LA28_: ;
						{
							eqcopy___ast_u3240(&rr_1, r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						}
LA26_: ;
						{
							while (1) {
								NIM_BOOL T33_;
								NI T35_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
								T33_ = (NIM_BOOL)0;
								T33_ = ((*rr_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115) || (*rr_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126));
								if (!(T33_)) goto LA34_;
								T35_ = (NI)0;
								T35_ = len__ast_u3175(rr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
								T33_ = (((NI)0) < T35_);
LA34_: ;
								if (!T33_) goto LA32;
								T36_ = NIM_NIL;
								T36_ = lastSon__ast_u5187(rr_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T36_); goto LA8_;}
								eqsink___ast_u3246(&rr_1, T36_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
							} LA32: ;
						}
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** s_2;
							tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA* info_1;
							NI i_4;
							NI L_1;
							NI T38_;
							s_2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
							info_1 = (tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA*)0;
							i_4 = ((NI)0);
							T38_ = unknownRaises_p9.len;
							L_1 = T38_;
							{
								while (1) {
									if (!(i_4 < L_1)) goto LA40;
									s_2 = &unknownRaises_p9.p->data[i_4].Field0;
									info_1 = (&unknownRaises_p9.p->data[i_4].Field1);
									liMessage__msgs_u1223((*g_p0).config, (*info_1), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)118), (*(*(*s_2)).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_13), NIM_FALSE, NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
									i_4 += ((NI)1);
								} LA40: ;
							}
						}
						T41_ = (tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)0;
						{
							if (!emitWarnings_p1) goto LA44_;
							colontmpD_ = ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)73);
							T41_ = colontmpD_;
						}
						goto LA42_;
LA44_: ;
						{
							colontmpD__2 = ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17);
							T41_ = colontmpD__2;
						}
LA42_: ;
						T47_.len = 0; T47_.p = NIM_NIL;
						T48_ = 0;
						colontmpD__3 = renderTree__renderer_u59(rr_1, T48_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						colontmpD__4 = typeToString__types_u54((*r_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						T47_ = rawNewString(colontmpD__3.len + msg_p4.len + colontmpD__4.len + 1);
appendString((&T47_), colontmpD__3);
appendString((&T47_), TM__wkTG4eaV3t1uo3x09apjcwA_15);
appendString((&T47_), msg_p4);
appendString((&T47_), colontmpD__4);
						colontmpD__5 = T47_;
						liMessage__msgs_u1223((*g_p0).config, (*r_1).info, T41_, colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_16), NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						popInfoContext__msgs_u593((*g_p0).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						{
							LA8_:;
						}
						{
							oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___system_u2627(colontmpD__5);
							eqdestroy___system_u2627(colontmpD__4);
							eqdestroy___system_u2627(colontmpD__3);
							eqdestroy___ast_u3237(rr_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							*nimErr_ = oldNimErrFin8_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					} LA7: ;
					i_2 += ((NI)1);
				} LA6: ;
			}
		}
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		if (!hints_p5) goto LA55_;
		{
			NI s_3;
			NI colontmp__3;
			NI i_5;
			s_3 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3175(spec_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_5 = ((NI)0);
			{
				while (1) {
					if (!(i_5 < colontmp__3)) goto LA59;
					s_3 = i_5;
					{
						NIM_BOOL T62_;
						NimStringV2 colontmpD__6;
						NimStringV2 colontmpD__7;
						NimStringV2 colontmpD__8;
						tyArray__Re75IspeoxXy2oCZHwcRrA T66_;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T67_;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T68_;
						T62_ = (NIM_BOOL)0;
						T62_ = contains__astalgo_u2848((&used_1), s_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						if (!!(T62_)) goto LA63_;
						colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
						colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
						colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
						T67_ = 0;
						colontmpD__6 = renderTree__renderer_u59(hintsArg_p7, T67_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
						T66_[0] = colontmpD__6;
						T68_ = 0;
						colontmpD__7 = renderTree__renderer_u59((*spec_p2)._kind_6.sons.p->data[s_3], T68_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
						T66_[1] = colontmpD__7;
						colontmpD__8 = nsuFormatOpenArray(TM__wkTG4eaV3t1uo3x09apjcwA_18, T66_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
						liMessage__msgs_u1223((*g_p0).config, (*(*spec_p2)._kind_6.sons.p->data[s_3]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)91), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_19), NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
						{
							LA65_:;
						}
						{
							eqdestroy___system_u2627(colontmpD__8);
							eqdestroy___system_u2627(colontmpD__7);
							eqdestroy___system_u2627(colontmpD__6);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA63_: ;
					i_5 += ((NI)1);
				} LA59: ;
			}
		}
	}
LA55_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&used_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getEbase__sempass2_u5403)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = sysTypeFromName__magicsys_u49(g_p0, info_p1, TM__wkTG4eaV3t1uo3x09apjcwA_23);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, excType__sempass2_u5407)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	T2_ = NIM_NIL;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
		if (T5_) goto LA6_;
		T5_ = ((*n_p1).typField == 0);
LA6_: ;
		if (!T5_) goto LA7_;
		t_1 = getEbase__sempass2_u5403(g_p0, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA7_: ;
	{
		eqcopy___ast_u3366(&t_1, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	result = skipTypes__ast_u5358(t_1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3363(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, subtypeRelation__sempass2_u7586)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* spec_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* real_p2) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!((*(*spec_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)57))) goto LA3_;
		result = NIM_FALSE;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			t_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI T8_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T8_ = (*(*spec_p1).typField).sons.len;
				colontmp_ = T8_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
						if (!(i_2 < colontmp_)) goto LA10;
						colontmpD_ = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3366(&t_1, (*(*spec_p1).typField).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						{
							NI T14_;
							colontmpD_ = excType__sempass2_u5407(g_p0, real_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							T14_ = (NI)0;
							T14_ = safeInheritanceDiff__types_u3499(colontmpD_, t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							if (!(T14_ <= ((NI)0))) goto LA15_;
							result = NIM_TRUE;
							eqdestroy___ast_u3363(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							eqdestroy___ast_u3363(t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA15_: ;
						i_2 += ((NI)1);
						{
							LA11_:;
						}
						{
							oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3363(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							*nimErr_ = oldNimErrFin11_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					} LA10: ;
				}
			}
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		NI T23_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = excType__sempass2_u5407(g_p0, real_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		T23_ = (NI)0;
		T23_ = safeInheritanceDiff__types_u3499(colontmpD__2, (*spec_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		result = (T23_ <= ((NI)0));
		eqdestroy___ast_u3363(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin22_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkMethodEffects__sempass2_u7741)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* disp_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* branch_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* actual_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* raisesSpec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tagsSpec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forbidsSpec_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	actual_1 = NIM_NIL;
	p_1 = NIM_NIL;
	raisesSpec_1 = NIM_NIL;
	tagsSpec_1 = NIM_NIL;
	forbidsSpec_1 = NIM_NIL;
	eqcopy___ast_u3240(&actual_1, (*(*(*branch_p2).typ).n)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = len__ast_u3175(actual_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((T4_ == ((NI)6)))) goto LA5_;
		eqdestroy___ast_u3237(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(actual_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	eqcopy___ast_u3240(&p_1, (*(*disp_p1).ast)._kind_6.sons.p->data[((NI)4)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	raisesSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)175));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__9bffTLF0HkxjFCzZL8og4GA T11_;
		if (!!((raisesSpec_1 == 0))) goto LA9_;
		T11_.len = 0; T11_.p = NIM_NIL;
		T11_.len = 0; T11_.p = (tySequence__9bffTLF0HkxjFCzZL8og4GA_Content*) newSeqPayload(0, sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA), NIM_ALIGNOF(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		checkRaisesSpec__sempass2_u7596(g_p0, NIM_FALSE, raisesSpec_1, (*actual_1)._kind_6.sons.p->data[((NI)0)], TM__wkTG4eaV3t1uo3x09apjcwA_21, NIM_FALSE, subtypeRelation__sempass2_u7586, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), NIM_FALSE, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	tagsSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)180));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__9bffTLF0HkxjFCzZL8og4GA T16_;
		if (!!((tagsSpec_1 == 0))) goto LA14_;
		T16_.len = 0; T16_.p = NIM_NIL;
		T16_.len = 0; T16_.p = (tySequence__9bffTLF0HkxjFCzZL8og4GA_Content*) newSeqPayload(0, sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA), NIM_ALIGNOF(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		checkRaisesSpec__sempass2_u7596(g_p0, NIM_FALSE, tagsSpec_1, (*actual_1)._kind_6.sons.p->data[((NI)3)], TM__wkTG4eaV3t1uo3x09apjcwA_26, NIM_FALSE, subtypeRelation__sempass2_u7586, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), NIM_FALSE, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	forbidsSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)181));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__9bffTLF0HkxjFCzZL8og4GA T21_;
		if (!!((forbidsSpec_1 == 0))) goto LA19_;
		T21_.len = 0; T21_.p = NIM_NIL;
		T21_.len = 0; T21_.p = (tySequence__9bffTLF0HkxjFCzZL8og4GA_Content*) newSeqPayload(0, sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA), NIM_ALIGNOF(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		checkRaisesSpec__sempass2_u7596(g_p0, NIM_FALSE, forbidsSpec_1, (*actual_1)._kind_6.sons.p->data[((NI)3)], TM__wkTG4eaV3t1uo3x09apjcwA_28, NIM_FALSE, subtypeRelation__sempass2_u7586, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), NIM_TRUE, T21_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA19_: ;
	{
		NIM_BOOL T24_;
		tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T26_;
		NimStringV2 colontmpD_;
		T24_ = (NIM_BOOL)0;
		T24_ = (((*disp_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)26)))&63U)))!=0);
		if (!(T24_)) goto LA25_;
		T26_ = 0;
		T24_ = ((130 & (*(*branch_p2).typ).flags) == T26_);
LA25_: ;
		if (!T24_) goto LA27_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_30, (*(*branch_p2).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		liMessage__msgs_u1223((*g_p0).config, (*branch_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_31), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		{
			LA29_:;
		}
		{
			eqdestroy___system_u2627(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA27_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(actual_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)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		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 -= ((NI)16);
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3067(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	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)16));
		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 -= ((NI)16);
		}
LA6_: ;
		rememberCycle__system_u3470(result, cell_1, (*((TNimTypeV2**) (p_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u8004)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).exc);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3255((&(*(*dest_p0).exc)));
		nimRawDispose((*dest_p0).exc, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).tags);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3255((&(*(*dest_p0).tags)));
		nimRawDispose((*dest_p0).tags, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).forbids);
		if (!T13_) goto LA14_;
		eqdestroy___ast_u3255((&(*(*dest_p0).forbids)));
		nimRawDispose((*dest_p0).forbids, ((NI)8));
	}
LA14_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).owner);
		if (!T18_) goto LA19_;
		eqdestroy___ast_u3454((&(*(*dest_p0).owner)));
		nimRawDispose((*dest_p0).owner, ((NI)8));
	}
LA19_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = nimDecRefIsLastDyn((*dest_p0).ownerModule);
		if (!T23_) goto LA24_;
		eqdestroy___ast_u3454((&(*(*dest_p0).ownerModule)));
		nimRawDispose((*dest_p0).ownerModule, ((NI)8));
	}
LA24_: ;
	eqdestroy___pureZosproc_u450((*dest_p0).init);
	eqdestroy___vmdef_u2009((*dest_p0).scopes.data);
	eqdestroy___ast_u3681((*dest_p0).guards.s);
	{
		NIM_BOOL T28_;
		T28_ = (NIM_BOOL)0;
		T28_ = nimDecRefIsLastDyn((*dest_p0).guards.g);
		if (!T28_) goto LA29_;
		eqdestroy___modulegraphs_u13521((&(*(*dest_p0).guards.g)));
		nimRawDispose((*dest_p0).guards.g, ((NI)8));
	}
LA29_: ;
	eqdestroy___ast_u3681((*dest_p0).locked);
	eqdestroy___semdata_u3485((*dest_p0).unknownRaises);
	eqdestroy___cgendata_u1267((*dest_p0).optionsStack);
	{
		NIM_BOOL T33_;
		T33_ = (NIM_BOOL)0;
		T33_ = nimDecRefIsLastDyn((*dest_p0).config);
		if (!T33_) goto LA34_;
		eqdestroy___options_u1750((&(*(*dest_p0).config)));
		nimRawDispose((*dest_p0).config, ((NI)8));
	}
LA34_: ;
	{
		NIM_BOOL T38_;
		T38_ = (NIM_BOOL)0;
		T38_ = nimDecRefIsLastDyn((*dest_p0).graph);
		if (!T38_) goto LA39_;
		eqdestroy___modulegraphs_u13521((&(*(*dest_p0).graph)));
		nimRawDispose((*dest_p0).graph, ((NI)8));
	}
LA39_: ;
	{
		NIM_BOOL T43_;
		T43_ = (NIM_BOOL)0;
		T43_ = nimDecRefIsLastCyclicDyn((*dest_p0).c);
		if (!T43_) goto LA44_;
		nimDestroyAndDispose((*dest_p0).c);
	}
LA44_: ;
	{
		NIM_BOOL T48_;
		T48_ = (NIM_BOOL)0;
		T48_ = nimDecRefIsLastDyn((*dest_p0).escapingParams.head);
		if (!T48_) goto LA49_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).escapingParams.head)));
		nimRawDispose((*dest_p0).escapingParams.head, ((NI)8));
	}
LA49_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).escapingParams.data);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasRealBody__sempass2_u8118)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T1_;
	T1_ = 0;
	result = ((80 & (*s_p0).flags) == T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInitEffects__sempass2_u7926)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	newSeq__ast_u4085((&(*effects_p1)._kind_6.sons), ((NI)6));
	T1_ = NIM_NIL;
	T1_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T1_); goto BeforeRet_;}
	eqsink___ast_u3246(&(*effects_p1)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = NIM_NIL;
	T2_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T2_); goto BeforeRet_;}
	eqsink___ast_u3246(&(*effects_p1)._kind_6.sons.p->data[((NI)3)], T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = NIM_NIL;
	T3_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T3_); goto BeforeRet_;}
	eqsink___ast_u3246(&(*effects_p1)._kind_6.sons.p->data[((NI)5)], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3240(&(*effects_p1)._kind_6.sons.p->data[((NI)1)], (*g_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3240(&(*effects_p1)._kind_6.sons.p->data[((NI)2)], (*g_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3240(&(*effects_p1)._kind_6.sons.p->data[((NI)4)], (*g_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initEffects__sempass2_u7933)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p3, tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* Result) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* colontmpD__5;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* colontmpD__6;
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* colontmpD__7;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ colontmpD__8;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w colontmpD__9;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T1_;
	tySequence__9ahcSjIErJohSBBFLwuF56Q T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA));
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	colontmpD__5 = NIM_NIL;
	colontmpD__6 = NIM_NIL;
	colontmpD__7 = NIM_NIL;
	nimZeroMem((void*)(&colontmpD__8), sizeof(tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ));
	nimZeroMem((void*)colontmpD__9, sizeof(tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w));
	rawInitEffects__sempass2_u7926(g_p0, effects_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)Result, sizeof(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA));
	colontmpD_ = eqdup___ast_u3243((*effects_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).exc = colontmpD_;
	colontmpD__2 = eqdup___ast_u3243((*effects_p1)._kind_6.sons.p->data[((NI)3)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).tags = colontmpD__2;
	colontmpD__3 = eqdup___ast_u3243((*effects_p1)._kind_6.sons.p->data[((NI)5)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).forbids = colontmpD__3;
	colontmpD__4 = eqdup___ast_u4564(s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).owner = colontmpD__4;
	T1_ = NIM_NIL;
	T1_ = getModule__astalgo_u156(s_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4558(T1_); goto BeforeRet_;}
	(*Result).ownerModule = T1_;
	(*Result).init.len = 0; (*Result).init.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
	(*Result).locked.len = 0; (*Result).locked.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	colontmpD__5 = eqdup___modulegraphs_u14750(g_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).graph = colontmpD__5;
	colontmpD__6 = eqdup___options_u2140((*g_p0).config);
	(*Result).config = colontmpD__6;
	colontmpD__7 = eqdup___semdata_u4389(c_p3, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).c = colontmpD__7;
	(*Result).currentBlock = ((NI)1);
	(*Result).optionsStack.len = 1; (*Result).optionsStack.p = (tySequence__bdNIx7Bah2llfuqeoTJEWQ_Content*) newSeqPayload(1, sizeof(tyTuple__kIcKc1aSJCixG4QCidyBAg), NIM_ALIGNOF(tyTuple__kIcKc1aSJCixG4QCidyBAg));
	colontmpD__8 = (*(*g_p0).config).options;
	(*Result).optionsStack.p->data[0].Field0 = colontmpD__8;
	nimCopyMem((void*)colontmpD__9, (NIM_CONST void*)(*(*g_p0).config).notes, 13);
	nimCopyMem((void*)(*Result).optionsStack.p->data[0].Field1, (NIM_CONST void*)colontmpD__9, 13);
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_.len = 0; T2_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	eqsink___ast_u3690((&(*Result).guards.s), T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___modulegraphs_u14747(&(*Result).guards.g, g_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).currOptions = ((*(*g_p0).config).options | (*s_p2).options);
	(*Result).guards.beSmart = (((*Result).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0);
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7205)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (t_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (T1_) goto LA2_;
	T1_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7));
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5333)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3366(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isOutParam__ast_u7626)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	result = (((*t_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)45)))&63U)))!=0);
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6233)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4561(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocalSym__sempass2_u2035)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	NIM_BOOL T5_;
	NIM_BOOL T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = !(((*s_p1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
	if (!(T3_)) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
	if (T5_) goto LA6_;
	T7_ = (NIM_BOOL)0;
	T7_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
	if (!(T7_)) goto LA8_;
	T7_ = isOutParam__ast_u7626((*s_p1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA8_: ;
	T5_ = T7_;
LA6_: ;
	T3_ = T5_;
LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA9_;
	T2_ = !((((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA9_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA10_;
	colontmpD_ = owner__ast_u6233(s_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (colontmpD_ == (*a_p0).owner);
LA10_: ;
	result = T1_;
	eqdestroy___ast_u4558(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, find__sigmatch_u5093)(NI* a_p0, NI a_p0Len_0, NI item_p1) {
	NI result;
{	result = ((NI)0);
	{
		NI* i_1;
		NI i_2;
		i_1 = (NI*)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < a_p0Len_0)) goto LA3;
				i_1 = (&a_p0[i_2]);
				{
					if (!((*i_1) == item_p1)) goto LA6_;
					goto BeforeRet_;
				}
LA6_: ;
				result += ((NI)1);
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	result = ((NI)-1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__sigmatch_u5088)(NI* a_p0, NI a_p0Len_0, NI item_p1) {
	NIM_BOOL result;
	NI T1_;
{	T1_ = (NI)0;
	T1_ = find__sigmatch_u5093(a_p0, a_p0Len_0, item_p1);
	result = (((NI)0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, guardGlobal__sempass2_u2074)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** L_1;
		NI i_1;
		NI L_2;
		NI T2_;
		L_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		i_1 = ((NI)0);
		T2_ = (*a_p0).locked.len;
		L_2 = T2_;
		{
			while (1) {
				if (!(i_1 < L_2)) goto LA4;
				L_1 = &(*a_p0).locked.p->data[i_1];
				{
					NIM_BOOL T7_;
					T7_ = (NIM_BOOL)0;
					T7_ = ((*(*L_1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
					if (!(T7_)) goto LA8_;
					T7_ = ((*(*L_1))._kind_4.sym == guard_p2);
LA8_: ;
					if (!T7_) goto LA9_;
					goto BeforeRet_;
				}
LA9_: ;
				i_1 += ((NI)1);
			} LA4: ;
		}
	}
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T16_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T17_;
		if (!!((*a_p0).isTopLevel)) goto LA13_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T16_.len = 0; T16_.p = NIM_NIL;
		T17_ = 0;
		colontmpD_ = renderTree__renderer_u59(n_p1, T17_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_ = rawNewString(colontmpD_.len + 18);
appendString((&T16_), TM__wkTG4eaV3t1uo3x09apjcwA_38);
appendString((&T16_), colontmpD_);
		colontmpD__2 = T16_;
		liMessage__msgs_u1223((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_39), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__2);
			eqdestroy___system_u2627(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isGCedMem__ast_u6592)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
	if (!(T3_)) goto LA4_;
	T3_ = ((*t_p0).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass2_u3457)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* reason_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((*a_p0).inEnforcedGcSafe)) goto LA3_;
		(*a_p0).gcUnsafe = NIM_TRUE;
		{
			if (!((*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA7_;
			eqcopy___ast_u4561(&(*(*a_p0).owner)._kind_1.gcUnsafetyReason, reason_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass2_u4124)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* reason_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA useLoc_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((*a_p0).inEnforcedNoSideEffects)) goto LA3_;
		(*a_p0).hasSideEffect = NIM_TRUE;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym138__1;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tySequence__KYLoGmc5aaHsSDjEH1FTxQ T9_;
			tySequence__KYLoGmc5aaHsSDjEH1FTxQ* T10_;
			tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ T11_;
			if (!((routineKinds__ast_u312 &((NU32)1<<((NU)(((*(*a_p0).owner).kind))&31U)))!=0)) goto LA7_;
			sym_1 = NIM_NIL;
			xX60gensym138__1 = NIM_NIL;
			nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__2 = NIM_NIL;
			sym_1 = reason_p1;
			xX60gensym138__1 = (*a_p0).owner;
			T9_.len = 0; T9_.p = NIM_NIL;
			T9_.len = 0; T9_.p = (tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content*) newSeqPayload(0, sizeof(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ), NIM_ALIGNOF(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ));
			T10_ = (tySequence__KYLoGmc5aaHsSDjEH1FTxQ*)0;
			T10_ = mgetOrPut__sempass2_u4203((&(*(*a_p0).c).sideEffects), (NI)((NI)((NU64)(((NI) ((*xX60gensym138__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym138__1).itemId.item))), T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&T11_), sizeof(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ));
			colontmpD_ = useLoc_p2;
			T11_.Field0 = colontmpD_;
			colontmpD__2 = eqdup___ast_u4564(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T11_.Field1 = colontmpD__2;
			add__sempass2_u5223((&(*T10_)), T11_);
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, useVarNoInitCheck__sempass2_u4088)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T6_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = 0;
		T5_ = !(((67108872 & (*s_p2).flags) == T6_));
		if (!(T5_)) goto LA7_;
		T5_ = ((*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
LA7_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA8_;
		T4_ = !(((*s_p2).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)262)));
LA8_: ;
		if (!T4_) goto LA9_;
		{
			if (!!(((*s_p2)._kind_2.guard == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA13_;
			guardGlobal__sempass2_u2074(a_p0, n_p1, (*s_p2)._kind_2.guard);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA13_: ;
		{
			NIM_BOOL T17_;
			NIM_BOOL T19_;
			T17_ = (NIM_BOOL)0;
			T17_ = ((67108872 & (*s_p2).flags) == 8);
			if (!(T17_)) goto LA18_;
			T19_ = (NIM_BOOL)0;
			T19_ = (((*(*s_p2).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)22)))&63U)))!=0);
			if (T19_) goto LA20_;
			T19_ = isGCedMem__ast_u6592((*s_p2).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA20_: ;
			T17_ = T19_;
LA18_: ;
			if (!T17_) goto LA21_;
			markGcUnsafe__sempass2_u3457(a_p0, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA21_: ;
		markSideEffect__sempass2_u4124(a_p0, s_p2, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	{
		NIM_BOOL T25_;
		NIM_BOOL T26_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T29_;
		T25_ = (NIM_BOOL)0;
		T26_ = (NIM_BOOL)0;
		colontmpD_ = owner__ast_u6233(s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T26_ = !((colontmpD_ == (*a_p0).owner));
		if (!(T26_)) goto LA27_;
		T26_ = ((*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA27_: ;
		T25_ = T26_;
		if (!(T25_)) goto LA28_;
		T29_ = 0;
		T25_ = ((67108872 & (*s_p2).flags) == T29_);
LA28_: ;
		if (!T25_) goto LA30_;
		(*a_p0).isInnerProc = NIM_TRUE;
	}
LA30_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4558(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, useVar__sempass2_u5262)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	s_1 = NIM_NIL;
	eqcopy___ast_u4561(&s_1, (*n_p1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((NI)0) < (*a_p0).inExceptOrFinallyStmt)) goto LA4_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)45))) & 63);
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym157__1;
		T8_ = (NIM_BOOL)0;
		T8_ = isLocalSym__sempass2_u2035(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T8_) goto LA9_;
		xX60gensym157__1 = NIM_NIL;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym155__1;
			if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14)))&63U)))!=0)) goto LA14_;
			xX60gensym155__1 = NIM_NIL;
			eqcopy___ast_u4561(&xX60gensym155__1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			add__varpartitions_u1540((&(*a_p0).init), (NI)((NI)((NU64)(((NI) ((*xX60gensym155__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym155__1).itemId.item))));
			eqdestroy___ast_u4558(xX60gensym155__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
		goto LA12_;
LA14_: ;
		{
			NIM_BOOL T17_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym165__1;
			eqcopy___ast_u4561(&xX60gensym157__1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			T17_ = (NIM_BOOL)0;
			T17_ = contains__sigmatch_u5088((((*a_p0).init).p) ? ((*a_p0).init.p->data) : NIM_NIL, (*a_p0).init.len, (NI)((NI)((NU64)(((NI) ((*xX60gensym157__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym157__1).itemId.item))));
			if (!!(T17_)) goto LA18_;
			xX60gensym165__1 = NIM_NIL;
			{
				NIM_BOOL T23_;
				T23_ = (NIM_BOOL)0;
				T23_ = requiresInit__typeallowed_u557((*s_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				if (!T23_) goto LA24_;
				liMessage__msgs_u1223((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), (*(*s_1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_32), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
			goto LA21_;
LA24_: ;
			{
				if (!((*a_p0).leftPartOfAsgn <= ((NI)0))) goto LA27_;
				{
					if (!(((*(*a_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)18)))&31U)))!=0)) goto LA31_;
					{
						if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9))) goto LA35_;
						liMessage__msgs_u1223((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_34, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_35), NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					}
					goto LA33_;
LA35_: ;
					{
						liMessage__msgs_u1223((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)55), (*(*s_1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_36), NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					}
LA33_: ;
				}
LA31_: ;
			}
			goto LA21_;
LA27_: ;
LA21_: ;
			eqcopy___ast_u4561(&xX60gensym165__1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			add__varpartitions_u1540((&(*a_p0).init), (NI)((NI)((NU64)(((NI) ((*xX60gensym165__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym165__1).itemId.item))));
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4558(xX60gensym165__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
		goto LA12_;
LA18_: ;
LA12_: ;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4558(xX60gensym157__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	useVarNoInitCheck__sempass2_u4088(a_p0, n_p1, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4558(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, throws__sempass2_u5386)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2) {
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T3_) goto LA4_;
		T3_ = !(((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50)));
LA4_: ;
		if (!T3_) goto LA5_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
			if (!!((orig_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA9_;
			x_1 = NIM_NIL;
			x_1 = copyTree__ast_u6862(orig_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			eqcopy___ast_u3366(&(*x_1).typField, (*n_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			add__ast_u3200(tracked_p0, x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				LA11_:;
			}
			{
				oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin11_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA7_;
LA9_: ;
		{
			add__ast_u3200(tracked_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass2_u5433)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aa_1;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	aa_1 = NIM_NIL;
	eqcopy___ast_u3240(&aa_1, (*a_p0).exc);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3175(aa_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = (*a_p0).bottom;
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
				if (!(i_2 < colontmp_)) goto LA4;
				colontmpD_ = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				i_1 = i_2;
				{
					tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T8_;
					NIM_BOOL T9_;
					colontmpD_ = excType__sempass2_u5407((*a_p0).graph, (*aa_1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					colontmpD__2 = excType__sempass2_u5407((*a_p0).graph, e_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = 0;
					T9_ = (NIM_BOOL)0;
					T9_ = sameType__types_u1815(colontmpD_, colontmpD__2, T8_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T9_) goto LA10_;
					eqdestroy___ast_u3363(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3363(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3237(aa_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3363(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3363(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA4: ;
		}
	}
	{
		if (!!(((*e_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA16_;
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = isDefectException__types_u3521((*e_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T20_)) goto LA21_;
			throws__sempass2_u5386((*a_p0).exc, e_p1, comesFrom_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA21_: ;
	}
LA16_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(aa_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__sempass2_u2010)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, NIM_BOOL explicit_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = (typ_p1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((*(*tracked_p0).owner).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)39)))&63U)))!=0);
		if (!(T5_)) goto LA6_;
		T5_ = !(explicit_p3);
LA6_: ;
		T3_ = T5_;
LA4_: ;
		if (!T3_) goto LA7_;
		goto BeforeRet_;
	}
LA7_: ;
	createTypeBoundOps__liftdestructors_u50((*tracked_p0).graph, (*tracked_p0).c, typ_p1, info_p2, (*(*tracked_p0).c).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = (((*typ_p1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31)))&63U)))!=0);
		if (T11_) goto LA12_;
		T11_ = (((*(*tracked_p0).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)44)))&63U)))!=0);
LA12_: ;
		if (!T11_) goto LA13_;
		(*(*tracked_p0).owner).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)42))) & 63);
	}
LA13_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, createRaise__sempass2_u5419)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNode__ast_u4054(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = getEbase__sempass2_u5403(g_p0, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3363(T1_); goto BeforeRet_;}
	eqsink___ast_u3372(&(*result).typField, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!((n_p1 == 0))) goto LA4_;
		(*result).info = (*n_p1).info;
	}
LA4_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass2_u6119)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* reason_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA useLoc_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((*a_p0).inEnforcedNoSideEffects)) goto LA3_;
		(*a_p0).hasSideEffect = NIM_TRUE;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym312__1;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
			tySequence__KYLoGmc5aaHsSDjEH1FTxQ T20_;
			tySequence__KYLoGmc5aaHsSDjEH1FTxQ* T21_;
			tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ T22_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
			if (!((routineKinds__ast_u312 &((NU32)1<<((NU)(((*(*a_p0).owner).kind))&31U)))!=0)) goto LA7_;
			sym_1 = NIM_NIL;
			xX60gensym312__1 = NIM_NIL;
			nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			{
				if (!((*reason_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA11_;
				eqcopy___ast_u4561(&sym_1, (*reason_p1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA9_;
LA11_: ;
			{
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__2;
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__3;
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_1;
				tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T19_;
				colontmpD__2 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
				colontmpD__3 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
				{
					if (!((*reason_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA16_;
					colontmpD__2 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3);
					kind_1 = colontmpD__2;
				}
				goto LA14_;
LA16_: ;
				{
					colontmpD__3 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0);
					kind_1 = colontmpD__3;
				}
LA14_: ;
				T19_ = 0;
				sym_1 = newSym__ast_u4189(kind_1, (*(*a_p0).owner).name, (*(*a_p0).c).Sup.idgen, (*a_p0).owner, (*reason_p1).info, T19_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA9_: ;
			xX60gensym312__1 = (*a_p0).owner;
			T20_.len = 0; T20_.p = NIM_NIL;
			T20_.len = 0; T20_.p = (tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content*) newSeqPayload(0, sizeof(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ), NIM_ALIGNOF(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ));
			T21_ = (tySequence__KYLoGmc5aaHsSDjEH1FTxQ*)0;
			T21_ = mgetOrPut__sempass2_u4203((&(*(*a_p0).c).sideEffects), (NI)((NI)((NU64)(((NI) ((*xX60gensym312__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym312__1).itemId.item))), T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&T22_), sizeof(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ));
			colontmpD_ = useLoc_p2;
			T22_.Field0 = colontmpD_;
			blitTmp_1 = sym_1;
			T22_.Field1 = blitTmp_1;
			add__sempass2_u5223((&(*T21_)), T22_);
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, hasWarn__options_u614)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w note_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((*conf_p0).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)13)))&31U)))!=0);
	if (!(T1_)) goto LA2_;
	T1_ = (((*conf_p0).notes[(NU)((note_p1 - 20))>>3] &(1U<<((NU)((note_p1 - 20))&7U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, warnAboutGcUnsafe__sempass2_u3454)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1) {
	NimStringV2 colontmpD_;
	tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	T2_ = 0;
	colontmpD_ = renderTree__renderer_u59(n_p0, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	liMessage__msgs_u1223(conf_p1, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)53), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_41), NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2627(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass2_u3464)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* reason_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((*a_p0).inEnforcedGcSafe)) goto LA3_;
		(*a_p0).gcUnsafe = NIM_TRUE;
		{
			if (!((*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*a_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA7_;
			{
				if (!((*reason_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA11_;
				eqcopy___ast_u4561(&(*(*a_p0).owner)._kind_1.gcUnsafetyReason, (*reason_p1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA9_;
LA11_: ;
			{
				tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T14_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T15_;
				T14_ = 0;
				T15_ = NIM_NIL;
				T15_ = newSym__ast_u4189(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0), (*(*a_p0).owner).name, (*(*a_p0).c).Sup.idgen, (*a_p0).owner, (*reason_p1).info, T14_);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4558(T15_); goto BeforeRet_;}
				eqsink___ast_u4567(&(*(*a_p0).owner)._kind_1.gcUnsafetyReason, T15_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA9_: ;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeRaises__sempass2_u5467)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!(b_p1 == 0)) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = createRaise__sempass2_u5419((*a_p0).graph, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		addRaiseEffect__sempass2_u5433(a_p0, colontmpD_, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effect_1;
			effect_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182(b_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA13;
						i_1 = i_2;
						eqcopy___ast_u3240(&effect_1, (*b_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						addRaiseEffect__sempass2_u5433(a_p0, effect_1, comesFrom_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						i_2 += ((NI)1);
					} LA13: ;
				}
			}
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(effect_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addTag__sempass2_u5447)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aa_1;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	aa_1 = NIM_NIL;
	eqcopy___ast_u3240(&aa_1, (*a_p0).tags);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3175(aa_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
				if (!(i_2 < colontmp_)) goto LA4;
				colontmpD_ = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				i_1 = i_2;
				{
					tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T8_;
					NIM_BOOL T9_;
					colontmpD_ = skipTypes__ast_u5358((*(*aa_1)._kind_6.sons.p->data[i_1]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					colontmpD__2 = skipTypes__ast_u5358((*e_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = 0;
					T9_ = (NIM_BOOL)0;
					T9_ = sameType__types_u1815(colontmpD_, colontmpD__2, T8_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T9_) goto LA10_;
					eqdestroy___ast_u3363(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3363(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3237(aa_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3363(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3363(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA4: ;
		}
	}
	throws__sempass2_u5386((*a_p0).tags, e_p1, comesFrom_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(aa_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, createTag__sempass2_u5426)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNode__ast_u4054(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = sysTypeFromName__magicsys_u49(g_p0, (*n_p1).info, TM__wkTG4eaV3t1uo3x09apjcwA_43);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3363(T1_); goto BeforeRet_;}
	eqsink___ast_u3372(&(*result).typField, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!((n_p1 == 0))) goto LA4_;
		(*result).info = (*n_p1).info;
	}
LA4_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeTags__sempass2_u5475)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!(b_p1 == 0)) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = createTag__sempass2_u5426((*a_p0).graph, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		addTag__sempass2_u5447(a_p0, colontmpD_, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effect_1;
			effect_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182(b_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA13;
						i_1 = i_2;
						eqcopy___ast_u3240(&effect_1, (*b_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						addTag__sempass2_u5447(a_p0, effect_1, comesFrom_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						i_2 += ((NI)1);
					} LA13: ;
				}
			}
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(effect_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, propagateEffects__sempass2_u5831)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* spec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tagSpec_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pragma_1 = NIM_NIL;
	spec_1 = NIM_NIL;
	tagSpec_1 = NIM_NIL;
	eqcopy___ast_u3240(&pragma_1, (*(*s_p2).ast)._kind_6.sons.p->data[((NI)4)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	spec_1 = effectSpec__trees_u307(pragma_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)175));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__2;
		tyTuple__09aD69az7aYn14Gt61AHvLIA T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = (spec_1 == 0);
		if (!(T4_)) goto LA5_;
		T4_ = (((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0);
LA5_: ;
		if (!T4_) goto LA6_;
		colontmpD_ = NIM_NIL;
		nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		nimZeroMem((void*)(&T8_), sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		colontmpD_ = eqdup___ast_u4564(s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_.Field0 = colontmpD_;
		colontmpD__2 = (*n_p1).info;
		T8_.Field1 = colontmpD__2;
		add__sempass2_u5844((&(*tracked_p0).unknownRaises), T8_);
	}
LA6_: ;
	mergeRaises__sempass2_u5467(tracked_p0, spec_1, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	tagSpec_1 = effectSpec__trees_u307(pragma_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)180));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	mergeTags__sempass2_u5475(tracked_p0, tagSpec_1, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T11_;
		tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T12_;
		T11_ = (NIM_BOOL)0;
		T12_ = 0;
		T11_ = ((130 & (*(*s_p2).typ).flags) == T12_);
		if (!(T11_)) goto LA13_;
		T11_ = !((((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0));
LA13_: ;
		if (!T11_) goto LA14_;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)53));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T18_) goto LA19_;
			warnAboutGcUnsafe__sempass2_u3454(n_p1, (*tracked_p0).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA19_: ;
		markGcUnsafe__sempass2_u3457(tracked_p0, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	{
		if (!!((((*(*s_p2).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0))) goto LA23_;
		markSideEffect__sempass2_u4124(tracked_p0, s_p2, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA23_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(tagSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(spec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(pragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isNoEffectList__sempass2_u6007)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NIM_BOOL T4_;
	NIM_BOOL T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NI)0;
	T2_ = len__ast_u3175(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (T2_ == ((NI)0));
	if (T1_) goto LA3_;
	T4_ = (NIM_BOOL)0;
	T5_ = (NIM_BOOL)0;
	T5_ = ((*n_p0)._kind_6.sons.p->data[((NI)3)] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (!(T5_)) goto LA6_;
	T5_ = ((*n_p0)._kind_6.sons.p->data[((NI)0)] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA6_: ;
	T4_ = T5_;
	if (!(T4_)) goto LA7_;
	T4_ = ((*n_p0)._kind_6.sons.p->data[((NI)5)] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA7_: ;
	T1_ = T4_;
LA3_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isForwardedProc__sempass2_u5797)(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).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIndirectCall__sempass2_u5754)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA3_;
		result = NIM_TRUE;
	}
	goto LA1_;
LA3_: ;
	{
		if (!((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3))) goto LA6_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			if (!!((((*(*(*(*tracked_p0).c).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)2)))&7U)))!=0))) goto LA10_;
			colontmpD_ = NIM_NIL;
			{
				NIM_BOOL T14_;
				T14_ = (NIM_BOOL)0;
				colontmpD_ = owner__ast_u6233((*n_p1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T14_ = ((*tracked_p0).owner == colontmpD_);
				if (!(T14_)) goto LA15_;
				T14_ = (((*(*n_p1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)48)))&63U)))!=0);
LA15_: ;
				if (!T14_) goto LA16_;
				result = NIM_FALSE;
			}
			goto LA12_;
LA16_: ;
			{
				result = NIM_TRUE;
			}
LA12_: ;
			eqdestroy___ast_u4558(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA8_;
LA10_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			NIM_BOOL T20_;
			colontmpD__2 = NIM_NIL;
			T20_ = (NIM_BOOL)0;
			colontmpD__2 = owner__ast_u6233((*n_p1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T20_ = !(((*tracked_p0).owner == colontmpD__2));
			if (T20_) goto LA21_;
			T20_ = ((*tracked_p0).owner == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
LA21_: ;
			result = T20_;
			eqdestroy___ast_u4558(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA8_: ;
	}
	goto LA1_;
LA6_: ;
	{
		if (!!(((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)))) goto LA23_;
		result = NIM_TRUE;
	}
	goto LA1_;
LA23_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, assumeTheWorst__sempass2_u5976)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* op_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = createRaise__sempass2_u5419((*tracked_p0).graph, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addRaiseEffect__sempass2_u5433(tracked_p0, colontmpD_, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = createTag__sempass2_u5426((*tracked_p0).graph, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addTag__sempass2_u5447(tracked_p0, colontmpD__2, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass2_u5820)(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).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isTrival__sempass2_u6029)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caller_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*caller_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T1_)) goto LA2_;
	T1_ = ((*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92) || (*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)141) || (*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)147) || (*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)149) || (*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)140));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass2_u5980)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T2_)) goto LA3_;
	T2_ = ((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	colontmpD_ = owner__ast_u6233((*n_p1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = ((*tracked_p0).owner == colontmpD_);
LA4_: ;
	result = T1_;
	{
		NIM_BOOL T9_;
		if (!!((((*(*(*(*tracked_p0).c).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)2)))&7U)))!=0))) goto LA7_;
		T9_ = (NIM_BOOL)0;
		T9_ = result;
		if (!(T9_)) goto LA10_;
		T9_ = (((*(*n_p1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)48)))&63U)))!=0);
LA10_: ;
		result = T9_;
	}
LA7_: ;
	eqdestroy___ast_u4558(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, signatureLen__ast_u5589)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = T1_;
	return result;
}
static N_INLINE(void, makeVolatile__sempass2_u2148)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) < (*a_p0).inTryStmt);
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*a_p0).config).exc == ((tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw)1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)9))) & 63);
	}
LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, procVarCheck__sempass2_u5886)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1) {
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA3_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
			x_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA9;
						i_1 = i_2;
						eqcopy___ast_u3240(&x_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						procVarCheck__sempass2_u5886(x_1, conf_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						i_2 += ((NI)1);
					} LA9: ;
				}
			}
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T13_;
		NIM_BOOL T14_;
		NimStringV2 colontmpD_;
		T13_ = (NIM_BOOL)0;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T14_)) goto LA15_;
		T14_ = !(((*(*n_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
LA15_: ;
		T13_ = T14_;
		if (!(T13_)) goto LA16_;
		T13_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA16_: ;
		if (!T13_) goto LA17_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_50, (*(*(*n_p0)._kind_4.sym).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		liMessage__msgs_u1223(conf_p1, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_51), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			LA19_:;
		}
		{
			eqdestroy___system_u2627(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA17_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass2_u5906)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_2;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_2 = NIM_NIL;
	paramType_2 = NIM_NIL;
	n_2 = skipConv__types_u3718(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		T4_ = (NIM_BOOL)0;
		T4_ = (paramType_p2 == 0);
		if (T4_) goto LA5_;
		T4_ = !(((*paramType_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA5_: ;
		if (!T4_) goto LA6_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = skipConvCastAndClosure__astalgo_u60(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		procVarCheck__sempass2_u5886(colontmpD_, (*tracked_p0).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	paramType_2 = skipTypesOrNil__ast_u6577(paramType_p2, TM__wkTG4eaV3t1uo3x09apjcwA_45);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T13_;
		NIM_BOOL T14_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ntyp_1;
		T13_ = (NIM_BOOL)0;
		T14_ = (NIM_BOOL)0;
		T14_ = !((paramType_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T14_)) goto LA15_;
		T14_ = (((*paramType_2).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0);
LA15_: ;
		T13_ = T14_;
		if (!(T13_)) goto LA16_;
		T13_ = !(((*n_2).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA16_: ;
		if (!T13_) goto LA17_;
		ntyp_1 = NIM_NIL;
		ntyp_1 = skipTypesOrNil__ast_u6577((*n_2).typField, TM__wkTG4eaV3t1uo3x09apjcwA_52);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			NIM_BOOL T22_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T50_;
			T22_ = (NIM_BOOL)0;
			T22_ = !((ntyp_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T22_)) goto LA23_;
			T22_ = !((((*ntyp_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0));
LA23_: ;
			if (!T22_) goto LA24_;
			{
				if (!((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64))) goto LA28_;
				{
					NIM_BOOL T32_;
					T32_ = (NIM_BOOL)0;
					T32_ = containsNode__ast_u6979(n_2, TM__wkTG4eaV3t1uo3x09apjcwA_53);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
					if (!!(T32_)) goto LA33_;
					eqdestroy___ast_u3363(ntyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3363(paramType_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3237(n_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA33_: ;
			}
			goto LA26_;
LA28_: ;
			{
				NIM_BOOL T36_;
				NIM_BOOL T37_;
				NIM_BOOL T38_;
				NIM_BOOL T39_;
				NIM_BOOL T43_;
				NIM_BOOL T44_;
				T36_ = (NIM_BOOL)0;
				T37_ = (NIM_BOOL)0;
				T38_ = (NIM_BOOL)0;
				T39_ = (NIM_BOOL)0;
				T39_ = ((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T39_)) goto LA40_;
				T39_ = ((*(*n_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*n_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*n_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*n_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*n_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*n_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*n_2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA40_: ;
				T38_ = T39_;
				if (T38_) goto LA41_;
				T38_ = ((*n_2).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*n_2).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41) || (*n_2).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) && (*n_2).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52) || (*n_2).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) && (*n_2).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159));
LA41_: ;
				T37_ = T38_;
				if (T37_) goto LA42_;
				T43_ = (NIM_BOOL)0;
				T44_ = (NIM_BOOL)0;
				T44_ = ((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
				if (!(T44_)) goto LA45_;
				T44_ = ((*(*n_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA45_: ;
				T43_ = T44_;
				if (!(T43_)) goto LA46_;
				T43_ = ((*(*(*n_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142));
LA46_: ;
				T37_ = T43_;
LA42_: ;
				T36_ = T37_;
				if (T36_) goto LA47_;
				T36_ = ((*(*n_2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA47_: ;
				if (!T36_) goto LA48_;
				eqdestroy___ast_u3363(ntyp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3363(paramType_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3237(n_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA26_;
LA48_: ;
LA26_: ;
			T50_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T50_ = impliesNotNil__guards_u802((&(*tracked_p0).guards), n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			switch (T50_) {
			case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0):
			{
				NimStringV2 colontmpD__2;
				NimStringV2 colontmpD__3;
				tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T53_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				T53_ = 0;
				colontmpD__2 = renderTree__renderer_u59(n_2, T53_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				colontmpD__3 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_55, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				liMessage__msgs_u1223((*tracked_p0).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_56), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				{
					LA52_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__3);
					eqdestroy___system_u2627(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			}
			break;
			case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1):
			{
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T58_;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				T58_ = 0;
				colontmpD__4 = renderTree__renderer_u59(n_2, T58_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				colontmpD__5 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_58, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				liMessage__msgs_u1223((*tracked_p0).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_59), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				{
					LA57_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__5);
					eqdestroy___system_u2627(colontmpD__4);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			}
			break;
			case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2):
			{
			}
			break;
			default: __builtin_unreachable();
			}
		}
LA24_: ;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(ntyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA17_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3363(paramType_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackOperandForIndirectCall__sempass2_u6040)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formals_p2, NI argIndex_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caller_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* op_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T2_;
NIM_BOOL oldNimErrFin30_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T100_;
NIM_BOOL oldNimErrFin129_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1 = NIM_NIL;
	op_1 = NIM_NIL;
	param_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	paramType_1 = NIM_NIL;
	a_1 = skipConvCastAndClosure__astalgo_u60(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3366(&op_1, (*a_1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	{
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NI T9_;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = !((formals_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T6_)) goto LA7_;
		T6_ = !(((*formals_p2).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T9_ = (NI)0;
		T9_ = len__ast_u3175((*formals_p2).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = (argIndex_p3 < T9_);
LA8_: ;
		if (!T5_) goto LA10_;
		param_1 = (*(*(*formals_p2).n)._kind_6.sons.p->data[argIndex_p3])._kind_4.sym;
	}
	goto LA3_;
LA10_: ;
	{
		param_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
LA3_: ;
	{
		NIM_BOOL T15_;
		NIM_BOOL T16_;
		NIM_BOOL T17_;
		NIM_BOOL T18_;
		NIM_BOOL T22_;
		NIM_BOOL T24_;
		NIM_BOOL T25_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effectList_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
		T15_ = (NIM_BOOL)0;
		T16_ = (NIM_BOOL)0;
		T17_ = (NIM_BOOL)0;
		T18_ = (NIM_BOOL)0;
		T18_ = !((op_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T18_)) goto LA19_;
		T18_ = ((*op_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA19_: ;
		T17_ = T18_;
		if (!(T17_)) goto LA20_;
		colontmpD_ = skipConv__types_u3718(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T17_ = !(((*colontmpD_).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)));
LA20_: ;
		T16_ = T17_;
		if (!(T16_)) goto LA21_;
		T22_ = (NIM_BOOL)0;
		T22_ = isTrival__sempass2_u6029(caller_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T16_ = !(T22_);
LA21_: ;
		T15_ = T16_;
		if (!(T15_)) goto LA23_;
		T24_ = (NIM_BOOL)0;
		T25_ = (NIM_BOOL)0;
		T25_ = !((param_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T25_)) goto LA26_;
		T25_ = (((*param_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)48)))&63U)))!=0);
LA26_: ;
		T24_ = T25_;
		if (T24_) goto LA27_;
		T24_ = (((*(*(*(*tracked_p0).c).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)2)))&7U)))!=0);
LA27_: ;
		T15_ = T24_;
LA23_: ;
		if (!T15_) goto LA28_;
		effectList_1 = NIM_NIL;
		s_1 = NIM_NIL;
		{
			NimStringV2 argX60gensym303__1;
			if (!!(((*(*(*op_1).n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152)))) goto LA33_;
			argX60gensym303__1.len = 0; argX60gensym303__1.p = NIM_NIL;
			argX60gensym303__1 = toFileLineCol__msgs_u701((&TM__wkTG4eaV3t1uo3x09apjcwA_44));
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			internalErrorImpl__msgs_u1594((*tracked_p0).config, unknownLineInfo__lineinfos_u361, argX60gensym303__1, (&TM__wkTG4eaV3t1uo3x09apjcwA_44));
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			{
				LA35_:;
			}
			{
				eqdestroy___system_u2627(argX60gensym303__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
LA33_: ;
		eqcopy___ast_u3240(&effectList_1, (*(*op_1).n)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		s_1 = skipConv__types_u3718(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			NIM_BOOL T40_;
			T40_ = (NIM_BOOL)0;
			T40_ = ((*s_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61));
			if (!(T40_)) goto LA41_;
			T40_ = ((*(*(*s_1)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA41_: ;
			if (!T40_) goto LA42_;
			eqcopy___ast_u3240(&s_1, (*s_1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
LA42_: ;
		{
			NIM_BOOL T46_;
			NIM_BOOL T47_;
			T46_ = (NIM_BOOL)0;
			T47_ = (NIM_BOOL)0;
			T47_ = ((*s_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T47_)) goto LA48_;
			T47_ = ((*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA48_: ;
			T46_ = T47_;
			if (!(T46_)) goto LA49_;
			T46_ = isNoEffectList__sempass2_u6007(effectList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
LA49_: ;
			if (!T46_) goto LA50_;
			propagateEffects__sempass2_u5831(tracked_p0, n_p1, (*s_1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
		goto LA44_;
LA50_: ;
		{
			NIM_BOOL T53_;
			T53_ = (NIM_BOOL)0;
			T53_ = isNoEffectList__sempass2_u6007(effectList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			if (!T53_) goto LA54_;
			{
				NIM_BOOL T58_;
				T58_ = (NIM_BOOL)0;
				T58_ = isForwardedProc__sempass2_u5797(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				if (!T58_) goto LA59_;
				propagateEffects__sempass2_u5831(tracked_p0, n_p1, (*n_p1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA56_;
LA59_: ;
			{
				NIM_BOOL T62_;
				T62_ = (NIM_BOOL)0;
				T62_ = isOwnedProcVar__sempass2_u5980(tracked_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				if (!!(T62_)) goto LA63_;
				assumeTheWorst__sempass2_u5976(tracked_p0, n_p1, op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA56_;
LA63_: ;
LA56_: ;
			{
				NIM_BOOL T67_;
				tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T68_;
				NIM_BOOL T70_;
				T67_ = (NIM_BOOL)0;
				T68_ = 0;
				T67_ = ((130 & (*op_1).flags) == T68_);
				if (!(T67_)) goto LA69_;
				T70_ = (NIM_BOOL)0;
				T70_ = isOwnedProcVar__sempass2_u5980(tracked_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				T67_ = !(T70_);
LA69_: ;
				if (!T67_) goto LA71_;
				{
					NIM_BOOL T75_;
					T75_ = (NIM_BOOL)0;
					T75_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)53));
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					if (!T75_) goto LA76_;
					warnAboutGcUnsafe__sempass2_u3454(n_p1, (*tracked_p0).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				}
LA76_: ;
				markGcUnsafe__sempass2_u3464(tracked_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA65_;
LA71_: ;
			{
				NIM_BOOL T79_;
				NIM_BOOL T81_;
				T79_ = (NIM_BOOL)0;
				T79_ = !((((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0));
				if (!(T79_)) goto LA80_;
				T81_ = (NIM_BOOL)0;
				T81_ = isOwnedProcVar__sempass2_u5980(tracked_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				T79_ = !(T81_);
LA80_: ;
				if (!T79_) goto LA82_;
				markSideEffect__sempass2_u6119(tracked_p0, a_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA65_;
LA82_: ;
LA65_: ;
		}
		goto LA44_;
LA54_: ;
		{
			mergeRaises__sempass2_u5467(tracked_p0, (*effectList_1)._kind_6.sons.p->data[((NI)0)], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			mergeTags__sempass2_u5475(tracked_p0, (*effectList_1)._kind_6.sons.p->data[((NI)3)], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			{
				tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T87_;
				T87_ = 0;
				if (!((130 & (*op_1).flags) == T87_)) goto LA88_;
				{
					NIM_BOOL T92_;
					T92_ = (NIM_BOOL)0;
					T92_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)53));
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					if (!T92_) goto LA93_;
					warnAboutGcUnsafe__sempass2_u3454(n_p1, (*tracked_p0).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				}
LA93_: ;
				markGcUnsafe__sempass2_u3464(tracked_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA85_;
LA88_: ;
			{
				if (!!((((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0))) goto LA96_;
				markSideEffect__sempass2_u6119(tracked_p0, a_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA85_;
LA96_: ;
LA85_: ;
		}
LA44_: ;
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3237(effectList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA28_: ;
	T100_ = NIM_NIL;
	{
		NIM_BOOL T103_;
		NI T105_;
		T103_ = (NIM_BOOL)0;
		T103_ = !((formals_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T103_)) goto LA104_;
		T105_ = (NI)0;
		T105_ = signatureLen__ast_u5589(formals_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T103_ = (argIndex_p3 < T105_);
LA104_: ;
		if (!T103_) goto LA106_;
		eqcopy___ast_u3366(&paramType_1, (*formals_p2).sons.p->data[argIndex_p3]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA101_;
LA106_: ;
	{
		paramType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	}
LA101_: ;
	{
		NIM_BOOL T111_;
		T111_ = (NIM_BOOL)0;
		T111_ = !((paramType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T111_)) goto LA112_;
		T111_ = ((*paramType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA112_: ;
		if (!T111_) goto LA113_;
		invalidateFacts__guards_u610((&(*tracked_p0).guards), n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T117_;
			T117_ = (NIM_BOOL)0;
			T117_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T117_)) goto LA118_;
			T117_ = isLocalSym__sempass2_u2035(tracked_p0, (*n_p1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA118_: ;
			if (!T117_) goto LA119_;
			makeVolatile__sempass2_u2148(tracked_p0, (*n_p1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA119_: ;
	}
LA113_: ;
	{
		NIM_BOOL T123_;
		NIM_BOOL T124_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* argtype_1;
		T123_ = (NIM_BOOL)0;
		T124_ = (NIM_BOOL)0;
		T124_ = !((paramType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T124_)) goto LA125_;
		T124_ = ((*paramType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA125_: ;
		T123_ = T124_;
		if (!(T123_)) goto LA126_;
		T123_ = (((*paramType_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)7)))&63U)))!=0);
LA126_: ;
		if (!T123_) goto LA127_;
		argtype_1 = NIM_NIL;
		argtype_1 = skipTypes__ast_u5358((*a_1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_45);
		if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
		{
			NIM_BOOL T132_;
			NIM_BOOL T133_;
			tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T135_;
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			NimStringV2 T140_;
			T132_ = (NIM_BOOL)0;
			T133_ = (NIM_BOOL)0;
			T133_ = ((*argtype_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
			if (!(T133_)) goto LA134_;
			T135_ = 0;
			T133_ = ((130 & (*argtype_1).flags) == T135_);
LA134_: ;
			T132_ = T133_;
			if (!(T132_)) goto LA136_;
			T132_ = !((*tracked_p0).inEnforcedGcSafe);
LA136_: ;
			if (!T132_) goto LA137_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			T140_.len = 0; T140_.p = NIM_NIL;
			colontmpD__2 = dollar___renderer_u2143(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			T140_ = rawNewString(colontmpD__2.len + 15);
appendString((&T140_), colontmpD__2);
appendString((&T140_), TM__wkTG4eaV3t1uo3x09apjcwA_47);
			colontmpD__3 = T140_;
			liMessage__msgs_u1223((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_48), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			{
				LA139_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__3);
				eqdestroy___system_u2627(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
		}
LA137_: ;
		{
			LA129_:;
		}
		{
			oldNimErrFin129_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(argtype_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin129_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA127_: ;
	notNilCheck__sempass2_u5906(tracked_p0, n_p1, paramType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3363(paramType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenDeref__sempass2_u3242)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = NIM_NIL;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA4_;
		eqcopy___ast_u3240(&result, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		eqcopy___ast_u3240(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass2_u3249)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL volatileCheck_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_2 = NIM_NIL;
	s_1 = NIM_NIL;
	n_2 = skipHiddenDeref__sempass2_u3242(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
		eqdestroy___ast_u4558(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u4561(&s_1, (*n_2)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T8_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym95__1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym96__1;
		T8_ = (NIM_BOOL)0;
		T8_ = isLocalSym__sempass2_u2035(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T8_) goto LA9_;
		xX60gensym95__1 = NIM_NIL;
		xX60gensym96__1 = NIM_NIL;
		{
			if (!volatileCheck_p2) goto LA14_;
			makeVolatile__sempass2_u2148(a_p0, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
LA14_: ;
		{
			NI* x_1;
			NI i_1;
			NI L_1;
			NI T17_;
			x_1 = (NI*)0;
			i_1 = ((NI)0);
			T17_ = (*a_p0).init.len;
			L_1 = T17_;
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym91__1;
					if (!(i_1 < L_1)) goto LA19;
					xX60gensym91__1 = NIM_NIL;
					x_1 = (&(*a_p0).init.p->data[i_1]);
					{
						eqcopy___ast_u4561(&xX60gensym91__1, s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						if (!((*x_1) == (NI)((NI)((NU64)(((NI) ((*xX60gensym91__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym91__1).itemId.item))))) goto LA23_;
						{
							NIM_BOOL T27_;
							NimStringV2 colontmpD_;
							NimStringV2 colontmpD__2;
							T27_ = (NIM_BOOL)0;
							T27_ = (((*(*a_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)18)))&31U)))!=0);
							if (!(T27_)) goto LA28_;
							T27_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
LA28_: ;
							if (!T27_) goto LA29_;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							colontmpD_ = renderTree__renderer_u59(n_2, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							colontmpD__2 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_61, colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							liMessage__msgs_u1223((*a_p0).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_62), NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							{
								LA31_:;
							}
							{
								eqdestroy___system_u2627(colontmpD__2);
								eqdestroy___system_u2627(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						}
LA29_: ;
						eqdestroy___ast_u4558(xX60gensym91__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						eqdestroy___ast_u4558(xX60gensym96__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4558(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3237(n_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA23_: ;
					i_1 += ((NI)1);
					{
						LA20_:;
					}
					{
						oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4558(xX60gensym91__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						*nimErr_ = oldNimErrFin20_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				} LA19: ;
			}
		}
		xX60gensym95__1 = s_1;
		add__varpartitions_u1540((&(*a_p0).init), (NI)((NI)((NU64)(((NI) ((*xX60gensym95__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym95__1).itemId.item))));
		{
			NI T38_;
			xX60gensym96__1 = s_1;
			eqwasMoved___ast_u4555(&s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			T38_ = (NI)0;
			T38_ = getOrDefault__sempass2_u3363((*a_p0).scopes, (NI)((NI)((NU64)(((NI) ((*xX60gensym96__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym96__1).itemId.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			if (!(T38_ == (*a_p0).currentBlock)) goto LA39_;
			(*n_2).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)22))) & 31);
		}
LA39_: ;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4558(xX60gensym96__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4558(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initVarViaNew__sempass2_u3436)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_2 = NIM_NIL;
	s_1 = NIM_NIL;
	n_2 = skipHiddenDeref__sempass2_u3242(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
		eqdestroy___ast_u4558(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u4561(&s_1, (*n_2)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((393216 & (*(*s_1).typ).flags) & ~ 131072)==0)) goto LA8_;
		initVar__sempass2_u3249(a_p0, n_2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA8_: ;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = isLocalSym__sempass2_u2035(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T11_) goto LA12_;
		makeVolatile__sempass2_u2148(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA12_: ;
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4558(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, hasElementType__ast_u5639)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = (((NI)0) < T1_);
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5260)(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_u5310)(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_u5260((((*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_u3366(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass2_u6651)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	T1_ = proveLe__guards_u1542((&(*c_p0).guards), a_p1, b_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (T1_) {
	case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0):
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T4_.len = 0; T4_.p = NIM_NIL;
		colontmpD_ = dollar___renderer_u2143(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		colontmpD__2 = dollar___renderer_u2143(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		T4_ = rawNewString(colontmpD_.len + colontmpD__2.len + 18);
appendString((&T4_), TM__wkTG4eaV3t1uo3x09apjcwA_65);
appendString((&T4_), colontmpD_);
appendString((&T4_), TM__wkTG4eaV3t1uo3x09apjcwA_67);
appendString((&T4_), colontmpD__2);
		colontmpD__3 = T4_;
		liMessage__msgs_u1223((*c_p0).config, (*a_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)52), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_68), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			LA3_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__3);
			eqdestroy___system_u2627(colontmpD__2);
			eqdestroy___system_u2627(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2):
	{
	}
	break;
	case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1):
	{
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 T10_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		T10_.len = 0; T10_.p = NIM_NIL;
		colontmpD__4 = dollar___renderer_u2143(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD__5 = dollar___renderer_u2143(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T10_ = rawNewString(colontmpD__4.len + colontmpD__5.len + 14);
appendString((&T10_), TM__wkTG4eaV3t1uo3x09apjcwA_70);
appendString((&T10_), colontmpD__4);
appendString((&T10_), TM__wkTG4eaV3t1uo3x09apjcwA_72);
appendString((&T10_), colontmpD__5);
		colontmpD__6 = T10_;
		liMessage__msgs_u1223((*c_p0).config, (*a_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)52), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_73), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			LA9_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__6);
			eqdestroy___system_u2627(colontmpD__5);
			eqdestroy___system_u2627(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass2_u6655)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arr_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idx_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = lowBound__guards_u230((*c_p0).config, arr_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkLe__sempass2_u6651(c_p0, colontmpD_, idx_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = highBound__guards_u234((*c_p0).config, arr_p1, (&(*(*c_p0).guards.g).operators));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkLe__sempass2_u6651(c_p0, idx_p2, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
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_u1726)(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_u1726(((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(tyTuple__QEtmrJl2wkbDhVzeJSgyBQ, findHookKind__sempass2_u6687)(NimStringV2 name_p0) {
	tyTuple__QEtmrJl2wkbDhVzeJSgyBQ result;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = nsuNormalize(name_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_75)) goto LA1_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_77)) goto LA2_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_79)) goto LA3_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_81)) goto LA3_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_83)) goto LA4_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_85)) goto LA5_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_87)) goto LA6_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_89)) goto LA7_;
	goto LA8_;
	LA1_: ;
	{
		NIM_BOOL colontmp_;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__2;
		colontmp_ = NIM_TRUE;
		colontmp__2 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0);
		result.Field0 = colontmp_;
		result.Field1 = colontmp__2;
	}
	goto LA9_;
	LA2_: ;
	{
		NIM_BOOL colontmp__3;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__4;
		colontmp__3 = NIM_TRUE;
		colontmp__4 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1);
		result.Field0 = colontmp__3;
		result.Field1 = colontmp__4;
	}
	goto LA9_;
	LA3_: ;
	{
		NIM_BOOL colontmp__5;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__6;
		colontmp__5 = NIM_TRUE;
		colontmp__6 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2);
		result.Field0 = colontmp__5;
		result.Field1 = colontmp__6;
	}
	goto LA9_;
	LA4_: ;
	{
		NIM_BOOL colontmp__7;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__8;
		colontmp__7 = NIM_TRUE;
		colontmp__8 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)3);
		result.Field0 = colontmp__7;
		result.Field1 = colontmp__8;
	}
	goto LA9_;
	LA5_: ;
	{
		NIM_BOOL colontmp__9;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__10;
		colontmp__9 = NIM_TRUE;
		colontmp__10 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)4);
		result.Field0 = colontmp__9;
		result.Field1 = colontmp__10;
	}
	goto LA9_;
	LA6_: ;
	{
		NIM_BOOL colontmp__11;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__12;
		colontmp__11 = NIM_TRUE;
		colontmp__12 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)5);
		result.Field0 = colontmp__11;
		result.Field1 = colontmp__12;
	}
	goto LA9_;
	LA7_: ;
	{
		NIM_BOOL colontmp__13;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__14;
		colontmp__13 = NIM_TRUE;
		colontmp__14 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)6);
		result.Field0 = colontmp__13;
		result.Field1 = colontmp__14;
	}
	goto LA9_;
	LA8_: ;
	{
		NIM_BOOL colontmp__15;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmp__16;
		colontmp__15 = NIM_FALSE;
		colontmp__16 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0);
		result.Field0 = colontmp__15;
		result.Field1 = colontmp__16;
	}
LA9_: ;
	eqdestroy___system_u2627(colontmpD_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass2_u30)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p3) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin46_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin60_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*arg_p3).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		colontmpD_ = NIM_NIL;
		{
			NIM_BOOL T5_;
			NIM_BOOL T6_;
			NIM_BOOL T7_;
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T14_;
			T5_ = (NIM_BOOL)0;
			T6_ = (NIM_BOOL)0;
			T7_ = (NIM_BOOL)0;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*(*arg_p3)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T9_)) goto LA10_;
			colontmpD_ = owner__ast_u6233((*arg_p3)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			T9_ = (colontmpD_ == owner_p2);
LA10_: ;
			T8_ = T9_;
			if (!(T8_)) goto LA11_;
			T8_ = !(((*owner_p2).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA11_: ;
			T7_ = T8_;
			if (!(T7_)) goto LA12_;
			T7_ = ((*(*owner_p2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA12_: ;
			T6_ = T7_;
			if (!(T6_)) goto LA13_;
			T14_ = 0;
			T6_ = !(((IL64(2147483664) & (*(*(*arg_p3)._kind_4.sym).typ).flags) == T14_));
LA13_: ;
			T5_ = T6_;
			if (!(T5_)) goto LA15_;
			T5_ = !(((*(*(*arg_p3)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*(*arg_p3)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46) || (*(*(*arg_p3)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45)));
LA15_: ;
			if (!T5_) goto LA16_;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* argType_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* sinkType_1;
				if (!!((((*owner_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)5)))&63U)))!=0))) goto LA20_;
				argType_1 = NIM_NIL;
				sinkType_1 = NIM_NIL;
				eqcopy___ast_u3366(&argType_1, (*(*arg_p3)._kind_4.sym).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				sinkType_1 = newType__ast_u5879(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46), idgen_p1, owner_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				(*sinkType_1).size = (*argType_1).size;
				(*sinkType_1).align = (*argType_1).align;
				(*sinkType_1).paddingAtEnd = (*argType_1).paddingAtEnd;
				add__ast_u3866(sinkType_1, argType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqcopy___ast_u3366(&(*(*arg_p3)._kind_4.sym).typ, sinkType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqsink___ast_u3372(&(*(*owner_p2).typ).sons.p->data[(NI)((*(*arg_p3)._kind_4.sym).position + ((NI)1))], sinkType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqdestroy___ast_u3363(argType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
			goto LA18_;
LA20_: ;
			{
				NimStringV2 colontmpD__2;
				tyArray__nHXaesL0DJZHyVS07ARPRA T26_;
				if (!!((((*(*arg_p3)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)5)))&63U)))!=0))) goto LA23_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				(*(*arg_p3)._kind_4.sym).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)5))) & 63);
				T26_[0] = (*(*(*arg_p3)._kind_4.sym).name).s;
				colontmpD__2 = nsuFormatOpenArray(TM__wkTG4eaV3t1uo3x09apjcwA_92, T26_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				liMessage__msgs_u1223(config_p0, (*arg_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)110), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_93), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				{
					LA25_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
			goto LA18_;
LA23_: ;
LA18_: ;
		}
LA16_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4558(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
	{
		{
			NIM_BOOL T34_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			T34_ = (NIM_BOOL)0;
			T34_ = isEmptyType__ast_u7205((*arg_p3).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T34_)) goto LA35_;
			colontmpD__3 = NIM_NIL;
			colontmpD__3 = lastSon__ast_u5187(arg_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			checkForSink__sempass2_u30(config_p0, idgen_p1, owner_p2, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			{
				LA37_:;
			}
			{
				oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin37_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA35_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
			branch_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182(arg_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
						if (!(i_2 < colontmp_)) goto LA45;
						value_1 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3240(&branch_1, (*arg_p3)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						value_1 = lastSon__ast_u5187(branch_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						{
							NIM_BOOL T49_;
							T49_ = (NIM_BOOL)0;
							T49_ = isEmptyType__ast_u7205((*value_1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
							if (!!(T49_)) goto LA50_;
							checkForSink__sempass2_u30(config_p0, idgen_p1, owner_p2, value_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						}
LA50_: ;
						i_2 += ((NI)1);
						{
							LA46_:;
						}
						{
							oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(value_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							*nimErr_ = oldNimErrFin46_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					} LA45: ;
				}
			}
			{
				LA42_:;
			}
			{
				oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin42_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3175(arg_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_2;
					if (!(i_4 < colontmp__2)) goto LA59;
					value_2 = NIM_NIL;
					i_3 = i_4;
					value_2 = lastSon__ast_u5187((*arg_p3)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
					{
						NIM_BOOL T63_;
						T63_ = (NIM_BOOL)0;
						T63_ = isEmptyType__ast_u7205((*value_2).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
						if (!!(T63_)) goto LA64_;
						checkForSink__sempass2_u30(config_p0, idgen_p1, owner_p2, value_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
					}
LA64_: ;
					i_4 += ((NI)1);
					{
						LA60_:;
					}
					{
						oldNimErrFin60_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3237(value_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin60_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA59: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	{
		checkForSink__sempass2_u30(config_p0, idgen_p1, owner_p2, (*arg_p3)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass2_u6674)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*tracked_p0).inIfStmt == ((NI)0));
		if (!(T3_)) goto LA4_;
		T3_ = (((*(*tracked_p0).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)25)))&31U)))!=0);
LA4_: ;
		if (!T3_) goto LA5_;
		checkForSink__sempass2_u30((*tracked_p0).config, (*(*tracked_p0).c).Sup.idgen, (*tracked_p0).owner, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenAddr__ast_u7605)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = NIM_NIL;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64))) goto LA4_;
		eqcopy___ast_u3240(&result, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		eqcopy___ast_u3240(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass2_u6710)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* op_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
NIM_BOOL oldNimErrFin6_;
	NIM_BOOL notConstExpr_1;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin191_;
NIM_BOOL oldNimErrFin166_;
NIM_BOOL oldNimErrFin217_;
NIM_BOOL oldNimErrFin238_;
NIM_BOOL oldNimErrFin248_;
NIM_BOOL oldNimErrFin242_;
NIM_BOOL oldNimErrFin236_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1 = NIM_NIL;
	op_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	n_2 = NIM_NIL;
	eqcopy___ast_u3240(&a_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3366(&op_1, (*a_1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		if (!!(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA4_;
		colontmpD__2 = NIM_NIL;
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = !(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
			if (!(T9_)) goto LA10_;
			colontmpD__2 = skipTypes__ast_u5358((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_40);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T9_ = !(((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27)));
LA10_: ;
			if (!T9_) goto LA11_;
			createTypeBoundOps__sempass2_u2010(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA11_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	colontmpD_ = getConstExpr__semfold_u69((*tracked_p0).ownerModule, n_p1, (*(*tracked_p0).c).Sup.idgen, (*tracked_p0).graph);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	notConstExpr_1 = (colontmpD_ == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	{
		if (!notConstExpr_1) goto LA17_;
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61));
			if (!(T21_)) goto LA22_;
			T21_ = ((*(*(*a_1)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA22_: ;
			if (!T21_) goto LA23_;
			eqcopy___ast_u3240(&a_1, (*a_1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA23_: ;
		{
			NIM_BOOL T27_;
			NIM_BOOL T28_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effectList_1;
			T27_ = (NIM_BOOL)0;
			T28_ = (NIM_BOOL)0;
			T28_ = !((op_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T28_)) goto LA29_;
			T28_ = ((*op_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA29_: ;
			T27_ = T28_;
			if (!(T27_)) goto LA30_;
			T27_ = ((*(*(*op_1).n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152));
LA30_: ;
			if (!T27_) goto LA31_;
			effectList_1 = NIM_NIL;
			{
				if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA36_;
				{
					if (!((*a_1)._kind_4.sym == (*tracked_p0).owner)) goto LA40_;
					(*tracked_p0).isRecursive = NIM_TRUE;
				}
LA40_: ;
				{
					if (!(((*(*a_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)13)))&63U)))!=0)) goto LA44_;
					markSideEffect__sempass2_u6119(tracked_p0, a_1, (*n_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				}
LA44_: ;
			}
			goto LA34_;
LA36_: ;
			{
			}
LA34_: ;
			eqcopy___ast_u3240(&effectList_1, (*(*op_1).n)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				NIM_BOOL T49_;
				T49_ = (NIM_BOOL)0;
				T49_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T49_)) goto LA50_;
				T49_ = ((*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
LA50_: ;
				if (!T49_) goto LA51_;
				{
					if (!((IL64(288230376218820608) & (*(*a_1)._kind_4.sym).flags) == IL64(288230376151711744))) goto LA55_;
					{
						NIM_BOOL T59_;
						T59_ = (NIM_BOOL)0;
						T59_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)53));
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						if (!T59_) goto LA60_;
						warnAboutGcUnsafe__sempass2_u3454(n_p1, (*tracked_p0).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA60_: ;
					markGcUnsafe__sempass2_u3464(tracked_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				}
LA55_: ;
				propagateEffects__sempass2_u5831(tracked_p0, n_p1, (*a_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
			goto LA47_;
LA51_: ;
			{
				NIM_BOOL T63_;
				T63_ = (NIM_BOOL)0;
				T63_ = isNoEffectList__sempass2_u6007(effectList_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				if (!T63_) goto LA64_;
				{
					NIM_BOOL T68_;
					T68_ = (NIM_BOOL)0;
					T68_ = isForwardedProc__sempass2_u5797(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					if (!T68_) goto LA69_;
					propagateEffects__sempass2_u5831(tracked_p0, n_p1, (*a_1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				}
				goto LA66_;
LA69_: ;
				{
					NIM_BOOL T72_;
					T72_ = (NIM_BOOL)0;
					T72_ = isIndirectCall__sempass2_u5754(tracked_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					if (!T72_) goto LA73_;
					assumeTheWorst__sempass2_u5976(tracked_p0, n_p1, op_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					{
						NIM_BOOL T77_;
						tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T78_;
						NIM_BOOL T80_;
						T77_ = (NIM_BOOL)0;
						T78_ = 0;
						T77_ = ((130 & (*op_1).flags) == T78_);
						if (!(T77_)) goto LA79_;
						T80_ = (NIM_BOOL)0;
						T80_ = importedFromC__sempass2_u5820(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						T77_ = !(T80_);
LA79_: ;
						if (!T77_) goto LA81_;
						{
							NIM_BOOL T85_;
							T85_ = (NIM_BOOL)0;
							T85_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
							if (!(T85_)) goto LA86_;
							T85_ = ((*a_1)._kind_4.sym == (*tracked_p0).owner);
LA86_: ;
							if (!!(T85_)) goto LA87_;
							{
								NIM_BOOL T91_;
								T91_ = (NIM_BOOL)0;
								T91_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)53));
								if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
								if (!T91_) goto LA92_;
								warnAboutGcUnsafe__sempass2_u3454(n_p1, (*tracked_p0).config);
								if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							}
LA92_: ;
							markGcUnsafe__sempass2_u3464(tracked_p0, a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						}
LA87_: ;
					}
LA81_: ;
					{
						NIM_BOOL T96_;
						NIM_BOOL T98_;
						T96_ = (NIM_BOOL)0;
						T96_ = !((((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0));
						if (!(T96_)) goto LA97_;
						T98_ = (NIM_BOOL)0;
						T98_ = importedFromC__sempass2_u5820(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						T96_ = !(T98_);
LA97_: ;
						if (!T96_) goto LA99_;
						{
							NIM_BOOL T103_;
							T103_ = (NIM_BOOL)0;
							T103_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
							if (!(T103_)) goto LA104_;
							T103_ = ((*a_1)._kind_4.sym == (*tracked_p0).owner);
LA104_: ;
							if (!!(T103_)) goto LA105_;
							markSideEffect__sempass2_u6119(tracked_p0, a_1, (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						}
LA105_: ;
					}
LA99_: ;
				}
				goto LA66_;
LA73_: ;
				{
					{
						NIM_BOOL T110_;
						NIM_BOOL T111_;
						T110_ = (NIM_BOOL)0;
						T111_ = (NIM_BOOL)0;
						T111_ = !((((*(*(*(*tracked_p0).c).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)2)))&7U)))!=0));
						if (!(T111_)) goto LA112_;
						T111_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA112_: ;
						T110_ = T111_;
						if (!(T110_)) goto LA113_;
						T110_ = ((*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*a_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA113_: ;
						if (!T110_) goto LA114_;
						propagateEffects__sempass2_u5831(tracked_p0, n_p1, (*a_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA114_: ;
				}
LA66_: ;
			}
			goto LA47_;
LA64_: ;
			{
				mergeRaises__sempass2_u5467(tracked_p0, (*effectList_1)._kind_6.sons.p->data[((NI)0)], n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				mergeTags__sempass2_u5475(tracked_p0, (*effectList_1)._kind_6.sons.p->data[((NI)3)], n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				{
					NIM_BOOL T119_;
					tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T120_;
					NIM_BOOL T122_;
					T119_ = (NIM_BOOL)0;
					T120_ = 0;
					T119_ = ((130 & (*op_1).flags) == T120_);
					if (!(T119_)) goto LA121_;
					T122_ = (NIM_BOOL)0;
					T122_ = importedFromC__sempass2_u5820(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					T119_ = !(T122_);
LA121_: ;
					if (!T119_) goto LA123_;
					{
						NIM_BOOL T127_;
						T127_ = (NIM_BOOL)0;
						T127_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T127_)) goto LA128_;
						T127_ = ((*a_1)._kind_4.sym == (*tracked_p0).owner);
LA128_: ;
						if (!!(T127_)) goto LA129_;
						{
							NIM_BOOL T133_;
							T133_ = (NIM_BOOL)0;
							T133_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)53));
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							if (!T133_) goto LA134_;
							warnAboutGcUnsafe__sempass2_u3454(n_p1, (*tracked_p0).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						}
LA134_: ;
						markGcUnsafe__sempass2_u3464(tracked_p0, a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA129_: ;
				}
LA123_: ;
				{
					NIM_BOOL T138_;
					NIM_BOOL T140_;
					T138_ = (NIM_BOOL)0;
					T138_ = !((((*op_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0));
					if (!(T138_)) goto LA139_;
					T140_ = (NIM_BOOL)0;
					T140_ = importedFromC__sempass2_u5820(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					T138_ = !(T140_);
LA139_: ;
					if (!T138_) goto LA141_;
					{
						NIM_BOOL T145_;
						T145_ = (NIM_BOOL)0;
						T145_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T145_)) goto LA146_;
						T145_ = ((*a_1)._kind_4.sym == (*tracked_p0).owner);
LA146_: ;
						if (!!(T145_)) goto LA147_;
						markSideEffect__sempass2_u6119(tracked_p0, a_1, (*n_p1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA147_: ;
				}
LA141_: ;
			}
LA47_: ;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(effectList_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin33_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA31_: ;
		{
			NIM_BOOL T153_;
			T153_ = (NIM_BOOL)0;
			T153_ = !(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
			if (T153_) goto LA154_;
			T153_ = !(((*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)249) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)155) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)27) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)28)));
LA154_: ;
			if (!T153_) goto LA155_;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3175(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_2 = ((NI)1);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA159;
						i_1 = i_2;
						trackOperandForIndirectCall__sempass2_u6040(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_1], op_1, i_1, a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						i_2 += ((NI)1);
					} LA159: ;
				}
			}
		}
LA155_: ;
		{
			NIM_BOOL T162_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			T162_ = (NIM_BOOL)0;
			T162_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T162_)) goto LA163_;
			T162_ = ((*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)32) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)33) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)34));
LA163_: ;
			if (!T162_) goto LA164_;
			arg_1 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			eqcopy___ast_u3240(&arg_1, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
			initVarViaNew__sempass2_u3436(tracked_p0, arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
			{
				NIM_BOOL T169_;
				tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T171_;
				T169_ = (NIM_BOOL)0;
				T169_ = hasElementType__ast_u5639((*arg_1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
				if (!(T169_)) goto LA170_;
				colontmpD__3 = elementType__ast_u5310((*arg_1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
				T171_ = 0;
				T169_ = !(((262144 & (*colontmpD__3).flags) == T171_));
LA170_: ;
				if (!T169_) goto LA172_;
				{
					NIM_BOOL T176_;
					NIM_BOOL T177_;
					T176_ = (NIM_BOOL)0;
					T177_ = (NIM_BOOL)0;
					T177_ = ((*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)34));
					if (!(T177_)) goto LA178_;
					T177_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
LA178_: ;
					T176_ = T177_;
					if (!(T176_)) goto LA179_;
					T176_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal == IL64(0));
LA179_: ;
					if (!T176_) goto LA180_;
				}
				goto LA174_;
LA180_: ;
				{
					NimStringV2 colontmpD__4;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					colontmpD__4 = dollar___renderer_u2143(arg_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
					liMessage__msgs_u1223((*tracked_p0).config, (*arg_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_63), NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
					{
						LA183_:;
					}
					{
						eqdestroy___system_u2627(colontmpD__4);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
				}
LA174_: ;
			}
LA172_: ;
			{
				NIM_BOOL T188_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
				T188_ = (NIM_BOOL)0;
				T188_ = hasElementType__ast_u5639((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
				if (!T188_) goto LA189_;
				colontmpD__5 = NIM_NIL;
				colontmpD__5 = elementType__ast_u5310((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, colontmpD__5, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				{
					LA191_:;
				}
				{
					oldNimErrFin191_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3363(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
					*nimErr_ = oldNimErrFin191_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
			}
LA189_: ;
			{
				LA166_:;
			}
			{
				oldNimErrFin166_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3237(arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin166_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA160_;
LA164_: ;
		{
			NIM_BOOL T197_;
			NIM_BOOL T198_;
			T197_ = (NIM_BOOL)0;
			T198_ = (NIM_BOOL)0;
			T198_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T198_)) goto LA199_;
			T198_ = ((*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)6));
LA199_: ;
			T197_ = T198_;
			if (!(T197_)) goto LA200_;
			T197_ = (((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0);
LA200_: ;
			if (!T197_) goto LA201_;
			checkBounds__sempass2_u6655(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], (*n_p1)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA160_;
LA201_: ;
LA160_: ;
	}
LA17_: ;
	eqcopy___ast_u3240(&n_2, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T205_;
		NIM_BOOL T206_;
		NIM_BOOL T207_;
		tyTuple__QEtmrJl2wkbDhVzeJSgyBQ tmpTuple_1;
		NIM_BOOL isHook_1;
		tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q opKind_1;
		T205_ = (NIM_BOOL)0;
		T206_ = (NIM_BOOL)0;
		T207_ = (NIM_BOOL)0;
		T207_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T207_)) goto LA208_;
		T207_ = (((NI)0) < (*(*(*a_1)._kind_4.sym).name).s.len);
LA208_: ;
		T206_ = T207_;
		if (!(T206_)) goto LA209_;
		T206_ = ((NU8)((*(*(*a_1)._kind_4.sym).name).s.p->data[((NI)0)]) == (NU8)(61));
LA209_: ;
		T205_ = T206_;
		if (!(T205_)) goto LA210_;
		T205_ = !(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
LA210_: ;
		if (!T205_) goto LA211_;
		tmpTuple_1 = findHookKind__sempass2_u6687((*(*(*a_1)._kind_4.sym).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		isHook_1 = tmpTuple_1.Field0;
		opKind_1 = tmpTuple_1.Field1;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
			if (!isHook_1) goto LA215_;
			t_1 = NIM_NIL;
			colontmpD__6 = NIM_NIL;
			t_1 = skipTypes__ast_u5358((*(*n_2)._kind_6.sons.p->data[((NI)1)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_90);
			if (NIM_UNLIKELY(*nimErr_)) goto LA217_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T222_;
				colontmpD__6 = getAttachedOp__modulegraphs_u4989((*tracked_p0).graph, t_1, opKind_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA217_;
				if (!!(((*a_1)._kind_4.sym == colontmpD__6))) goto LA220_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, t_1, (*n_2).info, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA217_;
				T222_ = NIM_NIL;
				T222_ = replaceHookMagic__semdata_u7895((*tracked_p0).c, n_2, opKind_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T222_); goto LA217_;}
				eqsink___ast_u3246(&n_2, T222_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA217_;
			}
LA220_: ;
			{
				LA217_:;
			}
			{
				oldNimErrFin217_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4558(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3363(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin217_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA215_: ;
	}
LA211_: ;
	{
		NIM_BOOL T227_;
		T227_ = (NIM_BOOL)0;
		T227_ = !((op_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T227_)) goto LA228_;
		T227_ = ((*op_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA228_: ;
		if (!T227_) goto LA229_;
		{
			NI i_3;
			NI colontmp__2;
			NI T232_;
			NI T233_;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			T232_ = (NI)0;
			T232_ = safeLen__ast_u3182(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T233_ = (NI)0;
			T233_ = signatureLen__ast_u5589(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmp__2 = ((T232_ <= T233_) ? T232_ : T233_);
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_1;
					if (!(i_4 < colontmp__2)) goto LA235;
					paramType_1 = NIM_NIL;
					i_3 = i_4;
					eqcopy___ast_u3366(&paramType_1, (*op_1).sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
					switch ((*paramType_1).kind) {
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
						colontmpD__7 = NIM_NIL;
						colontmpD__7 = elementType__ast_u5310(paramType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
						createTypeBoundOps__sempass2_u2010(tracked_p0, colontmpD__7, (*n_2).info, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
						checkForSink__sempass2_u6674(tracked_p0, (*n_2)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
						{
							LA238_:;
						}
						{
							oldNimErrFin238_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3363(colontmpD__7);
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
							*nimErr_ = oldNimErrFin238_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
					}
					break;
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
						colontmpD__8 = NIM_NIL;
						{
							NIM_BOOL T245_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
							T245_ = (NIM_BOOL)0;
							T245_ = isOutParam__ast_u7626(paramType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
							if (!T245_) goto LA246_;
							colontmpD__9 = NIM_NIL;
							colontmpD__9 = skipHiddenAddr__ast_u7605((*n_2)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA248_;
							initVar__sempass2_u3249(tracked_p0, colontmpD__9, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA248_;
							{
								LA248_:;
							}
							{
								oldNimErrFin248_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3237(colontmpD__9);
								if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
								*nimErr_ = oldNimErrFin248_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
						}
LA246_: ;
						{
							NIM_BOOL T253_;
							NIM_BOOL T254_;
							T253_ = (NIM_BOOL)0;
							T254_ = (NIM_BOOL)0;
							T254_ = (((*(*tracked_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)11)))&31U)))!=0);
							if (!(T254_)) goto LA255_;
							T254_ = !((*tracked_p0).inEnforcedNoSideEffects);
LA255_: ;
							T253_ = T254_;
							if (!(T253_)) goto LA256_;
							colontmpD__8 = skipHiddenAddr__ast_u7605((*n_2)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
							T253_ = isDangerousLocation__semstrictfuncs_u6(colontmpD__8, (*tracked_p0).owner);
							if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
LA256_: ;
							if (!T253_) goto LA257_;
							{
								NimStringV2 colontmpD__10;
								NimStringV2 colontmpD__11;
								tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T264_;
								if (!(((*(*tracked_p0).owner).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)12)))&63U)))!=0)) goto LA261_;
								colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
								colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
								T264_ = 0;
								colontmpD__10 = renderTree__renderer_u59((*n_2)._kind_6.sons.p->data[i_3], T264_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
								colontmpD__11 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_96, colontmpD__10);
								if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
								liMessage__msgs_u1223((*tracked_p0).config, (*(*n_2)._kind_6.sons.p->data[i_3]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_97), NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
								{
									LA263_:;
								}
								{
									eqdestroy___system_u2627(colontmpD__11);
									eqdestroy___system_u2627(colontmpD__10);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
							}
LA261_: ;
							(*tracked_p0).hasSideEffect = NIM_TRUE;
						}
LA257_: ;
						{
							LA242_:;
						}
						{
							oldNimErrFin242_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(colontmpD__8);
							if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
							*nimErr_ = oldNimErrFin242_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
					}
					break;
					default:
					{
					}
					break;
					}
					i_4 += ((NI)1);
					{
						LA236_:;
					}
					{
						oldNimErrFin236_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3363(paramType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin236_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA235: ;
			}
		}
	}
LA229_: ;
	{
		NIM_BOOL T274_;
		NIM_BOOL T276_;
		T274_ = (NIM_BOOL)0;
		T274_ = notConstExpr_1;
		if (!(T274_)) goto LA275_;
		T276_ = (NIM_BOOL)0;
		T276_ = !(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
		if (T276_) goto LA277_;
		T276_ = !(((*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)267) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)249) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)27) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)28)));
LA277_: ;
		T274_ = T276_;
LA275_: ;
		if (!T274_) goto LA278_;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = safeLen__ast_u3182(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_6 = ((NI)0);
			{
				while (1) {
					if (!(i_6 < colontmp__3)) goto LA282;
					i_5 = i_6;
					track__sempass2_u5570(tracked_p0, (*n_2)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					i_6 += ((NI)1);
				} LA282: ;
			}
		}
	}
LA278_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, guardDotAccess__sempass2_u2090)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* g_1;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	ri_1 = NIM_NIL;
	g_1 = NIM_NIL;
	ri_1 = (*n_p1)._kind_6.sons.p->data[((NI)1)];
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*ri_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
		if (T4_) goto LA5_;
		T4_ = !(((*(*ri_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19)));
LA5_: ;
		if (!T4_) goto LA6_;
		eqdestroy___ast_u4558(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	eqcopy___ast_u4561(&g_1, (*(*ri_1)._kind_4.sym)._kind_2.guard);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = (g_1 == 0);
		if (T10_) goto LA11_;
		T10_ = (*a_p0).isTopLevel;
LA11_: ;
		if (!T10_) goto LA12_;
		eqdestroy___ast_u4558(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA12_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ty_1;
		if (!((*g_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0))) goto LA16_;
		field_1 = NIM_NIL;
		ty_1 = NIM_NIL;
		field_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		ty_1 = skipTypes__ast_u5358((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_98);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			NIM_BOOL T21_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T25_;
			T21_ = (NIM_BOOL)0;
			T21_ = ((*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
			if (!(T21_)) goto LA22_;
			T21_ = !(((*ty_1).n == 0));
LA22_: ;
			if (!T21_) goto LA23_;
			T25_ = NIM_NIL;
			T25_ = lookupInRecord__astalgo_u30((*ty_1).n, (*g_1).name);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4558(T25_); goto LA18_;}
			eqsink___ast_u4567(&field_1, T25_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA19_;
LA23_: ;
		{
			{
				while (1) {
					NIM_BOOL T29_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T31_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T40_;
					T29_ = (NIM_BOOL)0;
					T29_ = !((ty_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T29_)) goto LA30_;
					T29_ = ((*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA30_: ;
					if (!T29_) goto LA28;
					T31_ = NIM_NIL;
					T31_ = lookupInRecord__astalgo_u30((*ty_1).n, (*g_1).name);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4558(T31_); goto LA18_;}
					eqsink___ast_u4567(&field_1, T31_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					{
						if (!!((field_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA34_;
						goto LA27;
					}
LA34_: ;
					eqcopy___ast_u3366(&ty_1, (*ty_1).sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					{
						if (!(ty_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA38_;
						goto LA27;
					}
LA38_: ;
					T40_ = NIM_NIL;
					T40_ = skipTypes__ast_u5358(ty_1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3363(T40_); goto LA18_;}
					eqsink___ast_u3372(&ty_1, T40_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				} LA28: ;
			} LA27: ;
		}
LA19_: ;
		{
			NimStringV2 colontmpD_;
			NimStringV2 T46_;
			if (!(field_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA43_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			T46_.len = 0; T46_.p = NIM_NIL;
			T46_ = rawNewString((*(*g_1).name).s.len + 21);
appendString((&T46_), TM__wkTG4eaV3t1uo3x09apjcwA_100);
appendString((&T46_), (*(*g_1).name).s);
			colontmpD_ = T46_;
			liMessage__msgs_u1223((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_101), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			eqdestroy___system_u2627(colontmpD_);
			eqdestroy___ast_u3363(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4558(field_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4558(g_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA45_:;
			}
			{
				eqdestroy___system_u2627(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
LA43_: ;
		eqsink___ast_u4567(&g_1, field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		eqwasMoved___ast_u4555(&field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4558(field_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA16_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dot_1;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T56_;
		NimStringV2 T66_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T67_;
		if (!((*g_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19))) goto LA53_;
		dot_1 = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		dot_1 = newNodeI__ast_u4080(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), (*n_p1).info, ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		eqcopy___ast_u3240(&(*dot_1)._kind_6.sons.p->data[((NI)0)], (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		T56_ = NIM_NIL;
		T56_ = newSymNode__ast_u5147(g_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T56_); goto LA55_;}
		eqsink___ast_u3246(&(*dot_1)._kind_6.sons.p->data[((NI)1)], T56_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		eqcopy___ast_u3366(&(*dot_1).typField, (*g_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** L_1;
			NI i_1;
			NI L_2;
			NI T58_;
			L_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			i_1 = ((NI)0);
			T58_ = (*a_p0).locked.len;
			L_2 = T58_;
			{
				while (1) {
					if (!(i_1 < L_2)) goto LA60;
					L_1 = &(*a_p0).locked.p->data[i_1];
					{
						NIM_BOOL T63_;
						T63_ = (NIM_BOOL)0;
						T63_ = sameTree__guards_u545(dot_1, (*L_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
						if (!T63_) goto LA64_;
						eqdestroy___system_u2627(colontmpD__3);
						eqdestroy___system_u2627(colontmpD__2);
						eqdestroy___ast_u3237(dot_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4558(g_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA64_: ;
					i_1 += ((NI)1);
				} LA60: ;
			}
		}
		T66_.len = 0; T66_.p = NIM_NIL;
		T67_ = 0;
		colontmpD__2 = renderTree__renderer_u59(n_p1, T67_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		T66_ = rawNewString(colontmpD__2.len + 18);
appendString((&T66_), TM__wkTG4eaV3t1uo3x09apjcwA_102);
appendString((&T66_), colontmpD__2);
		colontmpD__3 = T66_;
		liMessage__msgs_u1223((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_103), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		{
			LA55_:;
		}
		{
			oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2627(colontmpD__3);
			eqdestroy___system_u2627(colontmpD__2);
			eqdestroy___ast_u3237(dot_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin55_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA51_;
LA53_: ;
	{
		guardGlobal__sempass2_u2074(a_p0, n_p1, g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA51_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4558(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addToIntersection__sempass2_u5327)(tySequence__8Np6tlClE5az1CyqZdN19bQ* inter_p0, NI s_p1, tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg state_p2) {
{	{
		NI j_1;
		NI colontmp_;
		NI T2_;
		NI i_1;
		j_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*inter_p0).len;
		colontmp_ = T2_;
		i_1 = ((NI)0);
		{
			while (1) {
				if (!(i_1 < colontmp_)) goto LA4;
				j_1 = i_1;
				{
					if (!(s_p1 == (*inter_p0).p->data[j_1].Field0)) goto LA7_;
					{
						if (!(state_p2 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA11_;
						(*inter_p0).p->data[j_1].Field1 += ((NI)1);
					}
LA11_: ;
					goto BeforeRet_;
				}
LA7_: ;
				i_1 += ((NI)1);
			} LA4: ;
		}
	}
	{
		NI colontmpD_;
		tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T17_;
		if (!(state_p2 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA15_;
		colontmpD_ = (NI)0;
		colontmpD_ = s_p1;
		T17_.Field0 = colontmpD_;
		T17_.Field1 = ((NI)1);
		add__sempass2_u5356((&(*inter_p0)), T17_);
	}
	goto LA13_;
LA15_: ;
	{
		NI colontmpD__2;
		tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T19_;
		colontmpD__2 = (NI)0;
		colontmpD__2 = s_p1;
		T19_.Field0 = colontmpD__2;
		T19_.Field1 = ((NI)0);
		add__sempass2_u5356((&(*inter_p0)), T19_);
	}
LA13_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass2_u5511)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3175((*tracked_p0).exc);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(((NI)0) < T3_)) goto LA4_;
		setLen__ast_u3703((&(*(*tracked_p0).exc)._kind_6.sons), ((*tracked_p0).bottom));
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, catches__sempass2_u5488)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* e_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* e_2;
	NI L_1;
	NI i_1;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	e_2 = NIM_NIL;
	e_2 = skipTypes__ast_u5358(e_p1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	L_1 = len__ast_u3175((*tracked_p0).exc);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	i_1 = (*tracked_p0).bottom;
	{
		while (1) {
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			if (!(i_1 < L_1)) goto LA3;
			colontmpD_ = NIM_NIL;
			{
				NI T7_;
				colontmpD_ = excType__sempass2_u5407((*tracked_p0).graph, (*(*tracked_p0).exc)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				T7_ = (NI)0;
				T7_ = safeInheritanceDiff__types_u3499(colontmpD_, e_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				if (!(T7_ <= ((NI)0))) goto LA8_;
				eqcopy___ast_u3240(&(*(*tracked_p0).exc)._kind_6.sons.p->data[i_1], (*(*tracked_p0).exc)._kind_6.sons.p->data[(NI)(L_1 - ((NI)1))]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				L_1 -= ((NI)1);
			}
			goto LA5_;
LA8_: ;
			{
				i_1 += ((NI)1);
			}
LA5_: ;
			{
				LA4_:;
			}
			{
				oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	}
	{
		NI T15_;
		T15_ = (NI)0;
		T15_ = len__ast_u3175((*tracked_p0).exc);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((NI)0) < T15_)) goto LA16_;
		setLen__ast_u3703((&(*(*tracked_p0).exc)._kind_6.sons), (L_1));
	}
	goto LA13_;
LA16_: ;
	{
	}
LA13_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3363(e_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackTryStmt__sempass2_u5573)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tySequence__8Np6tlClE5az1CyqZdN19bQ inter_1;
	NI oldBottom_1;
	NI T2_;
	NI oldState_1;
	NI T3_;
	NI branches_1;
	NIM_BOOL hasFinally_1;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	inter_1.len = 0; inter_1.p = NIM_NIL;
	oldBottom_1 = (*tracked_p0).bottom;
	T2_ = (NI)0;
	T2_ = len__ast_u3175((*tracked_p0).exc);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*tracked_p0).bottom = T2_;
	T3_ = (*tracked_p0).init.len;
	oldState_1 = T3_;
	inter_1.len = 0; inter_1.p = (tySequence__8Np6tlClE5az1CyqZdN19bQ_Content*) newSeqPayload(0, sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ), NIM_ALIGNOF(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
	(*tracked_p0).inTryStmt += ((NI)1);
	track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*tracked_p0).inTryStmt -= ((NI)1);
	{
		NI i_1;
		NI colontmp_;
		NI T5_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T5_ = (*tracked_p0).init.len;
		colontmp_ = T5_;
		i_2 = oldState_1;
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA7;
				i_1 = i_2;
				addToIntersection__sempass2_u5327((&inter_1), (*tracked_p0).init.p->data[i_1], ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_2 += ((NI)1);
			} LA7: ;
		}
	}
	branches_1 = ((NI)1);
	hasFinally_1 = NIM_FALSE;
	(*tracked_p0).inExceptOrFinallyStmt += ((NI)1);
	{
		NI i_3;
		NI colontmp__2;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = len__ast_u3175(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_4 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
				if (!(i_4 < colontmp__2)) goto LA10;
				b_1 = NIM_NIL;
				i_3 = i_4;
				eqcopy___ast_u3240(&b_1, (*n_p1)._kind_6.sons.p->data[i_3]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				{
					if (!((*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87))) goto LA14_;
					branches_1 += ((NI)1);
					{
						NI T18_;
						T18_ = (NI)0;
						T18_ = len__ast_u3175(b_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						if (!(T18_ == ((NI)1))) goto LA19_;
						catchesAll__sempass2_u5511(tracked_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					}
					goto LA16_;
LA19_: ;
					{
						{
							NI j_1;
							NI colontmp__3;
							NI T23_;
							NI i_5;
							j_1 = (NI)0;
							colontmp__3 = (NI)0;
							T23_ = (NI)0;
							T23_ = len__ast_u3175(b_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							colontmp__3 = (NI)(T23_ - ((NI)1));
							i_5 = ((NI)0);
							{
								while (1) {
									if (!(i_5 < colontmp__3)) goto LA25;
									j_1 = i_5;
									{
										NIM_BOOL T28_;
										T28_ = (NIM_BOOL)0;
										T28_ = isInfixAs__ast_u7304((*b_1)._kind_6.sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
										if (!T28_) goto LA29_;
										catches__sempass2_u5488(tracked_p0, (*(*(*b_1)._kind_6.sons.p->data[j_1])._kind_6.sons.p->data[((NI)1)]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
										createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*(*b_1)._kind_6.sons.p->data[j_1])._kind_6.sons.p->data[((NI)2)]).typField, (*(*(*b_1)._kind_6.sons.p->data[j_1])._kind_6.sons.p->data[((NI)2)]).info, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
									}
									goto LA26_;
LA29_: ;
									{
										catches__sempass2_u5488(tracked_p0, (*(*b_1)._kind_6.sons.p->data[j_1]).typField);
										if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
									}
LA26_: ;
									i_5 += ((NI)1);
								} LA25: ;
							}
						}
					}
LA16_: ;
				}
				goto LA12_;
LA14_: ;
				{
				}
LA12_: ;
				i_4 += ((NI)1);
				{
					LA11_:;
				}
				{
					oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(b_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin11_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA10: ;
		}
	}
	{
		NI i_6;
		NI colontmp__4;
		NI i_7;
		i_6 = (NI)0;
		colontmp__4 = (NI)0;
		colontmp__4 = len__ast_u3175(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_7 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_2;
				if (!(i_7 < colontmp__4)) goto LA37;
				b_2 = NIM_NIL;
				i_6 = i_7;
				eqcopy___ast_u3240(&b_2, (*n_p1)._kind_6.sons.p->data[i_6]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				{
					NI T52_;
					if (!((*b_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87))) goto LA41_;
					setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
					{
						NI j_2;
						NI colontmp__5;
						NI T44_;
						NI i_8;
						j_2 = (NI)0;
						colontmp__5 = (NI)0;
						T44_ = (NI)0;
						T44_ = len__ast_u3175(b_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						colontmp__5 = (NI)(T44_ - ((NI)1));
						i_8 = ((NI)0);
						{
							while (1) {
								if (!(i_8 < colontmp__5)) goto LA46;
								j_2 = i_8;
								{
									NIM_BOOL T49_;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym233__1;
									T49_ = (NIM_BOOL)0;
									T49_ = isInfixAs__ast_u7304((*b_2)._kind_6.sons.p->data[j_2]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
									if (!T49_) goto LA50_;
									xX60gensym233__1 = NIM_NIL;
									eqcopy___ast_u4561(&xX60gensym233__1, (*(*(*b_2)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)2)])._kind_4.sym);
									if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
									add__varpartitions_u1540((&(*tracked_p0).init), (NI)((NI)((NU64)(((NI) ((*xX60gensym233__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym233__1).itemId.item))));
									eqdestroy___ast_u4558(xX60gensym233__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
								}
LA50_: ;
								i_8 += ((NI)1);
							} LA46: ;
						}
					}
					T52_ = (NI)0;
					T52_ = len__ast_u3175(b_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					track__sempass2_u5570(tracked_p0, (*b_2)._kind_6.sons.p->data[(NI)(T52_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					{
						NI i_9;
						NI colontmp__6;
						NI T54_;
						NI i_10;
						i_9 = (NI)0;
						colontmp__6 = (NI)0;
						T54_ = (*tracked_p0).init.len;
						colontmp__6 = T54_;
						i_10 = oldState_1;
						{
							while (1) {
								if (!(i_10 < colontmp__6)) goto LA56;
								i_9 = i_10;
								addToIntersection__sempass2_u5327((&inter_1), (*tracked_p0).init.p->data[i_9], ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0));
								if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
								i_10 += ((NI)1);
							} LA56: ;
						}
					}
				}
				goto LA39_;
LA41_: ;
				{
					NI T58_;
					setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
					T58_ = (NI)0;
					T58_ = len__ast_u3175(b_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					track__sempass2_u5570(tracked_p0, (*b_2)._kind_6.sons.p->data[(NI)(T58_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					hasFinally_1 = NIM_TRUE;
				}
LA39_: ;
				i_7 += ((NI)1);
				{
					LA38_:;
				}
				{
					oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(b_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin38_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA37: ;
		}
	}
	(*tracked_p0).bottom = oldBottom_1;
	(*tracked_p0).inExceptOrFinallyStmt -= ((NI)1);
	{
		if (!!(hasFinally_1)) goto LA63_;
		setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
	}
LA63_: ;
	{
		NI* id_1;
		NI* count_1;
		NI i_11;
		NI L_1;
		NI T66_;
		id_1 = (NI*)0;
		count_1 = (NI*)0;
		i_11 = ((NI)0);
		T66_ = inter_1.len;
		L_1 = T66_;
		{
			while (1) {
				if (!(i_11 < L_1)) goto LA68;
				id_1 = (&inter_1.p->data[i_11].Field0);
				count_1 = (&inter_1.p->data[i_11].Field1);
				{
					NI colontmpD_;
					if (!((*count_1) == branches_1)) goto LA71_;
					colontmpD_ = (NI)0;
					colontmpD_ = (*id_1);
					add__varpartitions_u1540((&(*tracked_p0).init), colontmpD_);
				}
LA71_: ;
				i_11 += ((NI)1);
			} LA68: ;
		}
	}
	{
		LA1_:;
	}
	{
		eqdestroy___types_u1558(inter_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, listEffects__sempass2_u5483)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
		e_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3182((*a_p0).exc);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			i_2 = ((NI)0);
			{
				while (1) {
					NimStringV2 colontmpD_;
					if (!(i_2 < colontmp_)) goto LA5;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u3240(&e_1, (*(*a_p0).exc)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					colontmpD_ = typeToString__types_u54((*e_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					liMessage__msgs_u1223((*a_p0).config, (*e_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)115), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_104), NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					i_2 += ((NI)1);
					{
						LA6_:;
					}
					{
						eqdestroy___system_u2627(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				} LA5: ;
			}
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(e_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_2;
		e_2 = NIM_NIL;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = safeLen__ast_u3182((*a_p0).tags);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			i_4 = ((NI)0);
			{
				while (1) {
					NimStringV2 colontmpD__2;
					if (!(i_4 < colontmp__2)) goto LA15;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					i_3 = i_4;
					eqcopy___ast_u3240(&e_2, (*(*a_p0).tags)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					colontmpD__2 = typeToString__types_u54((*e_2).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					liMessage__msgs_u1223((*a_p0).config, (*e_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)115), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_105), NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					i_4 += ((NI)1);
					{
						LA16_:;
					}
					{
						eqdestroy___system_u2627(colontmpD__2);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				} LA15: ;
			}
		}
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(e_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_3;
		e_3 = NIM_NIL;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = safeLen__ast_u3182((*a_p0).forbids);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			i_6 = ((NI)0);
			{
				while (1) {
					NimStringV2 colontmpD__3;
					if (!(i_6 < colontmp__3)) goto LA25;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					i_5 = i_6;
					eqcopy___ast_u3240(&e_3, (*(*a_p0).forbids)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					colontmpD__3 = typeToString__types_u54((*e_3).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					liMessage__msgs_u1223((*a_p0).config, (*e_3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)115), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_106), NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					i_6 += ((NI)1);
					{
						LA26_:;
					}
					{
						eqdestroy___system_u2627(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				} LA25: ;
			}
		}
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(e_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin22_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackPragmaStmt__sempass2_u5808)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3175(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw pragma_1;
				if (!(i_2 < colontmp_)) goto LA3;
				it_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3240(&it_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				pragma_1 = whichPragma__trees_u218(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				switch (pragma_1) {
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)179):
				{
					listEffects__sempass2_u5483(tracked_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				break;
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)129):
				{
					tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* T7_;
					tySequence__bdNIx7Bah2llfuqeoTJEWQ* T8_;
					T7_ = NIM_NIL;
					T7_ = (*(*(*tracked_p0).c).graph).config;
					T8_ = (tySequence__bdNIx7Bah2llfuqeoTJEWQ*)0;
					T8_ = (&(*tracked_p0).optionsStack);
					processPushBackendOption__pushpoppragmas_u288(T7_, T8_, (&(*tracked_p0).currOptions), n_p1, (NI)(i_1 + ((NI)1)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				break;
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)130):
				{
					tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* T10_;
					tySequence__bdNIx7Bah2llfuqeoTJEWQ* T11_;
					T10_ = NIM_NIL;
					T10_ = (*(*(*tracked_p0).c).graph).config;
					T11_ = (tySequence__bdNIx7Bah2llfuqeoTJEWQ*)0;
					T11_ = (&(*tracked_p0).optionsStack);
					popBackendOption__pushpoppragmas_u230(T10_, T11_, (&(*tracked_p0).currOptions));
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				break;
				default:
				{
				}
				break;
				}
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(void, varDecl__sempass2_u2159)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym76__1;
		NI colontmpD_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		xX60gensym76__1 = NIM_NIL;
		colontmpD_ = (NI)0;
		xX60gensym76__1 = (*n_p1)._kind_4.sym;
		colontmpD_ = (*a_p0).currentBlock;
		X5BX5Deq___sempass2_u2227((&(*a_p0).scopes), (NI)((NI)((NU64)(((NI) ((*xX60gensym76__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym76__1).itemId.item))), colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg, breaksBlock__sempass2_u6276)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0;
	it_1 = NIM_NIL;
	eqcopy___ast_u3240(&it_1, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T3_;
			NI T5_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
			T3_ = (NIM_BOOL)0;
			T3_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126));
			if (!(T3_)) goto LA4_;
			T5_ = (NI)0;
			T5_ = len__ast_u3175(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T3_ = (((NI)0) < T5_);
LA4_: ;
			if (!T3_) goto LA2;
			T6_ = NIM_NIL;
			T6_ = lastSon__ast_u5187(it_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T6_); goto BeforeRet_;}
			eqsink___ast_u3246(&it_1, T6_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	switch ((*it_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109):
	{
		result = ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108):
	{
		result = ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)2);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = ((*(*it_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T12_)) goto LA13_;
			T12_ = (((*(*(*it_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)16)))&63U)))!=0);
LA13_: ;
			if (!T12_) goto LA14_;
			result = ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)2);
		}
		goto LA10_;
LA14_: ;
		{
			result = ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0);
		}
LA10_: ;
	}
	break;
	default:
	{
		result = ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0);
	}
	break;
	}
	eqdestroy___ast_u3237(it_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addIdToIntersection__sempass2_u6311)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tySequence__8Np6tlClE5az1CyqZdN19bQ* inter_p1, NI* resCounter_p2, tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg hasBreaksBlock_p3, NI oldState_p4, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* resSym_p5, NIM_BOOL hasResult_p6) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL alreadySatisfy_1;
		if (!hasResult_p6) goto LA3_;
		alreadySatisfy_1 = NIM_FALSE;
		{
			if (!(hasBreaksBlock_p3 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)2))) goto LA7_;
			alreadySatisfy_1 = NIM_TRUE;
			(*resCounter_p2) += ((NI)1);
		}
LA7_: ;
		{
			NI i_1;
			NI colontmp_;
			NI T10_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T10_ = (*tracked_p0).init.len;
			colontmp_ = T10_;
			i_2 = oldState_p4;
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym332__1;
					if (!(i_2 < colontmp_)) goto LA12;
					xX60gensym332__1 = NIM_NIL;
					i_1 = i_2;
					{
						eqcopy___ast_u4561(&xX60gensym332__1, resSym_p5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!((*tracked_p0).init.p->data[i_1] == (NI)((NI)((NU64)(((NI) ((*xX60gensym332__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym332__1).itemId.item))))) goto LA15_;
						{
							if (!!(alreadySatisfy_1)) goto LA19_;
							(*resCounter_p2) += ((NI)1);
							alreadySatisfy_1 = NIM_TRUE;
						}
LA19_: ;
					}
					goto LA13_;
LA15_: ;
					{
						addToIntersection__sempass2_u5327(inter_p1, (*tracked_p0).init.p->data[i_1], hasBreaksBlock_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA13_: ;
					i_2 += ((NI)1);
					eqdestroy___ast_u4558(xX60gensym332__1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA12: ;
			}
		}
	}
	goto LA1_;
LA3_: ;
	{
		{
			NI i_3;
			NI colontmp__2;
			NI T24_;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			T24_ = (*tracked_p0).init.len;
			colontmp__2 = T24_;
			i_4 = oldState_p4;
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA26;
					i_3 = i_4;
					addToIntersection__sempass2_u5327(inter_p1, (*tracked_p0).init.p->data[i_3], hasBreaksBlock_p3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA26: ;
			}
		}
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackCase__sempass2_u6359)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySequence__8Np6tlClE5az1CyqZdN19bQ inter_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* resSym_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	NI oldState_1;
	NI T2_;
	NI oldFacts_1;
	NI T3_;
	NIM_BOOL stringCase_1;
	NIM_BOOL T4_;
	NIM_BOOL interesting_1;
	NIM_BOOL T6_;
	NIM_BOOL T7_;
	NIM_BOOL T10_;
	NI toCover_1;
	NIM_BOOL hasResult_1;
	NIM_BOOL T12_;
	NIM_BOOL T13_;
	NIM_BOOL T16_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T17_;
	NI resCounter_1;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	inter_1.len = 0; inter_1.p = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	resSym_1 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*tracked_p0).inIfStmt += ((NI)1);
	T2_ = (*tracked_p0).init.len;
	oldState_1 = T2_;
	T3_ = (*tracked_p0).guards.s.len;
	oldFacts_1 = T3_;
	T4_ = (NIM_BOOL)0;
	T4_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
	if (!(T4_)) goto LA5_;
	colontmpD_ = skipTypes__ast_u5358((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_110);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = ((*colontmpD_).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29));
LA5_: ;
	stringCase_1 = T4_;
	T6_ = (NIM_BOOL)0;
	T7_ = (NIM_BOOL)0;
	T7_ = !(stringCase_1);
	if (!(T7_)) goto LA8_;
	T7_ = interestingCaseExpr__guards_u114((*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA8_: ;
	T6_ = T7_;
	if (!(T6_)) goto LA9_;
	T10_ = (NIM_BOOL)0;
	T10_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)48));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	if (T10_) goto LA11_;
	T10_ = (((*(*tracked_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)19)))&31U)))!=0);
LA11_: ;
	T6_ = T10_;
LA9_: ;
	interesting_1 = T6_;
	inter_1.len = 0; inter_1.p = (tySequence__8Np6tlClE5az1CyqZdN19bQ_Content*) newSeqPayload(0, sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ), NIM_ALIGNOF(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
	toCover_1 = ((NI)0);
	T12_ = (NIM_BOOL)0;
	T13_ = (NIM_BOOL)0;
	T13_ = !(((*tracked_p0).owner == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	if (!(T13_)) goto LA14_;
	T13_ = ((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
LA14_: ;
	T12_ = T13_;
	if (!(T12_)) goto LA15_;
	colontmpD__2 = returnType__ast_u5333((*(*tracked_p0).owner).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T16_ = (NIM_BOOL)0;
	T16_ = isEmptyType__ast_u7205(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T12_ = !(T16_);
LA15_: ;
	hasResult_1 = T12_;
	T17_ = NIM_NIL;
	{
		if (!hasResult_1) goto LA20_;
		eqcopy___ast_u4561(&resSym_1, (*(*(*(*tracked_p0).owner).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA18_;
LA20_: ;
	{
		resSym_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
LA18_: ;
	resCounter_1 = ((NI)0);
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3175(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg hasBreaksBlock_1;
				if (!(i_2 < colontmp_)) goto LA25;
				branch_1 = NIM_NIL;
				colontmpD__4 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3240(&branch_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
				{
					if (!interesting_1) goto LA29_;
					setLen__ast_u3703((&(*tracked_p0).guards.s), (oldFacts_1));
					addCaseBranchFacts__guards_u1638((&(*tracked_p0).guards), n_p1, i_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				}
LA29_: ;
				{
					NI i_3;
					NI colontmp__2;
					NI i_4;
					i_3 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = len__ast_u3175(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					i_4 = ((NI)0);
					{
						while (1) {
							if (!(i_4 < colontmp__2)) goto LA33;
							i_3 = i_4;
							track__sempass2_u5570(tracked_p0, (*branch_1)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
							i_4 += ((NI)1);
						} LA33: ;
					}
				}
				colontmpD__4 = lastSon__ast_u5187(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				hasBreaksBlock_1 = breaksBlock__sempass2_u6276(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				{
					if (!(hasBreaksBlock_1 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA36_;
					toCover_1 += ((NI)1);
				}
LA36_: ;
				addIdToIntersection__sempass2_u6311(tracked_p0, (&inter_1), (&resCounter_1), hasBreaksBlock_1, oldState_1, resSym_1, hasResult_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				i_2 += ((NI)1);
				{
					LA26_:;
				}
				{
					oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3237(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin26_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA25: ;
		}
	}
	setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
	{
		NIM_BOOL T42_;
		T42_ = (NIM_BOOL)0;
		T42_ = !(stringCase_1);
		if (T42_) goto LA43_;
		colontmpD__3 = lastSon__ast_u5187(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T42_ = ((*colontmpD__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88));
LA43_: ;
		if (!T42_) goto LA44_;
		{
			NIM_BOOL T48_;
			NI T50_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym348__1;
			T48_ = (NIM_BOOL)0;
			T48_ = hasResult_1;
			if (!(T48_)) goto LA49_;
			T50_ = (NI)0;
			T50_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T48_ = (resCounter_1 == (NI)(T50_ - ((NI)1)));
LA49_: ;
			if (!T48_) goto LA51_;
			xX60gensym348__1 = NIM_NIL;
			xX60gensym348__1 = resSym_1;
			eqwasMoved___ast_u4555(&resSym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			add__varpartitions_u1540((&(*tracked_p0).init), (NI)((NI)((NU64)(((NI) ((*xX60gensym348__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym348__1).itemId.item))));
			eqdestroy___ast_u4558(xX60gensym348__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA51_: ;
		{
			NI* id_1;
			NI* count_1;
			NI i_5;
			NI L_1;
			NI T54_;
			id_1 = (NI*)0;
			count_1 = (NI*)0;
			i_5 = ((NI)0);
			T54_ = inter_1.len;
			L_1 = T54_;
			{
				while (1) {
					if (!(i_5 < L_1)) goto LA56;
					id_1 = (&inter_1.p->data[i_5].Field0);
					count_1 = (&inter_1.p->data[i_5].Field1);
					{
						NI colontmpD__5;
						if (!(toCover_1 <= (*count_1))) goto LA59_;
						colontmpD__5 = (NI)0;
						colontmpD__5 = (*id_1);
						add__varpartitions_u1540((&(*tracked_p0).init), colontmpD__5);
					}
LA59_: ;
					i_5 += ((NI)1);
				} LA56: ;
			}
		}
	}
LA44_: ;
	setLen__ast_u3703((&(*tracked_p0).guards.s), (oldFacts_1));
	(*tracked_p0).inIfStmt -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4558(resSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___types_u1558(inter_1);
		eqdestroy___ast_u3363(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackIf__sempass2_u6476)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* resSym_1;
	tySequence__8Np6tlClE5az1CyqZdN19bQ inter_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	NI oldFacts_1;
	NI T2_;
	NI oldState_1;
	NI T3_;
	NIM_BOOL hasResult_1;
	NIM_BOOL T4_;
	NIM_BOOL T5_;
	NIM_BOOL T8_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T9_;
	NI resCounter_1;
	NI toCover_1;
	tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg hasBreaksBlock_1;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	resSym_1 = NIM_NIL;
	inter_1.len = 0; inter_1.p = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	track__sempass2_u5570(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*tracked_p0).inIfStmt += ((NI)1);
	T2_ = (*tracked_p0).guards.s.len;
	oldFacts_1 = T2_;
	addFact__guards_u476((&(*tracked_p0).guards), (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = (*tracked_p0).init.len;
	oldState_1 = T3_;
	T4_ = (NIM_BOOL)0;
	T5_ = (NIM_BOOL)0;
	T5_ = !(((*tracked_p0).owner == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	if (!(T5_)) goto LA6_;
	T5_ = ((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
LA6_: ;
	T4_ = T5_;
	if (!(T4_)) goto LA7_;
	colontmpD_ = returnType__ast_u5333((*(*tracked_p0).owner).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T8_ = (NIM_BOOL)0;
	T8_ = isEmptyType__ast_u7205(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = !(T8_);
LA7_: ;
	hasResult_1 = T4_;
	T9_ = NIM_NIL;
	{
		if (!hasResult_1) goto LA12_;
		eqcopy___ast_u4561(&resSym_1, (*(*(*(*tracked_p0).owner).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA12_: ;
	{
		resSym_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
LA10_: ;
	resCounter_1 = ((NI)0);
	inter_1.len = 0; inter_1.p = (tySequence__8Np6tlClE5az1CyqZdN19bQ_Content*) newSeqPayload(0, sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ), NIM_ALIGNOF(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
	toCover_1 = ((NI)0);
	track__sempass2_u5570(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hasBreaksBlock_1 = breaksBlock__sempass2_u6276((*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(hasBreaksBlock_1 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA17_;
		toCover_1 += ((NI)1);
	}
LA17_: ;
	addIdToIntersection__sempass2_u6311(tracked_p0, (&inter_1), (&resCounter_1), hasBreaksBlock_1, oldState_1, resSym_1, hasResult_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3175(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg hasBreaksBlock_2;
				if (!(i_2 < colontmp_)) goto LA21;
				branch_1 = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3240(&branch_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				setLen__ast_u3703((&(*tracked_p0).guards.s), (oldFacts_1));
				{
					NI j_1;
					NI colontmp__2;
					NI res_1;
					j_1 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = (NI)(i_1 - ((NI)1));
					res_1 = ((NI)0);
					{
						while (1) {
							if (!(res_1 <= colontmp__2)) goto LA25;
							j_1 = ((NI) (res_1));
							addFactNeg__guards_u497((&(*tracked_p0).guards), (*(*n_p1)._kind_6.sons.p->data[j_1])._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							res_1 += ((NI)1);
						} LA25: ;
					}
				}
				{
					NI T28_;
					T28_ = (NI)0;
					T28_ = len__ast_u3175(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					if (!(((NI)1) < T28_)) goto LA29_;
					addFact__guards_u476((&(*tracked_p0).guards), (*branch_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				}
LA29_: ;
				setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
				{
					NI i_3;
					NI colontmp__3;
					NI i_4;
					i_3 = (NI)0;
					colontmp__3 = (NI)0;
					colontmp__3 = len__ast_u3175(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					i_4 = ((NI)0);
					{
						while (1) {
							if (!(i_4 < colontmp__3)) goto LA33;
							i_3 = i_4;
							track__sempass2_u5570(tracked_p0, (*branch_1)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							i_4 += ((NI)1);
						} LA33: ;
					}
				}
				colontmpD__3 = lastSon__ast_u5187(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				hasBreaksBlock_2 = breaksBlock__sempass2_u6276(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					if (!(hasBreaksBlock_2 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA36_;
					toCover_1 += ((NI)1);
				}
LA36_: ;
				addIdToIntersection__sempass2_u6311(tracked_p0, (&inter_1), (&resCounter_1), hasBreaksBlock_2, oldState_1, resSym_1, hasResult_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				i_2 += ((NI)1);
				{
					LA22_:;
				}
				{
					oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3237(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin22_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA21: ;
		}
	}
	setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
	{
		NI T42_;
		colontmpD__2 = lastSon__ast_u5187(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T42_ = (NI)0;
		T42_ = len__ast_u3175(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T42_ == ((NI)1))) goto LA43_;
		{
			NIM_BOOL T47_;
			NI T49_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym368__1;
			T47_ = (NIM_BOOL)0;
			T47_ = hasResult_1;
			if (!(T47_)) goto LA48_;
			T49_ = (NI)0;
			T49_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T47_ = (resCounter_1 == T49_);
LA48_: ;
			if (!T47_) goto LA50_;
			xX60gensym368__1 = NIM_NIL;
			xX60gensym368__1 = resSym_1;
			eqwasMoved___ast_u4555(&resSym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			add__varpartitions_u1540((&(*tracked_p0).init), (NI)((NI)((NU64)(((NI) ((*xX60gensym368__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym368__1).itemId.item))));
			eqdestroy___ast_u4558(xX60gensym368__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA50_: ;
		{
			NI* id_1;
			NI* count_1;
			NI i_5;
			NI L_1;
			NI T53_;
			id_1 = (NI*)0;
			count_1 = (NI*)0;
			i_5 = ((NI)0);
			T53_ = inter_1.len;
			L_1 = T53_;
			{
				while (1) {
					if (!(i_5 < L_1)) goto LA55;
					id_1 = (&inter_1.p->data[i_5].Field0);
					count_1 = (&inter_1.p->data[i_5].Field1);
					{
						NI colontmpD__4;
						if (!(toCover_1 <= (*count_1))) goto LA58_;
						colontmpD__4 = (NI)0;
						colontmpD__4 = (*id_1);
						add__varpartitions_u1540((&(*tracked_p0).init), colontmpD__4);
					}
LA58_: ;
					i_5 += ((NI)1);
				} LA55: ;
			}
		}
	}
LA43_: ;
	setLen__ast_u3703((&(*tracked_p0).guards.s), (oldFacts_1));
	(*tracked_p0).inIfStmt -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___types_u1558(inter_1);
		eqdestroy___ast_u4558(resSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackBlock__sempass2_u6586)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI oldState_1;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126))) goto LA3_;
		oldState_1 = ((NI)-1);
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i_1 = i_2;
					{
						NIM_BOOL T10_;
						T10_ = (NIM_BOOL)0;
						T10_ = hasSubnodeWith__ast_u7000((*n_p1)._kind_6.sons.p->data[i_1], ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T10_) goto LA11_;
						{
							NI T17_;
							if (!(oldState_1 < ((NI)0))) goto LA15_;
							T17_ = (*tracked_p0).init.len;
							oldState_1 = T17_;
						}
LA15_: ;
					}
LA11_: ;
					track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			if (!(((NI)0) < oldState_1)) goto LA20_;
			setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
		}
LA20_: ;
	}
	goto LA1_;
LA3_: ;
	{
		track__sempass2_u5570(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, fromSystem__astalgo_u184)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p0) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getModule__astalgo_u156(op_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((*colontmpD_).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0);
	eqdestroy___ast_u4558(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass2_u6977)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* Result) {
	NI oldForbidsLen_1;
	NI T5_;
	NI T6_;
	NI T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA));
	oldForbidsLen_1 = ((NI)0);
	{
		if (!!(((*tracked_p0).forbids == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA3_;
		oldForbidsLen_1 = len__ast_u3175((*tracked_p0).forbids);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	nimZeroMem((void*)Result, sizeof(tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA));
	T5_ = (*tracked_p0).locked.len;
	(*Result).oldLocked = T5_;
	(*Result).enforcedGcSafety = NIM_FALSE;
	(*Result).enforceNoSideEffects = NIM_FALSE;
	T6_ = (NI)0;
	T6_ = len__ast_u3175((*tracked_p0).exc);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).oldExc = T6_;
	T7_ = (NI)0;
	T7_ = len__ast_u3175((*tracked_p0).tags);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).oldTags = T7_;
	(*Result).oldForbids = oldForbidsLen_1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lockLocations__sempass2_u2062)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!(((*pragma_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34)))) goto LA3_;
		liMessage__msgs_u1223((*a_p0).config, (*pragma_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_120, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_121), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp_;
		x_1 = NIM_NIL;
		colontmp_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		colontmp_ = &(*pragma_p1)._kind_6.sons.p->data[((NI)1)];
		{
			NI i_1;
			NI colontmp__2;
			NI i_2;
			i_1 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = safeLen__ast_u3182((*colontmp_));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
					if (!(i_2 < colontmp__2)) goto LA8;
					i_1 = i_2;
					eqcopy___ast_u3240(&x_1, (*(*colontmp_))._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					blitTmp_1 = x_1;
					eqwasMoved___ast_u3234(&x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					add__ast_u3210((&(*a_p0).locked), blitTmp_1);
					i_2 += ((NI)1);
				} LA8: ;
			}
		}
		eqdestroy___ast_u3237(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass2_u7070)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_p1, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p2) {
	tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
	T1_ = whichPragma__trees_u218(pragma_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (T1_) {
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)112):
	{
		(*bc_p2).enforcedGcSafety = NIM_TRUE;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)111):
	{
		(*bc_p2).enforceNoSideEffects = NIM_TRUE;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)180):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
		n_1 = NIM_NIL;
		eqcopy___ast_u3240(&n_1, (*pragma_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39) || (*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41))) goto LA7_;
			eqsink___ast_u3246(&(*bc_p2).tags, n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u3234(&n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
			T10_ = NIM_NIL;
			T10_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*pragma_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T10_); goto BeforeRet_;}
			eqsink___ast_u3246(&(*bc_p2).tags, T10_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3200((*bc_p2).tags, n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
		eqdestroy___ast_u3237(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)181):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
		n_2 = NIM_NIL;
		eqcopy___ast_u3240(&n_2, (*pragma_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39) || (*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41))) goto LA14_;
			eqsink___ast_u3246(&(*bc_p2).forbids, n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u3234(&n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA12_;
LA14_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
			T17_ = NIM_NIL;
			T17_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*pragma_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T17_); goto BeforeRet_;}
			eqsink___ast_u3246(&(*bc_p2).forbids, T17_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3200((*bc_p2).forbids, n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
		eqdestroy___ast_u3237(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)175):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_3;
		n_3 = NIM_NIL;
		eqcopy___ast_u3240(&n_3, (*pragma_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*n_3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39) || (*n_3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41))) goto LA21_;
			eqsink___ast_u3246(&(*bc_p2).exc, n_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u3234(&n_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA19_;
LA21_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T24_;
			T24_ = NIM_NIL;
			T24_ = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*pragma_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T24_); goto BeforeRet_;}
			eqsink___ast_u3246(&(*bc_p2).exc, T24_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3200((*bc_p2).exc, n_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA19_: ;
		eqdestroy___ast_u3237(n_3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)87):
	{
	}
	break;
	default:
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T28_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T28_.len = 0; T28_.p = NIM_NIL;
		colontmpD_ = dollar___renderer_u2143(pragma_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_ = rawNewString(colontmpD_.len + 22);
appendString((&T28_), TM__wkTG4eaV3t1uo3x09apjcwA_123);
appendString((&T28_), colontmpD_);
		colontmpD__2 = T28_;
		liMessage__msgs_u1223((*tracked_p0).config, (*pragma_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_124), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		{
			LA27_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__2);
			eqdestroy___system_u2627(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass2_u7033)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p1) {
	{
		if (!(*bc_p1).enforcedGcSafety) goto LA3_;
		(*tracked_p0).inEnforcedGcSafe = NIM_TRUE;
	}
LA3_: ;
	{
		if (!(*bc_p1).enforceNoSideEffects) goto LA7_;
		(*tracked_p0).inEnforcedNoSideEffects = NIM_TRUE;
	}
LA7_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addNotTag__sempass2_u5457)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aa_1;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	aa_1 = NIM_NIL;
	eqcopy___ast_u3240(&aa_1, (*a_p0).forbids);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3175(aa_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
				if (!(i_2 < colontmp_)) goto LA4;
				colontmpD_ = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				i_1 = i_2;
				{
					tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T8_;
					NIM_BOOL T9_;
					colontmpD_ = skipTypes__ast_u5358((*(*aa_1)._kind_6.sons.p->data[i_1]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					colontmpD__2 = skipTypes__ast_u5358((*e_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = 0;
					T9_ = (NIM_BOOL)0;
					T9_ = sameType__types_u1815(colontmpD_, colontmpD__2, T8_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T9_) goto LA10_;
					eqdestroy___ast_u3363(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3363(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3237(aa_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3363(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3363(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA4: ;
		}
	}
	throws__sempass2_u5386((*a_p0).forbids, e_p1, comesFrom_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3237(aa_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, unapplyBlockContext__sempass2_u7036)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p1) {
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(*bc_p1).enforcedGcSafety) goto LA3_;
		(*tracked_p0).inEnforcedGcSafe = NIM_FALSE;
	}
LA3_: ;
	{
		if (!(*bc_p1).enforceNoSideEffects) goto LA7_;
		(*tracked_p0).inEnforcedNoSideEffects = NIM_FALSE;
	}
LA7_: ;
	setLen__ast_u3703((&(*tracked_p0).locked), ((*bc_p1).oldLocked));
	{
		if (!!(((*bc_p1).exc == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA11_;
		setLen__ast_u3703((&(*(*tracked_p0).exc)._kind_6.sons), ((*bc_p1).oldExc));
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
			e_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182((*bc_p1).exc);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA17;
						i_1 = i_2;
						eqcopy___ast_u3240(&e_1, (*(*bc_p1).exc)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						addRaiseEffect__sempass2_u5433(tracked_p0, e_1, e_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						i_2 += ((NI)1);
					} LA17: ;
				}
			}
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(e_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA11_: ;
	{
		if (!!(((*bc_p1).tags == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA22_;
		setLen__ast_u3703((&(*(*tracked_p0).tags)._kind_6.sons), ((*bc_p1).oldTags));
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* t_1;
			t_1 = NIM_NIL;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = safeLen__ast_u3182((*bc_p1).tags);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA28;
						i_3 = i_4;
						eqcopy___ast_u3240(&t_1, (*(*bc_p1).tags)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						addTag__sempass2_u5447(tracked_p0, t_1, t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						i_4 += ((NI)1);
					} LA28: ;
				}
			}
			{
				LA25_:;
			}
			{
				oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin25_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA22_: ;
	{
		if (!!(((*bc_p1).forbids == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA33_;
		setLen__ast_u3703((&(*(*tracked_p0).forbids)._kind_6.sons), ((*bc_p1).oldForbids));
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* t_2;
			t_2 = NIM_NIL;
			{
				NI i_5;
				NI colontmp__3;
				NI i_6;
				i_5 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = safeLen__ast_u3182((*bc_p1).forbids);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				i_6 = ((NI)0);
				{
					while (1) {
						if (!(i_6 < colontmp__3)) goto LA39;
						i_5 = i_6;
						eqcopy___ast_u3240(&t_2, (*(*bc_p1).forbids)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						addNotTag__sempass2_u5457(tracked_p0, t_2, t_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						i_6 += ((NI)1);
					} LA39: ;
				}
			}
			{
				LA36_:;
			}
			{
				oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(t_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin36_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA33_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u6991)(tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).exc);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3255((&(*(*dest_p0).exc)));
		nimRawDispose((*dest_p0).exc, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).tags);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3255((&(*(*dest_p0).tags)));
		nimRawDispose((*dest_p0).tags, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).forbids);
		if (!T13_) goto LA14_;
		eqdestroy___ast_u3255((&(*(*dest_p0).forbids)));
		nimRawDispose((*dest_p0).forbids, ((NI)8));
	}
LA14_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getBody__modulegraphs_u17859)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3240(&result, (*(*s_p1).ast)._kind_6.sons.p->data[((NI)6)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* T7_;
		tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* T8_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
		T3_ = (NIM_BOOL)0;
		T3_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*g_p0).config).symbolFiles == ((tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA)2) || (*(*g_p0).config).symbolFiles == ((tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA)3) || (*(*g_p0).config).symbolFiles == ((tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA)4));
LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = NIM_NIL;
		T7_ = (*g_p0).config;
		T8_ = NIM_NIL;
		T8_ = (*g_p0).cache;
		T9_ = NIM_NIL;
		T9_ = loadProcBody__icZic_u21211(T7_, T8_, (&(*g_p0).packed_0), s_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3237(T9_); goto BeforeRet_;}
		eqsink___ast_u3246(&result, T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3240(&(*(*s_p1).ast)._kind_6.sons.p->data[((NI)6)], result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, trackInnerProc__sempass2_u7089)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		s_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		eqcopy___ast_u4561(&s_1, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T4_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym475__1;
			T4_ = (NIM_BOOL)0;
			T4_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T4_)) goto LA5_;
			colontmpD_ = owner__ast_u6233(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T4_ = (colontmpD_ == (*tracked_p0).owner);
LA5_: ;
			if (!T4_) goto LA6_;
			xX60gensym475__1 = NIM_NIL;
			xX60gensym475__1 = s_1;
			eqwasMoved___ast_u4555(&s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			incl__pureZcollectionsZintsets_u366((&(*tracked_p0).escapingParams), (NI)((NI)((NU64)(((NI) ((*xX60gensym475__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym475__1).itemId.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4558(xX60gensym475__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA6_: ;
		eqdestroy___ast_u4558(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4558(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	{
		{
			NIM_BOOL T12_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			T12_ = (NIM_BOOL)0;
			T12_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T12_)) goto LA13_;
			T12_ = !(((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA13_: ;
			if (!T12_) goto LA14_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = getBody__modulegraphs_u17859((*tracked_p0).graph, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			trackInnerProc__sempass2_u7089(tracked_p0, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			{
				LA16_:;
			}
			{
				oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin16_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)161):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)158):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
	}
	break;
	default:
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ch_1;
			ch_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA25;
						i_1 = i_2;
						eqcopy___ast_u3240(&ch_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						trackInnerProc__sempass2_u7089(tracked_p0, ch_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						i_2 += ((NI)1);
					} LA25: ;
				}
			}
			{
				LA22_:;
			}
			{
				oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(ch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin22_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5327)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3366(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA*, X5BX5D___sempass2_u307)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA* s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA* result;
	result = (&s_p0[(NI)(s_p0Len_0 - i_p1)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__EJOd8NnRbGOjqpW2d6uq2g, getObjDepth__sempass2_u125)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	tyTuple__EJOd8NnRbGOjqpW2d6uq2g result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_1;
	tySequence__Cw89anHgi6Xla7dgB7Unvmw stack_1;
	NI colontmp_;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA colontmp__2;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA* T10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyTuple__EJOd8NnRbGOjqpW2d6uq2g));
	x_1 = NIM_NIL;
	stack_1.len = 0; stack_1.p = NIM_NIL;
	eqcopy___ast_u3366(&x_1, t_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmp_ = ((NI)-1);
	nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA));
	result.Field0 = colontmp_;
	result.Field1 = colontmp__2;
	stack_1 = newSeq__sempass2_u149(((NI)0));
	{
		while (1) {
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA colontmpD_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T4_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T9_;
			if (!!((x_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA3;
			nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA));
			T4_ = NIM_NIL;
			T4_ = skipTypes__ast_u5358(x_1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3363(T4_); goto LA1_;}
			eqsink___ast_u3372(&x_1, T4_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NI colontmp__3;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA colontmp__4;
				if (!!(((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)))) goto LA7_;
				colontmp__3 = ((NI)-3);
				nimZeroMem((void*)(&colontmp__4), sizeof(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA));
				result.Field0 = colontmp__3;
				result.Field1 = colontmp__4;
				eqdestroy___sempass2_u233(stack_1);
				eqdestroy___ast_u3363(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA7_: ;
			colontmpD_ = (*x_1).itemId;
			add__sempass2_u282((&stack_1), colontmpD_);
			T9_ = NIM_NIL;
			T9_ = baseClass__ast_u5327(x_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3363(T9_); goto LA1_;}
			eqsink___ast_u3372(&x_1, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			result.Field0 += ((NI)1);
		} LA3: ;
	}
	T10_ = (tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA*)0;
	T10_ = X5BX5D___sempass2_u307(((stack_1).p) ? (stack_1.p->data) : NIM_NIL, stack_1.len, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result.Field1 = (*T10_);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sempass2_u233(stack_1);
		eqdestroy___ast_u3363(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, collectObjectTree__sempass2_u374)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* section_1;
		section_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3182(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA5;
					i_1 = i_2;
					eqcopy___ast_u3240(&section_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
					{
						NIM_BOOL T8_;
						NIM_BOOL T9_;
						NI T11_;
						NI T13_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
						NI T17_;
						T8_ = (NIM_BOOL)0;
						T9_ = (NIM_BOOL)0;
						T9_ = ((*section_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103));
						if (!(T9_)) goto LA10_;
						T11_ = (NI)0;
						T11_ = len__ast_u3175(section_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						T9_ = ((*(*section_1)._kind_6.sons.p->data[(NI)(T11_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133) || (*(*section_1)._kind_6.sons.p->data[(NI)(T11_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141) || (*(*section_1)._kind_6.sons.p->data[(NI)(T11_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142));
LA10_: ;
						T8_ = T9_;
						if (!(T8_)) goto LA12_;
						T13_ = (NI)0;
						T13_ = len__ast_u3175(section_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						T8_ = !(((*(*section_1)._kind_6.sons.p->data[(NI)(T13_ - ((NI)1))]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA12_: ;
						if (!T8_) goto LA14_;
						typ_1 = NIM_NIL;
						colontmpD_ = NIM_NIL;
						T17_ = (NI)0;
						T17_ = len__ast_u3175(section_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						typ_1 = skipTypes__ast_u5358((*(*section_1)._kind_6.sons.p->data[(NI)(T17_ - ((NI)1))]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							NIM_BOOL T20_;
							tyTuple__EJOd8NnRbGOjqpW2d6uq2g tmpTuple_1;
							NI depthLevel_1;
							tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA root_1;
							T20_ = (NIM_BOOL)0;
							T20_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
							if (!(T20_)) goto LA21_;
							colontmpD_ = baseClass__ast_u5327(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							T20_ = !((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA21_: ;
							if (!T20_) goto LA22_;
							tmpTuple_1 = getObjDepth__sempass2_u125(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							depthLevel_1 = tmpTuple_1.Field0;
							root_1 = tmpTuple_1.Field1;
							{
								if (!!((depthLevel_1 == ((NI)-3)))) goto LA26_;
								{
									tySequence__juxPMVNF1FoR2ltzeQu8NQ T32_;
									if (!(depthLevel_1 == ((NI)1))) goto LA30_;
									T32_.len = 0; T32_.p = NIM_NIL;
									T32_.len = 0; T32_.p = (tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content*) newSeqPayload(0, sizeof(tyTuple__V6P73hvHy70PBBwharKjig), NIM_ALIGNOF(tyTuple__V6P73hvHy70PBBwharKjig));
									X5BX5Deq___sempass2_u442((&(*graph_p0).objectTree), root_1, T32_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
								}
								goto LA28_;
LA30_: ;
								{
									{
										NIM_BOOL T36_;
										tySequence__juxPMVNF1FoR2ltzeQu8NQ T39_;
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
										T36_ = (NIM_BOOL)0;
										T36_ = contains__sempass2_u1733((*graph_p0).objectTree, root_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
										if (!!(T36_)) goto LA37_;
										T39_.len = 0; T39_.p = NIM_NIL;
										T39_.len = 1; T39_.p = (tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content*) newSeqPayload(1, sizeof(tyTuple__V6P73hvHy70PBBwharKjig), NIM_ALIGNOF(tyTuple__V6P73hvHy70PBBwharKjig));
										T39_.p->data[0].Field0 = depthLevel_1;
										blitTmp_1 = typ_1;
										eqwasMoved___ast_u3360(&typ_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
										T39_.p->data[0].Field1 = blitTmp_1;
										X5BX5Deq___sempass2_u442((&(*graph_p0).objectTree), root_1, T39_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
									}
									goto LA34_;
LA37_: ;
									{
										tySequence__juxPMVNF1FoR2ltzeQu8NQ* T41_;
										tyTuple__V6P73hvHy70PBBwharKjig T42_;
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_2;
										T41_ = (tySequence__juxPMVNF1FoR2ltzeQu8NQ*)0;
										T41_ = X5BX5D___sempass2_u1862((&(*graph_p0).objectTree), root_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
										nimZeroMem((void*)(&T42_), sizeof(tyTuple__V6P73hvHy70PBBwharKjig));
										T42_.Field0 = depthLevel_1;
										blitTmp_2 = typ_1;
										eqwasMoved___ast_u3360(&typ_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
										T42_.Field1 = blitTmp_2;
										add__sempass2_u1947((&(*T41_)), T42_);
									}
LA34_: ;
								}
LA28_: ;
							}
LA26_: ;
						}
LA22_: ;
						{
							LA16_:;
						}
						{
							oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3363(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
							eqdestroy___ast_u3363(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
							*nimErr_ = oldNimErrFin16_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
					}
LA14_: ;
					i_2 += ((NI)1);
				} LA5: ;
			}
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(section_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allowCStringConv__sempass2_u7152)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	{
		result = isCharArrayPtr__types_u4221((*n_p0).typField, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T5_)) goto LA6_;
		T5_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)16));
LA6_: ;
		result = isCharArrayPtr__types_u4221((*n_p0).typField, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = isCharArrayPtr__types_u4221((*n_p0).typField, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass2_u6659)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	t_1 = NIM_NIL;
	t_1 = skipTypes__ast_u5358(typ_p2, TM__wkTG4eaV3t1uo3x09apjcwA_135);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lowBound_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* highBound_1;
		if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20))) goto LA4_;
		lowBound_1 = NIM_NIL;
		highBound_1 = NIM_NIL;
		lowBound_1 = copyTree__ast_u6862((*(*t_1).n)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		(*lowBound_1).info = (*value_p1).info;
		highBound_1 = copyTree__ast_u6862((*(*t_1).n)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		(*highBound_1).info = (*value_p1).info;
		checkLe__sempass2_u6651(c_p0, lowBound_1, value_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		checkLe__sempass2_u6651(c_p0, value_p1, highBound_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(highBound_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3237(lowBound_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3363(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, track__sempass2_u5570)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin109_;
NIM_BOOL oldNimErrFin120_;
NIM_BOOL oldNimErrFin90_;
NIM_BOOL oldNimErrFin86_;
NIM_BOOL oldNimErrFin161_;
NIM_BOOL oldNimErrFin157_;
NIM_BOOL oldNimErrFin204_;
NIM_BOOL oldNimErrFin208_;
NIM_BOOL oldNimErrFin198_;
NIM_BOOL oldNimErrFin191_;
NIM_BOOL oldNimErrFin230_;
NIM_BOOL oldNimErrFin220_;
NIM_BOOL oldNimErrFin247_;
NIM_BOOL oldNimErrFin181_;
NIM_BOOL oldNimErrFin263_;
NIM_BOOL oldNimErrFin296_;
NIM_BOOL oldNimErrFin289_;
NIM_BOOL oldNimErrFin305_;
NIM_BOOL oldNimErrFin318_;
NIM_BOOL oldNimErrFin336_;
NIM_BOOL oldNimErrFin356_;
NIM_BOOL oldNimErrFin442_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		useVar__sempass2_u5262(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T4_;
			T4_ = (NIM_BOOL)0;
			T4_ = !(((*(*n_p1)._kind_4.sym).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T4_)) goto LA5_;
			T4_ = (((*(*(*n_p1)._kind_4.sym).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31)))&63U)))!=0);
LA5_: ;
			if (!T4_) goto LA6_;
			(*(*tracked_p0).owner).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)42))) & 63);
			{
				NIM_BOOL T10_;
				NIM_BOOL T12_;
				tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T13_;
				tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T15_;
				T10_ = (NIM_BOOL)0;
				T10_ = ((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (T10_) goto LA11_;
				T12_ = (NIM_BOOL)0;
				T13_ = 0;
				T12_ = !(!(((IL64(2147483664) & (*(*n_p1).typField).flags) == T13_)));
				if (!(T12_)) goto LA14_;
				T15_ = 0;
				T12_ = sameType__types_u1815((*n_p1).typField, (*(*n_p1)._kind_4.sym).typ, T15_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA14_: ;
				T10_ = T12_;
LA11_: ;
				if (!T10_) goto LA16_;
				eqcopy___ast_u3366(&(*n_p1).typField, (*(*n_p1)._kind_4.sym).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA16_: ;
		}
LA6_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	{
		{
			NIM_BOOL T21_;
			NIM_BOOL T22_;
			T21_ = (NIM_BOOL)0;
			T22_ = (NIM_BOOL)0;
			T22_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T22_)) goto LA23_;
			T22_ = isLocalSym__sempass2_u2035(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA23_: ;
			T21_ = T22_;
			if (!(T21_)) goto LA24_;
			T21_ = !(((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47)));
LA24_: ;
			if (!T21_) goto LA25_;
			useVarNoInitCheck__sempass2_u4088(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA19_;
LA25_: ;
		{
			track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA19_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108):
	{
		{
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA31_;
			(*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info = (*n_p1).info;
			addRaiseEffect__sempass2_u5433(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA35;
						i_1 = i_2;
						track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_2 += ((NI)1);
					} LA35: ;
				}
			}
			createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA29_;
LA31_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = createRaise__sempass2_u5419((*tracked_p0).graph, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			addRaiseEffect__sempass2_u5433(tracked_p0, colontmpD_, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			{
				LA37_:;
			}
			{
				oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin37_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA29_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		trackCall__sempass2_u6710(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		NI oldLeftPartOfAsgn_1;
		guardDotAccess__sempass2_u2090(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		oldLeftPartOfAsgn_1 = (*tracked_p0).leftPartOfAsgn;
		(*tracked_p0).leftPartOfAsgn = ((NI)0);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA44;
					i_3 = i_4;
					track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA44: ;
			}
		}
		(*tracked_p0).leftPartOfAsgn = oldLeftPartOfAsgn_1;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	{
		track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T48_;
			T48_ = (NIM_BOOL)0;
			T48_ = hasWarn__options_u614((*tracked_p0).config, ((tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w)48));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (T48_) goto LA49_;
			T48_ = (((*(*tracked_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)19)))&31U)))!=0);
LA49_: ;
			if (!T48_) goto LA50_;
			checkFieldAccess__guards_u1676((&(*tracked_p0).guards), n_p1, (*tracked_p0).config, (((*(*tracked_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)19)))&31U)))!=0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA50_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	{
		trackTryStmt__sempass2_u5573(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	{
		trackPragmaStmt__sempass2_u5808(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149):
	{
		track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		initVar__sempass2_u3249(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		invalidateFacts__guards_u610((&(*tracked_p0).guards), (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*tracked_p0).leftPartOfAsgn += ((NI)1);
		track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*tracked_p0).leftPartOfAsgn -= ((NI)1);
		addAsgnFact__guards_u1619((&(*tracked_p0).guards), (*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		notNilCheck__sempass2_u5906(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T57_;
			T57_ = (NIM_BOOL)0;
			T57_ = !(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
			if (!(T57_)) goto LA58_;
			T57_ = !(((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA58_: ;
			if (!T57_) goto LA59_;
			createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA59_: ;
		{
			NIM_BOOL T63_;
			NIM_BOOL T65_;
			T63_ = (NIM_BOOL)0;
			T63_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
			if (T63_) goto LA64_;
			T65_ = (NIM_BOOL)0;
			T65_ = isLocalSym__sempass2_u2035(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T63_ = !(T65_);
LA64_: ;
			if (!T63_) goto LA66_;
			checkForSink__sempass2_u6674(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T70_;
				NIM_BOOL T71_;
				T70_ = (NIM_BOOL)0;
				T71_ = (NIM_BOOL)0;
				T71_ = (((*(*tracked_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)11)))&31U)))!=0);
				if (!(T71_)) goto LA72_;
				T71_ = !((*tracked_p0).inEnforcedNoSideEffects);
LA72_: ;
				T70_ = T71_;
				if (!(T70_)) goto LA73_;
				T70_ = isDangerousLocation__semstrictfuncs_u6((*n_p1)._kind_6.sons.p->data[((NI)0)], (*tracked_p0).owner);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA73_: ;
				if (!T70_) goto LA74_;
				(*tracked_p0).hasSideEffect = NIM_TRUE;
				{
					NimStringV2 colontmpD__2;
					NimStringV2 colontmpD__3;
					tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T81_;
					if (!(((*(*tracked_p0).owner).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)12)))&63U)))!=0)) goto LA78_;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					T81_ = 0;
					colontmpD__2 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)0)], T81_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
					colontmpD__3 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_108, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
					liMessage__msgs_u1223((*tracked_p0).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_109), NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
					{
						LA80_:;
					}
					{
						eqdestroy___system_u2627(colontmpD__3);
						eqdestroy___system_u2627(colontmpD__2);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA78_: ;
			}
LA74_: ;
		}
LA66_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_1;
			child_1 = NIM_NIL;
			{
				NI i_5;
				NI colontmp__3;
				NI i_6;
				i_5 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = safeLen__ast_u3182(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
				i_6 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* last_1;
						if (!(i_6 < colontmp__3)) goto LA89;
						last_1 = NIM_NIL;
						i_5 = i_6;
						eqcopy___ast_u3240(&child_1, (*n_p1)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						last_1 = lastSon__ast_u5187(child_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						{
							if (!!(((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA93_;
							track__sempass2_u5570(tracked_p0, last_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						}
LA93_: ;
						{
							if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA97_;
							{
								NI T103_;
								if (!((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA101_;
								T103_ = (NI)0;
								T103_ = len__ast_u3175(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
								createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*child_1)._kind_6.sons.p->data[(NI)(T103_ - ((NI)1))]).typField, (*child_1).info, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
								{
									NI i_7;
									NI colontmp__4;
									NI T105_;
									NI i_8;
									i_7 = (NI)0;
									colontmp__4 = (NI)0;
									T105_ = (NI)0;
									T105_ = len__ast_u3175(child_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									colontmp__4 = (NI)(T105_ - ((NI)2));
									i_8 = ((NI)0);
									{
										while (1) {
											if (!(i_8 < colontmp__4)) goto LA107;
											i_7 = i_8;
											createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*child_1)._kind_6.sons.p->data[i_7]).typField, (*child_1).info, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
											i_8 += ((NI)1);
										} LA107: ;
									}
								}
							}
							goto LA99_;
LA101_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
								colontmpD__4 = NIM_NIL;
								colontmpD__4 = skipPragmaExpr__ast_u4032((*child_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
								createTypeBoundOps__sempass2_u2010(tracked_p0, (*colontmpD__4).typField, (*child_1).info, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
								{
									LA109_:;
								}
								{
									oldNimErrFin109_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3237(colontmpD__4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									*nimErr_ = oldNimErrFin109_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
							}
LA99_: ;
						}
LA97_: ;
						{
							if (!((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35))) goto LA114_;
							{
								NI i_9;
								NI colontmp__5;
								NI T117_;
								NI i_10;
								i_9 = (NI)0;
								colontmp__5 = (NI)0;
								T117_ = (NI)0;
								T117_ = len__ast_u3175(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
								colontmp__5 = (NI)(T117_ - ((NI)2));
								i_10 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
										if (!(i_10 < colontmp__5)) goto LA119;
										a_1 = NIM_NIL;
										i_9 = i_10;
										a_1 = skipPragmaExpr__ast_u4032((*child_1)._kind_6.sons.p->data[i_9]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
										varDecl__sempass2_u2159(tracked_p0, a_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
										{
											if (!!(((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA123_;
											initVar__sempass2_u3249(tracked_p0, a_1, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
											addAsgnFact__guards_u1619((&(*tracked_p0).guards), a_1, last_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
											notNilCheck__sempass2_u5906(tracked_p0, last_1, (*a_1).typField);
											if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
										}
LA123_: ;
										i_10 += ((NI)1);
										{
											LA120_:;
										}
										{
											oldNimErrFin120_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3237(a_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
											*nimErr_ = oldNimErrFin120_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									} LA119: ;
								}
							}
						}
						goto LA112_;
LA114_: ;
						{
							if (!((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA128_;
							{
								NI i_11;
								NI colontmp__6;
								NI T131_;
								NI i_12;
								i_11 = (NI)0;
								colontmp__6 = (NI)0;
								T131_ = (NI)0;
								T131_ = len__ast_u3175(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
								colontmp__6 = (NI)(T131_ - ((NI)1));
								i_12 = ((NI)0);
								{
									while (1) {
										if (!(i_12 < colontmp__6)) goto LA133;
										i_11 = i_12;
										{
											{
												NIM_BOOL T137_;
												NIM_BOOL T139_;
												T137_ = (NIM_BOOL)0;
												T137_ = ((*(*child_1)._kind_6.sons.p->data[i_11]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
												if (T137_) goto LA138_;
												T139_ = (NIM_BOOL)0;
												T139_ = ((*(*child_1)._kind_6.sons.p->data[i_11]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
												if (!(T139_)) goto LA140_;
												T139_ = ((*(*(*(*child_1)._kind_6.sons.p->data[i_11])._kind_4.sym).name).id == ((NI)74));
LA140_: ;
												T137_ = T139_;
LA138_: ;
												if (!T137_) goto LA141_;
												goto LA134;
											}
LA141_: ;
											varDecl__sempass2_u2159(tracked_p0, (*child_1)._kind_6.sons.p->data[i_11]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
											{
												if (!!(((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA145_;
												initVar__sempass2_u3249(tracked_p0, (*child_1)._kind_6.sons.p->data[i_11], NIM_FALSE);
												if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
											}
LA145_: ;
											{
												if (!((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA149_;
												addAsgnFact__guards_u1619((&(*tracked_p0).guards), (*child_1)._kind_6.sons.p->data[i_11], (*last_1)._kind_6.sons.p->data[i_11]);
												if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
												notNilCheck__sempass2_u5906(tracked_p0, (*last_1)._kind_6.sons.p->data[i_11], (*(*child_1)._kind_6.sons.p->data[i_11]).typField);
												if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
											}
LA149_: ;
										} LA134: ;
										i_12 += ((NI)1);
									} LA133: ;
								}
							}
						}
						goto LA112_;
LA128_: ;
LA112_: ;
						i_6 += ((NI)1);
						{
							LA90_:;
						}
						{
							oldNimErrFin90_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(last_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
							*nimErr_ = oldNimErrFin90_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
					} LA89: ;
				}
			}
			{
				LA86_:;
			}
			{
				oldNimErrFin86_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin86_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_2;
			child_2 = NIM_NIL;
			{
				NI i_13;
				NI colontmp__7;
				NI i_14;
				i_13 = (NI)0;
				colontmp__7 = (NI)0;
				colontmp__7 = safeLen__ast_u3182(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
				i_14 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* last_2;
						if (!(i_14 < colontmp__7)) goto LA160;
						last_2 = NIM_NIL;
						i_13 = i_14;
						eqcopy___ast_u3240(&child_2, (*n_p1)._kind_6.sons.p->data[i_13]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA161_;
						last_2 = lastSon__ast_u5187(child_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA161_;
						track__sempass2_u5570(tracked_p0, last_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA161_;
						i_14 += ((NI)1);
						{
							LA161_:;
						}
						{
							oldNimErrFin161_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(last_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
							*nimErr_ = oldNimErrFin161_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
					} LA160: ;
				}
			}
			{
				LA157_:;
			}
			{
				oldNimErrFin157_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(child_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin157_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		trackCase__sempass2_u6359(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
	{
		NI oldState_1;
		NI T168_;
		T168_ = (*tracked_p0).init.len;
		oldState_1 = T168_;
		track__sempass2_u5570(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_1));
		track__sempass2_u5570(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	{
		trackIf__sempass2_u6476(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
	{
		trackBlock__sempass2_u6586(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	{
		(*tracked_p0).currentBlock += ((NI)1);
		{
			NIM_BOOL T174_;
			T174_ = (NIM_BOOL)0;
			T174_ = isTrue__ast_u7646((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T174_) goto LA175_;
			trackBlock__sempass2_u6586(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA172_;
LA175_: ;
		{
			NI oldState_2;
			NI T178_;
			NI oldFacts_1;
			NI T179_;
			T178_ = (*tracked_p0).init.len;
			oldState_2 = T178_;
			T179_ = (*tracked_p0).guards.s.len;
			oldFacts_1 = T179_;
			addFact__guards_u476((&(*tracked_p0).guards), (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_2));
			setLen__ast_u3703((&(*tracked_p0).guards.s), (oldFacts_1));
		}
LA172_: ;
		(*tracked_p0).currentBlock -= ((NI)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* iterCall_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* loopBody_1;
		NI oldState_3;
		NI T182_;
		NI oldFacts_2;
		NI T183_;
		NI T184_;
		NI T239_;
		iterCall_1 = NIM_NIL;
		loopBody_1 = NIM_NIL;
		(*tracked_p0).currentBlock += ((NI)1);
		T182_ = (*tracked_p0).init.len;
		oldState_3 = T182_;
		T183_ = (*tracked_p0).guards.s.len;
		oldFacts_2 = T183_;
		T184_ = (NI)0;
		T184_ = len__ast_u3175(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		eqcopy___ast_u3240(&iterCall_1, (*n_p1)._kind_6.sons.p->data[(NI)(T184_ - ((NI)2))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		{
			NIM_BOOL T187_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_1;
			T187_ = (NIM_BOOL)0;
			T187_ = (((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0);
			if (!(T187_)) goto LA188_;
			T187_ = ((*iterCall_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*iterCall_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*iterCall_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*iterCall_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*iterCall_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*iterCall_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*iterCall_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
LA188_: ;
			if (!T187_) goto LA189_;
			op_1 = NIM_NIL;
			eqcopy___ast_u3240(&op_1, (*iterCall_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
			{
				NIM_BOOL T194_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* iterVar_1;
				T194_ = (NIM_BOOL)0;
				T194_ = ((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T194_)) goto LA195_;
				T194_ = fromSystem__astalgo_u184((*op_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
LA195_: ;
				if (!T194_) goto LA196_;
				iterVar_1 = NIM_NIL;
				eqcopy___ast_u3240(&iterVar_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_112)) goto LA199_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_114)) goto LA199_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_116)) goto LA199_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_118)) goto LA200_;
				goto LA201_;
				LA199_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lower_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* upper_1;
					lower_1 = NIM_NIL;
					upper_1 = NIM_NIL;
					eqcopy___ast_u3240(&lower_1, (*iterCall_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
					eqcopy___ast_u3240(&upper_1, (*iterCall_1)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
					addFactLe__guards_u1553((&(*tracked_p0).guards), lower_1, iterVar_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
					addFactLe__guards_u1553((&(*tracked_p0).guards), iterVar_1, upper_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
					{
						LA204_:;
					}
					{
						oldNimErrFin204_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3237(upper_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
						eqdestroy___ast_u3237(lower_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
						*nimErr_ = oldNimErrFin204_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
				}
				goto LA202_;
				LA200_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lower_2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* upper_2;
					lower_2 = NIM_NIL;
					upper_2 = NIM_NIL;
					eqcopy___ast_u3240(&lower_2, (*iterCall_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
					eqcopy___ast_u3240(&upper_2, (*iterCall_1)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
					addFactLe__guards_u1553((&(*tracked_p0).guards), lower_2, iterVar_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
					addFactLt__guards_u1561((&(*tracked_p0).guards), iterVar_1, upper_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
					{
						LA208_:;
					}
					{
						oldNimErrFin208_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3237(upper_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
						eqdestroy___ast_u3237(lower_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
						*nimErr_ = oldNimErrFin208_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
				}
				goto LA202_;
				LA201_: ;
				{
				}
LA202_: ;
				{
					LA198_:;
				}
				{
					oldNimErrFin198_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(iterVar_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
					*nimErr_ = oldNimErrFin198_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
			}
LA196_: ;
			{
				LA191_:;
			}
			{
				oldNimErrFin191_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				*nimErr_ = oldNimErrFin191_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		}
LA189_: ;
		{
			NI i_15;
			NI colontmp__8;
			NI T217_;
			NI i_16;
			i_15 = (NI)0;
			colontmp__8 = (NI)0;
			T217_ = (NI)0;
			T217_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			colontmp__8 = (NI)(T217_ - ((NI)2));
			i_16 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					if (!(i_16 < colontmp__8)) goto LA219;
					it_1 = NIM_NIL;
					i_15 = i_16;
					eqcopy___ast_u3240(&it_1, (*n_p1)._kind_6.sons.p->data[i_15]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA220_;
					track__sempass2_u5570(tracked_p0, it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA220_;
					{
						if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA223_;
						{
							if (!((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA227_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
								x_1 = NIM_NIL;
								x_1 = 0;
								{
									NI i_17;
									NI colontmp__9;
									NI i_18;
									i_17 = (NI)0;
									colontmp__9 = (NI)0;
									colontmp__9 = safeLen__ast_u3182(it_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA230_;
									i_18 = ((NI)0);
									{
										while (1) {
											if (!(i_18 < colontmp__9)) goto LA233;
											i_17 = i_18;
											eqcopy___ast_u3240(&x_1, (*it_1)._kind_6.sons.p->data[i_17]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA230_;
											createTypeBoundOps__sempass2_u2010(tracked_p0, (*x_1).typField, (*x_1).info, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA230_;
											i_18 += ((NI)1);
										} LA233: ;
									}
								}
								{
									LA230_:;
								}
								{
									oldNimErrFin230_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3237(x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA220_;
									*nimErr_ = oldNimErrFin230_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA220_;
							}
						}
						goto LA225_;
LA227_: ;
						{
							createTypeBoundOps__sempass2_u2010(tracked_p0, (*it_1).typField, (*it_1).info, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA220_;
						}
LA225_: ;
					}
LA223_: ;
					i_16 += ((NI)1);
					{
						LA220_:;
					}
					{
						oldNimErrFin220_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3237(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
						*nimErr_ = oldNimErrFin220_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				} LA219: ;
			}
		}
		T239_ = (NI)0;
		T239_ = len__ast_u3175(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		eqcopy___ast_u3240(&loopBody_1, (*n_p1)._kind_6.sons.p->data[(NI)(T239_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		{
			NIM_BOOL T242_;
			NI T244_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
			T242_ = (NIM_BOOL)0;
			T242_ = !(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
			if (!(T242_)) goto LA243_;
			T244_ = (NI)0;
			T244_ = safeLen__ast_u3182(iterCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			T242_ = (((NI)1) < T244_);
LA243_: ;
			if (!T242_) goto LA245_;
			colontmpD__5 = NIM_NIL;
			{
				NIM_BOOL T250_;
				T250_ = (NIM_BOOL)0;
				T250_ = !(((*(*iterCall_1)._kind_6.sons.p->data[((NI)1)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T250_)) goto LA251_;
				colontmpD__5 = skipTypes__ast_u5358((*(*iterCall_1)._kind_6.sons.p->data[((NI)1)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_40);
				if (NIM_UNLIKELY(*nimErr_)) goto LA247_;
				T250_ = !(((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48) || (*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27)));
LA251_: ;
				if (!T250_) goto LA252_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*iterCall_1)._kind_6.sons.p->data[((NI)1)]).typField, (*(*iterCall_1)._kind_6.sons.p->data[((NI)1)]).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA247_;
			}
LA252_: ;
			{
				LA247_:;
			}
			{
				oldNimErrFin247_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				*nimErr_ = oldNimErrFin247_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		}
LA245_: ;
		track__sempass2_u5570(tracked_p0, iterCall_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		track__sempass2_u5570(tracked_p0, loopBody_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
		setLen__pureZosproc_u379((&(*tracked_p0).init), (oldState_3));
		setLen__ast_u3703((&(*tracked_p0).guards.s), (oldFacts_2));
		(*tracked_p0).currentBlock -= ((NI)1);
		{
			LA181_:;
		}
		{
			oldNimErrFin181_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(loopBody_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3237(iterCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin181_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		NI oldFacts_3;
		NI T259_;
		T259_ = (*tracked_p0).guards.s.len;
		oldFacts_3 = T259_;
		{
			NI i_19;
			NI colontmp__10;
			NI i_20;
			i_19 = (NI)0;
			colontmp__10 = (NI)0;
			colontmp__10 = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_20 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_2;
					if (!(i_20 < colontmp__10)) goto LA262;
					x_2 = NIM_NIL;
					i_19 = i_20;
					eqcopy___ast_u3240(&x_2, (*n_p1)._kind_6.sons.p->data[i_19]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
					track__sempass2_u5570(tracked_p0, x_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
					{
						NIM_BOOL T266_;
						T266_ = (NIM_BOOL)0;
						T266_ = ((*(*x_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T266_)) goto LA267_;
						T266_ = (((*(*(*x_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)20)))&63U)))!=0);
LA267_: ;
						if (!T266_) goto LA268_;
						addDiscriminantFact__guards_u1611((&(*tracked_p0).guards), x_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
					}
LA268_: ;
					{
						if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA272_;
						createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*x_2)._kind_6.sons.p->data[((NI)1)]).typField, (*n_p1).info, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
					}
LA272_: ;
					{
						if (!((*x_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA276_;
						{
							if (!((*(*x_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA280_;
							notNilCheck__sempass2_u5906(tracked_p0, (*x_2)._kind_6.sons.p->data[((NI)1)], (*(*(*x_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).typ);
							if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
						}
LA280_: ;
						checkForSink__sempass2_u6674(tracked_p0, (*x_2)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
					}
					goto LA274_;
LA276_: ;
					{
						checkForSink__sempass2_u6674(tracked_p0, x_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
					}
LA274_: ;
					i_20 += ((NI)1);
					{
						LA263_:;
					}
					{
						oldNimErrFin263_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3237(x_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin263_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA262: ;
			}
		}
		setLen__ast_u3703((&(*tracked_p0).guards.s), (oldFacts_3));
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
			if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA287_;
			colontmpD__6 = NIM_NIL;
			{
				NIM_BOOL T292_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
				T292_ = (NIM_BOOL)0;
				T292_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T292_)) goto LA293_;
				colontmpD__6 = skipTypes__ast_u5358((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_45);
				if (NIM_UNLIKELY(*nimErr_)) goto LA289_;
				T292_ = ((*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA293_: ;
				if (!T292_) goto LA294_;
				colontmpD__7 = NIM_NIL;
				colontmpD__7 = elementType__ast_u5310((*n_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA296_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, colontmpD__7, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA296_;
				{
					LA296_:;
				}
				{
					oldNimErrFin296_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3363(colontmpD__7);
					if (NIM_UNLIKELY(*nimErr_)) goto LA289_;
					*nimErr_ = oldNimErrFin296_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA289_;
			}
LA294_: ;
			createTypeBoundOps__sempass2_u2010(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA289_;
			{
				LA289_:;
			}
			{
				oldNimErrFin289_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin289_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA287_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		{
			NI i_21;
			NI colontmp__11;
			NI i_22;
			i_21 = (NI)0;
			colontmp__11 = (NI)0;
			colontmp__11 = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_22 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
					if (!(i_22 < colontmp__11)) goto LA304;
					colontmpD__8 = NIM_NIL;
					i_21 = i_22;
					track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_21]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
					colontmpD__8 = skipColon__ast_u7318((*n_p1)._kind_6.sons.p->data[i_21]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
					notNilCheck__sempass2_u5906(tracked_p0, colontmpD__8, (*(*n_p1)._kind_6.sons.p->data[i_21]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
					{
						if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA308_;
						{
							if (!((*(*n_p1)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA312_;
							createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*(*n_p1)._kind_6.sons.p->data[i_21])._kind_6.sons.p->data[((NI)0)]).typField, (*n_p1).info, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
						}
						goto LA310_;
LA312_: ;
						{
							createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[i_21]).typField, (*n_p1).info, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
						}
LA310_: ;
					}
LA308_: ;
					checkForSink__sempass2_u6674(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_21]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
					i_22 += ((NI)1);
					{
						LA305_:;
					}
					{
						oldNimErrFin305_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3237(colontmpD__8);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin305_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA304: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaList_1;
		tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA bc_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
		pragmaList_1 = NIM_NIL;
		nimZeroMem((void*)(&bc_1), sizeof(tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA));
		colontmpD__9 = NIM_NIL;
		eqcopy___ast_u3240(&pragmaList_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		createBlockContext__sempass2_u6977(tracked_p0, (&bc_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		{
			NI i_23;
			NI colontmp__12;
			NI i_24;
			i_23 = (NI)0;
			colontmp__12 = (NI)0;
			colontmp__12 = len__ast_u3175(pragmaList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
			i_24 = ((NI)0);
			{
				while (1) {
					tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw pragma_1;
					if (!(i_24 < colontmp__12)) goto LA321;
					i_23 = i_24;
					pragma_1 = whichPragma__trees_u218((*pragmaList_1)._kind_6.sons.p->data[i_23]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
					switch (pragma_1) {
					case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)225):
					{
						lockLocations__sempass2_u2062(tracked_p0, (*pragmaList_1)._kind_6.sons.p->data[i_23]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
					}
					break;
					case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)112):
					{
						bc_1.enforcedGcSafety = NIM_TRUE;
					}
					break;
					case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)111):
					{
						bc_1.enforceNoSideEffects = NIM_TRUE;
					}
					break;
					case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9):
					{
						castBlock__sempass2_u7070(tracked_p0, (*(*pragmaList_1)._kind_6.sons.p->data[i_23])._kind_6.sons.p->data[((NI)1)], (&bc_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
					}
					break;
					default:
					{
					}
					break;
					}
					i_24 += ((NI)1);
				} LA321: ;
			}
		}
		applyBlockContext__sempass2_u7033(tracked_p0, (&bc_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		colontmpD__9 = lastSon__ast_u5187(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		track__sempass2_u5570(tracked_p0, colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		unapplyBlockContext__sempass2_u7036(tracked_p0, (&bc_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		{
			LA318_:;
		}
		{
			oldNimErrFin318_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___sempass2_u6991((&bc_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3237(pragmaList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin318_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	{
		{
			NIM_BOOL T332_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			T332_ = (NIM_BOOL)0;
			T332_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T332_)) goto LA333_;
			T332_ = !(((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA333_: ;
			if (!T332_) goto LA334_;
			colontmpD__10 = NIM_NIL;
			colontmpD__10 = getBody__modulegraphs_u17859((*tracked_p0).graph, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA336_;
			trackInnerProc__sempass2_u7089(tracked_p0, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA336_;
			{
				LA336_:;
			}
			{
				oldNimErrFin336_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin336_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA334_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	{
		{
			if (!(*tracked_p0).isTopLevel) goto LA343_;
			collectObjectTree__sempass2_u374((*tracked_p0).graph, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA343_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	{
		{
			NI T348_;
			T348_ = (NI)0;
			T348_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T348_ == ((NI)2))) goto LA349_;
			track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA353_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA353_: ;
		}
LA349_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__11;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__12;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		colontmpD__11 = NIM_NIL;
		colontmpD__12 = NIM_NIL;
		t_1 = NIM_NIL;
		{
			NIM_BOOL T359_;
			NIM_BOOL T360_;
			NIM_BOOL T363_;
			NimStringV2 colontmpD__13;
			NimStringV2 colontmpD__14;
			T359_ = (NIM_BOOL)0;
			T360_ = (NIM_BOOL)0;
			T360_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59));
			if (!(T360_)) goto LA361_;
			colontmpD__11 = skipTypes__ast_u5358((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_45);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			T360_ = ((*colontmpD__11).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29));
LA361_: ;
			T359_ = T360_;
			if (!(T359_)) goto LA362_;
			T363_ = (NIM_BOOL)0;
			T363_ = allowCStringConv__sempass2_u7152((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			T359_ = !(T363_);
LA362_: ;
			if (!T359_) goto LA364_;
			colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
			colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
			colontmpD__13 = dollar___renderer_u2143((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA366_;
			colontmpD__14 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_126, colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) goto LA366_;
			liMessage__msgs_u1223((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)71), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_127), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA366_;
			{
				LA366_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__14);
				eqdestroy___system_u2627(colontmpD__13);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
		}
LA364_: ;
		{
			NIM_BOOL T371_;
			NimStringV2 colontmpD__15;
			T371_ = (NIM_BOOL)0;
			colontmpD__12 = skipTypes__ast_u5358((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_45);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			T371_ = ((*colontmpD__12).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29));
			if (!(T371_)) goto LA372_;
			T371_ = isCharArrayPtr__types_u4221((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
LA372_: ;
			if (!T371_) goto LA373_;
			colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
			colontmpD__15 = typeToString__types_u54((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA375_;
			liMessage__msgs_u1223((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)72), colontmpD__15, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_128), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA375_;
			{
				LA375_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__15);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
		}
LA373_: ;
		t_1 = skipTypes__ast_u5358((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_45);
		if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
		{
			if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14))) goto LA380_;
			{
				NimStringV2 colontmpD__16;
				NimStringV2 colontmpD__17;
				if (!(((*t_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)5)))&63U)))!=0)) goto LA384_;
				colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
				colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
				colontmpD__16 = dollar___renderer_u2143(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA386_;
				colontmpD__17 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_130, colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA386_;
				liMessage__msgs_u1223((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)70), colontmpD__17, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_131), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA386_;
				{
					LA386_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__17);
					eqdestroy___system_u2627(colontmpD__16);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			}
			goto LA382_;
LA384_: ;
			{
				NimStringV2 colontmpD__18;
				NimStringV2 colontmpD__19;
				colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
				colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
				colontmpD__18 = dollar___renderer_u2143(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA390_;
				colontmpD__19 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_133, colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA390_;
				liMessage__msgs_u1223((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)69), colontmpD__19, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_134), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA390_;
				{
					LA390_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__19);
					eqdestroy___system_u2627(colontmpD__18);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			}
LA382_: ;
		}
LA380_: ;
		{
			NI T395_;
			T395_ = (NI)0;
			T395_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			if (!(T395_ == ((NI)2))) goto LA396_;
			track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			{
				if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA400_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
				{
					if (!!(((*(*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28)))) goto LA404_;
					createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
				}
LA404_: ;
			}
LA400_: ;
			{
				if (!(((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0)) goto LA408_;
				checkRange__sempass2_u6659(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], (*n_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			}
LA408_: ;
		}
LA396_: ;
		{
			LA356_:;
		}
		{
			oldNimErrFin356_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3363(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3363(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin356_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)70):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)68):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)69):
	{
		{
			NI T415_;
			T415_ = (NI)0;
			T415_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T415_ == ((NI)1))) goto LA416_;
			track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA420_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				createTypeBoundOps__sempass2_u2010(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA420_: ;
			{
				if (!(((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0)) goto LA424_;
				checkRange__sempass2_u6659(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA424_: ;
		}
LA416_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	{
		{
			NI i_25;
			NI colontmp__13;
			NI i_26;
			i_25 = (NI)0;
			colontmp__13 = (NI)0;
			colontmp__13 = safeLen__ast_u3182(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_26 = ((NI)0);
			{
				while (1) {
					if (!(i_26 < colontmp__13)) goto LA429;
					i_25 = i_26;
					track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_25]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					checkForSink__sempass2_u6674(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_25]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_26 += ((NI)1);
				} LA429: ;
			}
		}
		{
			if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA432_;
			createTypeBoundOps__sempass2_u2010(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA432_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		{
			NIM_BOOL T437_;
			NI T439_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__20;
			T437_ = (NIM_BOOL)0;
			T437_ = (((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0);
			if (!(T437_)) goto LA438_;
			T439_ = (NI)0;
			T439_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T437_ = (T439_ == ((NI)2));
LA438_: ;
			if (!T437_) goto LA440_;
			colontmpD__20 = NIM_NIL;
			{
				NIM_BOOL T445_;
				T445_ = (NIM_BOOL)0;
				T445_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T445_)) goto LA446_;
				colontmpD__20 = skipTypes__ast_u5358((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_40);
				if (NIM_UNLIKELY(*nimErr_)) goto LA442_;
				T445_ = !(((*colontmpD__20).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18)));
LA446_: ;
				if (!T445_) goto LA447_;
				checkBounds__sempass2_u6655(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA442_;
			}
LA447_: ;
			{
				LA442_:;
			}
			{
				oldNimErrFin442_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD__20);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin442_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA440_: ;
		track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*tracked_p0).leftPartOfAsgn -= ((NI)1);
		{
			NI i_27;
			NI colontmp__14;
			NI i_28;
			i_27 = (NI)0;
			colontmp__14 = (NI)0;
			colontmp__14 = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_28 = ((NI)1);
			{
				while (1) {
					if (!(i_28 < colontmp__14)) goto LA453;
					i_27 = i_28;
					track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_27]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_28 += ((NI)1);
				} LA453: ;
			}
		}
		(*tracked_p0).leftPartOfAsgn += ((NI)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)161):
	{
		NimStringV2 colontmpD__21;
		colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
		colontmpD__21 = errorToString__errorhandling_u83((*tracked_p0).config, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA455_;
		liMessage__msgs_u1223((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__21, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_136), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA455_;
		{
			LA455_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__21);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			NI i_29;
			NI colontmp__15;
			NI i_30;
			i_29 = (NI)0;
			colontmp__15 = (NI)0;
			colontmp__15 = safeLen__ast_u3182(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_30 = ((NI)0);
			{
				while (1) {
					if (!(i_30 < colontmp__15)) goto LA461;
					i_29 = i_30;
					track__sempass2_u5570(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_29]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_30 += ((NI)1);
				} LA461: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isClosure__ast_u7412)(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;
}
N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass2_u6622)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_1;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
LA4_: ;
		if (!T3_) goto LA5_;
		fn_1 = NIM_NIL;
		eqcopy___ast_u4561(&fn_1, (*c_p0).owner);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			NIM_BOOL T10_;
			NIM_BOOL T11_;
			NIM_BOOL T12_;
			NI T16_;
			T10_ = (NIM_BOOL)0;
			T11_ = (NIM_BOOL)0;
			T12_ = (NIM_BOOL)0;
			T12_ = !((fn_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T12_)) goto LA13_;
			T12_ = ((*fn_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*fn_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*fn_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*fn_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*fn_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*fn_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*fn_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA13_: ;
			T11_ = T12_;
			if (!(T11_)) goto LA14_;
			T11_ = !(((*fn_1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA14_: ;
			T10_ = T11_;
			if (!(T10_)) goto LA15_;
			T16_ = (NI)0;
			T16_ = len__ast_u3175((*fn_1).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			T10_ = (((NI)7) < T16_);
LA15_: ;
			if (!T10_) goto LA17_;
			eqcopy___ast_u4561(&(*n_p1)._kind_4.sym, (*(*(*fn_1).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA17_: ;
		{
			liMessage__msgs_u1223((*c_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_150, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_151), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4558(fn_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3182(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA25;
					i_1 = i_2;
					patchResult__sempass2_u6622(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA25: ;
			}
		}
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass2_u3482)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, NIM_BOOL onlyWarning_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* cycleCheck_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* u_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym106__1;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	u_1 = NIM_NIL;
	xX60gensym106__1 = NIM_NIL;
	eqcopy___ast_u4561(&u_1, (*s_p0)._kind_1.gcUnsafetyReason);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA colontmpD_;
		tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA colontmpD__2;
		tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msgKind_1;
		T4_ = (NIM_BOOL)0;
		T4_ = !((u_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		xX60gensym106__1 = u_1;
		T6_ = (NIM_BOOL)0;
		T6_ = containsOrIncl__astyaml_u223(cycleCheck_p2, (NI)((NI)((NU64)(((NI) ((*xX60gensym106__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym106__1).itemId.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = !(T6_);
LA5_: ;
		if (!T4_) goto LA7_;
		colontmpD_ = (tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)0;
		colontmpD__2 = (tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)0;
		{
			if (!onlyWarning_p1) goto LA11_;
			colontmpD_ = ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)54);
			msgKind_1 = colontmpD_;
		}
		goto LA9_;
LA11_: ;
		{
			colontmpD__2 = ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17);
			msgKind_1 = colontmpD__2;
		}
LA9_: ;
		switch ((*u_1).kind) {
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			colontmpD__3 = NIM_NIL;
			{
				NimStringV2 colontmpD__4;
				tyArray__Re75IspeoxXy2oCZHwcRrA T21_;
				colontmpD__3 = skipTypes__ast_u5358((*u_1).typ, TM__wkTG4eaV3t1uo3x09apjcwA_45);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				if (!((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25))) goto LA18_;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				T21_[0] = (*(*s_p0).name).s;
				T21_[1] = (*(*u_1).name).s;
				colontmpD__4 = nsuFormatOpenArray(TM__wkTG4eaV3t1uo3x09apjcwA_153, T21_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				liMessage__msgs_u1223(conf_p3, (*s_p0).info, msgKind_1, colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_154), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				{
					LA20_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__4);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			}
			goto LA16_;
LA18_: ;
			{
				NimStringV2 colontmpD__5;
				tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				T26_[0] = (*(*s_p0).name).s;
				T26_[1] = (*(*u_1).name).s;
				colontmpD__5 = nsuFormatOpenArray(TM__wkTG4eaV3t1uo3x09apjcwA_156, T26_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				liMessage__msgs_u1223(conf_p3, (*s_p0).info, msgKind_1, colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_157), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				{
					LA25_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__5);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			}
LA16_: ;
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin15_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) ... ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
		{
			{
				NIM_BOOL T34_;
				NimStringV2 colontmpD__6;
				tyArray__nHXaesL0DJZHyVS07ARPRA T39_;
				T34_ = (NIM_BOOL)0;
				T34_ = ((*u_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
				if (!(T34_)) goto LA35_;
				T34_ = ((IL64(288230376218820608) & (*u_1).flags) == IL64(288230376151711744));
LA35_: ;
				if (!T34_) goto LA36_;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				T39_[0] = (*(*u_1).name).s;
				colontmpD__6 = nsuFormatOpenArray(TM__wkTG4eaV3t1uo3x09apjcwA_159, T39_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				liMessage__msgs_u1223(conf_p3, (*u_1).info, msgKind_1, colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_160), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				{
					LA38_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA32_;
LA36_: ;
			{
				NimStringV2 colontmpD__7;
				tyArray__Re75IspeoxXy2oCZHwcRrA T44_;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				listGcUnsafety__sempass2_u3482(u_1, NIM_TRUE, cycleCheck_p2, conf_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				T44_[0] = (*(*s_p0).name).s;
				T44_[1] = (*(*u_1).name).s;
				colontmpD__7 = nsuFormatOpenArray(TM__wkTG4eaV3t1uo3x09apjcwA_161, T44_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				liMessage__msgs_u1223(conf_p3, (*s_p0).info, msgKind_1, colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_162), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				{
					LA43_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__7);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA32_: ;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21):
		{
			NimStringV2 colontmpD__8;
			tyArray__Re75IspeoxXy2oCZHwcRrA T49_;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			T49_[0] = (*(*s_p0).name).s;
			T49_[1] = (*(*u_1).name).s;
			colontmpD__8 = nsuFormatOpenArray(TM__wkTG4eaV3t1uo3x09apjcwA_164, T49_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			liMessage__msgs_u1223(conf_p3, (*s_p0).info, msgKind_1, colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_165), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			{
				LA48_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__8);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		default:
		{
			NimStringV2 colontmpD__9;
			colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
			colontmpD__9 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_167, (*(*s_p0).name).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			liMessage__msgs_u1223(conf_p3, (*u_1).info, msgKind_1, colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_168), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			{
				LA53_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__9);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		}
	}
LA7_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4558(u_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass2_u3526)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, NIM_BOOL onlyWarning_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA cycleCheck_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&cycleCheck_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initIntSet__pureZcollectionsZintsets_u598((&cycleCheck_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	listGcUnsafety__sempass2_u3482(s_p0, onlyWarning_p1, (&cycleCheck_1), conf_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&cycleCheck_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass2_u3531)(NimStringV2* result_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* cycleCheck_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* context_p4, NI indentLevel_p5) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym119__1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	xX60gensym119__1 = NIM_NIL;
	{
		NIM_BOOL T3_;
		xX60gensym119__1 = s_p1;
		T3_ = (NIM_BOOL)0;
		T3_ = hasKey__sempass2_u3596((*context_p4).sideEffects, (NI)((NI)((NU64)(((NI) ((*xX60gensym119__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym119__1).itemId.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		{
			tySequence__KYLoGmc5aaHsSDjEH1FTxQ colontmp_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym122__1;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA* useLineInfo_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** u_1;
			tySequence__KYLoGmc5aaHsSDjEH1FTxQ* T8_;
			NI i_1;
			NI L_1;
			NI T9_;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			xX60gensym122__1 = NIM_NIL;
			useLineInfo_1 = (tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA*)0;
			u_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
			xX60gensym122__1 = s_p1;
			T8_ = (tySequence__KYLoGmc5aaHsSDjEH1FTxQ*)0;
			T8_ = X5BX5D___sempass2_u3917((&(*context_p4).sideEffects), (NI)((NI)((NU64)(((NI) ((*xX60gensym122__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym122__1).itemId.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			eqcopy___semdata_u3779((&colontmp_), (*T8_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			i_1 = ((NI)0);
			T9_ = colontmp_.len;
			L_1 = T9_;
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym126__1;
					if (!(i_1 < L_1)) goto LA11;
					xX60gensym126__1 = NIM_NIL;
					useLineInfo_1 = (&colontmp_.p->data[i_1].Field0);
					u_1 = &colontmp_.p->data[i_1].Field1;
					{
						NIM_BOOL T15_;
						NIM_BOOL T17_;
						T15_ = (NIM_BOOL)0;
						T15_ = !(((*u_1) == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T15_)) goto LA16_;
						eqcopy___ast_u4561(&xX60gensym126__1, (*u_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						T17_ = (NIM_BOOL)0;
						T17_ = containsOrIncl__astyaml_u223(cycleCheck_p2, (NI)((NI)((NU64)(((NI) ((*xX60gensym126__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym126__1).itemId.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						T15_ = !(T17_);
LA16_: ;
						if (!T15_) goto LA18_;
						switch ((*(*u_1)).kind) {
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9):
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8):
						{
							NimStringV2 colontmpD_;
							NimStringV2 colontmpD__2;
							NimStringV2 colontmpD__3;
							NimStringV2 colontmpD__4;
							NimStringV2 colontmpD__5;
							NimStringV2 colontmpD__6;
							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T22_;
							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T23_;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							colontmpD__2.len = 0; colontmpD__2.p = 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;
							colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
							colontmpD_ = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_175, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							T22_[0] = colontmpD_;
							colontmpD__2 = dollar___msgs_u710(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							T22_[1] = colontmpD__2;
							T22_[2] = (*(*s_p1).name).s;
							colontmpD__3 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_177, (*(*(*u_1)).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							T22_[3] = colontmpD__3;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_173, T22_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							colontmpD__4 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_179, ((NI)(indentLevel_p5 + ((NI)1))));
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							T23_[0] = colontmpD__4;
							colontmpD__5 = dollar___msgs_u710(conf_p3, (*(*u_1)).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							T23_[1] = colontmpD__5;
							T23_[2] = (*(*(*u_1)).name).s;
							colontmpD__6 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_181, (*(*s_p1).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							T23_[3] = colontmpD__6;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_178, T23_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							{
								LA21_:;
							}
							{
								eqdestroy___system_u2627(colontmpD__6);
								eqdestroy___system_u2627(colontmpD__5);
								eqdestroy___system_u2627(colontmpD__4);
								eqdestroy___system_u2627(colontmpD__3);
								eqdestroy___system_u2627(colontmpD__2);
								eqdestroy___system_u2627(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						}
						break;
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) ... ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
						{
							NimStringV2 colontmpD__7;
							NimStringV2 colontmpD__8;
							NimStringV2 colontmpD__9;
							NimStringV2 colontmpD__10;
							NimStringV2 colontmpD__11;
							NimStringV2 colontmpD__12;
							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T28_;
							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T29_;
							colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
							colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
							colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
							colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
							colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
							colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
							colontmpD__7 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_183, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T28_[0] = colontmpD__7;
							colontmpD__8 = dollar___msgs_u710(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T28_[1] = colontmpD__8;
							T28_[2] = (*(*s_p1).name).s;
							colontmpD__9 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_185, (*(*(*u_1)).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T28_[3] = colontmpD__9;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_182, T28_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							colontmpD__10 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_187, ((NI)(indentLevel_p5 + ((NI)1))));
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T29_[0] = colontmpD__10;
							colontmpD__11 = dollar___msgs_u710(conf_p3, (*(*u_1)).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T29_[1] = colontmpD__11;
							T29_[2] = (*(*(*u_1)).name).s;
							colontmpD__12 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_189, (*(*s_p1).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T29_[3] = colontmpD__12;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_186, T29_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							listSideEffects__sempass2_u3531(result_p0, (*u_1), cycleCheck_p2, conf_p3, context_p4, (NI)(indentLevel_p5 + ((NI)2)));
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							{
								LA27_:;
							}
							{
								eqdestroy___system_u2627(colontmpD__12);
								eqdestroy___system_u2627(colontmpD__11);
								eqdestroy___system_u2627(colontmpD__10);
								eqdestroy___system_u2627(colontmpD__9);
								eqdestroy___system_u2627(colontmpD__8);
								eqdestroy___system_u2627(colontmpD__7);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						}
						break;
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21):
						{
							NimStringV2 colontmpD__13;
							NimStringV2 colontmpD__14;
							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T34_;
							colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
							colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
							colontmpD__13 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_191, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							T34_[0] = colontmpD__13;
							colontmpD__14 = dollar___msgs_u710(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							T34_[1] = colontmpD__14;
							T34_[2] = (*(*s_p1).name).s;
							T34_[3] = TM__wkTG4eaV3t1uo3x09apjcwA_193;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_190, T34_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							{
								LA33_:;
							}
							{
								eqdestroy___system_u2627(colontmpD__14);
								eqdestroy___system_u2627(colontmpD__13);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						}
						break;
						default:
						{
							NimStringV2 colontmpD__15;
							NimStringV2 colontmpD__16;
							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T39_;
							colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
							colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
							colontmpD__15 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_195, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
							T39_[0] = colontmpD__15;
							colontmpD__16 = dollar___msgs_u710(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
							T39_[1] = colontmpD__16;
							T39_[2] = (*(*s_p1).name).s;
							T39_[3] = TM__wkTG4eaV3t1uo3x09apjcwA_197;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_194, T39_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
							{
								LA38_:;
							}
							{
								eqdestroy___system_u2627(colontmpD__16);
								eqdestroy___system_u2627(colontmpD__15);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						}
						break;
						}
					}
LA18_: ;
					i_1 += ((NI)1);
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4558(xX60gensym126__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				} LA11: ;
			}
			{
				LA7_:;
			}
			{
				oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___semdata_u3776(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin7_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass2_u4082)(NimStringV2* result_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* context_p3) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA cycleCheck_1;
	tyArray__nHXaesL0DJZHyVS07ARPRA T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&cycleCheck_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initIntSet__pureZcollectionsZintsets_u598((&cycleCheck_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[0] = (*(*s_p1).name).s;
	nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_171, T2_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	listSideEffects__sempass2_u3531(result_p0, s_p1, (&cycleCheck_1), conf_p2, context_p3, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&cycleCheck_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackProc__sempass2_u8129)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2) {
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* inferredEffects_1;
	tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* raisesSpec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tagsSpec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forbidsSpec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* requiresSpec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ensuresSpec_1;
	tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA mutationInfo_1;
	NIM_BOOL emitWarnings_1;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin87_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin129_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	g_1 = NIM_NIL;
	effects_1 = NIM_NIL;
	inferredEffects_1 = NIM_NIL;
	nimZeroMem((void*)(&t_1), sizeof(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA));
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	colontmpD__5 = NIM_NIL;
	p_1 = NIM_NIL;
	raisesSpec_1 = NIM_NIL;
	tagsSpec_1 = NIM_NIL;
	forbidsSpec_1 = NIM_NIL;
	requiresSpec_1 = NIM_NIL;
	ensuresSpec_1 = NIM_NIL;
	nimZeroMem((void*)(&mutationInfo_1), sizeof(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA));
	eqcopy___modulegraphs_u14747(&g_1, (*c_p0).graph);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3240(&effects_1, (*(*(*s_p1).typ).n)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*effects_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152)))) goto LA4_;
		eqdestroy___varpartitions_u235((&mutationInfo_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8004((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14744(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = hasRealBody__sempass2_u8118(s_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T8_)) goto LA9_;
		eqdestroy___varpartitions_u235((&mutationInfo_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8004((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14744(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA9_: ;
	emitWarnings_1 = (((*(*s_p1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)44)))&63U)))!=0);
	{
		NIM_BOOL T13_;
		NI T14_;
		T13_ = (NIM_BOOL)0;
		T14_ = (NI)0;
		T14_ = len__ast_u3175(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T13_ = (T14_ == ((NI)6));
		if (!(T13_)) goto LA15_;
		T13_ = !(emitWarnings_1);
LA15_: ;
		if (!T13_) goto LA16_;
		eqdestroy___varpartitions_u235((&mutationInfo_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8004((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14744(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA16_: ;
	inferredEffects_1 = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*s_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initEffects__sempass2_u7933(g_1, inferredEffects_1, s_p1, c_p0, (&t_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	rawInitEffects__sempass2_u7926(g_1, effects_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T20_;
		NIM_BOOL T21_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* res_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym767__1;
		T20_ = (NIM_BOOL)0;
		colontmpD_ = returnType__ast_u5333((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T21_ = (NIM_BOOL)0;
		T21_ = isEmptyType__ast_u7205(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T20_ = !(T21_);
		if (!(T20_)) goto LA22_;
		T20_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
LA22_: ;
		if (!T20_) goto LA23_;
		res_1 = NIM_NIL;
		xX60gensym767__1 = NIM_NIL;
		eqcopy___ast_u4561(&res_1, (*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		xX60gensym767__1 = res_1;
		X5BX5Deq___sempass2_u2227((&t_1.scopes), (NI)((NI)((NU64)(((NI) ((*xX60gensym767__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym767__1).itemId.item))), t_1.currentBlock);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!(((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14)))&63U)))!=0)) goto LA27_;
			(*res_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14))) & 63);
		}
LA27_: ;
		eqdestroy___ast_u4558(res_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA23_: ;
	track__sempass2_u5570((&t_1), body_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
		if (!!(((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA31_;
		params_1 = NIM_NIL;
		eqcopy___ast_u3240(&params_1, (*(*s_p1).typ).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3175(params_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym773__1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym775__1;
					if (!(i_2 < colontmp_)) goto LA36;
					param_1 = NIM_NIL;
					typ_1 = NIM_NIL;
					colontmpD__6 = NIM_NIL;
					xX60gensym773__1 = NIM_NIL;
					xX60gensym775__1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u4561(&param_1, (*(*params_1)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					eqcopy___ast_u3366(&typ_1, (*param_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					{
						NIM_BOOL T40_;
						NIM_BOOL T42_;
						NIM_BOOL T44_;
						T40_ = (NIM_BOOL)0;
						T40_ = isSinkTypeForParam__types_u4190(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						if (T40_) goto LA41_;
						T42_ = (NIM_BOOL)0;
						T42_ = ((*t_1.config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*t_1.config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*t_1.config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6));
						if (!(T42_)) goto LA43_;
						T44_ = (NIM_BOOL)0;
						colontmpD__6 = skipTypes__ast_u5358(typ_1, TM__wkTG4eaV3t1uo3x09apjcwA_45);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						T44_ = isClosure__ast_u7412(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						if (T44_) goto LA45_;
						eqcopy___ast_u4561(&xX60gensym773__1, param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						T44_ = contains__astalgo_u2848((&t_1.escapingParams), (NI)((NI)((NU64)(((NI) ((*xX60gensym773__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym773__1).itemId.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
LA45_: ;
						T42_ = T44_;
LA43_: ;
						T40_ = T42_;
LA41_: ;
						if (!T40_) goto LA46_;
						createTypeBoundOps__sempass2_u2010((&t_1), typ_1, (*param_1).info, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					}
LA46_: ;
					{
						NIM_BOOL T50_;
						NIM_BOOL T51_;
						NIM_BOOL T53_;
						T50_ = (NIM_BOOL)0;
						T51_ = (NIM_BOOL)0;
						T51_ = isOutParam__ast_u7626(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						if (!(T51_)) goto LA52_;
						eqcopy___ast_u4561(&xX60gensym775__1, param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						T53_ = (NIM_BOOL)0;
						T53_ = contains__sigmatch_u5088(((t_1.init).p) ? (t_1.init.p->data) : NIM_NIL, t_1.init.len, (NI)((NI)((NU64)(((NI) ((*xX60gensym775__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym775__1).itemId.item))));
						T51_ = !(T53_);
LA52_: ;
						T50_ = T51_;
						if (!(T50_)) goto LA54_;
						T50_ = ((*s_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA54_: ;
						if (!T50_) goto LA55_;
						liMessage__msgs_u1223((*g_1).config, (*param_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), (*(*param_1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_137), NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					}
LA55_: ;
					i_2 += ((NI)1);
					{
						LA37_:;
					}
					{
						oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4558(xX60gensym775__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						eqdestroy___ast_u4558(xX60gensym773__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						eqdestroy___ast_u3363(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						eqdestroy___ast_u3363(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						eqdestroy___ast_u4558(param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						*nimErr_ = oldNimErrFin37_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				} LA36: ;
			}
		}
		{
			LA33_:;
		}
		{
			oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3237(params_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin33_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA31_: ;
	{
		NIM_BOOL T63_;
		NIM_BOOL T64_;
		NIM_BOOL T65_;
		NIM_BOOL T66_;
		NIM_BOOL T67_;
		NIM_BOOL T69_;
		NIM_BOOL T70_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* res_2;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* xX60gensym783__1;
		T63_ = (NIM_BOOL)0;
		T64_ = (NIM_BOOL)0;
		T65_ = (NIM_BOOL)0;
		T66_ = (NIM_BOOL)0;
		colontmpD__2 = returnType__ast_u5333((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T67_ = (NIM_BOOL)0;
		T67_ = isEmptyType__ast_u7205(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T66_ = !(T67_);
		if (!(T66_)) goto LA68_;
		T69_ = (NIM_BOOL)0;
		T70_ = (NIM_BOOL)0;
		colontmpD__3 = returnType__ast_u5333((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T70_ = requiresInit__typeallowed_u557(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T70_) goto LA71_;
		colontmpD__4 = returnType__ast_u5333((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__5 = skipTypes__ast_u5358(colontmpD__4, TM__wkTG4eaV3t1uo3x09apjcwA_45);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T70_ = ((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA71_: ;
		T69_ = T70_;
		if (T69_) goto LA72_;
		T69_ = (((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)18)))&31U)))!=0);
LA72_: ;
		T66_ = T69_;
LA68_: ;
		T65_ = T66_;
		if (!(T65_)) goto LA73_;
		T65_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
LA73_: ;
		T64_ = T65_;
		if (!(T64_)) goto LA74_;
		T64_ = ((*s_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA74_: ;
		T63_ = T64_;
		if (!(T63_)) goto LA75_;
		T63_ = !((((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14)))&63U)))!=0));
LA75_: ;
		if (!T63_) goto LA76_;
		res_2 = NIM_NIL;
		xX60gensym783__1 = NIM_NIL;
		res_2 = (*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym;
		{
			NIM_BOOL T81_;
			NIM_BOOL T82_;
			tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg T84_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
			T81_ = (NIM_BOOL)0;
			eqcopy___ast_u4561(&xX60gensym783__1, res_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
			T82_ = (NIM_BOOL)0;
			T82_ = contains__sigmatch_u5088(((t_1.init).p) ? (t_1.init.p->data) : NIM_NIL, t_1.init.len, (NI)((NI)((NU64)(((NI) ((*xX60gensym783__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym783__1).itemId.item))));
			T81_ = !(T82_);
			if (!(T81_)) goto LA83_;
			T84_ = (tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0;
			T84_ = breaksBlock__sempass2_u6276(body_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
			T81_ = !((T84_ == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)2)));
LA83_: ;
			if (!T81_) goto LA85_;
			colontmpD__7 = NIM_NIL;
			{
				NimStringV2 colontmpD__8;
				colontmpD__7 = returnType__ast_u5333((*s_p1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA87_;
				if (!(((*colontmpD__7).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18)))&63U)))!=0)) goto LA90_;
				colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
				colontmpD__8 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_139, TM__wkTG4eaV3t1uo3x09apjcwA_141);
				if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
				liMessage__msgs_u1223((*g_1).config, (*body_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_142), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
				{
					LA92_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__8);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA87_;
			}
			goto LA88_;
LA90_: ;
			{
				liMessage__msgs_u1223((*g_1).config, (*body_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), TM__wkTG4eaV3t1uo3x09apjcwA_143, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_144), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA87_;
			}
LA88_: ;
			{
				LA87_:;
			}
			{
				oldNimErrFin87_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
				*nimErr_ = oldNimErrFin87_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
		}
LA85_: ;
		{
			LA78_:;
		}
		{
			oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4558(xX60gensym783__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin78_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA76_: ;
	eqcopy___ast_u3240(&p_1, (*(*s_p1).ast)._kind_6.sons.p->data[((NI)4)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	raisesSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)175));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL useWarning_1;
		if (!!((raisesSpec_1 == 0))) goto LA102_;
		useWarning_1 = eqStrings((*(*s_p1).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_145);
		checkRaisesSpec__sempass2_u7596(g_1, useWarning_1, raisesSpec_1, t_1.exc, TM__wkTG4eaV3t1uo3x09apjcwA_146, NIM_TRUE, subtypeRelation__sempass2_u7586, (*(*s_p1).ast)._kind_6.sons.p->data[((NI)0)], NIM_FALSE, t_1.unknownRaises);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)0)], raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3234(&raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA100_;
LA102_: ;
	{
		eqcopy___ast_u3240(&(*effects_1)._kind_6.sons.p->data[((NI)0)], t_1.exc);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA100_: ;
	tagsSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)180));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__9bffTLF0HkxjFCzZL8og4GA T109_;
		if (!!((tagsSpec_1 == 0))) goto LA107_;
		T109_.len = 0; T109_.p = NIM_NIL;
		T109_.len = 0; T109_.p = (tySequence__9bffTLF0HkxjFCzZL8og4GA_Content*) newSeqPayload(0, sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA), NIM_ALIGNOF(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		checkRaisesSpec__sempass2_u7596(g_1, NIM_FALSE, tagsSpec_1, t_1.tags, TM__wkTG4eaV3t1uo3x09apjcwA_147, NIM_FALSE, subtypeRelation__sempass2_u7586, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), NIM_FALSE, T109_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)3)], tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3234(&tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA105_;
LA107_: ;
	{
		eqcopy___ast_u3240(&(*effects_1)._kind_6.sons.p->data[((NI)3)], t_1.tags);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA105_: ;
	forbidsSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)181));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__9bffTLF0HkxjFCzZL8og4GA T115_;
		if (!!((forbidsSpec_1 == 0))) goto LA113_;
		T115_.len = 0; T115_.p = NIM_NIL;
		T115_.len = 0; T115_.p = (tySequence__9bffTLF0HkxjFCzZL8og4GA_Content*) newSeqPayload(0, sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA), NIM_ALIGNOF(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		checkRaisesSpec__sempass2_u7596(g_1, NIM_FALSE, forbidsSpec_1, t_1.tags, TM__wkTG4eaV3t1uo3x09apjcwA_148, NIM_FALSE, subtypeRelation__sempass2_u7586, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), NIM_TRUE, T115_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)5)], forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3234(&forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA111_;
LA113_: ;
	{
		eqcopy___ast_u3240(&(*effects_1)._kind_6.sons.p->data[((NI)5)], t_1.forbids);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA111_: ;
	requiresSpec_1 = propSpec__trees_u329(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)182));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((requiresSpec_1 == 0))) goto LA119_;
		eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)1)], requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3234(&requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA119_: ;
	ensuresSpec_1 = propSpec__trees_u329(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)183));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((ensuresSpec_1 == 0))) goto LA123_;
		patchResult__sempass2_u6622((&t_1), ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3246(&(*effects_1)._kind_6.sons.p->data[((NI)2)], ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3234(&ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA123_: ;
	nimZeroMem((void*)(&mutationInfo_1), sizeof(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA));
	{
		tyObject_Partitions__b3asvfSDaO0FD04RolbF7A partitions_1;
		if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)12)))&31U)))!=0)) goto LA127_;
		nimZeroMem((void*)(&partitions_1), sizeof(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A));
		computeGraphPartitions__varpartitions_u2113(s_p1, body_p2, g_1, 2, (&partitions_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
		checkBorrowedLocations__varpartitions_u2564((&partitions_1), body_p2, (*g_1).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
		{
			LA129_:;
		}
		{
			oldNimErrFin129_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___varpartitions_u2169((&partitions_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin129_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA127_: ;
	{
		NIM_BOOL T134_;
		T134_ = (NIM_BOOL)0;
		T134_ = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)26)))&63U)))!=0);
		if (!(T134_)) goto LA135_;
		T134_ = t_1.gcUnsafe;
LA135_: ;
		if (!T134_) goto LA136_;
		{
			NIM_BOOL T140_;
			T140_ = (NIM_BOOL)0;
			T140_ = (((*(*g_1).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)24)))&63U)))!=0);
			if (!(T140_)) goto LA141_;
			T140_ = (((*(*g_1).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)26)))&63U)))!=0);
LA141_: ;
			if (!T140_) goto LA142_;
			listGcUnsafety__sempass2_u3526(s_p1, NIM_FALSE, (*g_1).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA138_;
LA142_: ;
		{
			listGcUnsafety__sempass2_u3526(s_p1, NIM_TRUE, (*g_1).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA138_: ;
	}
LA136_: ;
	{
		NIM_BOOL T147_;
		T147_ = (NIM_BOOL)0;
		T147_ = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)12)))&63U)))!=0);
		if (!(T147_)) goto LA148_;
		T147_ = t_1.hasSideEffect;
LA148_: ;
		if (!T147_) goto LA149_;
		{
			NimStringV2 msg_1;
			if (!((*c_p0).compilesContextId == ((NI)0))) goto LA153_;
			msg_1.len = 0; msg_1.p = NIM_NIL;
			msg_1 = TM__wkTG4eaV3t1uo3x09apjcwA_169;
			listSideEffects__sempass2_u4082((&msg_1), s_p1, (*g_1).config, t_1.c);
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			liMessage__msgs_u1223((*g_1).config, (*s_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_198), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
			{
				LA155_:;
			}
			{
				eqdestroy___system_u2627(msg_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA151_;
LA153_: ;
		{
			liMessage__msgs_u1223((*g_1).config, (*s_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_199, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__wkTG4eaV3t1uo3x09apjcwA_200), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA151_: ;
	}
LA149_: ;
	{
		if (!!(t_1.gcUnsafe)) goto LA161_;
		(*(*s_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)7))) & 63);
	}
LA161_: ;
	{
		NIM_BOOL T165_;
		T165_ = (NIM_BOOL)0;
		T165_ = !(t_1.hasSideEffect);
		if (!(T165_)) goto LA166_;
		T165_ = !((((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)13)))&63U)))!=0));
LA166_: ;
		if (!T165_) goto LA167_;
		(*(*s_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1))) & 63);
	}
LA167_: ;
	{
		NIM_BOOL T171_;
		T171_ = (NIM_BOOL)0;
		T171_ = (((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)13)))&31U)))!=0);
		if (!(T171_)) goto LA172_;
		T171_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
LA172_: ;
		if (!T171_) goto LA173_;
		checkNil__nilcheck_u11445(s_p1, body_p2, (*g_1).config, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA173_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___varpartitions_u235((&mutationInfo_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3363(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8004((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3237(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14744(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackStmt__sempass2_u8461)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, NIM_BOOL isTopLevel_p3) {
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p2).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	{
		{
			if (!isTopLevel_p3) goto LA5_;
			collectObjectTree__sempass2_u374((*c_p0).graph, n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	break;
	default:
	{
		tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_1;
		tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA t_1;
		g_1 = NIM_NIL;
		effects_1 = NIM_NIL;
		nimZeroMem((void*)(&t_1), sizeof(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA));
		eqcopy___modulegraphs_u14747(&g_1, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		effects_1 = newNodeI__ast_u4076(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*n_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		initEffects__sempass2_u7933(g_1, effects_1, module_p1, c_p0, (&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		t_1.isTopLevel = isTopLevel_p3;
		track__sempass2_u5570((&t_1), n_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___sempass2_u8004((&t_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3237(effects_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___modulegraphs_u14744(g_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
