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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_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__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ;
typedef struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA tySequence__ZCZaCk14bTmSb6LMW9aWPVA;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content;
typedef struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA;
typedef struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA tySequence__ZeWVlH6DqG79b1pTDhrrUYA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content;
typedef struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content;
typedef struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA tyObject_Table__AC9bec2JdoOuC3xQePGWgmA;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content tySequence__kxu4GK0onha2t9bo86mdVAg_Content;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content;
typedef struct RootObj RootObj;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg tySequence__fz0REU1l0nYmKHXgMLRrIg;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content tySequence__fz0REU1l0nYmKHXgMLRrIg_Content;
typedef struct tyObject_Table__w2vCG1OPnHmNolvQVT168g tyObject_Table__w2vCG1OPnHmNolvQVT168g;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ tySequence__Ip9aV1IKO2gVdheNOM31DCQ;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg tySequence__kHjIdgrpmuSn9cUIIKpSiDg;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content;
typedef struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA tySequence__Wd0Vle6gxRCPPoSlNEvfTA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content;
typedef struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag tyObject_Table__fZyCWkMwhdvr3pauCNDaag;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw tySequence__T7nNEWoEbKBa0G5Htr45Xw;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content;
typedef struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ tyObject_Table__5vmBY49areSIlgIs4A1LLKQ;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA tySequence__q9cHvMDDxYU1hSCdG4YwIhA;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA tySequence__olFOFaYzOJN9aV5BWqK4b9bA;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content;
typedef struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA tySequence__vJcM7B74R2U5db9cxyXT9coA;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content tySequence__vJcM7B74R2U5db9cxyXT9coA_Content;
typedef struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content;
typedef struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg tySequence__R9c39btP6BwOBBPnbaNUtMQg;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content;
typedef struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content;
typedef struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw tySequence__3nALyQgqjnfK2Qjc6ny2Uw;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg tySequence__WbW5Q8QVks0bQpUJSGmuVg;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content;
typedef struct tyObject_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_Int128__Moyhy3H7f18q9axhPc7Yt9bg tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg;
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__uaQEKxLZNO5fpFluyxnhTg tyObject_Table__uaQEKxLZNO5fpFluyxnhTg;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content;
typedef struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ tySequence__vb3AGHvMJTxdOSSwMmBmTQ;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content;
typedef struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q tyTuple__F1mMODXmKFMNQ5rLCtcv0Q;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA tySequence__apM9bRAO19cVjhWlxqd1PGeA;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content;
typedef struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw;
typedef struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA;
typedef struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ;
typedef struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig;
typedef struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw tySequence__9bW2eTK9b7vXE70Sx5VPH1mw;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content;
typedef struct tyTuple__bnJwOH0eJlAwCAMbr1inhw tyTuple__bnJwOH0eJlAwCAMbr1inhw;
typedef struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw tyTuple__YG7h1OUHzgfgTeH9cl0U0dw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ tyTuple__tG5yYi8DnD7bl00aT9cgctQ;
typedef struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content;
typedef struct tySequence__yUWoZehF86MIc40opFgacw tySequence__yUWoZehF86MIc40opFgacw;
typedef struct tySequence__yUWoZehF86MIc40opFgacw_Content tySequence__yUWoZehF86MIc40opFgacw_Content;
typedef struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw;
typedef struct tyTuple__gnRkA1L4XiR4uByriyHW8Q tyTuple__gnRkA1L4XiR4uByriyHW8Q;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA tySequence__nSO1ltijM4vhc0UrrXKEqA;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content tySequence__nSO1ltijM4vhc0UrrXKEqA_Content;
typedef struct tyTuple__CvjVmQeIfivirDme2r5MRw tyTuple__CvjVmQeIfivirDme2r5MRw;
typedef struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g tyTuple__2QDyOgS51ZMPO0W1pWCY6g;
typedef struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ tyTuple__UbCNQED4XJUgxOgPHJUcAQ;
typedef struct tyTuple__zExIg9bDTcVf2FHROUpzoow tyTuple__zExIg9bDTcVf2FHROUpzoow;
typedef struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA tyTuple__XrHNJHOzS3O7uwF9bvCySiA;
typedef struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ tyTuple__EdLY4EJQ37VFgbAn5g5rXQ;
typedef struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA tyTuple__OtlgAx3kBps9cOSMNDZSzBA;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ;
typedef struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw;
typedef struct tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q;
typedef struct tyTuple__O3g9a8zTXSX36ljWponcAoA tyTuple__O3g9a8zTXSX36ljWponcAoA;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw;
typedef struct tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg;
typedef struct tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA;
typedef struct tySequence__7OXYQ6bHRkhJpRaiS7kiwQ tySequence__7OXYQ6bHRkhJpRaiS7kiwQ;
typedef struct tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_Content tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_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 tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg;
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__PBlYIBD9bHKBu5FQE5lPn7A {
	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__k7D0lwfLmYccbQxUd49bbcQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p;
};
struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw {
	tySequence__fdmz6VkIf1ewwrssKYqRFg data;
	NI counter;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p;
};
struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA {
	tySequence__kxu4GK0onha2t9bo86mdVAg data;
	NI counter;
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
struct tySequence__fz0REU1l0nYmKHXgMLRrIg {
  NI len; tySequence__fz0REU1l0nYmKHXgMLRrIg_Content* p;
};
struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ {
	tySequence__fz0REU1l0nYmKHXgMLRrIg data;
	NI counter;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ {
  NI len; tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content* p;
};
struct tyObject_Table__w2vCG1OPnHmNolvQVT168g {
	tySequence__Ip9aV1IKO2gVdheNOM31DCQ data;
	NI counter;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg {
  NI len; tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content* p;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA {
  NI len; tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content* p;
};
struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA {
	tySequence__Wd0Vle6gxRCPPoSlNEvfTA data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw {
  NI len; tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content* p;
};
struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag {
	tySequence__T7nNEWoEbKBa0G5Htr45Xw data;
	NI counter;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA {
  NI len; tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content* p;
};
struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ {
	tySequence__q9cHvMDDxYU1hSCdG4YwIhA data;
	NI counter;
};
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA {
  NI len; tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content* p;
};
typedef tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tyArray__EOkbZZXacNOZHC8p7xc7hw[65];
struct tySequence__vJcM7B74R2U5db9cxyXT9coA {
  NI len; tySequence__vJcM7B74R2U5db9cxyXT9coA_Content* p;
};
struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw {
	tySequence__vJcM7B74R2U5db9cxyXT9coA data;
	NI counter;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg {
  NI len; tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content* p;
};
struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg {
	tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg data;
	NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, tyProc__QieBhPPkGvcmpFg89a4ftcA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__F2ahyGAjs3aNLJYEXzu07g) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg {
  NI len; tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content* p;
};
struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ {
	tySequence__R9c39btP6BwOBBPnbaNUtMQg data;
	NI counter;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p;
};
struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA data;
	NI counter;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw {
  NI len; tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content* p;
};
struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ {
	tySequence__3nALyQgqjnfK2Qjc6ny2Uw data;
	NI counter;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg {
  NI len; tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content* p;
};
typedef NU8 tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg;
typedef N_NIMCALL_PTR(void, tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
typedef N_NIMCALL_PTR(void, tyProc__kj3TYePLaHBuXxhRznQQNQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__D3Q9bYoPIpHZVLfEIxpBssA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actual_p2);
struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opNot;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opContains;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLe;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLt;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAnd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opOr;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opIsNil;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opEq;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAdd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opSub;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opMul;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opDiv;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw {
	tySequence__TfHJycarvNts8E4mVG4Mfg ifaces;
	tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg packed_0;
	tySequence__dtr79aXjHrgHuH79ac55I2aw encoders;
	tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg typeInstCache;
	tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w procInstCache;
	tyArray__HTPiakF26bUQGH9bgtmrtkA attachedOps;
	tyObject_Table__tEqt8LkShErhjQ9acvGyE7g methodsPerGenericType;
	tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw memberProcsPerType;
	tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw initializersPerType;
	tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA enumToStringProcs;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A emittedTypeInfo;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ startupPackedConfig;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA deps;
	tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw importDeps;
	NIM_BOOL suggestMode;
	NIM_BOOL invalidTransitiveClosure;
	NIM_BOOL interactive;
	NIM_BOOL withinSystem;
	tyObject_Table__AC9bec2JdoOuC3xQePGWgmA inclToMod;
	tySequence__48JTohSgTy339bRxHzUD8KA importStack;
	RootObj* backend;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	RootObj* vm;
	RootObj* repl;
	tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* usageSym;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA owners;
	tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ suggestSymbols;
	tyObject_Table__w2vCG1OPnHmNolvQVT168g suggestErrors;
	tySequence__kHjIdgrpmuSn9cUIIKpSiDg methods;
	tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA bucketTable;
	tyObject_Table__fZyCWkMwhdvr3pauCNDaag objectTree;
	tyObject_Table__5vmBY49areSIlgIs4A1LLKQ methodsPerType;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA dispatchers;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* systemModule;
	tyArray__EOkbZZXacNOZHC8p7xc7hw sysTypes;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg compilerprocs;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg exposed;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageTypes;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* emptyNode;
	tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw canonTypes;
	tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg symBodyHashes;
	tyProc__QieBhPPkGvcmpFg89a4ftcA importModuleCallback;
	tyProc__F2ahyGAjs3aNLJYEXzu07g includeFileCallback;
	tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ cacheSeqs;
	tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw cacheCounters;
	tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ cacheTables;
	tySequence__WbW5Q8QVks0bQpUJSGmuVg passes;
	tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg pipelinePass;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinition;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinitionResolveForward;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onUsage;
	tySequence__9ahcSjIErJohSBBFLwuF56Q globalDestructors;
	tyProc__kj3TYePLaHBuXxhRznQQNQ strongSemCheck;
	tyProc__D3Q9bYoPIpHZVLfEIxpBssA compatibleProps;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
	tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ operators;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cachedFiles;
	tySequence__9ahcSjIErJohSBBFLwuF56Q procGlobals;
};
typedef 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__pK4u9cQ1bJzH46rrmNu9bPMQ[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;
	NIM_BOOL isArrayIndexing;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* currentExceptType;
	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__uJvLVbod8mnHGzJkQj89bWg[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__uJvLVbod8mnHGzJkQj89bWg 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 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 NU tyArray__yYbpDJlxVAahcZb4EP3s9cA[16];
struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* next;
	NI key;
	tyArray__yYbpDJlxVAahcZb4EP3s9cA bits;
};
typedef NU8 tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw;
typedef NU8 tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw;
struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA {
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw targetCPU;
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw hostCPU;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw targetOS;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA {
  NI len; tySequence__hTEiKNj3evQAjIXUI21elA_Content* p;
};
struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw errorOutputs;
	tySequence__E0kio2ZnplNTuln9bsnljSA msgContext;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastError;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A filenameToIndexTbl;
	tySequence__hTEiKNj3evQAjIXUI21elA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ;
typedef NU8 tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw modifiedyNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw cmdlineNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw foreignPackageNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
struct tyTuple__kIcKc1aSJCixG4QCidyBAg {
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ Field0;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw 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__4CaO62Zp2vRXWqMPzLEOAw;
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__YgExxhfgKcesA5EOUj1MOA[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;
};
typedef NU32 tyArray__PPSU5X9aizf5OJq0lL4Og7A[4];
struct tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg {
	tyArray__PPSU5X9aizf5OJq0lL4Og7A udata;
};
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__Seu7uK9aaOSN0BK3EAjjSHw[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__uaQEKxLZNO5fpFluyxnhTg {
	tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data;
	NI counter;
};
struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ {
	NI32 thisModule;
	NI32 lastFile;
	NU32 lastLit;
	tyObject_Table__uaQEKxLZNO5fpFluyxnhTg filenames;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg pendingTypes;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA pendingSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA typeMarker;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA symMarker;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
struct tySequence__dtr79aXjHrgHuH79ac55I2aw_Content { NI cap; tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ data[SEQ_DECL_SIZE]; };
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ {
  NI len; tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content* p;
};
struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__vb3AGHvMJTxdOSSwMmBmTQ Field2;
};
struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content { NI cap; tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q data[SEQ_DECL_SIZE]; };
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA {
  NI len; tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content* p;
};
struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__apM9bRAO19cVjhWlxqd1PGeA Field2;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content { NI cap; tyTuple__F1mMODXmKFMNQ5rLCtcv0Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig {
	NU32 module;
	NI32 item;
};
struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ {
	NI module;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig packed_0;
};
struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
};
struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field2;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content { NI cap; tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw data[SEQ_DECL_SIZE]; };
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw {
  NI len; tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content* p;
};
struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__9bW2eTK9b7vXE70Sx5VPH1mw Field2;
};
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content { NI cap; tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ data[SEQ_DECL_SIZE]; };
struct tyTuple__bnJwOH0eJlAwCAMbr1inhw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field2;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content { NI cap; tyTuple__bnJwOH0eJlAwCAMbr1inhw data[SEQ_DECL_SIZE]; };
struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content { NI cap; tyTuple__YG7h1OUHzgfgTeH9cl0U0dw data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content { NI cap; tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
	NI Field0;
	NI32 Field1;
	tySequence__48JTohSgTy339bRxHzUD8KA Field2;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE]; };
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
	NI Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; };
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE]; };
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg {
  NI len; tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content* p;
};
struct tySequence__yUWoZehF86MIc40opFgacw {
  NI len; tySequence__yUWoZehF86MIc40opFgacw_Content* p;
};
struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA s;
	NI len;
};
struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ {
	tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg lineInfo;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA sym;
	tySequence__yUWoZehF86MIc40opFgacw caughtExceptions;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw caughtExceptionsSet;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isDecl;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isGenericInstance;
	NI32 fileIndex;
	NIM_BOOL trackCaughtExceptions;
	NIM_BOOL isSorted;
};
struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ {
	NI Field0;
	NI32 Field1;
	tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ Field2;
};
struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content { NI cap; tyTuple__tG5yYi8DnD7bl00aT9cgctQ data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA {
  NI len; tySequence__nSO1ltijM4vhc0UrrXKEqA_Content* p;
};
struct tyTuple__gnRkA1L4XiR4uByriyHW8Q {
	NI Field0;
	NI32 Field1;
	tySequence__nSO1ltijM4vhc0UrrXKEqA Field2;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content { NI cap; tyTuple__gnRkA1L4XiR4uByriyHW8Q data[SEQ_DECL_SIZE]; };
struct tyTuple__CvjVmQeIfivirDme2r5MRw {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field0;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field1;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content { NI cap; tyTuple__CvjVmQeIfivirDme2r5MRw data[SEQ_DECL_SIZE]; };
struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field0;
	NI Field1;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content { NI cap; tyTuple__2QDyOgS51ZMPO0W1pWCY6g data[SEQ_DECL_SIZE]; };
struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__juxPMVNF1FoR2ltzeQu8NQ Field2;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content { NI cap; tyTuple__UbCNQED4XJUgxOgPHJUcAQ data[SEQ_DECL_SIZE]; };
struct tyTuple__zExIg9bDTcVf2FHROUpzoow {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA Field2;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content { NI cap; tyTuple__zExIg9bDTcVf2FHROUpzoow data[SEQ_DECL_SIZE]; };
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content { NI cap; tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA data[SEQ_DECL_SIZE]; };
typedef NU8 tyArray__dnD8kjh6rJ1Yy5jHvid0Ow[16];
struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA {
	NI Field0;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content { NI cap; tyTuple__XrHNJHOzS3O7uwF9bvCySiA data[SEQ_DECL_SIZE]; };
struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ {
	NI Field0;
	NI Field1;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field2;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content { NI cap; tyTuple__EdLY4EJQ37VFgbAn5g5rXQ data[SEQ_DECL_SIZE]; };
struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA {
	NI Field0;
	NimStringV2 Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content { NI cap; tyTuple__OtlgAx3kBps9cOSMNDZSzBA data[SEQ_DECL_SIZE]; };
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
	NI Field0;
	NimStringV2 Field1;
	NI64 Field2;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE]; };
struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw {
	tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q* root;
	NI entries;
};
struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ {
	NI Field0;
	NimStringV2 Field1;
	tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw Field2;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content { NI cap; tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ data[SEQ_DECL_SIZE]; };
typedef N_NIMCALL_PTR(tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ*, tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__74nHWc2UIRu3iSR9akqDDBg) (tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* topLevelStmt_p1);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__S9bLWKf8jgjzoiotAmEyFSw) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
struct tyTuple__O3g9a8zTXSX36ljWponcAoA {
	tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ Field0;
	tyProc__74nHWc2UIRu3iSR9akqDDBg Field1;
	tyProc__S9bLWKf8jgjzoiotAmEyFSw Field2;
	NIM_BOOL Field3;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content { NI cap; tyTuple__O3g9a8zTXSX36ljWponcAoA data[SEQ_DECL_SIZE]; };
struct 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__7OXYQ6bHRkhJpRaiS7kiwQ {
  NI len; tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_Content* p;
};
struct tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA {
	NI counter;
	tySequence__7OXYQ6bHRkhJpRaiS7kiwQ data;
};
struct tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A {
	tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA 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]; };
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 tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* val;
};
struct tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_Content { NI cap; tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg 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_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
static N_INLINE(NI, len__ast_u3190)(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_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(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_u1598)(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_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__ast_u4100)(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_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, 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_u7820)(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__system_u2172)(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_u3197)(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_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
N_LIB_PRIVATE N_NIMCALL(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_u2846)(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_u7810)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* spec_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* real_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(NI, safeInheritanceDiff__types_u3496)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, excType__sempass2_u5497)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getEbase__sempass2_u5493)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, sysTypeFromName__magicsys_u50)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 name_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(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_u14756)(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_u8228)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u100)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA 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_u3128)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u66)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3498)(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___modulegraphs_u13532)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1751)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___cgendata_u1265)(tySequence__bdNIx7Bah2llfuqeoTJEWQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u3218)(tySequence__9bffTLF0HkxjFCzZL8og4GA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3288)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u3481)(tySequence__E8pi9b5QNahsURYzXMjh3qw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u474)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3469)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3270)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u14753)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasRealBody__sempass2_u8350)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, initEffects__sempass2_u8157)(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_u8150)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* effects_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3258)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, eqdup___ast_u4580)(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_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw*, eqdup___modulegraphs_u14759)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*, eqdup___options_u2141)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*, eqdup___semdata_u4222)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* src_p0, NIM_BOOL cyclic_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3705)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7234)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sempass2_u2301)(tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw* t_p0, NI key_p1, NI val_p2);
N_LIB_PRIVATE N_NIMCALL(void, track__sempass2_u5660)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, useVar__sempass2_u5344)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocalSym__sempass2_u2054)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
static N_INLINE(NIM_BOOL, isOutParam__ast_u7655)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u1538)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI y_p1);
static N_INLINE(NIM_BOOL, contains__sigmatch_u5284)(NI* a_p0, NI a_p0Len_0, NI item_p1);
static N_INLINE(NI, find__sigmatch_u5289)(NI* a_p0, NI a_p0Len_0, NI item_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, requiresInit__typeallowed_u563)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, useVarNoInitCheck__sempass2_u4170)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(void, guardGlobal__sempass2_u2140)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard_p2);
static N_INLINE(NIM_BOOL, isGCedMem__ast_u6621)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass2_u3539)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* reason_p1);
N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass2_u4206)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* reason_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA useLoc_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u5305)(tySequence__KYLoGmc5aaHsSDjEH1FTxQ* x_p0, tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ y_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__KYLoGmc5aaHsSDjEH1FTxQ*, mgetOrPut__sempass2_u4285)(tyObject_Table__g77QNejuRRKraNk8K2YkoA* t_p0, NI key_p1, tySequence__KYLoGmc5aaHsSDjEH1FTxQ val_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, eqdup___lineinfos_u2037)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA src_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_u1812)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1, tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass2_u5523)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefectException__types_u3518)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, throws__sempass2_u5476)(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_u6891)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__sempass2_u2029)(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*, newNode__ast_u4069)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, createRaise__sempass2_u5509)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3387)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass2_u6921)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getConstExpr__semfold_u68)(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_u6225)(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_u4205)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options_p5);
static N_INLINE(NIM_BOOL, hasWarn__options_u617)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw note_p1);
N_LIB_PRIVATE N_NIMCALL(void, warnAboutGcUnsafe__sempass2_u3536)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass2_u3546)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* reason_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u4583)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, propagateEffects__sempass2_u5937)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u5950)(tySequence__9bffTLF0HkxjFCzZL8og4GA* x_p0, tyTuple__09aD69az7aYn14Gt61AHvLIA y_p1);
N_LIB_PRIVATE N_NIMCALL(void, mergeRaises__sempass2_u5557)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(void, mergeTags__sempass2_u5565)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(void, addTag__sempass2_u5537)(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_u5516)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NIM_BOOL, isNoEffectList__sempass2_u6113)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isForwardedProc__sempass2_u5903)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIndirectCall__sempass2_u5860)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, assumeTheWorst__sempass2_u6082)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* op_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass2_u5926)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, trackOperandForIndirectCall__sempass2_u6146)(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_u3715)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, isTrivial__sempass2_u6135)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caller_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass2_u6086)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NI, signatureLen__ast_u5610)(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_u2214)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2166)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass2_u6012)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_p2);
N_LIB_PRIVATE N_NIMCALL(void, procVarCheck__sempass2_u5992)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypesOrNil__ast_u6606)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode__ast_u7008)(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_u3518)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenDeref__sempass2_u3316)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass2_u3323)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL volatileCheck_p2);
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sempass2_u3445)(tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw t_p0, NI key_p1);
static N_INLINE(NIM_BOOL, hasElementType__ast_u5660)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass2_u6866)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arr_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idx_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass2_u6862)(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_u6898)(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_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getAttachedOp__modulegraphs_u4987)(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_u7550)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q kind_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass2_u6885)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass2_u29)(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_u5900)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p3);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3881)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenAddr__ast_u7634)(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_u2156)(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(void, eqwasMoved___ast_u4571)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4095)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NI children_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5168)(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_u5663)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, addToIntersection__sempass2_u5417)(tySequence__8Np6tlClE5az1CyqZdN19bQ* inter_p0, NI s_p1, tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg state_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u5446)(tySequence__8Np6tlClE5az1CyqZdN19bQ* x_p0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass2_u5601)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0);
N_LIB_PRIVATE N_NIMCALL(void, setLen__ast_u3718)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_u7333)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, catches__sempass2_u5578)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* e_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__pureZosproc_u403)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3375)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___types_u1557)(tySequence__8Np6tlClE5az1CyqZdN19bQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, trackPragmaStmt__sempass2_u5914)(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_u5573)(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_u4047)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(void, varDecl__sempass2_u2225)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, trackCase__sempass2_u6465)(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_u6382)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, addIdToIntersection__sempass2_u6417)(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_u6582)(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_u6692)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubnodeWith__ast_u7029)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getRoot__trees_u373)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_u6826)(tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw t_p0, NI key_p1, NI def_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__ast_u7675)(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_u7347)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass2_u7188)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* Result);
N_LIB_PRIVATE N_NIMCALL(void, lockLocations__sempass2_u2128)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3225)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass2_u7281)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_p1, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p2);
N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass2_u7244)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p1);
N_LIB_PRIVATE N_NIMCALL(void, unapplyBlockContext__sempass2_u7247)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* bc_p1);
N_LIB_PRIVATE N_NIMCALL(void, addNotTag__sempass2_u5547)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* comesFrom_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u7202)(tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, trackInnerProc__sempass2_u7300)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getBody__modulegraphs_u17880)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, loadProcBody__icZic_u21187)(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_u385)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__EJOd8NnRbGOjqpW2d6uq2g, getObjDepth__sempass2_u126)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__Cw89anHgi6Xla7dgB7Unvmw, newSeq__sempass2_u162)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u246)(tySequence__Cw89anHgi6Xla7dgB7Unvmw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u293)(tySequence__Cw89anHgi6Xla7dgB7Unvmw* x_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA, eqdup___ast_u3157)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA src_p0);
static N_INLINE(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA*, X5BX5D___sempass2_u318)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA* s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sempass2_u457)(tyObject_Table__fZyCWkMwhdvr3pauCNDaag* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tySequence__juxPMVNF1FoR2ltzeQu8NQ val_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sempass2_u1748)(tyObject_Table__fZyCWkMwhdvr3pauCNDaag t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__sempass2_u1966)(tySequence__juxPMVNF1FoR2ltzeQu8NQ* x_p0, tyTuple__V6P73hvHy70PBBwharKjig y_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__juxPMVNF1FoR2ltzeQu8NQ*, X5BX5D___sempass2_u1881)(tyObject_Table__fZyCWkMwhdvr3pauCNDaag* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allowCStringConv__sempass2_u7363)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCharArrayPtr__types_u4218)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, NIM_BOOL allowPointerToChar_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldWarnRangeConversion__sempass2_u2094)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formalType_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* argType_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRangeSupertype__sempass2_u2081)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* wider_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* narrower_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_u283)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, NIM_BOOL allowEnumWithHoles_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, firstOrd__types_u1182)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, lastOrd__types_u1298)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int128_u408)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_u1268)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_u1400)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass2_u6870)(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_u4187)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(NIM_BOOL, isClosure__ast_u7441)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass2_u6833)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, computeGraphPartitions__varpartitions_u2111)(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_u2562)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* par_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2167)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass2_u3608)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, NIM_BOOL onlyWarning_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2);
N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass2_u3564)(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_u4164)(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_u3613)(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_u3678)(tyObject_Table__g77QNejuRRKraNk8K2YkoA t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__KYLoGmc5aaHsSDjEH1FTxQ*, X5BX5D___sempass2_u3999)(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_u714)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkNil__nilcheck_u11485)(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[41+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_32 = { 41 | NIM_STRLIT_FLAG, "\'result\' requires explicit initialization" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_33 = {41, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_32};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_36 = { 39 | NIM_STRLIT_FLAG, "\'let\' symbol requires an initialization" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_37 = {39, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_36};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_40 = { 18 | NIM_STRLIT_FLAG, "unguarded access: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_41 = {18, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_40};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_43 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_45 = { 10 | NIM_STRLIT_FLAG, "RootEffect" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_46 = {10, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_45};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_48 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_49 = { 15 | NIM_STRLIT_FLAG, " is not GC safe" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_50 = {15, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_49};
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_52 = { 64 | NIM_STRLIT_FLAG, "\'$1\' is a built-in and cannot be used as a first-class procedure" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_53 = {64, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_52};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_55 = {
0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw TM__wkTG4eaV3t1uo3x09apjcwA_56 = {
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_57 = { 28 | NIM_STRLIT_FLAG, "cannot prove \'$1\' is not nil" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_58 = {28, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_57};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_60 = { 20 | NIM_STRLIT_FLAG, "\'$1\' is provably nil" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_61 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_60};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_63 = { 26 | NIM_STRLIT_FLAG, "\'$1\' cannot be assigned to" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_64 = {26, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_63};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_67 = { 14 | NIM_STRLIT_FLAG, "cannot prove: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_68 = {14, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_67};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_69 = { 4 | NIM_STRLIT_FLAG, " <= " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_70 = {4, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_69};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_72 = { 11 | NIM_STRLIT_FLAG, "can prove: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_73 = {11, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_72};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_74 = { 3 | NIM_STRLIT_FLAG, " > " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_75 = {3, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_74};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_77 = { 9 | NIM_STRLIT_FLAG, "=wasmoved" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_78 = {9, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_77};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_79 = { 8 | NIM_STRLIT_FLAG, "=destroy" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_80 = {8, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_79};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_81 = { 5 | NIM_STRLIT_FLAG, "=copy" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_82 = {5, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_81};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_83 = { 1 | NIM_STRLIT_FLAG, "=" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_84 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_83};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_85 = { 4 | NIM_STRLIT_FLAG, "=dup" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_86 = {4, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_85};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_87 = { 5 | NIM_STRLIT_FLAG, "=sink" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_88 = {5, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_87};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_89 = { 6 | NIM_STRLIT_FLAG, "=trace" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_90 = {6, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_89};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_91 = { 9 | NIM_STRLIT_FLAG, "=deepcopy" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_92 = {9, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_91};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_93 = {
0x10, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_94 = { 39 | NIM_STRLIT_FLAG, "could not turn \'$1\' to a sink parameter" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_95 = {39, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_94};
static const struct {
  NI cap; NIM_CHAR data[78+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_97 = { 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_98 = { 56 | NIM_STRLIT_FLAG, "cannot pass $1 to `var T` parameter within a strict func" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_99 = {56, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_98};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_101 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_102 = { 21 | NIM_STRLIT_FLAG, "invalid guard field: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_103 = {21, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_102};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_105 = {18, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_40};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_110 = { 46 | NIM_STRLIT_FLAG, "cannot mutate location $1 within a strict func" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_111 = {46, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_110};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_113 = {
0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_114 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_115 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_114};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_116 = { 25 | NIM_STRLIT_FLAG, "\' borrows from location \'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_117 = {25, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_116};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_118 = { 33 | NIM_STRLIT_FLAG, "\' which does not live long enough" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_119 = {33, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_118};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_121 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_122 = {2, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_121};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_123 = { 7 | NIM_STRLIT_FLAG, "countup" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_124 = {7, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_123};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_125 = { 9 | NIM_STRLIT_FLAG, "countdown" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_126 = {9, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_125};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_127 = { 3 | NIM_STRLIT_FLAG, "..<" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_128 = {3, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_127};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_129 = { 29 | NIM_STRLIT_FLAG, "locks pragma without argument" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_130 = {29, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_129};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_132 = { 22 | NIM_STRLIT_FLAG, "invalid pragma block: " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_133 = {22, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_132};
static const struct {
  NI cap; NIM_CHAR data[115+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_135 = { 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_136 = {115, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_135};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_139 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_140 = { 8 | NIM_STRLIT_FLAG, "Positive" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_141 = {8, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_140};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_142 = { 7 | NIM_STRLIT_FLAG, "Natural" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_143 = {7, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_142};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_144 = { 4 | NIM_STRLIT_FLAG, " -> " };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_145 = {4, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_144};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_147 = {4, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_144};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_149 = { 43 | NIM_STRLIT_FLAG, "conversion to enum with holes is unsafe: $1" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_150 = {43, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_149};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_152 = { 19 | NIM_STRLIT_FLAG, "enum conversion: $1" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_153 = {19, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_152};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__wkTG4eaV3t1uo3x09apjcwA_155 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_158 = { 37 | NIM_STRLIT_FLAG, "\'$1\' requires explicit initialization" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_159 = {37, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_158};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_160 = { 6 | NIM_STRLIT_FLAG, "result" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_161 = {6, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_160};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_163 = {6, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_160};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_165 = {8, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_79};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_166 = {33, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_20};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_167 = {29, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_25};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_168 = {23, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_27};
static const struct {
  NI cap; NIM_CHAR data[59+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_169 = { 59 | NIM_STRLIT_FLAG, "routine has no return type, but .requires contains \'result\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_170 = {59, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_169};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_172 = { 36 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it calls \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_173 = {36, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const struct {
  NI cap; NIM_CHAR data[76+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_175 = { 76 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it accesses \'$#\' which is a global using GC\'ed memory" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_176 = {76, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_175};
static const struct {
  NI cap; NIM_CHAR data[61+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_178 = { 61 | NIM_STRLIT_FLAG, "Base method \'$#\' requires explicit \'{.gcsafe.}\' to be GC-safe" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_179 = {61, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_178};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_181 = {36, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_172};
static const struct {
  NI cap; NIM_CHAR data[60+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_183 = { 60 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it performs an indirect call via \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_184 = {60, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_183};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_186 = { 56 | NIM_STRLIT_FLAG, "\'$#\' is not GC-safe as it performs an indirect call here" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_187 = {56, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_186};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_189 = {0, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_2};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_190 = { 27 | NIM_STRLIT_FLAG, "\'$#\' can have side effects\012" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_191 = {27, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_190};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_192 = { 20 | NIM_STRLIT_FLAG, "$# $# Hint: \'$#\' $#\012" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_193 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_192};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_194 = { 1 | NIM_STRLIT_FLAG, ">" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_195 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_194};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_196 = { 26 | NIM_STRLIT_FLAG, "accesses global state \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_197 = {26, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_196};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_198 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_192};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_199 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_194};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_200 = { 16 | NIM_STRLIT_FLAG, "accessed by \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_201 = {16, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_200};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_202 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_192};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_203 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_194};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_204 = { 24 | NIM_STRLIT_FLAG, "calls `.sideEffect` \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_205 = {24, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_204};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_206 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_192};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_207 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_194};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_208 = { 14 | NIM_STRLIT_FLAG, "called by \'$#\'" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_209 = {14, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_208};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_210 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_192};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_211 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_194};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_212 = { 44 | NIM_STRLIT_FLAG, "calls routine via hidden pointer indirection" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_213 = {44, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_212};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_214 = {20, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_192};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_215 = {1, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_194};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__wkTG4eaV3t1uo3x09apjcwA_216 = { 37 | NIM_STRLIT_FLAG, "calls routine via pointer indirection" };
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_217 = {37, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_216};
static const NimStringV2 TM__wkTG4eaV3t1uo3x09apjcwA_219 = {0, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_2};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_10 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1676),
((NI)4)}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u364;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_13 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1635),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_16 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1636),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_19 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1643),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_31 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1665),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_34 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)427),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_35 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)429),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_38 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)433),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_39 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)435),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_42 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)211),
((NI)14)}
;
extern NIM_CONST tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q routineKinds__ast_u312;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_44 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)308),
((NI)9)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_47 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)780),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_51 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)819),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_54 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)720),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_59 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)744),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_62 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)747),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_65 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)272),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_66 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1147),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_71 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)995),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_76 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1000),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_96 = {{78, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_97},
((NI)49),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_100 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1188),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_104 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)234),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_106 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)247),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_107 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)526),
((NI)33)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_108 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)527),
((NI)33)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_109 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)528),
((NI)36)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_112 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1365),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_120 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)969),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_131 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)196),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_134 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1268),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_137 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1542),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_138 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1547),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_146 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)186),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_148 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1554),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_151 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1560),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_154 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1562),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_156 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1602),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_157 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1775),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_162 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1785),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_164 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1787),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_171 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)985),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_174 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)348),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_177 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)352),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_180 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)359),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_182 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)364),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_185 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)368),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_188 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)372),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_218 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1844),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_220 = {{63, (NimStrPayload*)&TM__wkTG4eaV3t1uo3x09apjcwA_11},
((NI)1846),
((NI)18)}
;
extern NIM_BOOL nimInErrorMode__system_u4144;
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(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_u4144);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setEffectsForProcType__sempass2_u8040)(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_u3255(&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_u3252(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 argX60gensym794__1;
			T15_ = (NI)0;
			T15_ = len__ast_u3190(effects_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			if (!!((T15_ == ((NI)0)))) goto LA16_;
			argX60gensym794__1.len = 0; argX60gensym794__1.p = NIM_NIL;
			argX60gensym794__1 = toFileLineCol__msgs_u701(TM__wkTG4eaV3t1uo3x09apjcwA_10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			internalErrorImpl__msgs_u1598((*g_p0).config, unknownLineInfo__lineinfos_u364, argX60gensym794__1, TM__wkTG4eaV3t1uo3x09apjcwA_10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				LA18_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym794__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA16_: ;
		newSeq__ast_u4100((&(*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_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)0)], raisesSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3249(&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_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA12_;}
			eqsink___ast_u3261(&(*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_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)3)], tagsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3249(&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_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T44_); goto LA12_;}
			eqsink___ast_u3261(&(*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_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)5)], forbidsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3249(&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_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T56_); goto LA12_;}
			eqsink___ast_u3261(&(*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_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)1)], requiresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3249(&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_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)2)], ensuresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			eqwasMoved___ast_u3249(&ensuresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA63_: ;
		eqcopy___ast_u3255(&(*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_u3252(ensuresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(requiresSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(forbidsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(tagsSpec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(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_u3252(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(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_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkRaisesSpec__sempass2_u7820)(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_u3197(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_u3255(&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_u3190(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_u2691(colontmpD__5);
										eqdestroy___system_u2691(colontmpD__4);
										eqdestroy___system_u2691(colontmpD__3);
										eqdestroy___ast_u3252(rr_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
										goto LA7;
									}
LA15_: ;
									{
										if (!isForbids_p8) goto LA23_;
										eqdestroy___system_u2691(colontmpD__5);
										eqdestroy___system_u2691(colontmpD__4);
										eqdestroy___system_u2691(colontmpD__3);
										eqdestroy___ast_u3252(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_u3255(&rr_1, (*r_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						}
						goto LA26_;
LA28_: ;
						{
							eqcopy___ast_u3255(&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_u3190(rr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
								T33_ = (((NI)0) < T35_);
LA34_: ;
								if (!T33_) goto LA32;
								T36_ = NIM_NIL;
								T36_ = lastSon__ast_u5208(rr_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA8_;}
								eqsink___ast_u3261(&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_u1227((*g_p0).config, (*info_1), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)121), (*(*(*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_u1227((*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_u2691(colontmpD__5);
							eqdestroy___system_u2691(colontmpD__4);
							eqdestroy___system_u2691(colontmpD__3);
							eqdestroy___ast_u3252(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_u3252(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_u3190(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__pK4u9cQ1bJzH46rrmNu9bPMQ T66_;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T67_;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T68_;
						T62_ = (NIM_BOOL)0;
						T62_ = contains__astalgo_u2846((&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_u1227((*g_p0).config, (*(*spec_p2)._kind_6.sons.p->data[s_3]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)94), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_19, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
						{
							LA65_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__8);
							eqdestroy___system_u2691(colontmpD__7);
							eqdestroy___system_u2691(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_u5493)(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_u50(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_u5497)(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_u5493(g_p0, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA7_: ;
	{
		eqcopy___ast_u3381(&t_1, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	result = skipTypes__ast_u5379(t_1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, subtypeRelation__sempass2_u7810)(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_u3381(&t_1, (*(*spec_p1).typField).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						{
							NI T14_;
							colontmpD_ = excType__sempass2_u5497(g_p0, real_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							T14_ = (NI)0;
							T14_ = safeInheritanceDiff__types_u3496(colontmpD_, t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							if (!(T14_ <= ((NI)0))) goto LA15_;
							result = NIM_TRUE;
							eqdestroy___ast_u3378(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							eqdestroy___ast_u3378(t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA15_: ;
						i_2 += ((NI)1);
						{
							LA11_:;
						}
						{
							oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							*nimErr_ = oldNimErrFin11_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					} LA10: ;
				}
			}
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(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_u5497(g_p0, real_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		T23_ = (NI)0;
		T23_ = safeInheritanceDiff__types_u3496(colontmpD__2, (*spec_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		result = (T23_ <= ((NI)0));
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(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_u7965)(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_u3255(&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_u3190(actual_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((T4_ == ((NI)6)))) goto LA5_;
		eqdestroy___ast_u3252(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(actual_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	eqcopy___ast_u3255(&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_u7820(g_p0, NIM_FALSE, raisesSpec_1, (*actual_1)._kind_6.sons.p->data[((NI)0)], TM__wkTG4eaV3t1uo3x09apjcwA_21, NIM_FALSE, subtypeRelation__sempass2_u7810, ((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_u7820(g_p0, NIM_FALSE, tagsSpec_1, (*actual_1)._kind_6.sons.p->data[((NI)3)], TM__wkTG4eaV3t1uo3x09apjcwA_26, NIM_FALSE, subtypeRelation__sempass2_u7810, ((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_u7820(g_p0, NIM_FALSE, forbidsSpec_1, (*actual_1)._kind_6.sons.p->data[((NI)3)], TM__wkTG4eaV3t1uo3x09apjcwA_28, NIM_FALSE, subtypeRelation__sempass2_u7810, ((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_u1227((*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_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA27_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3128(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		rememberCycle__system_u3498(result, cell_1, (*((TNimTypeV2**) (p_p0))));
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sempass2_u8228)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* dest_p0) {
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).escapingParams.data);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).escapingParams.head);
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).escapingParams.head)));
		nimRawDispose((*dest_p0).escapingParams.head, ((NI)4));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).c);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).c);
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).graph);
		if (!T13_) goto LA14_;
		eqdestroy___modulegraphs_u13532((&(*(*dest_p0).graph)));
		nimRawDispose((*dest_p0).graph, ((NI)8));
	}
LA14_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).config);
		if (!T18_) goto LA19_;
		eqdestroy___options_u1751((&(*(*dest_p0).config)));
		nimRawDispose((*dest_p0).config, ((NI)8));
	}
LA19_: ;
	eqdestroy___cgendata_u1265((*dest_p0).optionsStack);
	eqdestroy___semdata_u3218((*dest_p0).unknownRaises);
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = nimDecRefIsLastDyn((*dest_p0).currentExceptType);
		if (!T23_) goto LA24_;
		eqdestroy___ast_u3288((&(*(*dest_p0).currentExceptType)));
		nimRawDispose((*dest_p0).currentExceptType, ((NI)8));
	}
LA24_: ;
	eqdestroy___ast_u3696((*dest_p0).locked);
	{
		NIM_BOOL T28_;
		T28_ = (NIM_BOOL)0;
		T28_ = nimDecRefIsLastDyn((*dest_p0).guards.g);
		if (!T28_) goto LA29_;
		eqdestroy___modulegraphs_u13532((&(*(*dest_p0).guards.g)));
		nimRawDispose((*dest_p0).guards.g, ((NI)8));
	}
LA29_: ;
	eqdestroy___ast_u3696((*dest_p0).guards.s);
	eqdestroy___semdata_u3481((*dest_p0).scopes.data);
	eqdestroy___pureZosproc_u474((*dest_p0).init);
	{
		NIM_BOOL T33_;
		T33_ = (NIM_BOOL)0;
		T33_ = nimDecRefIsLastDyn((*dest_p0).ownerModule);
		if (!T33_) goto LA34_;
		eqdestroy___ast_u3469((&(*(*dest_p0).ownerModule)));
		nimRawDispose((*dest_p0).ownerModule, ((NI)8));
	}
LA34_: ;
	{
		NIM_BOOL T38_;
		T38_ = (NIM_BOOL)0;
		T38_ = nimDecRefIsLastDyn((*dest_p0).owner);
		if (!T38_) goto LA39_;
		eqdestroy___ast_u3469((&(*(*dest_p0).owner)));
		nimRawDispose((*dest_p0).owner, ((NI)8));
	}
LA39_: ;
	{
		NIM_BOOL T43_;
		T43_ = (NIM_BOOL)0;
		T43_ = nimDecRefIsLastDyn((*dest_p0).forbids);
		if (!T43_) goto LA44_;
		eqdestroy___ast_u3270((&(*(*dest_p0).forbids)));
		nimRawDispose((*dest_p0).forbids, ((NI)8));
	}
LA44_: ;
	{
		NIM_BOOL T48_;
		T48_ = (NIM_BOOL)0;
		T48_ = nimDecRefIsLastDyn((*dest_p0).tags);
		if (!T48_) goto LA49_;
		eqdestroy___ast_u3270((&(*(*dest_p0).tags)));
		nimRawDispose((*dest_p0).tags, ((NI)8));
	}
LA49_: ;
	{
		NIM_BOOL T53_;
		T53_ = (NIM_BOOL)0;
		T53_ = nimDecRefIsLastDyn((*dest_p0).exc);
		if (!T53_) goto LA54_;
		eqdestroy___ast_u3270((&(*(*dest_p0).exc)));
		nimRawDispose((*dest_p0).exc, ((NI)8));
	}
LA54_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasRealBody__sempass2_u8350)(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_u8150)(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_u4100((&(*effects_p1)._kind_6.sons), ((NI)6));
	T1_ = NIM_NIL;
	T1_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*effects_p1)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = NIM_NIL;
	T2_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*effects_p1)._kind_6.sons.p->data[((NI)3)], T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = NIM_NIL;
	T3_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*effects_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*effects_p1)._kind_6.sons.p->data[((NI)5)], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*effects_p1)._kind_6.sons.p->data[((NI)1)], (*g_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*effects_p1)._kind_6.sons.p->data[((NI)2)], (*g_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*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_u8157)(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;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T1_;
	tySequence__9ahcSjIErJohSBBFLwuF56Q T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA));
	rawInitEffects__sempass2_u8150(g_p0, effects_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)Result, sizeof(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA));
	colontmpD_ = eqdup___ast_u3258((*effects_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).exc = colontmpD_;
	colontmpD__2 = eqdup___ast_u3258((*effects_p1)._kind_6.sons.p->data[((NI)3)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).tags = colontmpD__2;
	colontmpD__3 = eqdup___ast_u3258((*effects_p1)._kind_6.sons.p->data[((NI)5)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).forbids = colontmpD__3;
	colontmpD__4 = eqdup___ast_u4580(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_u4574(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_u14759(g_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).graph = colontmpD__5;
	colontmpD__6 = eqdup___options_u2141((*g_p0).config);
	(*Result).config = colontmpD__6;
	colontmpD__7 = eqdup___semdata_u4222(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));
	(*Result).optionsStack.p->data[0].Field0 = (*(*g_p0).config).options;
	nimCopyMem((void*)(*Result).optionsStack.p->data[0].Field1, (NIM_CONST void*)(*(*g_p0).config).notes, 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_u3705((&(*Result).guards.s), T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___modulegraphs_u14756(&(*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_u7234)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (t_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (T1_) goto LA2_;
	T1_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7));
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isOutParam__ast_u7655)(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_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocalSym__sempass2_u2054)(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_u7655((*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_u6254(s_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (colontmpD_ == (*a_p0).owner);
LA10_: ;
	result = T1_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, find__sigmatch_u5289)(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_u5284)(NI* a_p0, NI a_p0Len_0, NI item_p1) {
	NIM_BOOL result;
	NI T1_;
{	T1_ = (NI)0;
	T1_ = find__sigmatch_u5289(a_p0, a_p0Len_0, item_p1);
	result = (((NI)0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, guardGlobal__sempass2_u2140)(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_41);
appendString((&T16_), colontmpD_);
		colontmpD__2 = T16_;
		liMessage__msgs_u1227((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_42, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isGCedMem__ast_u6621)(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_u3539)(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_u4577(&(*(*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_u4206)(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_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym154__1;
			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;
			sym_1 = reason_p1;
			xX60gensym154__1 = (*(*a_p0).owner).itemId;
			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_u4285((&(*(*a_p0).c).sideEffects), (NI)((NI)((NU32)(((NI) (xX60gensym154__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym154__1.item))), T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&T11_), sizeof(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ));
			colontmpD_ = eqdup___lineinfos_u2037(useLoc_p2);
			T11_.Field0 = colontmpD_;
			colontmpD__2 = eqdup___ast_u4580(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T11_.Field1 = colontmpD__2;
			add__sempass2_u5305((&(*T10_)), T11_);
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, useVarNoInitCheck__sempass2_u4170)(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)263)));
LA8_: ;
		if (!T4_) goto LA9_;
		{
			if (!!(((*s_p2)._kind_2.guard == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA13_;
			guardGlobal__sempass2_u2140(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_u6621((*s_p2).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA20_: ;
			T17_ = T19_;
LA18_: ;
			if (!T17_) goto LA21_;
			markGcUnsafe__sempass2_u3539(a_p0, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA21_: ;
		markSideEffect__sempass2_u4206(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_u6254(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_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, useVar__sempass2_u5344)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	s_1 = NIM_NIL;
	eqcopy___ast_u4577(&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_;
		T8_ = (NIM_BOOL)0;
		T8_ = isLocalSym__sempass2_u2054(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T8_) goto LA9_;
		{
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym172__1;
			if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14)))&63U)))!=0)) goto LA13_;
			xX60gensym172__1 = (*s_1).itemId;
			add__varpartitions_u1538((&(*a_p0).init), (NI)((NI)((NU32)(((NI) (xX60gensym172__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym172__1.item))));
		}
		goto LA11_;
LA13_: ;
		{
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym175__1;
			NIM_BOOL T16_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym187__1;
			xX60gensym175__1 = (*s_1).itemId;
			T16_ = (NIM_BOOL)0;
			T16_ = contains__sigmatch_u5284((((*a_p0).init).p) ? ((*a_p0).init.p->data) : NIM_NIL, (*a_p0).init.len, (NI)((NI)((NU32)(((NI) (xX60gensym175__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym175__1.item))));
			if (!!(T16_)) goto LA17_;
			{
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
				if (!(T21_)) goto LA22_;
				T21_ = (((*(*s_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18)))&63U)))!=0);
LA22_: ;
				if (!T21_) goto LA23_;
				liMessage__msgs_u1227((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_33, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_34, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA19_;
LA23_: ;
			{
				NIM_BOOL T26_;
				T26_ = (NIM_BOOL)0;
				T26_ = requiresInit__typeallowed_u563((*s_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!T26_) goto LA27_;
				liMessage__msgs_u1227((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), (*(*s_1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_35, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA19_;
LA27_: ;
			{
				if (!((*a_p0).leftPartOfAsgn <= ((NI)0))) goto LA30_;
				{
					if (!(((*(*a_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)18)))&31U)))!=0)) goto LA34_;
					{
						if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9))) goto LA38_;
						liMessage__msgs_u1227((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_37, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_38, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
					goto LA36_;
LA38_: ;
					{
						liMessage__msgs_u1227((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)55), (*(*s_1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_39, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA36_: ;
				}
LA34_: ;
			}
			goto LA19_;
LA30_: ;
LA19_: ;
			xX60gensym187__1 = (*s_1).itemId;
			add__varpartitions_u1538((&(*a_p0).init), (NI)((NI)((NU32)(((NI) (xX60gensym187__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym187__1.item))));
		}
		goto LA11_;
LA17_: ;
LA11_: ;
	}
LA9_: ;
	useVarNoInitCheck__sempass2_u4170(a_p0, n_p1, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, throws__sempass2_u5476)(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_u6891(orig_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			eqcopy___ast_u3381(&(*x_1).typField, (*n_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			add__ast_u3215(tracked_p0, x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				LA11_:;
			}
			{
				oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin11_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA7_;
LA9_: ;
		{
			add__ast_u3215(tracked_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass2_u5523)(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_u3255(&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_u3190(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_u5497((*a_p0).graph, (*aa_1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					colontmpD__2 = excType__sempass2_u5497((*a_p0).graph, e_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = 0;
					T9_ = (NIM_BOOL)0;
					T9_ = sameType__types_u1812(colontmpD_, colontmpD__2, T8_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T9_) goto LA10_;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(aa_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = 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_u3518((*e_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T20_)) goto LA21_;
			throws__sempass2_u5476((*a_p0).exc, e_p1, comesFrom_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA21_: ;
	}
LA16_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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_u2029)(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)45)))&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_u5509)(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_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = getEbase__sempass2_u5493(g_p0, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T1_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*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_u6225)(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_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym349__1;
			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;
			{
				if (!((*reason_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA11_;
				eqcopy___ast_u4577(&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_u4205(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_: ;
			xX60gensym349__1 = (*(*a_p0).owner).itemId;
			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_u4285((&(*(*a_p0).c).sideEffects), (NI)((NI)((NU32)(((NI) (xX60gensym349__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym349__1.item))), T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&T22_), sizeof(tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ));
			colontmpD_ = eqdup___lineinfos_u2037(useLoc_p2);
			T22_.Field0 = colontmpD_;
			blitTmp_1 = sym_1;
			T22_.Field1 = blitTmp_1;
			add__sempass2_u5305((&(*T21_)), T22_);
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, hasWarn__options_u617)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw 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_u3536)(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_u1227(conf_p1, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)53), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_44, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass2_u3546)(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_u4577(&(*(*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_u4205(((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_u4574(T15_); goto BeforeRet_;}
				eqsink___ast_u4583(&(*(*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_u5557)(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_u5509((*a_p0).graph, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		addRaiseEffect__sempass2_u5523(a_p0, colontmpD_, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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_u3197(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_u3255(&effect_1, (*b_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						addRaiseEffect__sempass2_u5523(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_u3252(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_u5537)(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_u3255(&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_u3190(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_u5379((*(*aa_1)._kind_6.sons.p->data[i_1]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					colontmpD__2 = skipTypes__ast_u5379((*e_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = 0;
					T9_ = (NIM_BOOL)0;
					T9_ = sameType__types_u1812(colontmpD_, colontmpD__2, T8_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T9_) goto LA10_;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(aa_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA4: ;
		}
	}
	throws__sempass2_u5476((*a_p0).tags, e_p1, comesFrom_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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_u5516)(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_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = sysTypeFromName__magicsys_u50(g_p0, (*n_p1).info, TM__wkTG4eaV3t1uo3x09apjcwA_46);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T1_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*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_u5565)(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_u5516((*a_p0).graph, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		addTag__sempass2_u5537(a_p0, colontmpD_, comesFrom_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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_u3197(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_u3255(&effect_1, (*b_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						addTag__sempass2_u5537(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_u3252(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_u5937)(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_u3255(&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_;
		nimZeroMem((void*)(&T8_), sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		colontmpD_ = eqdup___ast_u4580(s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_.Field0 = colontmpD_;
		colontmpD__2 = eqdup___lineinfos_u2037((*n_p1).info);
		T8_.Field1 = colontmpD__2;
		add__sempass2_u5950((&(*tracked_p0).unknownRaises), T8_);
	}
LA6_: ;
	mergeRaises__sempass2_u5557(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_u5565(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_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)53));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T18_) goto LA19_;
			warnAboutGcUnsafe__sempass2_u3536(n_p1, (*tracked_p0).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA19_: ;
		markGcUnsafe__sempass2_u3539(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_u4206(tracked_p0, s_p2, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA23_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(tagSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(spec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(pragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isNoEffectList__sempass2_u6113)(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_u3190(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_u5903)(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_u5860)(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_u6254((*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_u4574(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_u6254((*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_u4574(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_u6082)(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_u5509((*tracked_p0).graph, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addRaiseEffect__sempass2_u5523(tracked_p0, colontmpD_, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = createTag__sempass2_u5516((*tracked_p0).graph, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addTag__sempass2_u5537(tracked_p0, colontmpD__2, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass2_u5926)(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, isTrivial__sempass2_u6135)(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)142) || (*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)148) || (*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)150) || (*(*caller_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)141));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass2_u6086)(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_u6254((*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_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, signatureLen__ast_u5610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = T1_;
	return result;
}
static N_INLINE(void, makeVolatile__sempass2_u2214)(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_u5992)(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_u3197(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_u3255(&x_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						procVarCheck__sempass2_u5992(x_1, conf_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						i_2 += ((NI)1);
					} LA9: ;
				}
			}
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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_53, (*(*(*n_p0)._kind_4.sym).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		liMessage__msgs_u1227(conf_p1, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_54, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			LA19_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA17_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass2_u6012)(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_u3715(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_u5992(colontmpD_, (*tracked_p0).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	paramType_2 = skipTypesOrNil__ast_u6606(paramType_p2, TM__wkTG4eaV3t1uo3x09apjcwA_48);
	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_u6606((*n_2).typField, TM__wkTG4eaV3t1uo3x09apjcwA_55);
		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_u7008(n_2, TM__wkTG4eaV3t1uo3x09apjcwA_56);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
					if (!!(T32_)) goto LA33_;
					eqdestroy___ast_u3378(ntyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(paramType_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(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)143));
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_u3378(ntyp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(paramType_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(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_58, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				liMessage__msgs_u1227((*tracked_p0).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_59, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				{
					LA52_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__3);
					eqdestroy___system_u2691(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_61, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				liMessage__msgs_u1227((*tracked_p0).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_62, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				{
					LA57_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(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_u3378(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_u3378(paramType_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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_u6146)(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_u3381(&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_u3190((*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_u3715(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_ = isTrivial__sempass2_u6135(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 argX60gensym339__1;
			if (!!(((*(*(*op_1).n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152)))) goto LA33_;
			argX60gensym339__1.len = 0; argX60gensym339__1.p = NIM_NIL;
			argX60gensym339__1 = toFileLineCol__msgs_u701(TM__wkTG4eaV3t1uo3x09apjcwA_47);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			internalErrorImpl__msgs_u1598((*tracked_p0).config, unknownLineInfo__lineinfos_u364, argX60gensym339__1, TM__wkTG4eaV3t1uo3x09apjcwA_47);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			{
				LA35_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym339__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
LA33_: ;
		eqcopy___ast_u3255(&effectList_1, (*(*op_1).n)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		s_1 = skipConv__types_u3715(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_u3255(&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_u6113(effectList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
LA49_: ;
			if (!T46_) goto LA50_;
			propagateEffects__sempass2_u5937(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_u6113(effectList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			if (!T53_) goto LA54_;
			{
				NIM_BOOL T58_;
				T58_ = (NIM_BOOL)0;
				T58_ = isForwardedProc__sempass2_u5903(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				if (!T58_) goto LA59_;
				propagateEffects__sempass2_u5937(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_u6086(tracked_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				if (!!(T62_)) goto LA63_;
				assumeTheWorst__sempass2_u6082(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_u6086(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_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)53));
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					if (!T75_) goto LA76_;
					warnAboutGcUnsafe__sempass2_u3536(n_p1, (*tracked_p0).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				}
LA76_: ;
				markGcUnsafe__sempass2_u3546(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_u6086(tracked_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				T79_ = !(T81_);
LA80_: ;
				if (!T79_) goto LA82_;
				markSideEffect__sempass2_u6225(tracked_p0, a_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA65_;
LA82_: ;
LA65_: ;
		}
		goto LA44_;
LA54_: ;
		{
			mergeRaises__sempass2_u5557(tracked_p0, (*effectList_1)._kind_6.sons.p->data[((NI)0)], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			mergeTags__sempass2_u5565(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_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)53));
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					if (!T92_) goto LA93_;
					warnAboutGcUnsafe__sempass2_u3536(n_p1, (*tracked_p0).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				}
LA93_: ;
				markGcUnsafe__sempass2_u3546(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_u6225(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_u3252(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(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_u5610(formals_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T103_ = (argIndex_p3 < T105_);
LA104_: ;
		if (!T103_) goto LA106_;
		eqcopy___ast_u3381(&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_u2054(tracked_p0, (*n_p1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA118_: ;
			if (!T117_) goto LA119_;
			makeVolatile__sempass2_u2214(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_u5379((*a_1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_48);
		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_u2166(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			T140_ = rawNewString(colontmpD__2.len + 15);
appendString((&T140_), colontmpD__2);
appendString((&T140_), TM__wkTG4eaV3t1uo3x09apjcwA_50);
			colontmpD__3 = T140_;
			liMessage__msgs_u1227((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_51, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			{
				LA139_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
		}
LA137_: ;
		{
			LA129_:;
		}
		{
			oldNimErrFin129_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(argtype_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin129_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA127_: ;
	notNilCheck__sempass2_u6012(tracked_p0, n_p1, paramType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(paramType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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_u3316)(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_u3255(&result, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass2_u3323)(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 oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_2 = NIM_NIL;
	s_1 = NIM_NIL;
	n_2 = skipHiddenDeref__sempass2_u3316(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u4577(&s_1, (*n_2)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T8_;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym105__1;
		T8_ = (NIM_BOOL)0;
		T8_ = isLocalSym__sempass2_u2054(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T8_) goto LA9_;
		{
			if (!volatileCheck_p2) goto LA13_;
			makeVolatile__sempass2_u2214(a_p0, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA13_: ;
		{
			NI* x_1;
			NI i_1;
			NI L_1;
			NI T16_;
			x_1 = (NI*)0;
			i_1 = ((NI)0);
			T16_ = (*a_p0).init.len;
			L_1 = T16_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA18;
					x_1 = (&(*a_p0).init.p->data[i_1]);
					{
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym100__1;
						xX60gensym100__1 = (*s_1).itemId;
						if (!((*x_1) == (NI)((NI)((NU32)(((NI) (xX60gensym100__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym100__1.item))))) goto LA21_;
						{
							NIM_BOOL T25_;
							NimStringV2 colontmpD_;
							NimStringV2 colontmpD__2;
							T25_ = (NIM_BOOL)0;
							T25_ = (((*(*a_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)18)))&31U)))!=0);
							if (!(T25_)) goto LA26_;
							T25_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
LA26_: ;
							if (!T25_) goto LA27_;
							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 LA29_;
							colontmpD__2 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_64, colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							liMessage__msgs_u1227((*a_p0).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_65, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							{
								LA29_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___system_u2691(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
LA27_: ;
						eqdestroy___ast_u4574(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(n_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA21_: ;
					i_1 += ((NI)1);
				} LA18: ;
			}
		}
		xX60gensym105__1 = (*s_1).itemId;
		add__varpartitions_u1538((&(*a_p0).init), (NI)((NI)((NU32)(((NI) (xX60gensym105__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym105__1.item))));
		{
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym107__1;
			NI T34_;
			xX60gensym107__1 = (*s_1).itemId;
			T34_ = (NI)0;
			T34_ = getOrDefault__sempass2_u3445((*a_p0).scopes, (NI)((NI)((NU32)(((NI) (xX60gensym107__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym107__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T34_ == (*a_p0).currentBlock)) goto LA35_;
			(*n_2).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)22))) & 31);
		}
LA35_: ;
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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_u3518)(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_u3316(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u4577(&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_u3323(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_u2054(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T11_) goto LA12_;
		makeVolatile__sempass2_u2214(a_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA12_: ;
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, hasElementType__ast_u5660)(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_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass2_u6862)(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_u2166(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		colontmpD__2 = dollar___renderer_u2166(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		T4_ = rawNewString(colontmpD_.len + colontmpD__2.len + 18);
appendString((&T4_), TM__wkTG4eaV3t1uo3x09apjcwA_68);
appendString((&T4_), colontmpD_);
appendString((&T4_), TM__wkTG4eaV3t1uo3x09apjcwA_70);
appendString((&T4_), colontmpD__2);
		colontmpD__3 = T4_;
		liMessage__msgs_u1227((*c_p0).config, (*a_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)52), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_71, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			LA3_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(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_u2166(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD__5 = dollar___renderer_u2166(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T10_ = rawNewString(colontmpD__4.len + colontmpD__5.len + 14);
appendString((&T10_), TM__wkTG4eaV3t1uo3x09apjcwA_73);
appendString((&T10_), colontmpD__4);
appendString((&T10_), TM__wkTG4eaV3t1uo3x09apjcwA_75);
appendString((&T10_), colontmpD__5);
		colontmpD__6 = T10_;
		liMessage__msgs_u1227((*c_p0).config, (*a_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)52), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_76, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			LA9_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass2_u6866)(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_u6862(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_u6862(c_p0, idx_p2, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*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_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__QEtmrJl2wkbDhVzeJSgyBQ, findHookKind__sempass2_u6898)(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_78)) goto LA1_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_80)) goto LA2_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_82)) goto LA3_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_84)) goto LA3_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_86)) goto LA4_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_88)) goto LA5_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_90)) goto LA6_;
	if (eqStrings(colontmpD_, TM__wkTG4eaV3t1uo3x09apjcwA_92)) 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_u2691(colontmpD_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass2_u29)(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_u6254((*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_u3381(&argType_1, (*(*arg_p3)._kind_4.sym).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				sinkType_1 = newType__ast_u5900(((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_u3881(sinkType_1, argType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqcopy___ast_u3381(&(*(*arg_p3)._kind_4.sym).typ, sinkType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqsink___ast_u3387(&(*(*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_u3378(argType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
			goto LA18_;
LA20_: ;
			{
				NimStringV2 colontmpD__2;
				tyArray__YgExxhfgKcesA5EOUj1MOA 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_95, T26_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				liMessage__msgs_u1227(config_p0, (*arg_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)113), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_96, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				{
					LA25_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
			goto LA18_;
LA23_: ;
LA18_: ;
		}
LA16_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(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_u7234((*arg_p3).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T34_)) goto LA35_;
			colontmpD__3 = NIM_NIL;
			colontmpD__3 = lastSon__ast_u5208(arg_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			checkForSink__sempass2_u29(config_p0, idgen_p1, owner_p2, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			{
				LA37_:;
			}
			{
				oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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_u3197(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_u3255(&branch_1, (*arg_p3)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						value_1 = lastSon__ast_u5208(branch_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						{
							NIM_BOOL T49_;
							T49_ = (NIM_BOOL)0;
							T49_ = isEmptyType__ast_u7234((*value_1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
							if (!!(T49_)) goto LA50_;
							checkForSink__sempass2_u29(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_u3252(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_u3252(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_u3190(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_u5208((*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_u7234((*value_2).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
						if (!!(T63_)) goto LA64_;
						checkForSink__sempass2_u29(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_u3252(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_u29(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_u6885)(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_u29((*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_u7634)(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_u3255(&result, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass2_u6921)(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_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&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_u5379((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_43);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T9_ = !(((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27)));
LA10_: ;
			if (!T9_) goto LA11_;
			createTypeBoundOps__sempass2_u2029(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_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	colontmpD_ = getConstExpr__semfold_u68((*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_u3255(&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_u6225(tracked_p0, a_1, (*n_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				}
LA44_: ;
			}
			goto LA34_;
LA36_: ;
			{
			}
LA34_: ;
			eqcopy___ast_u3255(&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_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)53));
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						if (!T59_) goto LA60_;
						warnAboutGcUnsafe__sempass2_u3536(n_p1, (*tracked_p0).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA60_: ;
					markGcUnsafe__sempass2_u3546(tracked_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				}
LA55_: ;
				propagateEffects__sempass2_u5937(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_u6113(effectList_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				if (!T63_) goto LA64_;
				{
					NIM_BOOL T68_;
					T68_ = (NIM_BOOL)0;
					T68_ = isForwardedProc__sempass2_u5903(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					if (!T68_) goto LA69_;
					propagateEffects__sempass2_u5937(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_u5860(tracked_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					if (!T72_) goto LA73_;
					assumeTheWorst__sempass2_u6082(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_u5926(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_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)53));
								if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
								if (!T91_) goto LA92_;
								warnAboutGcUnsafe__sempass2_u3536(n_p1, (*tracked_p0).config);
								if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							}
LA92_: ;
							markGcUnsafe__sempass2_u3546(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_u5926(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_u6225(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_u5937(tracked_p0, n_p1, (*a_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA114_: ;
				}
LA66_: ;
			}
			goto LA47_;
LA64_: ;
			{
				mergeRaises__sempass2_u5557(tracked_p0, (*effectList_1)._kind_6.sons.p->data[((NI)0)], n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				mergeTags__sempass2_u5565(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_u5926(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_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)53));
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							if (!T133_) goto LA134_;
							warnAboutGcUnsafe__sempass2_u3536(n_p1, (*tracked_p0).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						}
LA134_: ;
						markGcUnsafe__sempass2_u3546(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_u5926(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_u6225(tracked_p0, a_1, (*n_p1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA147_: ;
				}
LA141_: ;
			}
LA47_: ;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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)250) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)156) || (*(*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_u3190(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_u6146(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_u3255(&arg_1, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
			initVarViaNew__sempass2_u3518(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_u5660((*arg_1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
				if (!(T169_)) goto LA170_;
				colontmpD__3 = elementType__ast_u5331((*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_u2166(arg_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
					liMessage__msgs_u1227((*tracked_p0).config, (*arg_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_66, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
					{
						LA183_:;
					}
					{
						eqdestroy___system_u2691(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_u5660((*(*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_u5331((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				createTypeBoundOps__sempass2_u2029(tracked_p0, colontmpD__5, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				createTypeBoundOps__sempass2_u2029(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_u3378(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_u3378(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(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_u6866(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_u3255(&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_u6898((*(*(*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_u5379((*(*n_2)._kind_6.sons.p->data[((NI)1)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_93);
			if (NIM_UNLIKELY(*nimErr_)) goto LA217_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T222_;
				colontmpD__6 = getAttachedOp__modulegraphs_u4987((*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_u2029(tracked_p0, t_1, (*n_2).info, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA217_;
				T222_ = NIM_NIL;
				T222_ = replaceHookMagic__semdata_u7550((*tracked_p0).c, n_2, opKind_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T222_); goto LA217_;}
				eqsink___ast_u3261(&n_2, T222_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA217_;
			}
LA220_: ;
			{
				LA217_:;
			}
			{
				oldNimErrFin217_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(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_u3197(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T233_ = (NI)0;
			T233_ = signatureLen__ast_u5610(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_u3381(&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_u5331(paramType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
						createTypeBoundOps__sempass2_u2029(tracked_p0, colontmpD__7, (*n_2).info, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
						checkForSink__sempass2_u6885(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_u3378(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_u7655(paramType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
							if (!T245_) goto LA246_;
							colontmpD__9 = NIM_NIL;
							colontmpD__9 = skipHiddenAddr__ast_u7634((*n_2)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA248_;
							initVar__sempass2_u3323(tracked_p0, colontmpD__9, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA248_;
							{
								LA248_:;
							}
							{
								oldNimErrFin248_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(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_u7634((*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_99, colontmpD__10);
								if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
								liMessage__msgs_u1227((*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_100, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
								{
									LA263_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__11);
									eqdestroy___system_u2691(colontmpD__10);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
							}
LA261_: ;
							(*tracked_p0).hasSideEffect = NIM_TRUE;
						}
LA257_: ;
						{
							LA242_:;
						}
						{
							oldNimErrFin242_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(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_u3378(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)268) || (*(*a_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)250) || (*(*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_u3197(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_u5660(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_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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_u2156)(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_u4574(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	eqcopy___ast_u4577(&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_u4574(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_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_101);
		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_u4574(T25_); goto LA18_;}
			eqsink___ast_u4583(&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_u4574(T31_); goto LA18_;}
					eqsink___ast_u4583(&field_1, T31_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					{
						if (!!((field_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA34_;
						goto LA27;
					}
LA34_: ;
					eqcopy___ast_u3381(&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_u5379(ty_1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T40_); goto LA18_;}
					eqsink___ast_u3387(&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_103);
appendString((&T46_), (*(*g_1).name).s);
			colontmpD_ = T46_;
			liMessage__msgs_u1227((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_104, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			eqdestroy___system_u2691(colontmpD_);
			eqdestroy___ast_u3378(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(field_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(g_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA45_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
LA43_: ;
		eqsink___ast_u4583(&g_1, field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		eqwasMoved___ast_u4571(&field_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(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_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), (*n_p1).info, ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		eqcopy___ast_u3255(&(*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_u5168(g_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T56_); goto LA55_;}
		eqsink___ast_u3261(&(*dot_1)._kind_6.sons.p->data[((NI)1)], T56_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		eqcopy___ast_u3381(&(*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_u2691(colontmpD__3);
						eqdestroy___system_u2691(colontmpD__2);
						eqdestroy___ast_u3252(dot_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(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_105);
appendString((&T66_), colontmpD__2);
		colontmpD__3 = T66_;
		liMessage__msgs_u1227((*a_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_106, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		{
			LA55_:;
		}
		{
			oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___ast_u3252(dot_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin55_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA51_;
LA53_: ;
	{
		guardGlobal__sempass2_u2140(a_p0, n_p1, g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA51_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(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_u5417)(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: ;
		}
	}
	{
		tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T17_;
		if (!(state_p2 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA15_;
		T17_.Field0 = s_p1;
		T17_.Field1 = ((NI)1);
		add__sempass2_u5446((&(*inter_p0)), T17_);
	}
	goto LA13_;
LA15_: ;
	{
		tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T19_;
		T19_.Field0 = s_p1;
		T19_.Field1 = ((NI)0);
		add__sempass2_u5446((&(*inter_p0)), T19_);
	}
LA13_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass2_u5601)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190((*tracked_p0).exc);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(((NI)0) < T3_)) goto LA4_;
		setLen__ast_u3718((&(*(*tracked_p0).exc)._kind_6.sons), ((*tracked_p0).bottom));
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, catches__sempass2_u5578)(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_u5379(e_p1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	L_1 = len__ast_u3190((*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_u5497((*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_u3496(colontmpD_, e_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				if (!(T7_ <= ((NI)0))) goto LA8_;
				eqcopy___ast_u3255(&(*(*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_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	}
	{
		NI T15_;
		T15_ = (NI)0;
		T15_ = len__ast_u3190((*tracked_p0).exc);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((NI)0) < T15_)) goto LA16_;
		setLen__ast_u3718((&(*(*tracked_p0).exc)._kind_6.sons), (L_1));
	}
	goto LA13_;
LA16_: ;
	{
	}
LA13_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(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_u5663)(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 oldNimErrFin43_;
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_u3190((*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_u5660(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_u5417((&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_u3190(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_u3255(&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_u3190(b_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						if (!(T18_ == ((NI)1))) goto LA19_;
						catchesAll__sempass2_u5601(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_u3190(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_u7333((*b_1)._kind_6.sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
										if (!T28_) goto LA29_;
										catches__sempass2_u5578(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_u2029(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_u5578(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_u3252(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_u3190(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_u3255(&b_2, (*n_p1)._kind_6.sons.p->data[i_6]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* savedExcept_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* inferredExcept_1;
					NI T64_;
					if (!((*b_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87))) goto LA41_;
					savedExcept_1 = NIM_NIL;
					inferredExcept_1 = NIM_NIL;
					setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_1));
					eqcopy___ast_u3381(&savedExcept_1, (*tracked_p0).currentExceptType);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					inferredExcept_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
					{
						NI T46_;
						T46_ = (NI)0;
						T46_ = len__ast_u3190(b_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						if (!(T46_ == ((NI)2))) goto LA47_;
						{
							NIM_BOOL T51_;
							T51_ = (NIM_BOOL)0;
							T51_ = isInfixAs__ast_u7333((*b_2)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
							if (!T51_) goto LA52_;
							eqcopy___ast_u3381(&inferredExcept_1, (*(*(*b_2)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						}
						goto LA49_;
LA52_: ;
						{
							eqcopy___ast_u3381(&inferredExcept_1, (*(*b_2)._kind_6.sons.p->data[((NI)0)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						}
LA49_: ;
					}
LA47_: ;
					eqsink___ast_u3387(&(*tracked_p0).currentExceptType, inferredExcept_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					eqwasMoved___ast_u3375(&inferredExcept_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					{
						NI j_2;
						NI colontmp__5;
						NI T56_;
						NI i_8;
						j_2 = (NI)0;
						colontmp__5 = (NI)0;
						T56_ = (NI)0;
						T56_ = len__ast_u3190(b_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						colontmp__5 = (NI)(T56_ - ((NI)1));
						i_8 = ((NI)0);
						{
							while (1) {
								if (!(i_8 < colontmp__5)) goto LA58;
								j_2 = i_8;
								{
									NIM_BOOL T61_;
									tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym269__1;
									T61_ = (NIM_BOOL)0;
									T61_ = isInfixAs__ast_u7333((*b_2)._kind_6.sons.p->data[j_2]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
									if (!T61_) goto LA62_;
									xX60gensym269__1 = (*(*(*(*b_2)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)2)])._kind_4.sym).itemId;
									add__varpartitions_u1538((&(*tracked_p0).init), (NI)((NI)((NU32)(((NI) (xX60gensym269__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym269__1.item))));
								}
LA62_: ;
								i_8 += ((NI)1);
							} LA58: ;
						}
					}
					T64_ = (NI)0;
					T64_ = len__ast_u3190(b_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					track__sempass2_u5660(tracked_p0, (*b_2)._kind_6.sons.p->data[(NI)(T64_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					eqsink___ast_u3387(&(*tracked_p0).currentExceptType, savedExcept_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					eqwasMoved___ast_u3375(&savedExcept_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					{
						NI i_9;
						NI colontmp__6;
						NI T66_;
						NI i_10;
						i_9 = (NI)0;
						colontmp__6 = (NI)0;
						T66_ = (*tracked_p0).init.len;
						colontmp__6 = T66_;
						i_10 = oldState_1;
						{
							while (1) {
								if (!(i_10 < colontmp__6)) goto LA68;
								i_9 = i_10;
								addToIntersection__sempass2_u5417((&inter_1), (*tracked_p0).init.p->data[i_9], ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0));
								if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
								i_10 += ((NI)1);
							} LA68: ;
						}
					}
					{
						LA43_:;
					}
					{
						oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(inferredExcept_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						eqdestroy___ast_u3378(savedExcept_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						*nimErr_ = oldNimErrFin43_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				}
				goto LA39_;
LA41_: ;
				{
					NI T72_;
					setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_1));
					T72_ = (NI)0;
					T72_ = len__ast_u3190(b_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					track__sempass2_u5660(tracked_p0, (*b_2)._kind_6.sons.p->data[(NI)(T72_ - ((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_u3252(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 LA77_;
		setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_1));
	}
LA77_: ;
	{
		NI* id_1;
		NI* count_1;
		NI i_11;
		NI L_1;
		NI T80_;
		id_1 = (NI*)0;
		count_1 = (NI*)0;
		i_11 = ((NI)0);
		T80_ = inter_1.len;
		L_1 = T80_;
		{
			while (1) {
				if (!(i_11 < L_1)) goto LA82;
				id_1 = (&inter_1.p->data[i_11].Field0);
				count_1 = (&inter_1.p->data[i_11].Field1);
				{
					if (!((*count_1) == branches_1)) goto LA85_;
					add__varpartitions_u1538((&(*tracked_p0).init), (*id_1));
				}
LA85_: ;
				i_11 += ((NI)1);
			} LA82: ;
		}
	}
	{
		LA1_:;
	}
	{
		eqdestroy___types_u1557(inter_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, listEffects__sempass2_u5573)(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_u3197((*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_u3255(&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_u1227((*a_p0).config, (*e_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)118), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_107, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					i_2 += ((NI)1);
					{
						LA6_:;
					}
					{
						eqdestroy___system_u2691(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				} LA5: ;
			}
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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_u3197((*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_u3255(&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_u1227((*a_p0).config, (*e_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)118), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_108, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					i_4 += ((NI)1);
					{
						LA16_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__2);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				} LA15: ;
			}
		}
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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_u3197((*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_u3255(&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_u1227((*a_p0).config, (*e_3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)118), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_109, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					i_6 += ((NI)1);
					{
						LA26_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				} LA25: ;
			}
		}
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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_u5914)(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_u3190(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_u3255(&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_u5573(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_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(void, varDecl__sempass2_u2225)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym84__1;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		xX60gensym84__1 = (*(*n_p1)._kind_4.sym).itemId;
		X5BX5Deq___sempass2_u2301((&(*a_p0).scopes), (NI)((NI)((NU32)(((NI) (xX60gensym84__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym84__1.item))), (*a_p0).currentBlock);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg, breaksBlock__sempass2_u6382)(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_u3255(&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_u3190(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T3_ = (((NI)0) < T5_);
LA4_: ;
			if (!T3_) goto LA2;
			T6_ = NIM_NIL;
			T6_ = lastSon__ast_u5208(it_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto BeforeRet_;}
			eqsink___ast_u3261(&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_u3252(it_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addIdToIntersection__sempass2_u6417)(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) {
					if (!(i_2 < colontmp_)) goto LA12;
					i_1 = i_2;
					{
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym370__1;
						xX60gensym370__1 = (*resSym_p5).itemId;
						if (!((*tracked_p0).init.p->data[i_1] == (NI)((NI)((NU32)(((NI) (xX60gensym370__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym370__1.item))))) goto LA15_;
						{
							if (!!(alreadySatisfy_1)) goto LA19_;
							(*resCounter_p2) += ((NI)1);
							alreadySatisfy_1 = NIM_TRUE;
						}
LA19_: ;
					}
					goto LA13_;
LA15_: ;
					{
						addToIntersection__sempass2_u5417(inter_p1, (*tracked_p0).init.p->data[i_1], hasBreaksBlock_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA13_: ;
					i_2 += ((NI)1);
				} 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_u5417(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_u6465)(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_u5660(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_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_113);
	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_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)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_u5354((*(*tracked_p0).owner).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T16_ = (NIM_BOOL)0;
	T16_ = isEmptyType__ast_u7234(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T12_ = !(T16_);
LA15_: ;
	hasResult_1 = T12_;
	T17_ = NIM_NIL;
	{
		if (!hasResult_1) goto LA20_;
		eqcopy___ast_u4577(&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_u3190(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_u3255(&branch_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_1));
				{
					if (!interesting_1) goto LA29_;
					setLen__ast_u3718((&(*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_u3190(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_u5660(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_u5208(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				hasBreaksBlock_1 = breaksBlock__sempass2_u6382(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				{
					if (!(hasBreaksBlock_1 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA36_;
					toCover_1 += ((NI)1);
				}
LA36_: ;
				addIdToIntersection__sempass2_u6417(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_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin26_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA25: ;
		}
	}
	setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_1));
	{
		NIM_BOOL T42_;
		T42_ = (NIM_BOOL)0;
		T42_ = !(stringCase_1);
		if (T42_) goto LA43_;
		colontmpD__3 = lastSon__ast_u5208(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_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym387__1;
			T48_ = (NIM_BOOL)0;
			T48_ = hasResult_1;
			if (!(T48_)) goto LA49_;
			T50_ = (NI)0;
			T50_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T48_ = (resCounter_1 == (NI)(T50_ - ((NI)1)));
LA49_: ;
			if (!T48_) goto LA51_;
			xX60gensym387__1 = (*resSym_1).itemId;
			add__varpartitions_u1538((&(*tracked_p0).init), (NI)((NI)((NU32)(((NI) (xX60gensym387__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym387__1.item))));
		}
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);
					{
						if (!(toCover_1 <= (*count_1))) goto LA59_;
						add__varpartitions_u1538((&(*tracked_p0).init), (*id_1));
					}
LA59_: ;
					i_5 += ((NI)1);
				} LA56: ;
			}
		}
	}
LA44_: ;
	setLen__ast_u3718((&(*tracked_p0).guards.s), (oldFacts_1));
	(*tracked_p0).inIfStmt -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(resSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___types_u1557(inter_1);
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackIf__sempass2_u6582)(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_u5660(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_u5354((*(*tracked_p0).owner).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T8_ = (NIM_BOOL)0;
	T8_ = isEmptyType__ast_u7234(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = !(T8_);
LA7_: ;
	hasResult_1 = T4_;
	T9_ = NIM_NIL;
	{
		if (!hasResult_1) goto LA12_;
		eqcopy___ast_u4577(&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_u5660(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_u6382((*(*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_u6417(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_u3190(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_u3255(&branch_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				setLen__ast_u3718((&(*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_u3190(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_u403((&(*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_u3190(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_u5660(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_u5208(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				hasBreaksBlock_2 = breaksBlock__sempass2_u6382(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					if (!(hasBreaksBlock_2 == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0))) goto LA36_;
					toCover_1 += ((NI)1);
				}
LA36_: ;
				addIdToIntersection__sempass2_u6417(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_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin22_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA21: ;
		}
	}
	setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_1));
	{
		NI T42_;
		colontmpD__2 = lastSon__ast_u5208(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T42_ = (NI)0;
		T42_ = len__ast_u3190(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T42_ == ((NI)1))) goto LA43_;
		{
			NIM_BOOL T47_;
			NI T49_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym408__1;
			T47_ = (NIM_BOOL)0;
			T47_ = hasResult_1;
			if (!(T47_)) goto LA48_;
			T49_ = (NI)0;
			T49_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T47_ = (resCounter_1 == T49_);
LA48_: ;
			if (!T47_) goto LA50_;
			xX60gensym408__1 = (*resSym_1).itemId;
			add__varpartitions_u1538((&(*tracked_p0).init), (NI)((NI)((NU32)(((NI) (xX60gensym408__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym408__1.item))));
		}
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);
					{
						if (!(toCover_1 <= (*count_1))) goto LA58_;
						add__varpartitions_u1538((&(*tracked_p0).init), (*id_1));
					}
LA58_: ;
					i_5 += ((NI)1);
				} LA55: ;
			}
		}
	}
LA43_: ;
	setLen__ast_u3718((&(*tracked_p0).guards.s), (oldFacts_1));
	(*tracked_p0).inIfStmt -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___types_u1557(inter_1);
		eqdestroy___ast_u4574(resSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, trackBlock__sempass2_u6692)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2) {
NIM_BOOL oldNimErrFin28_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI myBlock_1;
		NI oldState_1;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126))) goto LA3_;
		myBlock_1 = (*tracked_p0).currentBlock;
		oldState_1 = ((NI)-1);
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(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_u7029((*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_u5660(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_u403((&(*tracked_p0).init), (oldState_1));
		}
LA20_: ;
		{
			NIM_BOOL T24_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* last_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* root_1;
			T24_ = (NIM_BOOL)0;
			T24_ = !((typ_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T24_)) goto LA25_;
			T24_ = ((*typ_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*typ_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47) || (*typ_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*typ_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48));
LA25_: ;
			if (!T24_) goto LA26_;
			last_1 = NIM_NIL;
			root_1 = NIM_NIL;
			last_1 = lastSon__ast_u5208(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			root_1 = getRoot__trees_u373(last_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			{
				NI owner_1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym418__1;
				if (!!((root_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA31_;
				xX60gensym418__1 = (*root_1).itemId;
				owner_1 = getOrDefault__sigmatch_u6826((*tracked_p0).scopes, (NI)((NI)((NU32)(((NI) (xX60gensym418__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym418__1.item))), ((NI)-1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
				{
					NimStringV2 colontmpD_;
					NimStringV2 colontmpD__2;
					NimStringV2 T38_;
					tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T39_;
					if (!(((NI)0) <= owner_1)) goto LA35_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					T38_.len = 0; T38_.p = NIM_NIL;
					T39_ = 0;
					colontmpD_ = renderTree__renderer_u59(last_1, T39_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					T38_ = rawNewString(colontmpD_.len + (*(*root_1).name).s.len + 59);
appendString((&T38_), TM__wkTG4eaV3t1uo3x09apjcwA_115);
appendString((&T38_), colontmpD_);
appendString((&T38_), TM__wkTG4eaV3t1uo3x09apjcwA_117);
appendString((&T38_), (*(*root_1).name).s);
appendString((&T38_), TM__wkTG4eaV3t1uo3x09apjcwA_119);
					colontmpD__2 = T38_;
					liMessage__msgs_u1227((*tracked_p0).config, (*last_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_120, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					{
						LA37_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__2);
						eqdestroy___system_u2691(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
				}
LA35_: ;
			}
LA31_: ;
			{
				LA28_:;
			}
			{
				oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(root_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(last_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin28_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA26_: ;
	}
	goto LA1_;
LA3_: ;
	{
		track__sempass2_u5660(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_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass2_u7188)(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_u3190((*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_u3190((*tracked_p0).exc);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).oldExc = T6_;
	T7_ = (NI)0;
	T7_ = len__ast_u3190((*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_u2128)(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_u1227((*a_p0).config, (*pragma_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_130, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_131, 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_u3197((*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_u3255(&x_1, (*(*colontmp_))._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					blitTmp_1 = x_1;
					eqwasMoved___ast_u3249(&x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					add__ast_u3225((&(*a_p0).locked), blitTmp_1);
					i_2 += ((NI)1);
				} LA8: ;
			}
		}
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass2_u7281)(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_u3255(&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_u3261(&(*bc_p2).tags, n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u3249(&n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
			T10_ = NIM_NIL;
			T10_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*pragma_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*bc_p2).tags, T10_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215((*bc_p2).tags, n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
		eqdestroy___ast_u3252(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_u3255(&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_u3261(&(*bc_p2).forbids, n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u3249(&n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA12_;
LA14_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
			T17_ = NIM_NIL;
			T17_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*pragma_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*bc_p2).forbids, T17_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215((*bc_p2).forbids, n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
		eqdestroy___ast_u3252(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_u3255(&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_u3261(&(*bc_p2).exc, n_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u3249(&n_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA19_;
LA21_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T24_;
			T24_ = NIM_NIL;
			T24_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*pragma_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T24_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*bc_p2).exc, T24_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215((*bc_p2).exc, n_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA19_: ;
		eqdestroy___ast_u3252(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_u2166(pragma_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_ = rawNewString(colontmpD_.len + 22);
appendString((&T28_), TM__wkTG4eaV3t1uo3x09apjcwA_133);
appendString((&T28_), colontmpD_);
		colontmpD__2 = T28_;
		liMessage__msgs_u1227((*tracked_p0).config, (*pragma_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_134, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		{
			LA27_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass2_u7244)(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_u5547)(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_u3255(&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_u3190(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_u5379((*(*aa_1)._kind_6.sons.p->data[i_1]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					colontmpD__2 = skipTypes__ast_u5379((*e_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_24);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = 0;
					T9_ = (NIM_BOOL)0;
					T9_ = sameType__types_u1812(colontmpD_, colontmpD__2, T8_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T9_) goto LA10_;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(aa_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA4: ;
		}
	}
	throws__sempass2_u5476((*a_p0).forbids, e_p1, comesFrom_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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_u7247)(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_u3718((&(*tracked_p0).locked), ((*bc_p1).oldLocked));
	{
		if (!!(((*bc_p1).exc == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA11_;
		setLen__ast_u3718((&(*(*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_u3197((*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_u3255(&e_1, (*(*bc_p1).exc)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						addRaiseEffect__sempass2_u5523(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_u3252(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_u3718((&(*(*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_u3197((*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_u3255(&t_1, (*(*bc_p1).tags)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						addTag__sempass2_u5537(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_u3252(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_u3718((&(*(*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_u3197((*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_u3255(&t_2, (*(*bc_p1).forbids)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						addNotTag__sempass2_u5547(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_u3252(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_u7202)(tyObject_PragmaBlockContext__9br2yup8ntfXRHgb7l8noRA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).forbids);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*(*dest_p0).forbids)));
		nimRawDispose((*dest_p0).forbids, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).tags);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3270((&(*(*dest_p0).tags)));
		nimRawDispose((*dest_p0).tags, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).exc);
		if (!T13_) goto LA14_;
		eqdestroy___ast_u3270((&(*(*dest_p0).exc)));
		nimRawDispose((*dest_p0).exc, ((NI)8));
	}
LA14_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getBody__modulegraphs_u17880)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&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_u21187(T7_, T8_, (&(*g_p0).packed_0), s_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&(*(*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_u7300)(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_u4577(&s_1, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T4_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym524__1;
			T4_ = (NIM_BOOL)0;
			T4_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T4_)) goto LA5_;
			colontmpD_ = owner__ast_u6254(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T4_ = (colontmpD_ == (*tracked_p0).owner);
LA5_: ;
			if (!T4_) goto LA6_;
			xX60gensym524__1 = (*s_1).itemId;
			incl__pureZcollectionsZintsets_u366((&(*tracked_p0).escapingParams), (NI)((NI)((NU32)(((NI) (xX60gensym524__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym524__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA6_: ;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(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_u17880((*tracked_p0).graph, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			trackInnerProc__sempass2_u7300(tracked_p0, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			{
				LA16_:;
			}
			{
				oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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_u3197(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_u3255(&ch_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						trackInnerProc__sempass2_u7300(tracked_p0, ch_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						i_2 += ((NI)1);
					} LA25: ;
				}
			}
			{
				LA22_:;
			}
			{
				oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA*, X5BX5D___sempass2_u318)(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_u126)(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_u3381(&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_u162(((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;
			T4_ = NIM_NIL;
			T4_ = skipTypes__ast_u5379(x_1, TM__wkTG4eaV3t1uo3x09apjcwA_24);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T4_); goto LA1_;}
			eqsink___ast_u3387(&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_u246(stack_1);
				eqdestroy___ast_u3378(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA7_: ;
			colontmpD_ = eqdup___ast_u3157((*x_1).itemId);
			add__sempass2_u293((&stack_1), colontmpD_);
			T9_ = NIM_NIL;
			T9_ = baseClass__ast_u5348(x_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T9_); goto LA1_;}
			eqsink___ast_u3387(&x_1, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			result.Field0 += ((NI)1);
		} LA3: ;
	}
	T10_ = (tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA*)0;
	T10_ = X5BX5D___sempass2_u318(((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_u246(stack_1);
		eqdestroy___ast_u3378(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_u385)(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_u3197(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_u3255(&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_u3190(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_u3190(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_u3190(section_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						typ_1 = skipTypes__ast_u5379((*(*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_u5348(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							T20_ = !((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA21_: ;
							if (!T20_) goto LA22_;
							tmpTuple_1 = getObjDepth__sempass2_u126(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_u457((&(*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_u1748((*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_u3375(&typ_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
										T39_.p->data[0].Field1 = blitTmp_1;
										X5BX5Deq___sempass2_u457((&(*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_u1881((&(*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_u3375(&typ_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
										T42_.Field1 = blitTmp_2;
										add__sempass2_u1966((&(*T41_)), T42_);
									}
LA34_: ;
								}
LA28_: ;
							}
LA26_: ;
						}
LA22_: ;
						{
							LA16_:;
						}
						{
							oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
							eqdestroy___ast_u3378(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_u3252(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_u7363)(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_u4218((*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_u4218((*n_p0).typField, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = isCharArrayPtr__types_u4218((*n_p0).typField, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRangeSupertype__sempass2_u2081)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* wider_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* narrower_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg wideFirst_1;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg wideLast_1;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg narrowFirst_1;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg narrowLast_1;
		NIM_BOOL T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isOrdinalType__types_u283(wider_p1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		wideFirst_1 = firstOrd__types_u1182(conf_p0, wider_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		wideLast_1 = lastOrd__types_u1298(conf_p0, wider_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		narrowFirst_1 = firstOrd__types_u1182(conf_p0, narrower_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		narrowLast_1 = lastOrd__types_u1298(conf_p0, narrower_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T6_ = (NIM_BOOL)0;
		T6_ = lteq___int128_u408(wideFirst_1, narrowFirst_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T6_)) goto LA7_;
		T6_ = lteq___int128_u408(narrowLast_1, wideLast_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA7_: ;
		result = T6_;
	}
	goto LA1_;
LA4_: ;
	{
		NIM_BOOL T9_;
		NF wideFirst_2;
		NF wideLast_2;
		NF narrowFirst_2;
		NF narrowLast_2;
		NIM_BOOL T12_;
		T9_ = (NIM_BOOL)0;
		T9_ = isOrdinalType__types_u283(narrower_p2, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T9_)) goto LA10_;
		wideFirst_2 = firstFloat__types_u1268(wider_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		wideLast_2 = lastFloat__types_u1400(wider_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		narrowFirst_2 = firstFloat__types_u1268(narrower_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		narrowLast_2 = lastFloat__types_u1400(narrower_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T12_ = (NIM_BOOL)0;
		T12_ = (wideFirst_2 <= narrowFirst_2);
		if (!(T12_)) goto LA13_;
		T12_ = (narrowLast_2 <= wideLast_2);
LA13_: ;
		result = T12_;
	}
	goto LA1_;
LA10_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldWarnRangeConversion__sempass2_u2094)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formalType_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* argType_p3) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	f_1 = NIM_NIL;
	a_1 = NIM_NIL;
	f_1 = skipTypes__ast_u5379(formalType_p2, TM__wkTG4eaV3t1uo3x09apjcwA_139);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = skipTypes__ast_u5379(argType_p3, TM__wkTG4eaV3t1uo3x09apjcwA_139);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		if (!((*f_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20))) goto LA4_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		{
			NIM_BOOL T9_;
			NIM_BOOL T10_;
			NIM_BOOL T11_;
			NIM_BOOL T12_;
			NIM_BOOL T17_;
			T9_ = (NIM_BOOL)0;
			T10_ = (NIM_BOOL)0;
			T11_ = (NIM_BOOL)0;
			T12_ = (NIM_BOOL)0;
			T12_ = ((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
			if (!(T12_)) goto LA13_;
			T12_ = !(((*f_1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA13_: ;
			T11_ = T12_;
			if (!(T11_)) goto LA14_;
			colontmpD_ = owner__ast_u6254((*f_1).sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T11_ = !((colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA14_: ;
			T10_ = T11_;
			if (!(T10_)) goto LA15_;
			colontmpD__2 = owner__ast_u6254((*f_1).sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T10_ = (((*colontmpD__2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0);
LA15_: ;
			T9_ = T10_;
			if (!(T9_)) goto LA16_;
			T17_ = (NIM_BOOL)0;
			T17_ = eqStrings((*(*(*f_1).sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_141);
			if (T17_) goto LA18_;
			T17_ = eqStrings((*(*(*f_1).sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_143);
LA18_: ;
			T9_ = T17_;
LA16_: ;
			if (!T9_) goto LA19_;
			{
				NIM_BOOL T23_;
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				NimStringV2 T27_;
				T23_ = (NIM_BOOL)0;
				T23_ = hasWarn__options_u617(conf_p0, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)88));
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				if (!T23_) goto LA24_;
				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;
				T27_.len = 0; T27_.p = NIM_NIL;
				colontmpD__3 = typeToString__types_u54(argType_p3, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				colontmpD__4 = typeToString__types_u54(formalType_p2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				T27_ = rawNewString(colontmpD__3.len + colontmpD__4.len + 4);
appendString((&T27_), colontmpD__3);
appendString((&T27_), TM__wkTG4eaV3t1uo3x09apjcwA_145);
appendString((&T27_), colontmpD__4);
				colontmpD__5 = T27_;
				liMessage__msgs_u1227(conf_p0, info_p1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)88), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_146, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				{
					LA26_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(colontmpD__3);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			}
LA24_: ;
			result = NIM_FALSE;
		}
		goto LA7_;
LA19_: ;
		{
			NIM_BOOL T31_;
			T31_ = (NIM_BOOL)0;
			T31_ = isRangeSupertype__sempass2_u2081(conf_p0, f_1, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			result = !(T31_);
		}
LA7_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = NIM_FALSE;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass2_u6870)(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_u5379(typ_p2, TM__wkTG4eaV3t1uo3x09apjcwA_155);
	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_u6891((*(*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_u6891((*(*t_1).n)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		(*highBound_1).info = (*value_p1).info;
		checkLe__sempass2_u6862(c_p0, lowBound_1, value_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		checkLe__sempass2_u6862(c_p0, value_p1, highBound_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(highBound_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(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_u3378(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_u5660)(tyObject_TEffects__329cXJC2jDM7GvgsYWH9bXuA* tracked_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin117_;
NIM_BOOL oldNimErrFin128_;
NIM_BOOL oldNimErrFin98_;
NIM_BOOL oldNimErrFin94_;
NIM_BOOL oldNimErrFin169_;
NIM_BOOL oldNimErrFin165_;
NIM_BOOL oldNimErrFin212_;
NIM_BOOL oldNimErrFin216_;
NIM_BOOL oldNimErrFin206_;
NIM_BOOL oldNimErrFin199_;
NIM_BOOL oldNimErrFin238_;
NIM_BOOL oldNimErrFin228_;
NIM_BOOL oldNimErrFin255_;
NIM_BOOL oldNimErrFin189_;
NIM_BOOL oldNimErrFin271_;
NIM_BOOL oldNimErrFin304_;
NIM_BOOL oldNimErrFin297_;
NIM_BOOL oldNimErrFin313_;
NIM_BOOL oldNimErrFin326_;
NIM_BOOL oldNimErrFin344_;
NIM_BOOL oldNimErrFin364_;
NIM_BOOL oldNimErrFin464_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		useVar__sempass2_u5344(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_u1812((*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_u3381(&(*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_u2054(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_u4170(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_u5660(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_u5523(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_u3197(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_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_2 += ((NI)1);
					} LA35: ;
				}
			}
			createTypeBoundOps__sempass2_u2029(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* en_1;
				if (!!(((*tracked_p0).currentExceptType == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA39_;
				en_1 = NIM_NIL;
				en_1 = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				eqcopy___ast_u3381(&(*en_1).typField, (*tracked_p0).currentExceptType);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				(*en_1).info = (*n_p1).info;
				addRaiseEffect__sempass2_u5523(tracked_p0, en_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				createTypeBoundOps__sempass2_u2029(tracked_p0, (*tracked_p0).currentExceptType, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				{
					LA41_:;
				}
				{
					oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(en_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin41_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA37_;
LA39_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				colontmpD_ = NIM_NIL;
				colontmpD_ = createRaise__sempass2_u5509((*tracked_p0).graph, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				addRaiseEffect__sempass2_u5523(tracked_p0, colontmpD_, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				{
					LA45_:;
				}
				{
					oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin45_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA37_: ;
		}
LA29_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		trackCall__sempass2_u6921(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		NI oldLeftPartOfAsgn_1;
		guardDotAccess__sempass2_u2156(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_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA52;
					i_3 = i_4;
					track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA52: ;
			}
		}
		(*tracked_p0).leftPartOfAsgn = oldLeftPartOfAsgn_1;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	{
		track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T56_;
			T56_ = (NIM_BOOL)0;
			T56_ = hasWarn__options_u617((*tracked_p0).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)48));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (T56_) goto LA57_;
			T56_ = (((*(*tracked_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)19)))&31U)))!=0);
LA57_: ;
			if (!T56_) goto LA58_;
			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_;
		}
LA58_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	{
		trackTryStmt__sempass2_u5663(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	{
		trackPragmaStmt__sempass2_u5914(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_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		initVar__sempass2_u3323(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_u5660(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_u6012(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 T65_;
			T65_ = (NIM_BOOL)0;
			T65_ = !(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
			if (!(T65_)) goto LA66_;
			T65_ = !(((*(*(*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)));
LA66_: ;
			if (!T65_) goto LA67_;
			createTypeBoundOps__sempass2_u2029(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA67_: ;
		{
			NIM_BOOL T71_;
			NIM_BOOL T73_;
			T71_ = (NIM_BOOL)0;
			T71_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
			if (T71_) goto LA72_;
			T73_ = (NIM_BOOL)0;
			T73_ = isLocalSym__sempass2_u2054(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T71_ = !(T73_);
LA72_: ;
			if (!T71_) goto LA74_;
			checkForSink__sempass2_u6885(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T78_;
				NIM_BOOL T79_;
				T78_ = (NIM_BOOL)0;
				T79_ = (NIM_BOOL)0;
				T79_ = (((*(*tracked_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)11)))&31U)))!=0);
				if (!(T79_)) goto LA80_;
				T79_ = !((*tracked_p0).inEnforcedNoSideEffects);
LA80_: ;
				T78_ = T79_;
				if (!(T78_)) goto LA81_;
				T78_ = isDangerousLocation__semstrictfuncs_u6((*n_p1)._kind_6.sons.p->data[((NI)0)], (*tracked_p0).owner);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA81_: ;
				if (!T78_) goto LA82_;
				(*tracked_p0).hasSideEffect = NIM_TRUE;
				{
					NimStringV2 colontmpD__2;
					NimStringV2 colontmpD__3;
					tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T89_;
					if (!(((*(*tracked_p0).owner).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)12)))&63U)))!=0)) goto LA86_;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					T89_ = 0;
					colontmpD__2 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)0)], T89_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
					colontmpD__3 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_111, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
					liMessage__msgs_u1227((*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_112, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
					{
						LA88_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__3);
						eqdestroy___system_u2691(colontmpD__2);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA86_: ;
			}
LA82_: ;
		}
LA74_: ;
	}
	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_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
				i_6 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* last_1;
						if (!(i_6 < colontmp__3)) goto LA97;
						last_1 = NIM_NIL;
						i_5 = i_6;
						eqcopy___ast_u3255(&child_1, (*n_p1)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
						last_1 = lastSon__ast_u5208(child_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
						{
							if (!!(((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA101_;
							track__sempass2_u5660(tracked_p0, last_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
						}
LA101_: ;
						{
							if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA105_;
							{
								NI T111_;
								if (!((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA109_;
								T111_ = (NI)0;
								T111_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
								createTypeBoundOps__sempass2_u2029(tracked_p0, (*(*child_1)._kind_6.sons.p->data[(NI)(T111_ - ((NI)1))]).typField, (*child_1).info, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
								{
									NI i_7;
									NI colontmp__4;
									NI T113_;
									NI i_8;
									i_7 = (NI)0;
									colontmp__4 = (NI)0;
									T113_ = (NI)0;
									T113_ = len__ast_u3190(child_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
									colontmp__4 = (NI)(T113_ - ((NI)2));
									i_8 = ((NI)0);
									{
										while (1) {
											if (!(i_8 < colontmp__4)) goto LA115;
											i_7 = i_8;
											createTypeBoundOps__sempass2_u2029(tracked_p0, (*(*child_1)._kind_6.sons.p->data[i_7]).typField, (*child_1).info, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
											i_8 += ((NI)1);
										} LA115: ;
									}
								}
							}
							goto LA107_;
LA109_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
								colontmpD__4 = NIM_NIL;
								colontmpD__4 = skipPragmaExpr__ast_u4047((*child_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
								createTypeBoundOps__sempass2_u2029(tracked_p0, (*colontmpD__4).typField, (*child_1).info, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
								{
									LA117_:;
								}
								{
									oldNimErrFin117_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
									*nimErr_ = oldNimErrFin117_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
							}
LA107_: ;
						}
LA105_: ;
						{
							if (!((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35))) goto LA122_;
							{
								NI i_9;
								NI colontmp__5;
								NI T125_;
								NI i_10;
								i_9 = (NI)0;
								colontmp__5 = (NI)0;
								T125_ = (NI)0;
								T125_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
								colontmp__5 = (NI)(T125_ - ((NI)2));
								i_10 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
										if (!(i_10 < colontmp__5)) goto LA127;
										a_1 = NIM_NIL;
										i_9 = i_10;
										a_1 = skipPragmaExpr__ast_u4047((*child_1)._kind_6.sons.p->data[i_9]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
										varDecl__sempass2_u2225(tracked_p0, a_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
										{
											if (!!(((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA131_;
											initVar__sempass2_u3323(tracked_p0, a_1, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
											addAsgnFact__guards_u1619((&(*tracked_p0).guards), a_1, last_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
											notNilCheck__sempass2_u6012(tracked_p0, last_1, (*a_1).typField);
											if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
										}
LA131_: ;
										i_10 += ((NI)1);
										{
											LA128_:;
										}
										{
											oldNimErrFin128_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(a_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
											*nimErr_ = oldNimErrFin128_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
									} LA127: ;
								}
							}
						}
						goto LA120_;
LA122_: ;
						{
							if (!((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA136_;
							{
								NI i_11;
								NI colontmp__6;
								NI T139_;
								NI i_12;
								i_11 = (NI)0;
								colontmp__6 = (NI)0;
								T139_ = (NI)0;
								T139_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
								colontmp__6 = (NI)(T139_ - ((NI)1));
								i_12 = ((NI)0);
								{
									while (1) {
										if (!(i_12 < colontmp__6)) goto LA141;
										i_11 = i_12;
										{
											{
												NIM_BOOL T145_;
												NIM_BOOL T147_;
												T145_ = (NIM_BOOL)0;
												T145_ = ((*(*child_1)._kind_6.sons.p->data[i_11]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
												if (T145_) goto LA146_;
												T147_ = (NIM_BOOL)0;
												T147_ = ((*(*child_1)._kind_6.sons.p->data[i_11]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
												if (!(T147_)) goto LA148_;
												T147_ = ((*(*(*(*child_1)._kind_6.sons.p->data[i_11])._kind_4.sym).name).id == ((NI)74));
LA148_: ;
												T145_ = T147_;
LA146_: ;
												if (!T145_) goto LA149_;
												goto LA142;
											}
LA149_: ;
											varDecl__sempass2_u2225(tracked_p0, (*child_1)._kind_6.sons.p->data[i_11]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
											{
												if (!!(((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA153_;
												initVar__sempass2_u3323(tracked_p0, (*child_1)._kind_6.sons.p->data[i_11], NIM_FALSE);
												if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
											}
LA153_: ;
											{
												if (!((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA157_;
												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 LA98_;
												notNilCheck__sempass2_u6012(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 LA98_;
											}
LA157_: ;
										} LA142: ;
										i_12 += ((NI)1);
									} LA141: ;
								}
							}
						}
						goto LA120_;
LA136_: ;
LA120_: ;
						i_6 += ((NI)1);
						{
							LA98_:;
						}
						{
							oldNimErrFin98_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(last_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
							*nimErr_ = oldNimErrFin98_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
					} LA97: ;
				}
			}
			{
				LA94_:;
			}
			{
				oldNimErrFin94_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin94_;
			}
			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_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
				i_14 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* last_2;
						if (!(i_14 < colontmp__7)) goto LA168;
						last_2 = NIM_NIL;
						i_13 = i_14;
						eqcopy___ast_u3255(&child_2, (*n_p1)._kind_6.sons.p->data[i_13]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
						last_2 = lastSon__ast_u5208(child_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
						track__sempass2_u5660(tracked_p0, last_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
						i_14 += ((NI)1);
						{
							LA169_:;
						}
						{
							oldNimErrFin169_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(last_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
							*nimErr_ = oldNimErrFin169_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
					} LA168: ;
				}
			}
			{
				LA165_:;
			}
			{
				oldNimErrFin165_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin165_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		trackCase__sempass2_u6465(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
	{
		NI oldState_1;
		NI T176_;
		T176_ = (*tracked_p0).init.len;
		oldState_1 = T176_;
		track__sempass2_u5660(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_u403((&(*tracked_p0).init), (oldState_1));
		track__sempass2_u5660(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_u6582(tracked_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
	{
		trackBlock__sempass2_u6692(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	{
		(*tracked_p0).currentBlock += ((NI)1);
		{
			NIM_BOOL T182_;
			T182_ = (NIM_BOOL)0;
			T182_ = isTrue__ast_u7675((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T182_) goto LA183_;
			trackBlock__sempass2_u6692(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA180_;
LA183_: ;
		{
			NI oldState_2;
			NI T186_;
			NI oldFacts_1;
			NI T187_;
			T186_ = (*tracked_p0).init.len;
			oldState_2 = T186_;
			T187_ = (*tracked_p0).guards.s.len;
			oldFacts_1 = T187_;
			addFact__guards_u476((&(*tracked_p0).guards), (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_2));
			setLen__ast_u3718((&(*tracked_p0).guards.s), (oldFacts_1));
		}
LA180_: ;
		(*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 T190_;
		NI oldFacts_2;
		NI T191_;
		NI T192_;
		NI T247_;
		iterCall_1 = NIM_NIL;
		loopBody_1 = NIM_NIL;
		(*tracked_p0).currentBlock += ((NI)1);
		T190_ = (*tracked_p0).init.len;
		oldState_3 = T190_;
		T191_ = (*tracked_p0).guards.s.len;
		oldFacts_2 = T191_;
		T192_ = (NI)0;
		T192_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		eqcopy___ast_u3255(&iterCall_1, (*n_p1)._kind_6.sons.p->data[(NI)(T192_ - ((NI)2))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		{
			NIM_BOOL T195_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_1;
			T195_ = (NIM_BOOL)0;
			T195_ = (((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0);
			if (!(T195_)) goto LA196_;
			T195_ = ((*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));
LA196_: ;
			if (!T195_) goto LA197_;
			op_1 = NIM_NIL;
			eqcopy___ast_u3255(&op_1, (*iterCall_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA199_;
			{
				NIM_BOOL T202_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* iterVar_1;
				T202_ = (NIM_BOOL)0;
				T202_ = ((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T202_)) goto LA203_;
				T202_ = fromSystem__astalgo_u184((*op_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA199_;
LA203_: ;
				if (!T202_) goto LA204_;
				iterVar_1 = NIM_NIL;
				eqcopy___ast_u3255(&iterVar_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_122)) goto LA207_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_124)) goto LA207_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_126)) goto LA207_;
				if (eqStrings((*(*(*op_1)._kind_4.sym).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_128)) goto LA208_;
				goto LA209_;
				LA207_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lower_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* upper_1;
					lower_1 = NIM_NIL;
					upper_1 = NIM_NIL;
					eqcopy___ast_u3255(&lower_1, (*iterCall_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
					eqcopy___ast_u3255(&upper_1, (*iterCall_1)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
					addFactLe__guards_u1553((&(*tracked_p0).guards), lower_1, iterVar_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
					addFactLe__guards_u1553((&(*tracked_p0).guards), iterVar_1, upper_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
					{
						LA212_:;
					}
					{
						oldNimErrFin212_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(upper_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						eqdestroy___ast_u3252(lower_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						*nimErr_ = oldNimErrFin212_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
				}
				goto LA210_;
				LA208_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lower_2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* upper_2;
					lower_2 = NIM_NIL;
					upper_2 = NIM_NIL;
					eqcopy___ast_u3255(&lower_2, (*iterCall_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA216_;
					eqcopy___ast_u3255(&upper_2, (*iterCall_1)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA216_;
					addFactLe__guards_u1553((&(*tracked_p0).guards), lower_2, iterVar_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA216_;
					addFactLt__guards_u1561((&(*tracked_p0).guards), iterVar_1, upper_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA216_;
					{
						LA216_:;
					}
					{
						oldNimErrFin216_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(upper_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						eqdestroy___ast_u3252(lower_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						*nimErr_ = oldNimErrFin216_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
				}
				goto LA210_;
				LA209_: ;
				{
				}
LA210_: ;
				{
					LA206_:;
				}
				{
					oldNimErrFin206_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(iterVar_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA199_;
					*nimErr_ = oldNimErrFin206_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA199_;
			}
LA204_: ;
			{
				LA199_:;
			}
			{
				oldNimErrFin199_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
				*nimErr_ = oldNimErrFin199_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		}
LA197_: ;
		{
			NI i_15;
			NI colontmp__8;
			NI T225_;
			NI i_16;
			i_15 = (NI)0;
			colontmp__8 = (NI)0;
			T225_ = (NI)0;
			T225_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
			colontmp__8 = (NI)(T225_ - ((NI)2));
			i_16 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					if (!(i_16 < colontmp__8)) goto LA227;
					it_1 = NIM_NIL;
					i_15 = i_16;
					eqcopy___ast_u3255(&it_1, (*n_p1)._kind_6.sons.p->data[i_15]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
					track__sempass2_u5660(tracked_p0, it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
					{
						if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA231_;
						{
							if (!((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA235_;
							{
								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_u3197(it_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
									i_18 = ((NI)0);
									{
										while (1) {
											if (!(i_18 < colontmp__9)) goto LA241;
											i_17 = i_18;
											eqcopy___ast_u3255(&x_1, (*it_1)._kind_6.sons.p->data[i_17]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
											createTypeBoundOps__sempass2_u2029(tracked_p0, (*x_1).typField, (*x_1).info, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA238_;
											i_18 += ((NI)1);
										} LA241: ;
									}
								}
								{
									LA238_:;
								}
								{
									oldNimErrFin238_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
									*nimErr_ = oldNimErrFin238_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
							}
						}
						goto LA233_;
LA235_: ;
						{
							createTypeBoundOps__sempass2_u2029(tracked_p0, (*it_1).typField, (*it_1).info, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
						}
LA233_: ;
					}
LA231_: ;
					i_16 += ((NI)1);
					{
						LA228_:;
					}
					{
						oldNimErrFin228_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
						*nimErr_ = oldNimErrFin228_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
				} LA227: ;
			}
		}
		T247_ = (NI)0;
		T247_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		eqcopy___ast_u3255(&loopBody_1, (*n_p1)._kind_6.sons.p->data[(NI)(T247_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		{
			NIM_BOOL T250_;
			NI T252_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
			T250_ = (NIM_BOOL)0;
			T250_ = !(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
			if (!(T250_)) goto LA251_;
			T252_ = (NI)0;
			T252_ = safeLen__ast_u3197(iterCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
			T250_ = (((NI)1) < T252_);
LA251_: ;
			if (!T250_) goto LA253_;
			colontmpD__5 = NIM_NIL;
			{
				NIM_BOOL T258_;
				T258_ = (NIM_BOOL)0;
				T258_ = !(((*(*iterCall_1)._kind_6.sons.p->data[((NI)1)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T258_)) goto LA259_;
				colontmpD__5 = skipTypes__ast_u5379((*(*iterCall_1)._kind_6.sons.p->data[((NI)1)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_43);
				if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
				T258_ = !(((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48) || (*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27)));
LA259_: ;
				if (!T258_) goto LA260_;
				createTypeBoundOps__sempass2_u2029(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 LA255_;
			}
LA260_: ;
			{
				LA255_:;
			}
			{
				oldNimErrFin255_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
				*nimErr_ = oldNimErrFin255_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		}
LA253_: ;
		track__sempass2_u5660(tracked_p0, iterCall_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		track__sempass2_u5660(tracked_p0, loopBody_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
		setLen__pureZosproc_u403((&(*tracked_p0).init), (oldState_3));
		setLen__ast_u3718((&(*tracked_p0).guards.s), (oldFacts_2));
		(*tracked_p0).currentBlock -= ((NI)1);
		{
			LA189_:;
		}
		{
			oldNimErrFin189_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(loopBody_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(iterCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin189_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		NI oldFacts_3;
		NI T267_;
		T267_ = (*tracked_p0).guards.s.len;
		oldFacts_3 = T267_;
		{
			NI i_19;
			NI colontmp__10;
			NI i_20;
			i_19 = (NI)0;
			colontmp__10 = (NI)0;
			colontmp__10 = len__ast_u3190(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 LA270;
					x_2 = NIM_NIL;
					i_19 = i_20;
					eqcopy___ast_u3255(&x_2, (*n_p1)._kind_6.sons.p->data[i_19]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
					track__sempass2_u5660(tracked_p0, x_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
					{
						NIM_BOOL T274_;
						T274_ = (NIM_BOOL)0;
						T274_ = ((*(*x_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T274_)) goto LA275_;
						T274_ = (((*(*(*x_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)20)))&63U)))!=0);
LA275_: ;
						if (!T274_) goto LA276_;
						addDiscriminantFact__guards_u1611((&(*tracked_p0).guards), x_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
					}
LA276_: ;
					{
						if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA280_;
						createTypeBoundOps__sempass2_u2029(tracked_p0, (*(*x_2)._kind_6.sons.p->data[((NI)1)]).typField, (*n_p1).info, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
					}
LA280_: ;
					{
						if (!((*x_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA284_;
						{
							if (!((*(*x_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA288_;
							notNilCheck__sempass2_u6012(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 LA271_;
						}
LA288_: ;
						checkForSink__sempass2_u6885(tracked_p0, (*x_2)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
					}
					goto LA282_;
LA284_: ;
					{
						checkForSink__sempass2_u6885(tracked_p0, x_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
					}
LA282_: ;
					i_20 += ((NI)1);
					{
						LA271_:;
					}
					{
						oldNimErrFin271_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(x_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin271_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA270: ;
			}
		}
		setLen__ast_u3718((&(*tracked_p0).guards.s), (oldFacts_3));
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
			if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA295_;
			colontmpD__6 = NIM_NIL;
			{
				NIM_BOOL T300_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
				T300_ = (NIM_BOOL)0;
				T300_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T300_)) goto LA301_;
				colontmpD__6 = skipTypes__ast_u5379((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_48);
				if (NIM_UNLIKELY(*nimErr_)) goto LA297_;
				T300_ = ((*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA301_: ;
				if (!T300_) goto LA302_;
				colontmpD__7 = NIM_NIL;
				colontmpD__7 = elementType__ast_u5331((*n_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA304_;
				createTypeBoundOps__sempass2_u2029(tracked_p0, colontmpD__7, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA304_;
				{
					LA304_:;
				}
				{
					oldNimErrFin304_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__7);
					if (NIM_UNLIKELY(*nimErr_)) goto LA297_;
					*nimErr_ = oldNimErrFin304_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA297_;
			}
LA302_: ;
			createTypeBoundOps__sempass2_u2029(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA297_;
			{
				LA297_:;
			}
			{
				oldNimErrFin297_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin297_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA295_: ;
	}
	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_u3190(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 LA312;
					colontmpD__8 = NIM_NIL;
					i_21 = i_22;
					track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_21]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
					colontmpD__8 = skipColon__ast_u7347((*n_p1)._kind_6.sons.p->data[i_21]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
					notNilCheck__sempass2_u6012(tracked_p0, colontmpD__8, (*(*n_p1)._kind_6.sons.p->data[i_21]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
					{
						if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA316_;
						{
							if (!((*(*n_p1)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA320_;
							createTypeBoundOps__sempass2_u2029(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 LA313_;
						}
						goto LA318_;
LA320_: ;
						{
							createTypeBoundOps__sempass2_u2029(tracked_p0, (*(*n_p1)._kind_6.sons.p->data[i_21]).typField, (*n_p1).info, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
						}
LA318_: ;
					}
LA316_: ;
					checkForSink__sempass2_u6885(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_21]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
					i_22 += ((NI)1);
					{
						LA313_:;
					}
					{
						oldNimErrFin313_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__8);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin313_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA312: ;
			}
		}
	}
	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_u3255(&pragmaList_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
		createBlockContext__sempass2_u7188(tracked_p0, (&bc_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
		{
			NI i_23;
			NI colontmp__12;
			NI i_24;
			i_23 = (NI)0;
			colontmp__12 = (NI)0;
			colontmp__12 = len__ast_u3190(pragmaList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
			i_24 = ((NI)0);
			{
				while (1) {
					tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw pragma_1;
					if (!(i_24 < colontmp__12)) goto LA329;
					i_23 = i_24;
					pragma_1 = whichPragma__trees_u218((*pragmaList_1)._kind_6.sons.p->data[i_23]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
					switch (pragma_1) {
					case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)225):
					{
						lockLocations__sempass2_u2128(tracked_p0, (*pragmaList_1)._kind_6.sons.p->data[i_23]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
					}
					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_u7281(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 LA326_;
					}
					break;
					default:
					{
					}
					break;
					}
					i_24 += ((NI)1);
				} LA329: ;
			}
		}
		applyBlockContext__sempass2_u7244(tracked_p0, (&bc_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
		colontmpD__9 = lastSon__ast_u5208(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
		track__sempass2_u5660(tracked_p0, colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
		unapplyBlockContext__sempass2_u7247(tracked_p0, (&bc_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
		{
			LA326_:;
		}
		{
			oldNimErrFin326_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___sempass2_u7202((&bc_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(pragmaList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin326_;
		}
		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 T340_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			T340_ = (NIM_BOOL)0;
			T340_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T340_)) goto LA341_;
			T340_ = !(((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA341_: ;
			if (!T340_) goto LA342_;
			colontmpD__10 = NIM_NIL;
			colontmpD__10 = getBody__modulegraphs_u17880((*tracked_p0).graph, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA344_;
			trackInnerProc__sempass2_u7300(tracked_p0, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA344_;
			{
				LA344_:;
			}
			{
				oldNimErrFin344_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin344_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA342_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	{
		{
			if (!(*tracked_p0).isTopLevel) goto LA351_;
			collectObjectTree__sempass2_u385((*tracked_p0).graph, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA351_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	{
		{
			NI T356_;
			T356_ = (NI)0;
			T356_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T356_ == ((NI)2))) goto LA357_;
			track__sempass2_u5660(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 LA361_;
				createTypeBoundOps__sempass2_u2029(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA361_: ;
		}
LA357_: ;
	}
	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 T367_;
			NIM_BOOL T368_;
			NIM_BOOL T371_;
			NimStringV2 colontmpD__13;
			NimStringV2 colontmpD__14;
			T367_ = (NIM_BOOL)0;
			T368_ = (NIM_BOOL)0;
			T368_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59));
			if (!(T368_)) goto LA369_;
			colontmpD__11 = skipTypes__ast_u5379((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_48);
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			T368_ = ((*colontmpD__11).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29));
LA369_: ;
			T367_ = T368_;
			if (!(T367_)) goto LA370_;
			T371_ = (NIM_BOOL)0;
			T371_ = allowCStringConv__sempass2_u7363((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			T367_ = !(T371_);
LA370_: ;
			if (!T367_) goto LA372_;
			colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
			colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
			colontmpD__13 = dollar___renderer_u2166((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			colontmpD__14 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_136, colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			liMessage__msgs_u1227((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)71), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_137, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			{
				LA374_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__14);
				eqdestroy___system_u2691(colontmpD__13);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
		}
LA372_: ;
		{
			NIM_BOOL T379_;
			NimStringV2 colontmpD__15;
			T379_ = (NIM_BOOL)0;
			colontmpD__12 = skipTypes__ast_u5379((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_48);
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			T379_ = ((*colontmpD__12).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29));
			if (!(T379_)) goto LA380_;
			T379_ = isCharArrayPtr__types_u4218((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
LA380_: ;
			if (!T379_) goto LA381_;
			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 LA383_;
			liMessage__msgs_u1227((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)72), colontmpD__15, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_138, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA383_;
			{
				LA383_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__15);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
		}
LA381_: ;
		{
			NIM_BOOL T388_;
			NIM_BOOL T389_;
			NIM_BOOL T390_;
			NimStringV2 colontmpD__16;
			NimStringV2 colontmpD__17;
			NimStringV2 colontmpD__18;
			NimStringV2 T397_;
			T388_ = (NIM_BOOL)0;
			T389_ = (NIM_BOOL)0;
			T390_ = (NIM_BOOL)0;
			T390_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58));
			if (!(T390_)) goto LA391_;
			T390_ = !((*tracked_p0).isArrayIndexing);
LA391_: ;
			T389_ = T390_;
			if (!(T389_)) goto LA392_;
			T389_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) && (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)19)));
LA392_: ;
			T388_ = T389_;
			if (!(T388_)) goto LA393_;
			T388_ = shouldWarnRangeConversion__sempass2_u2094((*tracked_p0).config, (*n_p1).info, (*n_p1).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
LA393_: ;
			if (!T388_) goto LA394_;
			colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
			colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
			colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
			T397_.len = 0; T397_.p = NIM_NIL;
			colontmpD__16 = typeToString__types_u54((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA396_;
			colontmpD__17 = typeToString__types_u54((*n_p1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA396_;
			T397_ = rawNewString(colontmpD__16.len + colontmpD__17.len + 4);
appendString((&T397_), colontmpD__16);
appendString((&T397_), TM__wkTG4eaV3t1uo3x09apjcwA_147);
appendString((&T397_), colontmpD__17);
			colontmpD__18 = T397_;
			liMessage__msgs_u1227((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)87), colontmpD__18, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_148, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA396_;
			{
				LA396_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__18);
				eqdestroy___system_u2691(colontmpD__17);
				eqdestroy___system_u2691(colontmpD__16);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
		}
LA394_: ;
		t_1 = skipTypes__ast_u5379((*n_p1).typField, TM__wkTG4eaV3t1uo3x09apjcwA_48);
		if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
		{
			if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14))) goto LA402_;
			{
				NimStringV2 colontmpD__19;
				NimStringV2 colontmpD__20;
				if (!(((*t_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)5)))&63U)))!=0)) goto LA406_;
				colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
				colontmpD__20.len = 0; colontmpD__20.p = NIM_NIL;
				colontmpD__19 = dollar___renderer_u2166(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
				colontmpD__20 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_150, colontmpD__19);
				if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
				liMessage__msgs_u1227((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)70), colontmpD__20, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_151, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
				{
					LA408_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__20);
					eqdestroy___system_u2691(colontmpD__19);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			}
			goto LA404_;
LA406_: ;
			{
				NimStringV2 colontmpD__21;
				NimStringV2 colontmpD__22;
				colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
				colontmpD__22.len = 0; colontmpD__22.p = NIM_NIL;
				colontmpD__21 = dollar___renderer_u2166(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA412_;
				colontmpD__22 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_153, colontmpD__21);
				if (NIM_UNLIKELY(*nimErr_)) goto LA412_;
				liMessage__msgs_u1227((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)69), colontmpD__22, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_154, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA412_;
				{
					LA412_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__22);
					eqdestroy___system_u2691(colontmpD__21);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			}
LA404_: ;
		}
LA402_: ;
		{
			NI T417_;
			T417_ = (NI)0;
			T417_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			if (!(T417_ == ((NI)2))) goto LA418_;
			track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			{
				if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA422_;
				createTypeBoundOps__sempass2_u2029(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
				{
					if (!!(((*(*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28)))) goto LA426_;
					createTypeBoundOps__sempass2_u2029(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 LA364_;
				}
LA426_: ;
			}
LA422_: ;
			{
				if (!(((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0)) goto LA430_;
				checkRange__sempass2_u6870(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], (*n_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA364_;
			}
LA430_: ;
		}
LA418_: ;
		{
			LA364_:;
		}
		{
			oldNimErrFin364_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin364_;
		}
		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 T437_;
			T437_ = (NI)0;
			T437_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T437_ == ((NI)1))) goto LA438_;
			track__sempass2_u5660(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 LA442_;
				createTypeBoundOps__sempass2_u2029(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				createTypeBoundOps__sempass2_u2029(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_;
			}
LA442_: ;
			{
				if (!(((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0)) goto LA446_;
				checkRange__sempass2_u6870(tracked_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA446_: ;
		}
LA438_: ;
	}
	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_u3197(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_26 = ((NI)0);
			{
				while (1) {
					if (!(i_26 < colontmp__13)) goto LA451;
					i_25 = i_26;
					track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_25]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					checkForSink__sempass2_u6885(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_25]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_26 += ((NI)1);
				} LA451: ;
			}
		}
		{
			if (!!(((*(*tracked_p0).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA454_;
			createTypeBoundOps__sempass2_u2029(tracked_p0, (*n_p1).typField, (*n_p1).info, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA454_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		{
			NIM_BOOL T459_;
			NI T461_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__23;
			T459_ = (NIM_BOOL)0;
			T459_ = (((*tracked_p0).currOptions &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)9)))&31U)))!=0);
			if (!(T459_)) goto LA460_;
			T461_ = (NI)0;
			T461_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T459_ = (T461_ == ((NI)2));
LA460_: ;
			if (!T459_) goto LA462_;
			colontmpD__23 = NIM_NIL;
			{
				NIM_BOOL T467_;
				T467_ = (NIM_BOOL)0;
				T467_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T467_)) goto LA468_;
				colontmpD__23 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__wkTG4eaV3t1uo3x09apjcwA_43);
				if (NIM_UNLIKELY(*nimErr_)) goto LA464_;
				T467_ = !(((*colontmpD__23).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18)));
LA468_: ;
				if (!T467_) goto LA469_;
				checkBounds__sempass2_u6866(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 LA464_;
			}
LA469_: ;
			{
				LA464_:;
			}
			{
				oldNimErrFin464_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__23);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin464_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA462_: ;
		track__sempass2_u5660(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_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_28 = ((NI)1);
			{
				while (1) {
					if (!(i_28 < colontmp__14)) goto LA475;
					i_27 = i_28;
					{
						if (!(i_27 == ((NI)1))) goto LA478_;
						(*tracked_p0).isArrayIndexing = NIM_TRUE;
					}
LA478_: ;
					track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_27]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!(i_27 == ((NI)1))) goto LA482_;
						(*tracked_p0).isArrayIndexing = NIM_FALSE;
					}
LA482_: ;
					i_28 += ((NI)1);
				} LA475: ;
			}
		}
		(*tracked_p0).leftPartOfAsgn += ((NI)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)161):
	{
		NimStringV2 colontmpD__24;
		colontmpD__24.len = 0; colontmpD__24.p = NIM_NIL;
		colontmpD__24 = errorToString__errorhandling_u83((*tracked_p0).config, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA485_;
		liMessage__msgs_u1227((*tracked_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__24, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_156, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA485_;
		{
			LA485_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__24);
		}
		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_u3197(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_30 = ((NI)0);
			{
				while (1) {
					if (!(i_30 < colontmp__15)) goto LA491;
					i_29 = i_30;
					track__sempass2_u5660(tracked_p0, (*n_p1)._kind_6.sons.p->data[i_29]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_30 += ((NI)1);
				} LA491: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isClosure__ast_u7441)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
	if (!(T1_)) goto LA2_;
	T1_ = ((*typ_p0).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass2_u6833)(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_u4577(&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_u3190((*fn_1).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			T10_ = (((NI)7) < T16_);
LA15_: ;
			if (!T10_) goto LA17_;
			eqcopy___ast_u4577(&(*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_u1227((*c_p0).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_170, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_171, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(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_u3197(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_u6833(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_u3564)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, NIM_BOOL onlyWarning_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* cycleCheck_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* u_1;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	u_1 = NIM_NIL;
	eqcopy___ast_u4577(&u_1, (*s_p0)._kind_1.gcUnsafetyReason);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym118__1;
		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_;
		xX60gensym118__1 = (*u_1).itemId;
		T6_ = (NIM_BOOL)0;
		T6_ = containsOrIncl__astyaml_u223(cycleCheck_p2, (NI)((NI)((NU32)(((NI) (xX60gensym118__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym118__1.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__pK4u9cQ1bJzH46rrmNu9bPMQ T21_;
				colontmpD__3 = skipTypes__ast_u5379((*u_1).typ, TM__wkTG4eaV3t1uo3x09apjcwA_48);
				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_173, T21_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				liMessage__msgs_u1227(conf_p3, (*s_p0).info, msgKind_1, colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_174, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				{
					LA20_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__4);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			}
			goto LA16_;
LA18_: ;
			{
				NimStringV2 colontmpD__5;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ 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_176, T26_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				liMessage__msgs_u1227(conf_p3, (*s_p0).info, msgKind_1, colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_177, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				{
					LA25_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__5);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			}
LA16_: ;
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(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__YgExxhfgKcesA5EOUj1MOA 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_179, T39_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				liMessage__msgs_u1227(conf_p3, (*u_1).info, msgKind_1, colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_180, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				{
					LA38_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA32_;
LA36_: ;
			{
				NimStringV2 colontmpD__7;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T44_;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				listGcUnsafety__sempass2_u3564(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_181, T44_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				liMessage__msgs_u1227(conf_p3, (*s_p0).info, msgKind_1, colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_182, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
				{
					LA43_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__7);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA32_: ;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21):
		{
			NimStringV2 colontmpD__8;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ 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_184, T49_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			liMessage__msgs_u1227(conf_p3, (*s_p0).info, msgKind_1, colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_185, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			{
				LA48_:;
			}
			{
				eqdestroy___system_u2691(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_187, (*(*s_p0).name).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			liMessage__msgs_u1227(conf_p3, (*u_1).info, msgKind_1, colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_188, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			{
				LA53_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__9);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		}
	}
LA7_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(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_u3608)(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_u3564(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_u3613)(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) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym132__1;
		NIM_BOOL T3_;
		xX60gensym132__1 = (*s_p1).itemId;
		T3_ = (NIM_BOOL)0;
		T3_ = hasKey__sempass2_u3678((*context_p4).sideEffects, (NI)((NI)((NU32)(((NI) (xX60gensym132__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym132__1.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA* useLineInfo_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** u_1;
			tySequence__KYLoGmc5aaHsSDjEH1FTxQ* colontmp_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym136__1;
			NI i_1;
			NI L_1;
			NI T7_;
			useLineInfo_1 = (tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA*)0;
			u_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
			colontmp_ = (tySequence__KYLoGmc5aaHsSDjEH1FTxQ*)0;
			xX60gensym136__1 = (*s_p1).itemId;
			colontmp_ = X5BX5D___sempass2_u3999((&(*context_p4).sideEffects), (NI)((NI)((NU32)(((NI) (xX60gensym136__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym136__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_1 = ((NI)0);
			T7_ = (*colontmp_).len;
			L_1 = T7_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA9;
					useLineInfo_1 = (&(*colontmp_).p->data[i_1].Field0);
					u_1 = &(*colontmp_).p->data[i_1].Field1;
					{
						NIM_BOOL T12_;
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym141__1;
						NIM_BOOL T14_;
						T12_ = (NIM_BOOL)0;
						T12_ = !(((*u_1) == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T12_)) goto LA13_;
						xX60gensym141__1 = (*(*u_1)).itemId;
						T14_ = (NIM_BOOL)0;
						T14_ = containsOrIncl__astyaml_u223(cycleCheck_p2, (NI)((NI)((NU32)(((NI) (xX60gensym141__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym141__1.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T12_ = !(T14_);
LA13_: ;
						if (!T12_) goto LA15_;
						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__Seu7uK9aaOSN0BK3EAjjSHw T19_;
							tyArray__Seu7uK9aaOSN0BK3EAjjSHw T20_;
							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_195, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							T19_[0] = colontmpD_;
							colontmpD__2 = dollar___msgs_u714(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							T19_[1] = colontmpD__2;
							T19_[2] = (*(*s_p1).name).s;
							colontmpD__3 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_197, (*(*(*u_1)).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							T19_[3] = colontmpD__3;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_193, T19_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							colontmpD__4 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_199, ((NI)(indentLevel_p5 + ((NI)1))));
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							T20_[0] = colontmpD__4;
							colontmpD__5 = dollar___msgs_u714(conf_p3, (*(*u_1)).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							T20_[1] = colontmpD__5;
							T20_[2] = (*(*(*u_1)).name).s;
							colontmpD__6 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_201, (*(*s_p1).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							T20_[3] = colontmpD__6;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_198, T20_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							{
								LA18_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__6);
								eqdestroy___system_u2691(colontmpD__5);
								eqdestroy___system_u2691(colontmpD__4);
								eqdestroy___system_u2691(colontmpD__3);
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___system_u2691(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						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__Seu7uK9aaOSN0BK3EAjjSHw T25_;
							tyArray__Seu7uK9aaOSN0BK3EAjjSHw T26_;
							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_203, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T25_[0] = colontmpD__7;
							colontmpD__8 = dollar___msgs_u714(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T25_[1] = colontmpD__8;
							T25_[2] = (*(*s_p1).name).s;
							colontmpD__9 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_205, (*(*(*u_1)).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T25_[3] = colontmpD__9;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_202, T25_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							colontmpD__10 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_207, ((NI)(indentLevel_p5 + ((NI)1))));
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T26_[0] = colontmpD__10;
							colontmpD__11 = dollar___msgs_u714(conf_p3, (*(*u_1)).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T26_[1] = colontmpD__11;
							T26_[2] = (*(*(*u_1)).name).s;
							colontmpD__12 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_209, (*(*s_p1).name).s);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T26_[3] = colontmpD__12;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_206, T26_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							listSideEffects__sempass2_u3613(result_p0, (*u_1), cycleCheck_p2, conf_p3, context_p4, (NI)(indentLevel_p5 + ((NI)2)));
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							{
								LA24_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__12);
								eqdestroy___system_u2691(colontmpD__11);
								eqdestroy___system_u2691(colontmpD__10);
								eqdestroy___system_u2691(colontmpD__9);
								eqdestroy___system_u2691(colontmpD__8);
								eqdestroy___system_u2691(colontmpD__7);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						break;
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21):
						{
							NimStringV2 colontmpD__13;
							NimStringV2 colontmpD__14;
							tyArray__Seu7uK9aaOSN0BK3EAjjSHw T31_;
							colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
							colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
							colontmpD__13 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_211, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
							T31_[0] = colontmpD__13;
							colontmpD__14 = dollar___msgs_u714(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
							T31_[1] = colontmpD__14;
							T31_[2] = (*(*s_p1).name).s;
							T31_[3] = TM__wkTG4eaV3t1uo3x09apjcwA_213;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_210, T31_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
							{
								LA30_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__14);
								eqdestroy___system_u2691(colontmpD__13);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						break;
						default:
						{
							NimStringV2 colontmpD__15;
							NimStringV2 colontmpD__16;
							tyArray__Seu7uK9aaOSN0BK3EAjjSHw T36_;
							colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
							colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
							colontmpD__15 = nsuRepeatStr(TM__wkTG4eaV3t1uo3x09apjcwA_215, (indentLevel_p5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							T36_[0] = colontmpD__15;
							colontmpD__16 = dollar___msgs_u714(conf_p3, (*useLineInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							T36_[1] = colontmpD__16;
							T36_[2] = (*(*s_p1).name).s;
							T36_[3] = TM__wkTG4eaV3t1uo3x09apjcwA_217;
							nsuAddf(result_p0, TM__wkTG4eaV3t1uo3x09apjcwA_214, T36_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							{
								LA35_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__16);
								eqdestroy___system_u2691(colontmpD__15);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						break;
						}
					}
LA15_: ;
					i_1 += ((NI)1);
				} LA9: ;
			}
		}
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass2_u4164)(NimStringV2* result_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* context_p3) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA cycleCheck_1;
	tyArray__YgExxhfgKcesA5EOUj1MOA 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_191, T2_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	listSideEffects__sempass2_u3613(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_u8361)(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 oldNimErrFin86_;
NIM_BOOL oldNimErrFin126_;
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_u14756(&g_1, (*c_p0).graph);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&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_u3252(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8228((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14753(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = hasRealBody__sempass2_u8350(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_u3252(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8228((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14753(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_u3190(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_u3252(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8228((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14753(g_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA16_: ;
	inferredEffects_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*s_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initEffects__sempass2_u8157(g_1, inferredEffects_1, s_p1, c_p0, (&t_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	rawInitEffects__sempass2_u8150(g_1, effects_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T20_;
		NIM_BOOL T21_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* res_1;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym830__1;
		T20_ = (NIM_BOOL)0;
		colontmpD_ = returnType__ast_u5354((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T21_ = (NIM_BOOL)0;
		T21_ = isEmptyType__ast_u7234(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;
		eqcopy___ast_u4577(&res_1, (*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		xX60gensym830__1 = (*res_1).itemId;
		X5BX5Deq___sempass2_u2301((&t_1.scopes), (NI)((NI)((NU32)(((NI) (xX60gensym830__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym830__1.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_u4574(res_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA23_: ;
	track__sempass2_u5660((&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_u3255(&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_u3190(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;
					if (!(i_2 < colontmp_)) goto LA36;
					param_1 = NIM_NIL;
					typ_1 = NIM_NIL;
					colontmpD__6 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u4577(&param_1, (*(*params_1)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					eqcopy___ast_u3381(&typ_1, (*param_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					{
						NIM_BOOL T40_;
						NIM_BOOL T42_;
						NIM_BOOL T44_;
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym837__1;
						T40_ = (NIM_BOOL)0;
						T40_ = isSinkTypeForParam__types_u4187(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_u5379(typ_1, TM__wkTG4eaV3t1uo3x09apjcwA_48);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						T44_ = isClosure__ast_u7441(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						if (T44_) goto LA45_;
						xX60gensym837__1 = (*param_1).itemId;
						T44_ = contains__astalgo_u2846((&t_1.escapingParams), (NI)((NI)((NU32)(((NI) (xX60gensym837__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym837__1.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
LA45_: ;
						T42_ = T44_;
LA43_: ;
						T40_ = T42_;
LA41_: ;
						if (!T40_) goto LA46_;
						createTypeBoundOps__sempass2_u2029((&t_1), typ_1, (*param_1).info, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					}
LA46_: ;
					{
						NIM_BOOL T50_;
						NIM_BOOL T51_;
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym840__1;
						NIM_BOOL T53_;
						T50_ = (NIM_BOOL)0;
						T51_ = (NIM_BOOL)0;
						T51_ = isOutParam__ast_u7655(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						if (!(T51_)) goto LA52_;
						xX60gensym840__1 = (*param_1).itemId;
						T53_ = (NIM_BOOL)0;
						T53_ = contains__sigmatch_u5284(((t_1.init).p) ? (t_1.init.p->data) : NIM_NIL, t_1.init.len, (NI)((NI)((NU32)(((NI) (xX60gensym840__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym840__1.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_u1227((*g_1).config, (*param_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), (*(*param_1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_157, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					}
LA55_: ;
					i_2 += ((NI)1);
					{
						LA37_:;
					}
					{
						oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						eqdestroy___ast_u4574(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_u3252(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;
		T63_ = (NIM_BOOL)0;
		T64_ = (NIM_BOOL)0;
		T65_ = (NIM_BOOL)0;
		T66_ = (NIM_BOOL)0;
		colontmpD__2 = returnType__ast_u5354((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T67_ = (NIM_BOOL)0;
		T67_ = isEmptyType__ast_u7234(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_u5354((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T70_ = requiresInit__typeallowed_u563(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T70_) goto LA71_;
		colontmpD__4 = returnType__ast_u5354((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__5 = skipTypes__ast_u5379(colontmpD__4, TM__wkTG4eaV3t1uo3x09apjcwA_48);
		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;
		res_2 = (*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym;
		{
			NIM_BOOL T80_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym849__1;
			NIM_BOOL T81_;
			tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg T83_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
			T80_ = (NIM_BOOL)0;
			xX60gensym849__1 = (*res_2).itemId;
			T81_ = (NIM_BOOL)0;
			T81_ = contains__sigmatch_u5284(((t_1.init).p) ? (t_1.init.p->data) : NIM_NIL, t_1.init.len, (NI)((NI)((NU32)(((NI) (xX60gensym849__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym849__1.item))));
			T80_ = !(T81_);
			if (!(T80_)) goto LA82_;
			T83_ = (tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)0;
			T83_ = breaksBlock__sempass2_u6382(body_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T80_ = !((T83_ == ((tyEnum_BreakState__CtX4O8rnonfuG9bkBs49aEJg)2)));
LA82_: ;
			if (!T80_) goto LA84_;
			colontmpD__7 = NIM_NIL;
			{
				NimStringV2 colontmpD__8;
				colontmpD__7 = returnType__ast_u5354((*s_p1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
				if (!(((*colontmpD__7).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18)))&63U)))!=0)) goto LA89_;
				colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
				colontmpD__8 = nsuFormatSingleElem(TM__wkTG4eaV3t1uo3x09apjcwA_159, TM__wkTG4eaV3t1uo3x09apjcwA_161);
				if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
				liMessage__msgs_u1227((*g_1).config, (*body_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_162, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
				{
					LA91_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__8);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
			}
			goto LA87_;
LA89_: ;
			{
				liMessage__msgs_u1227((*g_1).config, (*body_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), TM__wkTG4eaV3t1uo3x09apjcwA_163, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_164, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
			}
LA87_: ;
			{
				LA86_:;
			}
			{
				oldNimErrFin86_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin86_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA84_: ;
	}
LA76_: ;
	eqcopy___ast_u3255(&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 LA99_;
		useWarning_1 = eqStrings((*(*s_p1).name).s, TM__wkTG4eaV3t1uo3x09apjcwA_165);
		checkRaisesSpec__sempass2_u7820(g_1, useWarning_1, raisesSpec_1, t_1.exc, TM__wkTG4eaV3t1uo3x09apjcwA_166, NIM_TRUE, subtypeRelation__sempass2_u7810, (*(*s_p1).ast)._kind_6.sons.p->data[((NI)0)], NIM_FALSE, t_1.unknownRaises);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)0)], raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA97_;
LA99_: ;
	{
		eqcopy___ast_u3255(&(*effects_1)._kind_6.sons.p->data[((NI)0)], t_1.exc);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA97_: ;
	tagsSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)180));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__9bffTLF0HkxjFCzZL8og4GA T106_;
		if (!!((tagsSpec_1 == 0))) goto LA104_;
		T106_.len = 0; T106_.p = NIM_NIL;
		T106_.len = 0; T106_.p = (tySequence__9bffTLF0HkxjFCzZL8og4GA_Content*) newSeqPayload(0, sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA), NIM_ALIGNOF(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		checkRaisesSpec__sempass2_u7820(g_1, NIM_FALSE, tagsSpec_1, t_1.tags, TM__wkTG4eaV3t1uo3x09apjcwA_167, NIM_FALSE, subtypeRelation__sempass2_u7810, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), NIM_FALSE, T106_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)3)], tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA102_;
LA104_: ;
	{
		eqcopy___ast_u3255(&(*effects_1)._kind_6.sons.p->data[((NI)3)], t_1.tags);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA102_: ;
	forbidsSpec_1 = effectSpec__trees_u307(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)181));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__9bffTLF0HkxjFCzZL8og4GA T112_;
		if (!!((forbidsSpec_1 == 0))) goto LA110_;
		T112_.len = 0; T112_.p = NIM_NIL;
		T112_.len = 0; T112_.p = (tySequence__9bffTLF0HkxjFCzZL8og4GA_Content*) newSeqPayload(0, sizeof(tyTuple__09aD69az7aYn14Gt61AHvLIA), NIM_ALIGNOF(tyTuple__09aD69az7aYn14Gt61AHvLIA));
		checkRaisesSpec__sempass2_u7820(g_1, NIM_FALSE, forbidsSpec_1, t_1.tags, TM__wkTG4eaV3t1uo3x09apjcwA_168, NIM_FALSE, subtypeRelation__sempass2_u7810, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), NIM_TRUE, T112_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)5)], forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA108_;
LA110_: ;
	{
		eqcopy___ast_u3255(&(*effects_1)._kind_6.sons.p->data[((NI)5)], t_1.forbids);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA108_: ;
	requiresSpec_1 = propSpec__trees_u329(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)182));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((requiresSpec_1 == 0))) goto LA116_;
		eqsink___ast_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)1)], requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA116_: ;
	ensuresSpec_1 = propSpec__trees_u329(p_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)183));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((ensuresSpec_1 == 0))) goto LA120_;
		patchResult__sempass2_u6833((&t_1), ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3261(&(*effects_1)._kind_6.sons.p->data[((NI)2)], ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA120_: ;
	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 LA124_;
		nimZeroMem((void*)(&partitions_1), sizeof(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A));
		computeGraphPartitions__varpartitions_u2111(s_p1, body_p2, g_1, 2, (&partitions_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
		checkBorrowedLocations__varpartitions_u2562((&partitions_1), body_p2, (*g_1).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
		{
			LA126_:;
		}
		{
			oldNimErrFin126_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___varpartitions_u2167((&partitions_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin126_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA124_: ;
	{
		NIM_BOOL T131_;
		T131_ = (NIM_BOOL)0;
		T131_ = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)26)))&63U)))!=0);
		if (!(T131_)) goto LA132_;
		T131_ = t_1.gcUnsafe;
LA132_: ;
		if (!T131_) goto LA133_;
		{
			NIM_BOOL T137_;
			T137_ = (NIM_BOOL)0;
			T137_ = (((*(*g_1).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)25)))&63U)))!=0);
			if (!(T137_)) goto LA138_;
			T137_ = (((*(*g_1).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)27)))&63U)))!=0);
LA138_: ;
			if (!T137_) goto LA139_;
			listGcUnsafety__sempass2_u3608(s_p1, NIM_FALSE, (*g_1).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA135_;
LA139_: ;
		{
			listGcUnsafety__sempass2_u3608(s_p1, NIM_TRUE, (*g_1).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA135_: ;
	}
LA133_: ;
	{
		NIM_BOOL T144_;
		T144_ = (NIM_BOOL)0;
		T144_ = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)12)))&63U)))!=0);
		if (!(T144_)) goto LA145_;
		T144_ = t_1.hasSideEffect;
LA145_: ;
		if (!T144_) goto LA146_;
		{
			NimStringV2 msg_1;
			if (!((*c_p0).compilesContextId == ((NI)0))) goto LA150_;
			msg_1.len = 0; msg_1.p = NIM_NIL;
			msg_1 = TM__wkTG4eaV3t1uo3x09apjcwA_189;
			listSideEffects__sempass2_u4164((&msg_1), s_p1, (*g_1).config, t_1.c);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			liMessage__msgs_u1227((*g_1).config, (*s_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_218, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			{
				LA152_:;
			}
			{
				eqdestroy___system_u2691(msg_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA148_;
LA150_: ;
		{
			liMessage__msgs_u1227((*g_1).config, (*s_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__wkTG4eaV3t1uo3x09apjcwA_219, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__wkTG4eaV3t1uo3x09apjcwA_220, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA148_: ;
	}
LA146_: ;
	{
		if (!!(t_1.gcUnsafe)) goto LA158_;
		(*(*s_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)7))) & 63);
	}
LA158_: ;
	{
		NIM_BOOL T162_;
		T162_ = (NIM_BOOL)0;
		T162_ = !(t_1.hasSideEffect);
		if (!(T162_)) goto LA163_;
		T162_ = !((((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)13)))&63U)))!=0));
LA163_: ;
		if (!T162_) goto LA164_;
		(*(*s_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1))) & 63);
	}
LA164_: ;
	{
		NIM_BOOL T168_;
		T168_ = (NIM_BOOL)0;
		T168_ = (((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)13)))&31U)))!=0);
		if (!(T168_)) goto LA169_;
		T168_ = ((*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));
LA169_: ;
		if (!T168_) goto LA170_;
		checkNil__nilcheck_u11485(s_p1, body_p2, (*g_1).config, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA170_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___varpartitions_u235((&mutationInfo_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ensuresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(requiresSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(forbidsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tagsSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(raisesSpec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sempass2_u8228((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(inferredEffects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(effects_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___modulegraphs_u14753(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_u8701)(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_u385((*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_u14756(&g_1, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		effects_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (*n_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		initEffects__sempass2_u8157(g_1, effects_1, module_p1, c_p0, (&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		t_1.isTopLevel = isTopLevel_p3;
		track__sempass2_u5660((&t_1), n_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___sempass2_u8228((&t_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(effects_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___modulegraphs_u14753(g_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
