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

#include "nimbase.h"
#include <string.h>
#include <math.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_TContext__4jZ5gUwIaqnMfIYix46Hpw tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw;
typedef struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
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__ZCZaCk14bTmSb6LMW9aWPVA tySequence__ZCZaCk14bTmSb6LMW9aWPVA;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content;
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_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
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_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg;
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_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__9bffTLF0HkxjFCzZL8og4GA tySequence__9bffTLF0HkxjFCzZL8og4GA;
typedef struct tySequence__9bffTLF0HkxjFCzZL8og4GA_Content tySequence__9bffTLF0HkxjFCzZL8og4GA_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__nBRoNCTSfpfbfAeK9bNW1qw tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content tySequence__E8pi9b5QNahsURYzXMjh3qw_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 tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
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_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 tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg tySequence__fz0REU1l0nYmKHXgMLRrIg;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content tySequence__fz0REU1l0nYmKHXgMLRrIg_Content;
typedef struct tyObject_Table__w2vCG1OPnHmNolvQVT168g tyObject_Table__w2vCG1OPnHmNolvQVT168g;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ tySequence__Ip9aV1IKO2gVdheNOM31DCQ;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg tySequence__kHjIdgrpmuSn9cUIIKpSiDg;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content;
typedef struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA tySequence__Wd0Vle6gxRCPPoSlNEvfTA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content;
typedef struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag tyObject_Table__fZyCWkMwhdvr3pauCNDaag;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw tySequence__T7nNEWoEbKBa0G5Htr45Xw;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content;
typedef struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ tyObject_Table__5vmBY49areSIlgIs4A1LLKQ;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA tySequence__q9cHvMDDxYU1hSCdG4YwIhA;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA tySequence__olFOFaYzOJN9aV5BWqK4b9bA;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content;
typedef struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA tySequence__vJcM7B74R2U5db9cxyXT9coA;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content tySequence__vJcM7B74R2U5db9cxyXT9coA_Content;
typedef struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content;
typedef struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg tySequence__R9c39btP6BwOBBPnbaNUtMQg;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content;
typedef struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content;
typedef struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw tySequence__3nALyQgqjnfK2Qjc6ny2Uw;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg tySequence__WbW5Q8QVks0bQpUJSGmuVg;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content;
typedef struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g;
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_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ;
typedef struct tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA;
typedef struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw tySequence__ZUeR9b415wicThQ9cBWO9aYMw;
typedef struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content;
typedef struct tySequence__yo9alHJGzX03OXpfmEsBjBQ tySequence__yo9alHJGzX03OXpfmEsBjBQ;
typedef struct tySequence__yo9alHJGzX03OXpfmEsBjBQ_Content tySequence__yo9alHJGzX03OXpfmEsBjBQ_Content;
typedef struct tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ;
typedef struct tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA tySequence__apM9bRAO19cVjhWlxqd1PGeA;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content;
typedef struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA;
typedef struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ;
typedef struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ tySequence__YxH9cgSorHRI8ZPzHf47NNQ;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content;
typedef struct tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw;
typedef struct tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg;
typedef struct tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w;
typedef struct tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag;
typedef struct tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ;
typedef struct tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ;
typedef struct tyObject_PackedDecoder__mXpMPUjuhwIS5ssrGM9bHWA tyObject_PackedDecoder__mXpMPUjuhwIS5ssrGM9bHWA;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw tySequence__qBes3XzcQQ9cyia9bRwnmbJw;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw tySequence__hRbbzIynOoxrYjHTIKZ3Gw;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content;
typedef struct tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww;
typedef struct tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ;
typedef struct tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA;
typedef struct Exception Exception;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ tySequence__S89cE01OvNjsN9c71FKsSrqQ;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content;
typedef struct tyTuple__R9cYIordoMujN7rycr4Y7kw tyTuple__R9cYIordoMujN7rycr4Y7kw;
typedef struct tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA;
typedef struct tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w;
typedef struct tySequence__9bnh9aVmYtKU19btQYqjGktpw tySequence__9bnh9aVmYtKU19btQYqjGktpw;
typedef struct tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content;
typedef struct tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw;
typedef struct tySequence__hMc5eJjVGjq6i857yHjTtg tySequence__hMc5eJjVGjq6i857yHjTtg;
typedef struct tySequence__hMc5eJjVGjq6i857yHjTtg_Content tySequence__hMc5eJjVGjq6i857yHjTtg_Content;
typedef struct tyTuple__Wipq1508vNWp3jwczem6TQ tyTuple__Wipq1508vNWp3jwczem6TQ;
typedef struct tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w;
typedef struct tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ;
typedef struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA;
typedef struct tyTuple__qxBv5lWlmtPRYLW2Idx1OQ tyTuple__qxBv5lWlmtPRYLW2Idx1OQ;
typedef struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg;
typedef struct tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w;
typedef struct tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg;
typedef struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyTuple__N4J9cV4JZGem3ljqqj5rT0Q;
typedef struct tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg;
typedef struct tyTuple__DTRsWi2kgTewbhN2TT5mbA tyTuple__DTRsWi2kgTewbhN2TT5mbA;
typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q tySequence__YdLNCDKYeipzJx3I8Xw82Q;
typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content;
typedef struct tySequence__TLbZ2GqL3Zio1f8bNpj2NA tySequence__TLbZ2GqL3Zio1f8bNpj2NA;
typedef struct tySequence__TLbZ2GqL3Zio1f8bNpj2NA_Content tySequence__TLbZ2GqL3Zio1f8bNpj2NA_Content;
typedef struct tyObject_TNodeTable__RKuYIY5Phq1xnepo5DZI2g tyObject_TNodeTable__RKuYIY5Phq1xnepo5DZI2g;
typedef struct tySequence__GH1mmNKNA2QP4n1tnxJf1w tySequence__GH1mmNKNA2QP4n1tnxJf1w;
typedef struct tySequence__GH1mmNKNA2QP4n1tnxJf1w_Content tySequence__GH1mmNKNA2QP4n1tnxJf1w_Content;
typedef struct tyObject_PProccolonObjectType___BUXHs9a6Ck9awUko3NbJ3Fyg tyObject_PProccolonObjectType___BUXHs9a6Ck9awUko3NbJ3Fyg;
typedef struct tySequence__TEgqV1E9aHqnwBUoeXjBI9aA tySequence__TEgqV1E9aHqnwBUoeXjBI9aA;
typedef struct tySequence__TEgqV1E9aHqnwBUoeXjBI9aA_Content tySequence__TEgqV1E9aHqnwBUoeXjBI9aA_Content;
typedef struct tyObject_Table__tro5f9chxPVpES1mQpDwZtQ tyObject_Table__tro5f9chxPVpES1mQpDwZtQ;
typedef struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og tySequence__pUxI6Ljo6IKKHXKOZkQ7Og;
typedef struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og_Content tySequence__pUxI6Ljo6IKKHXKOZkQ7Og_Content;
typedef struct tyObject_Profiler__YI4zs2CaXXndlYireD0I8A tyObject_Profiler__YI4zs2CaXXndlYireD0I8A;
typedef struct tyObject_TStackFrame__a20zU43j9cYHpYOOr1c2hZQ tyObject_TStackFrame__a20zU43j9cYHpYOOr1c2hZQ;
typedef struct tySequence__fnH5Zt4fsGx0AgDTOw8pKw tySequence__fnH5Zt4fsGx0AgDTOw8pKw;
typedef struct tySequence__fnH5Zt4fsGx0AgDTOw8pKw_Content tySequence__fnH5Zt4fsGx0AgDTOw8pKw_Content;
typedef struct tyObject_Table__lPs28yjGTxD0LzUoPspSBQ tyObject_Table__lPs28yjGTxD0LzUoPspSBQ;
typedef struct tySequence__Fc8Q26tsngy2yxcpyrnT4Q tySequence__Fc8Q26tsngy2yxcpyrnT4Q;
typedef struct tySequence__Fc8Q26tsngy2yxcpyrnT4Q_Content tySequence__Fc8Q26tsngy2yxcpyrnT4Q_Content;
typedef struct tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg;
typedef struct tyTuple__i8rz7q24mELXeBm9byGB9bhQ tyTuple__i8rz7q24mELXeBm9byGB9bhQ;
typedef struct tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig;
typedef struct tySequence__4j8aBmBZMD9chZMBaxw9bcbQ tySequence__4j8aBmBZMD9chZMBaxw9bcbQ;
typedef struct tySequence__4j8aBmBZMD9chZMBaxw9bcbQ_Content tySequence__4j8aBmBZMD9chZMBaxw9bcbQ_Content;
typedef struct tyTuple__IYAk6y4YHp5OEJgCALGjQw tyTuple__IYAk6y4YHp5OEJgCALGjQw;
typedef struct tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA;
typedef struct tyObject_HSlice__whvohxbOh9bZInELasBCieg tyObject_HSlice__whvohxbOh9bZInELasBCieg;
typedef struct tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA;
typedef struct tyTuple__pod1b7gjdRZb0inVGup1nQ tyTuple__pod1b7gjdRZb0inVGup1nQ;
typedef struct tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A;
typedef struct tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA;
typedef struct tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w;
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 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_Iface__j1FkQxwEAKMJy1o9bap1xow tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow;
typedef struct tyTuple__09aD69az7aYn14Gt61AHvLIA tyTuple__09aD69az7aYn14Gt61AHvLIA;
typedef struct tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw tyObject_ImportedModule__NhRLdOPUbh9bmcDLjImMKWw;
typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tyTuple__CH9a39cWKma9c9c9cYqCyX1wBsw tyTuple__CH9a39cWKma9c9c9cYqCyX1wBsw;
typedef struct tySequence__KYLoGmc5aaHsSDjEH1FTxQ tySequence__KYLoGmc5aaHsSDjEH1FTxQ;
typedef struct tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content;
typedef struct tyTuple__EbsafWGli8bW2GRJQ9apsjA tyTuple__EbsafWGli8bW2GRJQ9apsjA;
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 tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw;
typedef struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw tySequence__9bW2eTK9b7vXE70Sx5VPH1mw;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content;
typedef struct tyTuple__bnJwOH0eJlAwCAMbr1inhw tyTuple__bnJwOH0eJlAwCAMbr1inhw;
typedef struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw tyTuple__YG7h1OUHzgfgTeH9cl0U0dw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ tyTuple__tG5yYi8DnD7bl00aT9cgctQ;
typedef struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content;
typedef struct tySequence__yUWoZehF86MIc40opFgacw tySequence__yUWoZehF86MIc40opFgacw;
typedef struct tySequence__yUWoZehF86MIc40opFgacw_Content tySequence__yUWoZehF86MIc40opFgacw_Content;
typedef struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw;
typedef struct tyTuple__gnRkA1L4XiR4uByriyHW8Q tyTuple__gnRkA1L4XiR4uByriyHW8Q;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA tySequence__nSO1ltijM4vhc0UrrXKEqA;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content tySequence__nSO1ltijM4vhc0UrrXKEqA_Content;
typedef struct tyTuple__CvjVmQeIfivirDme2r5MRw tyTuple__CvjVmQeIfivirDme2r5MRw;
typedef struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g tyTuple__2QDyOgS51ZMPO0W1pWCY6g;
typedef struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ tyTuple__UbCNQED4XJUgxOgPHJUcAQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ tySequence__juxPMVNF1FoR2ltzeQu8NQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content;
typedef struct tyTuple__zExIg9bDTcVf2FHROUpzoow tyTuple__zExIg9bDTcVf2FHROUpzoow;
typedef struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA tyTuple__XrHNJHOzS3O7uwF9bvCySiA;
typedef struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ tyTuple__EdLY4EJQ37VFgbAn5g5rXQ;
typedef struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA tyTuple__OtlgAx3kBps9cOSMNDZSzBA;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ;
typedef struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw;
typedef struct tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q;
typedef struct tyTuple__O3g9a8zTXSX36ljWponcAoA tyTuple__O3g9a8zTXSX36ljWponcAoA;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
typedef struct tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg;
typedef struct tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A;
typedef struct tyTuple__Oubp8LPEu86EPyDuc56AXg tyTuple__Oubp8LPEu86EPyDuc56AXg;
typedef struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA;
typedef struct tyObject_TNodePair__KE5IEbxbTGxhrXo6rzddjQ tyObject_TNodePair__KE5IEbxbTGxhrXo6rzddjQ;
typedef struct tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ;
typedef struct tyTuple__ZQn9aE2eP9aC9aAInis8k8aDQ tyTuple__ZQn9aE2eP9aC9aAInis8k8aDQ;
typedef struct tyTuple__y6bKAf9a9aaVwun6lVDxSX7g tyTuple__y6bKAf9a9aaVwun6lVDxSX7g;
typedef struct tyObject_VmProcInfo__Jux30icZSrOlvcFTG81Ljg tyObject_VmProcInfo__Jux30icZSrOlvcFTG81Ljg;
typedef struct tyObject_TFullReg__kL8NONjyku1Uli8eXEVZ0A tyObject_TFullReg__kL8NONjyku1Uli8eXEVZ0A;
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__ZUrTP7BFWWFkSv3xO9crp9aQ tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
typedef struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA;
typedef struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw tyTuple__lGHLhAAUpxgfrnQkIzNrMw;
typedef struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA;
typedef struct tyTuple__V6P73hvHy70PBBwharKjig tyTuple__V6P73hvHy70PBBwharKjig;
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__ZCZaCk14bTmSb6LMW9aWPVA {
  NI len; tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content* p;
};
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__ZeWVlH6DqG79b1pTDhrrUYA {
  NI len; tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content* p;
};
typedef NI tyArray__k7D0lwfLmYccbQxUd49bbcQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg {
	NI counter;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA data;
};
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);
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
struct tySequence__9bffTLF0HkxjFCzZL8og4GA {
  NI len; tySequence__9bffTLF0HkxjFCzZL8og4GA_Content* p;
};
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
  NI len; tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content* p;
};
struct tyObject_HashSet__cx4zJRA9aTCfmpbY2J9bKwnQ {
	tySequence__Bis5AbpONWcIRrPyPJS8Yw data;
	NI counter;
};
struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
  NI len; tySequence__E8pi9b5QNahsURYzXMjh3qw_Content* p;
};
struct tyObject_Table__nBRoNCTSfpfbfAeK9bNW1qw {
	tySequence__E8pi9b5QNahsURYzXMjh3qw data;
	NI counter;
};
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
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;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
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;
};
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
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__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;
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
union{
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* gcUnsafetyReason;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ast;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* annex;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* instantiatedFrom;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
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;
};
};
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;
};
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
typedef NU16 tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg;
typedef NU16 tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ;
typedef NU8 tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg;
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;
};
typedef NU8 tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA;
struct tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg {
	tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA kind;
	NI arg;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* formal;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g {
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c;
	NI exactMatches;
	NI iteratorPreference;
	NI genericMatches;
	NI subtypeMatches;
	NI intConvMatches;
	NI convMatches;
	tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg state;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* callee;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* calleeSym;
	NI calleeScope;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call;
	tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A bindings;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	NIM_BOOL baseTypeMatch;
	NIM_BOOL matchedErrorType;
	NIM_BOOL genericConverter;
	NIM_BOOL coerceDistincts;
	NIM_BOOL typedescMatched;
	NIM_BOOL isNoCall;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg inferredTypes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ diagnostics;
	NI inheritancePenalty;
	tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg firstMismatch;
	NIM_BOOL diagnosticsEnabled;
	tySequence__qwqHTkRvwhrRyENtudHQ7g newlyTypedOperands;
};
typedef NU8 tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ;
typedef NU8 tySet_tyEnum_TTypeRelFlag__yHDjpmVEXqbkZzsG3uHRHw;
struct tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* candidateType;
	tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg* prev;
	NI depth;
};
struct tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww {
	NI depthLevel;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg symbols;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* parent;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA allowPrivateAccess;
	NI optionStackLen;
};
typedef NU8 tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw {
  NI len; tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content* p;
};
struct tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA {
	NI counter;
	tySequence__ZUeR9b415wicThQ9cBWO9aYMw data;
};
struct tySequence__yo9alHJGzX03OXpfmEsBjBQ {
  NI len; tySequence__yo9alHJGzX03OXpfmEsBjBQ_Content* p;
};
struct tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* resultSym;
	NI nestedLoopCounter;
	NI nestedBlockCounter;
	NIM_BOOL breakInLoop;
	tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* next;
	NIM_BOOL mappingExists;
	tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA mapping;
	tySequence__yo9alHJGzX03OXpfmEsBjBQ caseContext;
	tySequence__9ahcSjIErJohSBBFLwuF56Q localBindStmts;
};
struct tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg concreteTypes;
	NI compilesId;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ {
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c;
	tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A typeMap;
	tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA symMap;
	tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA localCache;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	NIM_BOOL allowMetaTypes;
	NIM_BOOL skipTypedesc;
	NIM_BOOL isReturnType;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner;
	NI recursionLimit;
};
typedef NU32 tyArray__PPSU5X9aizf5OJq0lL4Og7A[4];
struct tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg {
	tyArray__PPSU5X9aizf5OJq0lL4Og7A udata;
};
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
typedef NU8 tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q;
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA {
  NI len; tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content* p;
};
struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig {
	NU32 module;
	NI32 item;
};
struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ {
	NI module;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig packed_0;
};
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;
};
typedef NU8 tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw;
struct tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* genericSym;
	tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst;
};
struct tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg {
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ defaultCC;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* dynlib;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* otherPragmas;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
};
typedef NU8 tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw[38];
typedef NU8 tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg;
typedef NU8 tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA;
typedef NU8 tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ;
typedef NU8 tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg;
struct tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag {
	NI h;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
};
struct tyObject_PackedDecoder__mXpMPUjuhwIS5ssrGM9bHWA {
	NI lastModule;
	NU32 lastLit;
	NI32 lastFile;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
};
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw {
  NI len; tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content* p;
};
struct tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ {
	tyObject_PackedDecoder__mXpMPUjuhwIS5ssrGM9bHWA decoder;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw values;
	NI i;
	NI module;
};
struct tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ {
	NIM_BOOL fromRod;
	NI modIndex;
	tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag ti;
	tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ rodIt;
	NIM_BOOL importHidden;
};
typedef NU8 tyEnum_TOverloadIterMode__82mZgW9axskN9bBh3QmzqR4A;
struct tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w {
	tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag it;
	tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ mit;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m;
	tyEnum_TOverloadIterMode__82mZgW9axskN9bBh3QmzqR4A mode;
	NI symChoiceIndex;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* currentScope;
	NI importIdx;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA marked;
};
typedef NU8 tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw;
typedef NU8 tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw[21];
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__al2p7ldDMvbBVYNFCuu4Rw[2];
typedef tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tyArray__NdEZ7yhgufWVhDxlArlOlQ[2];
typedef NU8 tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw;
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw {
  NI len; tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content* p;
};
struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ {
	tySequence__hRbbzIynOoxrYjHTIKZ3Gw data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug {
	NI32 module;
	NI32 symId;
	NI32 typeId_0;
	NIM_BOOL sealed;
	tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ disambTable;
};
typedef NU8 tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__TAsXwXSUBvAawE1kIQ5ziQ[1];
typedef NU tyArray__yYbpDJlxVAahcZb4EP3s9cA[16];
struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* next;
	NI key;
	tyArray__yYbpDJlxVAahcZb4EP3s9cA bits;
};
typedef NU16 tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw;
typedef NU8 tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw;
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
struct tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww {
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg a;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg b;
};
typedef NU8 tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
struct tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr;
	NIM_BOOL needsFullInit;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA missingFields;
	NIM_BOOL checkDefault;
};
typedef NU8 tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA;
struct tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA {
	tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA Field0;
	tySequence__9ahcSjIErJohSBBFLwuF56Q Field1;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ {
  NI len; tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__S89cE01OvNjsN9c71FKsSrqQ trace;
	Exception* up;
};
typedef NU8 tySet_tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg[35];
struct tyTuple__R9cYIordoMujN7rycr4Y7kw {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field0;
	NI Field1;
};
struct tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA {
	NI a;
	NI b;
};
typedef NU8 tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ;
struct tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA toMixin;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA toBind;
	NIM_BOOL cursorInBody;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bracketExpr;
};
typedef NU8 tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw;
typedef NU8 tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw;
typedef NU16 tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw;
struct tySequence__9bnh9aVmYtKU19btQYqjGktpw {
  NI len; tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content* p;
};
struct tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg firstMismatch;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ diagnostics;
	NIM_BOOL enabled;
};
struct tySequence__hMc5eJjVGjq6i857yHjTtg {
  NI len; tySequence__hMc5eJjVGjq6i857yHjTtg_Content* p;
};
struct tyTuple__Wipq1508vNWp3jwczem6TQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field0;
	NI Field1;
};
struct tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field0;
	NIM_BOOL Field1;
};
typedef tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* tyArray__s9a2jZbmN9cnqFaNnzUrYEjg[8192];
struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA {
	tyArray__s9a2jZbmN9cnqFaNnzUrYEjg buckets;
	NI wordCounter;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idAnon;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idDelegator;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* emptyIdent;
};
struct tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ {
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA toBind;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA toMixin;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA toInject;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner;
	NIM_BOOL cursorInBody;
	NI scopeN;
	NI noGenSym;
	NI inTemplateHeader;
};
struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
};
typedef NimStringV2 tyArray__dwfJdPZJYBY1vfSlirNUOQ[7];
typedef NU8 tyEnum_TCheckPointResult__79bKWAKrLRHiUZ6lV3lObBQ;
typedef NU8 tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA;
typedef NU8 tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
struct tyTuple__qxBv5lWlmtPRYLW2Idx1OQ {
	tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q Field0;
	NimStringV2 Field1;
};
typedef NU8 tyEnum_SortOrder__wt7l6Gbd8C9c61b6I621QeA;
typedef NU8 tyEnum_TAnalysisResult__Y9b4HDQn2qbT5xWKGFH75iQ;
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 tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg {
	RootObj Sup;
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c0;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope1;
};
struct tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg {
	NI len;
	NI cap;
	tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d;
};
struct tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg {
	NI len;
	NI cap;
	tyTuple__DTRsWi2kgTewbhN2TT5mbA* d;
};
struct tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w {
	tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg traceStack;
	tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg toFree;
	NI freed;
	NI touched;
	NI edges;
	NI rcSum;
	NIM_BOOL keepThreshold;
};
struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q {
	void** Field0;
	TNimTypeV2* Field1;
};
struct tySequence__YdLNCDKYeipzJx3I8Xw82Q {
  NI len; tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content* p;
};
struct tySequence__TLbZ2GqL3Zio1f8bNpj2NA {
  NI len; tySequence__TLbZ2GqL3Zio1f8bNpj2NA_Content* p;
};
struct tySequence__GH1mmNKNA2QP4n1tnxJf1w {
  NI len; tySequence__GH1mmNKNA2QP4n1tnxJf1w_Content* p;
};
struct tyObject_TNodeTable__RKuYIY5Phq1xnepo5DZI2g {
	NI counter;
	tySequence__GH1mmNKNA2QP4n1tnxJf1w data;
	NIM_BOOL ignoreTypes;
};
typedef NU8 tyEnum_TEvalMode__sQljSFf0fjnsNV1fpgXakg;
typedef NU8 tySet_tyEnum_TSandboxFlag__II2KpGKWwJH9bdjbBum5d1g;
struct tySequence__TEgqV1E9aHqnwBUoeXjBI9aA {
  NI len; tySequence__TEgqV1E9aHqnwBUoeXjBI9aA_Content* p;
};
struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og {
  NI len; tySequence__pUxI6Ljo6IKKHXKOZkQ7Og_Content* p;
};
struct tyObject_Table__tro5f9chxPVpES1mQpDwZtQ {
	tySequence__pUxI6Ljo6IKKHXKOZkQ7Og data;
	NI counter;
};
struct tyObject_Profiler__YI4zs2CaXXndlYireD0I8A {
	NF tEnter;
	tyObject_TStackFrame__a20zU43j9cYHpYOOr1c2hZQ* tos;
};
struct tySequence__fnH5Zt4fsGx0AgDTOw8pKw {
  NI len; tySequence__fnH5Zt4fsGx0AgDTOw8pKw_Content* p;
};
struct tySequence__Fc8Q26tsngy2yxcpyrnT4Q {
  NI len; tySequence__Fc8Q26tsngy2yxcpyrnT4Q_Content* p;
};
struct tyObject_Table__lPs28yjGTxD0LzUoPspSBQ {
	tySequence__Fc8Q26tsngy2yxcpyrnT4Q data;
	NI counter;
};
struct tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew {
	tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ Sup;
	tySequence__YdLNCDKYeipzJx3I8Xw82Q code;
	tySequence__TLbZ2GqL3Zio1f8bNpj2NA debug;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* globals;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constants;
	tyObject_TNodeTable__RKuYIY5Phq1xnepo5DZI2g contstantTab;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg types;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* currentExceptionA;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* currentExceptionB;
	NI exceptionInstr;
	tyObject_PProccolonObjectType___BUXHs9a6Ck9awUko3NbJ3Fyg* prc;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* callsite;
	tyEnum_TEvalMode__sQljSFf0fjnsNV1fpgXakg mode;
	tySet_tyEnum_TSandboxFlag__II2KpGKWwJH9bdjbBum5d1g features;
	NIM_BOOL traceActive;
	NI loopIterations;
	NI callDepth;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA comesFromHeuristic;
	tySequence__TEgqV1E9aHqnwBUoeXjBI9aA callbacks;
	tyObject_Table__tro5f9chxPVpES1mQpDwZtQ callbackIndex;
	NimStringV2 errorFlag;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph;
	NI oldErrorCount;
	tyObject_Profiler__YI4zs2CaXXndlYireD0I8A profiler;
	NI* templInstCounter;
	tySequence__fnH5Zt4fsGx0AgDTOw8pKw vmstateDiff;
	tyObject_Table__lPs28yjGTxD0LzUoPspSBQ procToCodePos;
	NIM_BOOL cannotEval;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA locals;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg* args_p0, void* ClE_0);
void* ClE_0;
} tyProc__c9bXGQkBnyyGGVw063jrwZw;
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ[3];
typedef NU8 tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg;
struct tyTuple__i8rz7q24mELXeBm9byGB9bhQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field0;
	tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg Field1;
};
struct tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig {
	NI a;
	NI b;
};
struct tySequence__4j8aBmBZMD9chZMBaxw9bcbQ {
  NI len; tySequence__4j8aBmBZMD9chZMBaxw9bcbQ_Content* p;
};
struct tyTuple__IYAk6y4YHp5OEJgCALGjQw {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field0;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field1;
};
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__T1BNAQFBGesMf9bxAcvuong[5];
struct tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1, void* ClE_0);
void* ClE_0;
} tyProc__LPif9b9aloZA2k1Nxo0IoeCQ;
typedef N_CLOSURE_PTR(NI, TM__rF9caJawfOjYTjsgLVUSGFA_1197) (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1, void* ClE_0);
typedef NU8 tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw;
typedef NU8 tyEnum_TNodeKind__ejrmw4CHo9bZqcGZhO9alDfA;
typedef NU8 tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A;
struct tyObject_HSlice__whvohxbOh9bZInELasBCieg {
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw a;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw b;
};
struct tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA {
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b;
};
typedef NU8 tyEnum_FloatClass__gfrWEZTSUZU5OWgwK4wTYw;
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__Nwi28HyTG9cEj6FfWArgLbQ[1];
typedef NU8 tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA;
struct tyTuple__pod1b7gjdRZb0inVGup1nQ {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field0;
	NIM_BOOL Field1;
};
typedef NU8 tyEnum_TSpawnResult__Fi6IYHzmOR0d8zopbmZXuw;
typedef N_CLOSURE_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, TM__rF9caJawfOjYTjsgLVUSGFA_1392) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
typedef NU8 tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg;
struct tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A {
	RootObj Sup;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* genericType0;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, void* ClE_0);
void* ClE_0;
} tyProc__rDkYiHqbOJqNwqb2e9asKIQ;
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1578) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1579) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1580) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1584) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1595) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1603) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1604) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1605) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1607) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
struct tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tupleType;
	NI tupleIndex;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field;
	NIM_BOOL replaceByFieldName;
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c;
};
struct tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w {
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m;
};
typedef NU8 tyEnum_TSymKind__fzoDhZbHLwFaqo7QLPWQkQ;
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;
};
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 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;
};
typedef N_CLOSURE_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, TM__rF9caJawfOjYTjsgLVUSGFA_1877) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, void* ClE_0);
typedef N_CLOSURE_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, TM__rF9caJawfOjYTjsgLVUSGFA_1878) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, void* ClE_0);
typedef N_CLOSURE_PTR(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, TM__rF9caJawfOjYTjsgLVUSGFA_1882) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__rF9caJawfOjYTjsgLVUSGFA_1883) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2, void* ClE_0);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_1884) (tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, void* ClE_0);
struct tyTuple__09aD69az7aYn14Gt61AHvLIA {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field0;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field1;
};
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__ZCZaCk14bTmSb6LMW9aWPVA_Content { NI cap; tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* 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__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
struct tySequence__4zAALtm0xUbRlYWQ2V8K7A_Content { NI cap; tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw data[SEQ_DECL_SIZE]; };
struct tySequence__9bffTLF0HkxjFCzZL8og4GA_Content { NI cap; tyTuple__09aD69az7aYn14Gt61AHvLIA data[SEQ_DECL_SIZE]; };
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
	NI Field0;
	NI Field1;
};
struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
	NI Field0;
	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
};
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content { NI cap; tyTuple__NAaJgGVgNmlGoqmiWxdOHQ 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__KYLoGmc5aaHsSDjEH1FTxQ {
  NI len; tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content* p;
};
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 tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__TfHJycarvNts8E4mVG4Mfg_Content { NI cap; tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow data[SEQ_DECL_SIZE]; };
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 tyTuple__F1mMODXmKFMNQ5rLCtcv0Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__apM9bRAO19cVjhWlxqd1PGeA Field2;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content { NI cap; tyTuple__F1mMODXmKFMNQ5rLCtcv0Q data[SEQ_DECL_SIZE]; };
struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field2;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content { NI cap; tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw data[SEQ_DECL_SIZE]; };
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw {
  NI len; tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content* p;
};
struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__9bW2eTK9b7vXE70Sx5VPH1mw Field2;
};
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content { NI cap; tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ data[SEQ_DECL_SIZE]; };
struct tyTuple__bnJwOH0eJlAwCAMbr1inhw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field2;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content { NI cap; tyTuple__bnJwOH0eJlAwCAMbr1inhw data[SEQ_DECL_SIZE]; };
struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content { NI cap; tyTuple__YG7h1OUHzgfgTeH9cl0U0dw data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
	NI Field0;
	NI32 Field1;
	tySequence__48JTohSgTy339bRxHzUD8KA Field2;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE]; };
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
	NI Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; };
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE]; };
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg {
  NI len; tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content* p;
};
struct tySequence__yUWoZehF86MIc40opFgacw {
  NI len; tySequence__yUWoZehF86MIc40opFgacw_Content* p;
};
struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA s;
	NI len;
};
struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ {
	tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg lineInfo;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA sym;
	tySequence__yUWoZehF86MIc40opFgacw caughtExceptions;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw caughtExceptionsSet;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isDecl;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isGenericInstance;
	NI32 fileIndex;
	NIM_BOOL trackCaughtExceptions;
	NIM_BOOL isSorted;
};
struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ {
	NI Field0;
	NI32 Field1;
	tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ Field2;
};
struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content { NI cap; tyTuple__tG5yYi8DnD7bl00aT9cgctQ data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA {
  NI len; tySequence__nSO1ltijM4vhc0UrrXKEqA_Content* p;
};
struct tyTuple__gnRkA1L4XiR4uByriyHW8Q {
	NI Field0;
	NI32 Field1;
	tySequence__nSO1ltijM4vhc0UrrXKEqA Field2;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content { NI cap; tyTuple__gnRkA1L4XiR4uByriyHW8Q data[SEQ_DECL_SIZE]; };
struct tyTuple__CvjVmQeIfivirDme2r5MRw {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field0;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field1;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content { NI cap; tyTuple__CvjVmQeIfivirDme2r5MRw data[SEQ_DECL_SIZE]; };
struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field0;
	NI Field1;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content { NI cap; tyTuple__2QDyOgS51ZMPO0W1pWCY6g data[SEQ_DECL_SIZE]; };
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ {
  NI len; tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content* p;
};
struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__juxPMVNF1FoR2ltzeQu8NQ Field2;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content { NI cap; tyTuple__UbCNQED4XJUgxOgPHJUcAQ data[SEQ_DECL_SIZE]; };
struct tyTuple__zExIg9bDTcVf2FHROUpzoow {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA Field2;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content { NI cap; tyTuple__zExIg9bDTcVf2FHROUpzoow data[SEQ_DECL_SIZE]; };
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content { NI cap; tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA data[SEQ_DECL_SIZE]; };
typedef NU8 tyArray__dnD8kjh6rJ1Yy5jHvid0Ow[16];
struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA {
	NI Field0;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content { NI cap; tyTuple__XrHNJHOzS3O7uwF9bvCySiA data[SEQ_DECL_SIZE]; };
struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ {
	NI Field0;
	NI Field1;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field2;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content { NI cap; tyTuple__EdLY4EJQ37VFgbAn5g5rXQ data[SEQ_DECL_SIZE]; };
struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA {
	NI Field0;
	NimStringV2 Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content { NI cap; tyTuple__OtlgAx3kBps9cOSMNDZSzBA data[SEQ_DECL_SIZE]; };
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
	NI Field0;
	NimStringV2 Field1;
	NI64 Field2;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE]; };
struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw {
	tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q* root;
	NI entries;
};
struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ {
	NI Field0;
	NimStringV2 Field1;
	tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw Field2;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content { NI cap; tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ data[SEQ_DECL_SIZE]; };
typedef N_NIMCALL_PTR(tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ*, tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__74nHWc2UIRu3iSR9akqDDBg) (tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* topLevelStmt_p1);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__S9bLWKf8jgjzoiotAmEyFSw) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
struct tyTuple__O3g9a8zTXSX36ljWponcAoA {
	tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ Field0;
	tyProc__74nHWc2UIRu3iSR9akqDDBg Field1;
	tyProc__S9bLWKf8jgjzoiotAmEyFSw Field2;
	NIM_BOOL Field3;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content { NI cap; tyTuple__O3g9a8zTXSX36ljWponcAoA data[SEQ_DECL_SIZE]; };
struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NimStringV2 Field1;
};
struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content { NI cap; tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ data[SEQ_DECL_SIZE]; };
struct tySequence__hTEiKNj3evQAjIXUI21elA_Content { NI cap; tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ;
struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ flags;
	NimStringV2 customArgs;
};
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content { NI cap; tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct 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__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
struct tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* val;
};
struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content { NI cap; tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A data[SEQ_DECL_SIZE]; };
struct tySequence__yo9alHJGzX03OXpfmEsBjBQ_Content { NI cap; tyTuple__R9cYIordoMujN7rycr4Y7kw data[SEQ_DECL_SIZE]; };
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content { NI cap; tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content { NI cap; tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ data[SEQ_DECL_SIZE]; };
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content { NI cap; tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig data[SEQ_DECL_SIZE]; };
struct tyTuple__Oubp8LPEu86EPyDuc56AXg {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field0;
	NI Field1;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content { NI cap; tyTuple__Oubp8LPEu86EPyDuc56AXg data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content { NI cap; tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA data[SEQ_DECL_SIZE]; };
struct tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content { NI cap; tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw data[SEQ_DECL_SIZE]; };
struct tySequence__hMc5eJjVGjq6i857yHjTtg_Content { NI cap; tyTuple__Wipq1508vNWp3jwczem6TQ data[SEQ_DECL_SIZE]; };
struct tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content { NI cap; NU64 data[SEQ_DECL_SIZE]; };
struct tySequence__TLbZ2GqL3Zio1f8bNpj2NA_Content { NI cap; tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA data[SEQ_DECL_SIZE]; };
struct tyObject_TNodePair__KE5IEbxbTGxhrXo6rzddjQ {
	NI h;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key;
	NI val;
};
struct tySequence__GH1mmNKNA2QP4n1tnxJf1w_Content { NI cap; tyObject_TNodePair__KE5IEbxbTGxhrXo6rzddjQ data[SEQ_DECL_SIZE]; };
struct tySequence__TEgqV1E9aHqnwBUoeXjBI9aA_Content { NI cap; tyProc__c9bXGQkBnyyGGVw063jrwZw data[SEQ_DECL_SIZE]; };
struct tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ {
	NI Field0;
	NimStringV2 Field1;
	NI Field2;
};
struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og_Content { NI cap; tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ data[SEQ_DECL_SIZE]; };
struct tyTuple__ZQn9aE2eP9aC9aAInis8k8aDQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field0;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field1;
};
struct tySequence__fnH5Zt4fsGx0AgDTOw8pKw_Content { NI cap; tyTuple__ZQn9aE2eP9aC9aAInis8k8aDQ data[SEQ_DECL_SIZE]; };
struct tyObject_VmProcInfo__Jux30icZSrOlvcFTG81Ljg {
	NI32 pc;
	NI32 usedRegisters;
};
struct tyTuple__y6bKAf9a9aaVwun6lVDxSX7g {
	NI Field0;
	NI Field1;
	tyObject_VmProcInfo__Jux30icZSrOlvcFTG81Ljg Field2;
};
struct tySequence__Fc8Q26tsngy2yxcpyrnT4Q_Content { NI cap; tyTuple__y6bKAf9a9aaVwun6lVDxSX7g data[SEQ_DECL_SIZE]; };
struct tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg {
	NI ra;
	NI rb;
	NI rc;
	tyObject_TFullReg__kL8NONjyku1Uli8eXEVZ0A* slots;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* currentException;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA currentLineInfo;
};
struct tySequence__4j8aBmBZMD9chZMBaxw9bcbQ_Content { NI cap; tyTuple__IYAk6y4YHp5OEJgCALGjQw 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]; };
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__ZUrTP7BFWWFkSv3xO9crp9aQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field1;
};
struct tySequence__KYLoGmc5aaHsSDjEH1FTxQ_Content { NI cap; tyTuple__ZUrTP7BFWWFkSv3xO9crp9aQ 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 tyTuple__lGHLhAAUpxgfrnQkIzNrMw {
	NI Field0;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field1;
};
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content { NI cap; tyTuple__lGHLhAAUpxgfrnQkIzNrMw data[SEQ_DECL_SIZE]; };
struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA {
	NU16 line;
	NI16 col;
};
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content { NI cap; tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA data[SEQ_DECL_SIZE]; };
struct tySequence__yUWoZehF86MIc40opFgacw_Content { NI cap; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content { NI cap; tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* data[SEQ_DECL_SIZE]; };
struct tyTuple__V6P73hvHy70PBBwharKjig {
	NI Field0;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field1;
};
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content { NI cap; tyTuple__V6P73hvHy70PBBwharKjig data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*, newContext__semdata_u2362)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3103)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug** dest_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3387)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newType__ast_u5900)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConstExpr__sem_u631)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprWithType__sem_u63)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprCheck__sem_u21910)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(void, illFormedAst__semdata_u4665)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExpr__sem_u58)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
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, suggestExpr__sigmatch_u7722)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, resolveIdentToSym__sem_u28764)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** resultNode_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, considerQuotedIdent__lookups_u31)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* origin_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(tySequence__ZCZaCk14bTmSb6LMW9aWPVA, lookUpCandidates__lookups_u5193)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p1, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p2, NIM_BOOL includePureEnum_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, errorUndeclaredIdentifierHint__lookups_u5151)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u4571)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeIT__ast_u4112)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newTypeS__semdata_u4368)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNodeTypeDesc__semfold_u820)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5171)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, errorUseQualifier__lookups_u5100)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tySequence__ZCZaCk14bTmSb6LMW9aWPVA candidates_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4848)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, resolveSymChoice__sem_u22024)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitNode__sem_u79)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
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);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_u59)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg renderFlags_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyTree__ast_u6891)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
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, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, typeMismatch__types_u4020)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actual_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, indexTypesMatch__sem_u129)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p3);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_u456)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* ctx_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* callee_p1, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, paramTypesMatch__sigmatch_u4323)(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* m_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* argOrig_p4);
N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersArg__sem_u3414)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_u7092)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_u7081)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, isGenericParams__ast_u7070)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, firstParamType__ast_u5363)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ, typeRel__sigmatch_u253)(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* aOrig_p2, tySet_tyEnum_TTypeRelFlag__yHDjpmVEXqbkZzsG3uHRHw flags_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, generateInstance__sem_u1531)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
static N_INLINE(NimStringV2, toFileLineCol__msgs_u701)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info_p0);
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(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getModule__astalgo_u156)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__renderer_u83)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* x_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, eqdup___ast_u4580)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___lookups_u77)(tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww** dest_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* src_p1);
static N_INLINE(NIM_BOOL, isTopLevel__semdata_u4679)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, copySym__ast_u6250)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLocalPassC__sem_u1511)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getIdent__idents_u206)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, NimStringV2 identifier_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2694)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, addLocalCompileOption__extccomp_u961)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 option_p1, NimStringV2 nimfile_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPathConsiderDirty__msgs_u657)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NI32 fileIdx_p1);
static N_INLINE(void, setOwner__icZic_u12851)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
N_LIB_PRIVATE N_NIMCALL(void, pushOwner__semdata_u432)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww*, openScope__lookups_u65)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, fillMixinScope__sem_u1499)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___semdata_u704)(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ** dest_p0, tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, strTableAdd__astalgo_u2666)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u701)(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5168)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0);
N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext__msgs_u569)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 detail_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ*, new__sem_u1590)(void);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__icZic_u16266)(tySequence__d8ZV4IMgHt9biik9cS9a0hrmg* s_p0, NI len_p1);
static N_INLINE(NI, paramsLen__ast_u5616)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSym__ast_u4205)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getCurrOwner__semdata_u425)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, lookup__layeredtable_u711)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A typeMap_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getOrDefault__layeredtable_u519)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, lookup__layeredtable_u506)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* typeMap_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, errorType__semdata_u4564)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedStatic__ast_u4629)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(NIM_BOOL, genericParamHasConstraints__ast_u5654)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, genericConstraint__ast_u5678)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, generateTypeInstance__semtypinst_u1682)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* p_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3);
static N_INLINE(void, addDecl__lookups_u3789)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1);
static N_INLINE(void, addDeclAt__lookups_u3781)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2);
N_LIB_PRIVATE N_NIMCALL(void, addDeclAt__lookups_u3253)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, pushProcCon__sem_u843)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___semdata_u710)(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ** dest_p0, tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ*, eqdup___semdata_u707)(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, instantiateProcType__sem_u1357)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
static N_INLINE(void, shallowCopy__layeredtable_u266)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA, eqdup___layeredtable_u155)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A*, eqdup___layeredtable_u221)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, initTypeVars__semtypinst_u1560)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* p_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A typeMap_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3, tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, instCopyType__semtypinst_u531)(tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ* cl_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, shallowCopy__ast_u6876)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, resetIdTable__sem_u1372)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA* x_p0);
N_LIB_PRIVATE N_NIMCALL(void, resetIdTable__sem_u1387)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA* x_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, replaceTypeVarsT__semtypinst_u125)(tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ* cl_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, NIM_BOOL isInstValue_p2);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, base__ast_u5351)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(NIM_BOOL, isIntLit__types_u179)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, prepareNode__semtypinst_u130)(tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ* cl_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, referencesAnotherParam__sem_u1333)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* p_p1);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, errorNode__semdata_u4571)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitNodePostMatch__sem_u174)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConv__types_u3715)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, changeType__sem_u84)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* newType_p2, NIM_BOOL check_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elemType__types_u254)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getSymFromList__astalgo_u191)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* list_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p1, NI start_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__types_u1837)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1, tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ flags_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int128_u959)(NI64 a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_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(NIM_BOOL, lt___int128_u933)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, NI64 b_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(NimStringV2, dollar___systemZdollars_u29)(NI64 xX60gensym4__p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, typeNameAndDesc__types_u4016)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, floatRangeCheck__types_u1420)(NF x_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u15430)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___system_u4730)(NF x_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenSubConv__types_u3777)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_u100)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, NIM_BOOL checkStyle_p3, NIM_BOOL isGenericInstance_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRecursiveStructuralType__types_u4096)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, typeToString__types_u54)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p1);
N_LIB_PRIVATE N_NIMCALL(void, propagateToOwner__ast_u6637)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* owner_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* elem_p1, NIM_BOOL propagateHasAsgn_p2);
static N_INLINE(void, setReturnType__ast_u5357)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* r_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eraseVoidParams__semtypinst_u822)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, skipIntLiteralParams__semtypinst_u906)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3375)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, popInfoContext__msgs_u593)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semtypinst_u1585)(tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___layeredtable_u233)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, genericCacheGet__sem_u955)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* genericSym_p1, tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ entry_p2, NI id_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__modulegraphs_u4352)(tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__apM9bRAO19cVjhWlxqd1PGeA*, X5BX5D___modulegraphs_u4824)(tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___modulegraphs_u3570)(tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ** dest_p0, tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ*, resolveInst__modulegraphs_u3512)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u3561)(tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameInstantiation__sem_u937)(tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ a_p0, tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_u2768)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* y_p1, tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw cmp_p2, tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ flags_p3);
N_LIB_PRIVATE N_NIMCALL(void, addToGenericProcCache__semdata_u4800)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sem_u1631)(tySequence__4zAALtm0xUbRlYWQ2V8K7A* x_p0, tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw y_p1);
N_LIB_PRIVATE N_NIMCALL(void, makeInstPair__semdata_u375)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst_p1, tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw* Result);
static N_INLINE(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg**, X5BX5D___semdata_u454)(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, pragma__pragmas_u120)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_p3, NIM_BOOL isStatement_p4, NIM_BOOL comesFromPush_p5);
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, instantiateBody__sem_u1128)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* orig_p4);
N_LIB_PRIVATE N_NIMCALL(void, maybeAddResult__sem_u109)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
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(void, addResult__sem_u18097)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q owner_p3);
N_LIB_PRIVATE N_NIMCALL(void, swapResult__sem_u18080)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sRes_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dNode_p2);
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, addParamOrResult__sem_u1124)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, findEnforcedStaticType__sem_u7925)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getSysSym__magicsys_u17)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 name_p2);
static N_INLINE(NIM_BOOL, isInlineIterator__ast_u7400)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA, initIdTable__semdata_u1096)(void);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___semdata_u1173)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, freshGenSyms__sem_u962)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* orig_p3, tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA* symMap_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getOrDefault__semdata_u2191)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProcBody__sem_u75)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7234)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, fixNilType__sem_u15173)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NIM_BOOL, isAtom__ast_u7223)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_u6769)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg kind_p1);
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*, semAsgn__sem_u23532)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA mode_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkSonsLen__semdata_u4671)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI length_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2);
N_LIB_PRIVATE N_NIMCALL(NI, hiddenDerefDepth__sem_u25304)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, builtinFieldAccess__sem_u25187)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg* flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, qualifiedLookUp__lookups_u5229)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, symChoice__sem_u10236)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg r_p3, NIM_BOOL isField_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, initOverloadIter__lookups_u5784)(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w* o_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextOverloadIter__lookups_u5989)(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w* o_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getCallLineInfo__sem_u3546)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_u106)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lookups_u6249)(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSym__sem_u22012)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getGenSym__semdata_u2268)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, inlineConst__sem_u22137)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, astdef__ast_u4596)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMacroExpr__sem_u541)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p5);
N_LIB_PRIVATE N_NIMCALL(void, rememberExpansion__semdata_u7304)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* expandedSym_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalMacroCall__vm_u14381)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, NI* templInstCounter_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p4, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p5, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p6);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAfterMacroCall__sem_u4284)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* macroResult_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p5);
N_LIB_PRIVATE N_NIMCALL(void, resetSemFlag__sem_u4269)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStmt__sem_u93)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprNoType__sem_u68)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_u557)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw note_p1);
N_LIB_PRIVATE N_NIMCALL(void, discardCheck__sem_u15189)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, implicitlyDiscardable__sem_u14913)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseAssert__stdZassertions_u15)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_u15095)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** returningNode_p1, NIM_BOOL discardableCheck_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldCheckCaseCovered__sem_u422)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* caseTyp_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2166)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___msgs_u714)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
static N_INLINE(NIM_BOOL, hasElementType__ast_u5660)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipModifier__ast_u5338)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeNode__sem_u89)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeOf__sem_u9215)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(void, closeScope__lookups_u102)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_u3448)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeTypeFromExpr__semdata_u4430)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, fixupTypeOf__sem_u8925)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_u6706)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1, NIM_BOOL propagateHasAsgn_p2);
N_LIB_PRIVATE N_NIMCALL(void, assignType__ast_u6138)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lookups_u74)(tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semAnonTuple__sem_u6651)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newOrPrevType__sem_u4458)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2);
static N_INLINE(NIM_BOOL, reusePrev__sem_u4425)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p0);
N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLitChecked__sem_u6366)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* id_p4);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipIntLit__magicsys_u120)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* id_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, copyType__ast_u6238)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3881)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRecursiveType__sem_u6362)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_u37)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRecursiveType__sem_u6279)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* cycleDetector_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astyaml_u223)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u230)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0);
static N_INLINE(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getPIdent__ast_u2825)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_u158)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA** dest_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* src_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semRangeAux__sem_u6378)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_u135)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* id_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_u283)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, NIM_BOOL allowEnumWithHoles_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, enumHasHoles__types_u271)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedArgs__sem_u152)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedSym__sem_u23381)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType__ast_u4607)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, searchInScopes__lookups_u2425)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* s_p1, NIM_BOOL* ambiguous_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeStaticExpr__semdata_u4441)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NIM_BOOL, isNaN__pureZmath_u214)(NF x_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, weakLeValue__astalgo_u95)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u6446)(tyArray__NdEZ7yhgufWVhDxlArlOlQ 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_u3127)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3288)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lowerings_u117)(tyArray__al2p7ldDMvbBVYNFCuu4Rw dest_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, freshType__sem_u8972)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* res_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(void, copyTypeProps__modulegraphs_u10674)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NI module_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeExpr__sem_u8938)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, maybeAliasType__sem_u8904)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeExpr_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeAndType__semdata_u4457)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t1_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t2_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeOrType__semdata_u4479)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t1_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t2_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTree__ast_u4170)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p1, NI children_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeNotType__semdata_u4524)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t1_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semAnyRef__sem_u7817)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newConstraint__sem_u4467)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg k_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkMinSonsLen__semdata_u4675)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI length_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semObjectNode__sem_u7709)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2, tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypesOrNil__ast_u6606)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipGenericInvocation__sem_u7655)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, tryAddInheritedFields__sem_u7666)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p1, NI* pos_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p4, NIM_BOOL isPartial_p5, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* innerObj_p6);
static N_INLINE(NI, len__ast_u5502)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, addInheritedFieldsAux__sem_u7611)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p1, NI* pos_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p3);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_u366)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3225)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3258)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, semRecordNodeAux__sem_u7047)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p2, NI* pos_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* rectype_p5, NIM_BOOL hasCaseFields_p6);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConstBoolExpr__sem_u4389)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, forceBool__sem_u4381)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getSysType__magicsys_u55)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, 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, eqcopy___pureZcollectionsZintsets_u250)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, semRecordCase__sem_u7326)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p2, NI* pos_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* rectype_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyNode__ast_u6736)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, toInt128__types_u1207)(NI arg_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, errorUndeclaredIdentifier__lookups_u5145)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 name_p2, NimStringV2 extra_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int128_u980)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, NI64 b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, lengthOrd__types_u1491)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, semCaseBranch__sem_u6958)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_p2, NI branchIndex_p3, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, minus___int128_u641)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, plus___int128_u1015)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, NI64 b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, plus___int128_u615)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, getOrdValue__types_u167)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, isRange__trees_u189)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCaseBranchRange__sem_u6942)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* t_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBranchRange__sem_u6915)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p3, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConvTakeType__types_u3734)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, emptyRange__nimsets_u219)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(void, delSon__ast_u6724)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, NI idx_p1);
N_LIB_PRIVATE N_NIMCALL(void, inc__int128_u338)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* a_p0, NU32 y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, deduplicate__nimsets_u186)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCaseBranchSetElem__sem_u6948)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p3);
N_LIB_PRIVATE N_NIMCALL(void, checkForOverlap__sem_u6899)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* t_p1, NI currentEx_p2, NI branchIndex_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, overlap__nimsets_u32)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int128_u412)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, toCover__sem_u7012)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, shl__int128_u546)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, formatMissingEnums__sem_u7201)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderAsType__sem_u7127)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* vals_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted__sem_u7143)(NimStringV2* s_p0, NIM_CHAR x_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u9)(NI xX60gensym0__p0);
static N_INLINE(NI, len__nilcheck_u3393)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_u51)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* src_p1);
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u48)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
static N_INLINE(void, minus___sem_u7234)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s1_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s2_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, difference__sem_u7245)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s1_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s2_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, getIntSetOfType__sem_u7055)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3699)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int128_u53)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg arg_p0);
N_LIB_PRIVATE N_NIMCALL(void, fitDefaultNode__sem_u6331)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitNodeConsiderViewType__sem_u235)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(void, annotateClosureConv__sem_u6304)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTreeIT__ast_u4191)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p3, NI children_p3Len_0);
N_LIB_PRIVATE N_NIMCALL(void, typeAllowedCheck__sem_u478)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p3, tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw flags_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, typeAllowed__typeallowed_u465)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2, tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw flags_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u494)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toHumanStr__ast_u7574)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u510)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u515)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_u959)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, firstRange__sem_u6658)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
static N_INLINE(NIM_BOOL, contains__semfold_u1019)(tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww s_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg value_p1);
static N_INLINE(tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww, dotdot___semfold_u987)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg a_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newFloatNode__ast_u5418)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NF floatVal_p1);
N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_u1268)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNode__ast_u5204)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg intVal_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semIdentWithPragma__sem_u472)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg allowed_p3, NIM_BOOL fromTopLevel_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semIdentVis__sem_u467)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg allowed_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSymG__sem_u441)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u454)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindChar)(NimStringV2 s_p0, NIM_CHAR sub_p1, NI start_p2, NI last_p3);
N_LIB_PRIVATE N_NIMCALL(void, implicitPragmas__pragmas_u2378)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_p3);
static N_INLINE(void, suggestSym__sigmatch_u6643)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** usageSym_p3, NIM_BOOL isDecl_p4, NIM_BOOL isGenericInstance_p5);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, belongsToProjectPackageMaybeNil__packages_u85)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getModule__modulegraphs_u14809)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(void, nep1CheckDefImpl__linter_u146)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q k_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSymS__sem_u436)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIdentNode__ast_u5164)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, computeRequiresInit__sem_u145)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, initConstrContext__sem_u28048)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, eqdup___ast_u3384)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNode__ast_u4069)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA, semConstructTypeAux__sem_u27980)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3693)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA, semConstructFields__sem_u27147)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3);
N_LIB_PRIVATE N_NIMCALL(void, mergeInitStatus__sem_u27154)(tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA* existing_p0, tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA newStatus_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_u384)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** y_p1, NI y_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u27504)(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, fieldsPresentInInitExpr__sem_u27376)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsRecList_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, locateFieldInInitExpr__sem_u27209)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p2);
N_LIB_PRIVATE N_NIMCALL(void, invalidObjConstr__sem_u27198)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u79)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u27578)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConstrField__sem_u27229)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p3);
static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_u6167)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* f_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, toObjectFromRefPtrGeneric__ast_u7299)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u27248)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprFlagDispatched__sem_u662)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryConstExpr__sem_u600)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalConstExpr__vm_u14299)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fixupTypeAfterEval__sem_u568)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* evaluated_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* eOrig_p2, NIM_BOOL* producedClosure_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCycle__sem_u548)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, annotateType__semmacrosanity_u136)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, NIM_BOOL* producedClosure_p3);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u3661)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(void, resetEvalPosition__sem_u581)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalAtCompileTime__sem_u126)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalStaticExpr__vm_u14305)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHidden__types_u3727)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u27611)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, findUsefulCaseContext__sem_u27315)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discrimator_p1, tyTuple__R9cYIordoMujN7rycr4Y7kw* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___semdata_u976)(tyTuple__R9cYIordoMujN7rycr4Y7kw* dest_p0, tyTuple__R9cYIordoMujN7rycr4Y7kw src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___semdata_u982)(tyTuple__R9cYIordoMujN7rycr4Y7kw* dest_p0, tyTuple__R9cYIordoMujN7rycr4Y7kw src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u973)(tyTuple__R9cYIordoMujN7rycr4Y7kw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, branchVals__sem_u27266)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseNode_p1, NI caseIdx_p2, NIM_BOOL isStmtBranch_p3, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, excl__suggestsymdb_u161)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u27693)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__sem_u9987)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_u63)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, NIM_BOOL strictSymEquality_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u27872)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, collectOrAddMissingCaseFields__sem_u27451)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchNode_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q* defaults_p3);
N_LIB_PRIVATE N_NIMCALL(tySequence__ZCZaCk14bTmSb6LMW9aWPVA, collectMissingCaseFields__sem_u27436)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchNode_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_p3);
N_LIB_PRIVATE N_NIMCALL(tySequence__ZCZaCk14bTmSb6LMW9aWPVA, collectMissingFields__sem_u27408)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsRecList_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, locateFieldInDefaults__sem_u27386)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, requiresInit__typeallowed_u563)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getSysMagic__magicsys_u26)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 name_p2, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pickCaseBranch__sem_u27340)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseExpr_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1);
N_LIB_PRIVATE N_NIMCALL(void, collectBranchFields__sem_u27475)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discriminatorVal_p2, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntLit__lowerings_u465)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NI64 value_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, defaultNodeField__sem_u10023)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, NIM_BOOL checkDefault_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, defaultNodeField__sem_u10018)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* aTyp_p2, NIM_BOOL checkDefault_p3);
N_LIB_PRIVATE N_NIMCALL(tySequence__9ahcSjIErJohSBBFLwuF56Q, defaultFieldsForTheUninitialized__sem_u10014)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* recNode_p1, NIM_BOOL checkDefault_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNode__ast_u5200)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NI64 intVal_p1);
N_LIB_PRIVATE N_NIMCALL(NI, pickCaseBranchIndex__sem_u10000)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseExpr_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeTypeDesc__semdata_u4621)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__9ahcSjIErJohSBBFLwuF56Q, defaultFieldsForTuple__sem_u10028)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* recNode_p1, NIM_BOOL* hasDefault_p2, NIM_BOOL checkDefault_p3);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u28059)(tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3270)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toHumanStr__ast_u7604)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semStaticType__sem_u138)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* childNode_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeOf2__sem_u9248)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semWhen__sem_u531)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL semCheck_p2);
static N_INLINE(NIM_BOOL, contains__pureZtimes_u3356)(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA s_p0, NI value_p1);
static N_INLINE(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA, dotdot___stdZstrbasics_u49)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookUp__lookups_u5157)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, commonType__sem_u256)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* y_p2);
static N_INLINE(NIM_BOOL, sameTupleLengths__ast_u5508)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_u3737)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ, compatibleEffects__types_u3554)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actual_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, commonSuperclass__types_u2847)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmt__sem_u690)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmt__sem_u12513)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lookup__sem_u13559)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, strTableGet__astalgo_u2726)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg t_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_u2846)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmtSymbol__sem_u12529)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p4, NIM_BOOL isAmbiguous_p5, NIM_BOOL fromDotExpr_p6);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newOpenSym__ast_u5175)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTreeI__ast_u4180)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p2, NI children_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplateExpr__sem_u535)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalTemplate__evaltempl_u344)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* tmpl_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* genSymOwner_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p4, NI* instID_p5, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p6, NIM_BOOL fromHlo_p7);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, pop__icZic_u3359)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, shrink__ast_u4732)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* x_p0, NI newLen_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fuzzyLookup__sem_u13797)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3, NIM_BOOL* isMacro_p4, NIM_BOOL inCall_p5);
N_LIB_PRIVATE N_NIMCALL(tySequence__ZCZaCk14bTmSb6LMW9aWPVA, selectFromScopesElseAll__lookups_u2523)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* s_p1, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newDot__sem_u13793)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMixinStmt__sem_u10382)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* toMixin_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBindStmt__sem_u10302)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* toBind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmtScope__sem_u12518)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3);
N_LIB_PRIVATE N_NIMCALL(void, addTempDeclToIdents__sem_u14086)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2, NIM_BOOL inCall_p3);
N_LIB_PRIVATE N_NIMCALL(void, addTempDecl__sem_u14025)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getIdentNode__sem_u12495)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, addPrelimDecl__lookups_u3792)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_u7333)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichPragma__trees_u218)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u14839)(tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u100)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u66)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semTypeIdent__sem_u9287)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, pickSym__lookups_u6216)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kinds_p2, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, symFromType__semdata_u4633)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, errorSym__lookups_u2620)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, exactReplica__ast_u6243)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, transitionGenericParamToType__ast_u6843)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, reset__sem_u9387)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* obj_p0);
N_LIB_PRIVATE N_NIMCALL(void, transitionNoneToSym__ast_u6838)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, symFromExpectedTypeNode__sem_u9197)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semArray__sem_u6607)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semArrayIndex__sem_u6537)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeRangeWithStaticExpr__semdata_u4545)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u54)(NU64 xX60gensym9__p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeRangeType__semdata_u4597)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, NI64 first_p1, NI64 last_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* intType_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semArrayIndexConst__sem_u6527)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newOrPrevType__sem_u4448)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p3);
static N_INLINE(void, setSon__ast_u5964)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3320)(tySequence__d8ZV4IMgHt9biik9cS9a0hrmg* dest_p0, tySequence__d8ZV4IMgHt9biik9cS9a0hrmg src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semContainer__sem_u6251)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, NimStringV2 kindStr_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p4);
N_LIB_PRIVATE N_NIMCALL(void, semContainerArg__sem_u6241)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 kindStr_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semRange__sem_u6485)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semSet__sem_u6215)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semOrdinal__sem_u6641)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semIterableType__sem_u6635)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semVarargs__sem_u6258)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTuple__sem_u6717)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semGeneric__sem_u8763)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u8773)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semGenericParamInInvocation__sem_u8697)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, matches__sigmatch_u5087)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* m_p3);
N_LIB_PRIVATE N_NIMCALL(void, addTypeHeader__types_u209)(NimStringV2* result_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p3, NIM_BOOL getDeclarationPath_p4);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u8817)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, describeArgs__sigmatch_u673)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI startIdx_p2, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, ambiguousIdentifierMsg__lookups_u5104)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* choices_p0, NI indent_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_u162)(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericInvocationWithForward__sem_u8727)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, instGenericContainer__sem_u1274)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* header_p2, NIM_BOOL allowMetaTypes_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA, initIdTable__layeredtable_u16)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, eqdup___lineinfos_u2037)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA 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___layeredtable_u158)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA* dest_p0, tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___layeredtable_u149)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u6591)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1, NI maxIters_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, trySemObjectTypeForInheritedGenericInst__sem_u8701)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2);
N_LIB_PRIVATE N_NIMCALL(void, recomputeFieldPositions__semtypinst_u1654)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* obj_p1, NI* currPosition_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u9697)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u9702)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeClass__sem_u8989)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_u7641)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConceptDeclaration__concepts_u39)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeTypeWithModifier__semdata_u4382)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg modifier_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConceptBody__sem_u4397)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semVarOutType__sem_u6264)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2, tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags_p3);
static N_INLINE(NIM_BOOL, isSelf__semdata_u4610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semDistinct__sem_u6373)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semProcTypeWithScope__sem_u9132)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, applyTypeSectionPragmas__sem_u9056)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* operand_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyTreeWithoutNode__ast_u6911)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* skippedNode_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOverloadedCall__sem_u4008)(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);
N_LIB_PRIVATE N_NIMCALL(void, resolveOverloads__sem_u3022)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4, tySequence__9bnh9aVmYtKU19btQYqjGktpw* errors_p5, NIM_BOOL errorsEnabled_p6, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result);
N_LIB_PRIVATE N_NIMCALL(void, semOpAux__sem_u97)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, pickBestCandidate__sem_u1882)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headSymbol_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initialBinding_p4, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p5, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* best_p6, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* alt_p7, tySequence__9bnh9aVmYtKU19btQYqjGktpw* errors_p8, NIM_BOOL diagnosticsFlag_p9, NIM_BOOL errorsEnabled_p10, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p11);
N_LIB_PRIVATE N_NIMCALL(tySequence__hMc5eJjVGjq6i857yHjTtg, initCandidateSymbols__sem_u1712)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headSymbol_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initialBinding_p2, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p3, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* best_p4, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* alt_p5, tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w* o_p6, NIM_BOOL diagnostics_p7);
N_LIB_PRIVATE N_NIMCALL(void, add__sem_u1737)(tySequence__hMc5eJjVGjq6i857yHjTtg* x_p0, tyTuple__Wipq1508vNWp3jwczem6TQ y_p1);
N_LIB_PRIVATE N_NIMCALL(NI, lastOverloadScope__lookups_u5931)(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w* o_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__ZCZaCk14bTmSb6LMW9aWPVA, searchScopesAll__lookups_u2515)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* s_p1, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___sigmatch_u171)(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* dest_p0, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_u415)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* ctx_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callee_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* binding_p2, NI calleeScope_p3, NIM_BOOL diagnosticsEnabled_p4, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u1284)(tySequence__hMc5eJjVGjq6i857yHjTtg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, openShadowScope__lookups_u3850)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, addTypeBoundSymbols__sem_u1818)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p2, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p3, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p4, tySequence__hMc5eJjVGjq6i857yHjTtg* syms_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, nominalRoot__types_u4251)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, initModuleIter__modulegraphs_u3177)(tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ* mi_p0, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p2, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAttachableRoutineTo__sem_u1786)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p1);
static N_INLINE(NIM_BOOL, eqeq___ast_u617)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA a_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextModuleIter__modulegraphs_u3222)(tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ* mi_p0, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u3435)(tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, determineType__sem_u1709)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProcAux__sem_u20978)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2, tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProcAnnotation__sem_u11784)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prc_p1, tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isPossibleMacroPragma__sem_u15720)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyExcept__sem_u15755)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___procfind_u79)(tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semIdentDef__sem_u15470)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2, NIM_BOOL reportToNimsuggest_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__sem_u4358)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, setGenericParamsMisc__sem_u9966)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericParamList__sem_u9832)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semGenericConstraints__sem_u9828)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, linkTo__ast_u4644)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, semParamList__sem_u100)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semProcTypeNode__sem_u8238)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p3, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p4, NIM_BOOL isType_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newProcType__sem_u8225)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg*, lastOptionEntry__semdata_u451)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u611)(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semParamType__sem_u8208)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** constraint_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semNodeKindConstraints__parampatterns_u180)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, NI start_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMagic__sem_u8230)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasPragma__pragmas_u2487)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw pragma_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, liftParamType__sem_u8031)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q procKind_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_p3, NimStringV2 paramName_p4, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p5, NIM_BOOL anon_p6);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, addImplicitGeneric__sem_u7979)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeClass_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* typId_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p4, NimStringV2 paramName_p5);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___idents_u164)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA** dest_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* src_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, typeBodyImpl__ast_u5369)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, last__ast_u5278)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConcept__types_u3409)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPattern__sem_u10922)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, flattenStmts__trees_u359)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPatternBody__sem_u12053)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleSym__sem_u12072)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newParam__sem_u12059)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, expectParam__sem_u12199)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stupidStmtListExpr__trees_u384)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, addPattern__semdata_u4330)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA p_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u11990)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3469)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3497)(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, searchForProc__procfind_u64)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p2, tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w* Result);
N_LIB_PRIVATE N_NIMCALL(void, addInterfaceOverloadableSymAt__lookups_u3846)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2);
N_LIB_PRIVATE N_NIMCALL(void, addInterfaceDeclAt__lookups_u3819)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2);
N_LIB_PRIVATE N_NIMCALL(void, pragmaCallable__pragmas_u2536)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_p3, NIM_BOOL isStatement_p4);
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);
N_LIB_PRIVATE N_NIMCALL(void, wrongRedefinition__lookups_u3243)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 s_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA conflictsWith_p3, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA note_p4);
N_LIB_PRIVATE N_NIMCALL(void, addGenericParamListToScope__sem_u17226)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, addParams__sem_u105)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2);
static N_INLINE(NIM_BOOL, importantComments__options_u3569)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__ast_u836)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_u1334)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, popOwner__semdata_u439)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, semOverride__sem_u18479)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuNormalize)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void, bindTypeHook__sem_u18371)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p3);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, genericHead__ast_u5376)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, canonType__sem_u18248)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
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(NIM_BOOL, checkedForDestructor__sem_u18271)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, genericRoot__types_u4271)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, setAttachedOp__modulegraphs_u5617)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NI module_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* value_p4);
N_LIB_PRIVATE N_NIMCALL(void, prevDestructor__sem_u18256)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prevOp_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4);
N_LIB_PRIVATE N_NIMCALL(void, bindDupHook__sem_u18303)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p3);
static N_INLINE(NIM_BOOL, contains__stdZenumutils_u51)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1);
static N_INLINE(NI, find__stdZenumutils_u56)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1);
N_LIB_PRIVATE N_NIMCALL(void, semCppMember__sem_u18647)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tySequence__ZCZaCk14bTmSb6LMW9aWPVA*, mgetOrPut__sem_u18789)(tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tySequence__ZCZaCk14bTmSb6LMW9aWPVA val_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__cgen_u4625)(tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sem_u19938)(tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProc__sem_u18627)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProcAux__sem_u18613)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__79bKWAKrLRHiUZ6lV3lObBQ, inCheckpoint__sigmatch_u6564)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA current_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos_p1);
N_LIB_PRIVATE N_NIMCALL(void, semMethodPrototype__sem_u20953)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_u7099)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, addMethodToGeneric__modulegraphs_u9475)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NI module_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2, NI col_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasObjParam__sem_u18631)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, methodDef__cgmeth_u202)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, hloBody__sem_u793)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, hlo__sem_u693)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI loopDetector_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, applyPatterns__sem_u716)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, applyRule__patterns_u367)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalPattern__sem_u697)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDirectOp__sem_u526)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOverloadedCallAnalyseEffects__sem_u24589)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4);
static N_INLINE(NIM_BOOL, isClosureIterator__ast_u7426)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, afterCallActions__sem_u24693)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4);
N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sem_u24680)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL isBracketExpr_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, finishOperand__sem_u24654)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedParams__sem_u15639)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p1);
N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_u2285)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, activate__sem_u117)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, fixAbstractType__sem_u23347)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NIM_BOOL, isArrayConstr__sem_u155)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, analyseIfAddressTakenInCall__semdata_u7430)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL isConverter_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, magicsAfterOverloadResolution__sem_u24312)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAddr__sem_u23464)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA, isAssignable__sem_u23377)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA, isAssignable__parampatterns_u315)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makePtrType__semdata_u4378)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTypeOf__sem_u142)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_u2138)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg** dest_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, computeSizeAlign__types_u3070)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u2135)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrGet__sem_u23541)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSubscript__sem_u23536)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, NIM_BOOL afterOverloading_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDeref__sem_u25382)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeDeref__sem_u15647)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int128_u973)(NI64 a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(NI, toInt__int128_u257)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg arg_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u25475)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___int128_u36)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSymGenericInstantiation__sem_u22003)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, maybeInstantiateGeneric__sem_u25405)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, NIM_BOOL doError_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, explicitGenericInstantiation__sem_u4105)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, NIM_BOOL doError_p3);
N_LIB_PRIVATE N_NIMCALL(void, setGenericParams__sem_u4086)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* expectedParams_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, explicitGenericSym__sem_u4056)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySequence__9bnh9aVmYtKU19btQYqjGktpw* errors_p3, NIM_BOOL doError_p4);
N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_u450)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* ctx_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callee_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* binding_p2, NI calleeScope_p3, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result);
N_LIB_PRIVATE N_NIMCALL(void, matchGenericParams__sigmatch_u332)(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* binding_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callee_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__sem_u2016)(tySequence__9bnh9aVmYtKU19btQYqjGktpw* x_p0, tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___sigmatch_u132)(tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u5503)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, notFoundError__sem_u2926)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, typSym__astmsgs_u5)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2700)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getProcHeader__types_u219)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p2, NIM_BOOL getDeclarationPath_p3);
N_LIB_PRIVATE N_NIMCALL(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ, presentFailedCandidates__sem_u2191)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_p2);
N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s_p0, NI newLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLocMaybe__astmsgs_u20)(NimStringV2* result_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderNotLValue__semdata_u7314)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, addTypeDeclVerboseMaybe__types_u57)(NimStringV2* result_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(void, addPragmaAndCallConvMismatch__types_u3895)(NimStringV2* message_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actual_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3);
N_LIB_PRIVATE N_NIMCALL(void, effectProblem__sem_u2162)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p1, NimStringV2* result_p2, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p3);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u71)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2697)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, sort__sem_u2516)(NimStringV2* a_p0, NI a_p0Len_0, tyEnum_SortOrder__wt7l6Gbd8C9c61b6I621QeA order_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuJoinSep)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 sep_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2688)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5506)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u2883)(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, describeParamList__sem_u2908)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI startIdx_p2, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, describeArg__sigmatch_u618)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI i_p2, NI startIdx_p3, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u2755)(tySequence__9bnh9aVmYtKU19btQYqjGktpw dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, explicitGenericInstError__sem_u4052)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, symNodeFromType__semdata_u4649)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, bracketNotFoundError__sem_u3357)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrPut__sem_u23594)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipHiddenAddr__ast_u7634)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAsgnOpr__sem_u23605)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semShallowCopy__sem_u23935)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIsPartOf__sem_u23610)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__Y9b4HDQn2qbT5xWKGFH75iQ, isPartOf__aliases_u120)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNodeT__semfold_u44)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg intVal_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTypeTraits__sem_u23844)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalTypeTrait__sem_u23681)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* traitCall_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* operand_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* context_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, toNode__sem_u23644)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA i_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, buildBinaryPredicate__sem_u23669)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* context_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, buildNotPredicate__sem_u23676)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* context_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q, parseEnum__sem_u23732)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newStrNode__ast_u5422)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NimStringV2 strVal_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getTypeDescNode__sem_u23662)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u23768)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, uninstantiate__sem_u23659)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, firstGenericParam__ast_u5366)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, supportsCopyMem__types_u4301)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycle__types_u784)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newStrNodeT__semfold_u63)(NimStringV2 strVal_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semInstantiationInfo__sem_u23630)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NI, expectIntLit__sem_u23623)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getInfoContext__msgs_u602)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NI index_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPath__msgs_u624)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NI32 fileIdx_p1);
static N_INLINE(NI, toLinenumber__msgs_u695)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p0);
static N_INLINE(NI, toColumn__msgs_u698)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOrd__sem_u23861)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOf__sem_u23939)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff__types_u2785)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semLowHigh__sem_u22977)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, indexType__ast_u5345)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBindSym__sem_u23866)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_u7159)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDynamicBindSym__sem_u23921)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__sem_u31840)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u31762)(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u2873)(tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___sem_u31774)(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* dest_p0, void* env_p1);
static N_INLINE(void, nimTraceRefDyn)(void* q_p0, void* env_p1);
static N_INLINE(void, add__system_u3018)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0, void** c_p1, TNimTypeV2* t_p2);
N_LIB_PRIVATE N_NIMCALL(void, resize__system_u3026)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___semdata_u4218)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw** dest_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmdef_u2206)(tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u31797)(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p_p0, TNimTypeV2* desc_p1);
N_LIB_PRIVATE N_NIMCALL(void, setupGlobalCtx__vm_u14219)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p0, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
N_LIB_PRIVATE N_NIMCALL(RootObj*, eqdup___ast_u4951)(RootObj* src_p0, NIM_BOOL cyclic_p1);
N_LIB_PRIVATE N_NIMCALL(NI, registerCallback__vmdef_u2258)(tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew* c_p0, NimStringV2 name_p1, tyProc__c9bXGQkBnyyGGVw063jrwZw callback_p2);
N_LIB_PRIVATE N_CLOSURE(void, bindSymWrapper__sem_u23930)(tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg* a_p0, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, setResult__vm_u274)(tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, opBindSym__sem_u23891)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, NI isMixin_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* info_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___lookups_u83)(tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww** dest_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___lookups_u71)(tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getNode__vm_u375)(tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg* a_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(NI64, getInt__vm_u301)(tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg* a_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntTypeNode__ast_u5387)(NI64 intVal_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1);
N_LIB_PRIVATE N_NIMCALL(tyProc__1nD4dBuhjTAOzMZJo9bmgog, getPlugin__pluginsZactive_u7)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, addDefaultFieldForNew__sem_u23437)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semNewFinalize__sem_u24184)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConvCastAndClosure__astalgo_u60)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, whereToBindTypeHook__sem_u18287)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newProcNode__ast_u5430)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* name_p4, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pattern_p5, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p6, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_p7, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* exceptions_p8);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, turnFinalizerIntoDestructor__sem_u24038)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* orig_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeVarType__magicsys_u140)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, transform__sem_u24043)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* old_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* fresh_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* oldParam_p4, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newParam_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newProcType__ast_u7492)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2);
N_LIB_PRIVATE N_NIMCALL(void, addParam__ast_u7497)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* procType_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_p1);
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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semUnown__sem_u23980)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, unownedType__sem_u23984)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__d8ZV4IMgHt9biik9cS9a0hrmg, newSeq__icZic_u16261)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3311)(tySequence__d8ZV4IMgHt9biik9cS9a0hrmg dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semQuantifier__sem_u24076)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOld__sem_u24161)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, checkDefault__sem_u24299)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, checkIsolate__isolation95check_u220)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPrivateAccess__sem_u24279)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, commonOptimizations__transf_u3199)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* c_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p3);
N_LIB_PRIVATE N_NIMCALL(void, trackProc__sempass2_u8361)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2);
static N_INLINE(void, popProcCon__semdata_u696)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
static N_INLINE(void, paramsTypeCheck__sem_u520)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1);
N_LIB_PRIVATE N_NIMCALL(void, fixupInstantiatedSymbols__sem_u1244)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(void, semBorrow__sem_u18069)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(void, searchForBorrowProc__sem_u4152)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* startScope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p2, tyTuple__i8rz7q24mELXeBm9byGB9bhQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseOfDistinct__types_u3470)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u4227)(tyTuple__i8rz7q24mELXeBm9byGB9bhQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, sideEffectsCheck__sem_u1271)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, makeVarType__semdata_u4402)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___sigmatch_u159)(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_u589)(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* a_p0, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* b_p1, NIM_BOOL isFormal_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___varpartitions_u1293)(tySequence__hMc5eJjVGjq6i857yHjTtg* dest_p0, tySequence__hMc5eJjVGjq6i857yHjTtg src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_u236)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, closeShadowScope__lookups_u3852)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, mergeShadowScope__lookups_u3854)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pragmas_u1583)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0, tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** b_p2, NI b_p2Len_0);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1314)(NimStringV2 s_p0, tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig x_p1);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2430)(NimStringV2* s_p0);
static N_INLINE(tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig, dotdot___stdZenumutils_u106)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getMsgDiagnostic__sem_u2976)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* f_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u2992)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getSymRepr__lookups_u2653)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, NIM_BOOL getDeclarationPath_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u3017)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, delete__sem_u3227)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameMethodDispatcher__sem_u1683)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u3298)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semResolvedCall__sem_u3944)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4);
N_LIB_PRIVATE N_NIMCALL(void, inheritBindings__sem_u3549)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u3710)(tySequence__4j8aBmBZMD9chZMBaxw9bcbQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__4j8aBmBZMD9chZMBaxw9bcbQ, newSeq__sem_u3603)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__sem_u3770)(tySequence__4j8aBmBZMD9chZMBaxw9bcbQ* x_p0, tyTuple__IYAk6y4YHp5OEJgCALGjQw y_p1);
static N_INLINE(void, pop__sem_u3793)(tySequence__4j8aBmBZMD9chZMBaxw9bcbQ* s_p0, tyTuple__IYAk6y4YHp5OEJgCALGjQw* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u5578)(tyTuple__IYAk6y4YHp5OEJgCALGjQw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, shrink__sem_u3612)(tySequence__4j8aBmBZMD9chZMBaxw9bcbQ* x_p0, NI newLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u5581)(tyTuple__IYAk6y4YHp5OEJgCALGjQw dest_p0);
static N_INLINE(NI, kidsLen__ast_u5648)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(NIM_BOOL, contains__sem_u3873)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** a_p0, NI a_p0Len_0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* item_p1);
static N_INLINE(NI, find__sem_u3878)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** a_p0, NI a_p0Len_0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* item_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3891)(tySequence__d8ZV4IMgHt9biik9cS9a0hrmg* x_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* y_p1);
static N_INLINE(void, put__layeredtable_u734)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* typeMap_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* value_p2);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___layeredtable_u742)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* val_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, compactVoidArgs__sem_u3922)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersSons__sem_u3445)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p2);
N_LIB_PRIVATE N_NIMCALL(void, markConvertersUsed__sem_u3461)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, updateDefaultParams__sem_u3519)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semEnum__sem_u4475)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u6338)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u4514)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__sem_u4503)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg, initStrTable__ast_u6321)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sem_u4716)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI64 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, incl__sem_u4938)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI64 key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__sem_u5492)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI64 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, declarePureEnumField__importer_u71)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, strTableInclReportConflict__astalgo_u2677)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1, NIM_BOOL onConflictKeepOld_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u6015)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, sort__sem_u6035)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** a_p0, NI a_p0Len_0, tyProc__LPif9b9aloZA2k1Nxo0IoeCQ cmp_p1, tyEnum_SortOrder__wt7l6Gbd8C9c61b6I621QeA order_p2);
N_LIB_PRIVATE N_NIMCALL(NI, colonanonymous___sem_u6025)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_u8225)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, addPureEnum__semdata_u4312)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA e_p1);
N_LIB_PRIVATE N_NIMCALL(void, setToStringProc__modulegraphs_u8744)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* value_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, genEnumToStrProc__enumtostr_u7)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semStmtListType__sem_u8667)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semBlockType__sem_u8677)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2);
N_LIB_PRIVATE N_NIMCALL(void, initLayeredTypeMap__layeredtable_u9)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA pt_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* Result);
static N_INLINE(NI, signatureLen__ast_u5610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, wrapInComesFrom__evaltempl_u335)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_p2);
static N_INLINE(NIM_BOOL, hasWarn__options_u617)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw note_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u25108)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryReadingTypeField__sem_u25150)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* i_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ty_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupInRecord__astalgo_u30)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* field_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryReadingGenericParam__sem_u25132)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* i_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, readTypeParameter__sem_u24975)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* paramName_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipGenericAlias__types_u2148)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsUnresolvedType__types_u3467)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeExpr__sem_u24894)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupInRecordAndBuildCheck__sem_u24912)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* field_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** check_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createSetType__sem_u24901)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, propertyWriteAccess__sem_u25523)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p3);
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, dotTransformation__sem_u25317)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI initialDerefs_p2);
static N_INLINE(NIM_BOOL, isSymChoice__sem_u22017)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildOverloadedSubscripts__sem_u25377)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeTupleAssignments__sem_u25734)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u15896)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u15901)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTupleAccessRaw__lowerings_u105)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tup_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newAsgnStmt__lowerings_u43)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getRoot__trees_u373)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ, cmpTypes__sigmatch_u3580)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p2);
N_LIB_PRIVATE N_NIMCALL(void, borrowCheck__sem_u25644)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3);
static N_INLINE(NIM_BOOL, scopedLifetime__sem_u25655)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getRoot__sem_u25651)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL followDeref_p1);
static N_INLINE(NIM_BOOL, escapes__sem_u25683)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, goodLineInfo__sem_u25727)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p0);
static N_INLINE(void, asgnToResultVar__sem_u25602)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3);
N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw, classifyViewType__typeallowed_u552)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, takeImplicitAddr__sem_u25541)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL isLent_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, exprRoot__parampatterns_u294)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL allowCalls_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u25567)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, createDocLink__lineinfos_u6)(NimStringV2 urlSuffix_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u25576)(NimStringV2* args_p1, NI args_p1Len_0);
static N_INLINE(NIM_BOOL, isIterator__ast_u7415)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u1115)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, finishMethod__sem_u123)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAmbiguous__lookups_u2573)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* s_p1, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** sym_p3);
N_LIB_PRIVATE N_NIMCALL(void, semCaptureSym__lambdalifting_u5480)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
static N_INLINE(void, markIndirect__semdata_u4654)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, enumFieldSymChoice__sem_u28706)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSymChoice__sem_u22101)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOpenSym__sem_u22047)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3, NIM_BOOL warnDisabled_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getNilType__sem_u28699)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, transitionIntToFloatKind__ast_u6815)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TNodeKind__ejrmw4CHo9bZqcGZhO9alDfA kind_p1);
N_LIB_PRIVATE N_NIMCALL(void, setIntLitType__semdata_u323)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semFieldAccess__sem_u21875)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConv__sem_u22833)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStaticExpr__sem_u134)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, findUnresolvedStatic__ast_u7354)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, maybeLiftType__sem_u22808)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** t_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedSym__sem_u22817)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, inferWithMetatype__sem_u250)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, NIM_BOOL coerceDistincts_p3);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A, checkConvertible__sem_u22183)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* targetTyp_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A, checkConversionBetweenObjects__sem_u22153)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* castDest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1, NI pointers_p2);
static N_INLINE(NIM_BOOL, contains__sem_u22361)(tyObject_HSlice__whvohxbOh9bZInELasBCieg s_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw value_p1);
static N_INLINE(tyObject_HSlice__whvohxbOh9bZInELasBCieg, dotdot___sem_u22287)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw a_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw b_p1);
static N_INLINE(NIM_BOOL, contains__semfold_u118)(tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA* s_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg value_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int128_u408)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
static N_INLINE(void, dotdot___semfold_u86)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1, tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, getInt__ast_u7046)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass__gfrWEZTSUZU5OWgwK4wTYw, classify__pureZmath_u211)(NF x_p0);
static N_INLINE(NIM_BOOL, contains__sem_u22544)(tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA* s_p0, NI64 value_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int128_u966)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, NI64 b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u22934)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NF, getFloat__ast_u7061)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0);
N_LIB_PRIVATE N_NIMCALL(void, errorUseQualifier__lookups_u5067)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semObjConstr__sem_u23432)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(void, addTypeNodeDeclaredLoc__astmsgs_u50)(NimStringV2* result_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u28195)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, listSymbolNames__astalgo_u3461)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** symbols_p0, NI symbols_p0Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMagic__sem_u26546)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDefined__sem_u26119)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, considerQuotedIdentOrDot__sem_u26107)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* origin_p2);
N_NIMCALL(NimStringV2, rawNewString)(NI cap_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, setMs__sem_u26528)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDeclared__sem_u26147)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL onlyCurrentScope_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookUpForDeclared__sem_u26126)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL onlyCurrentScope_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, localSearchInScope__lookups_u126)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, someSym__modulegraphs_u3324)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCompiles__sem_u26484)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryExpr__sem_u113)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___semdata_u2668)(tySequence__4zAALtm0xUbRlYWQ2V8K7A* dest_p0, tySequence__4zAALtm0xUbRlYWQ2V8K7A src_p1);
N_LIB_PRIVATE N_NIMCALL(NI, getInfoContextLen__msgs_u556)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___semdata_u2674)(tySequence__4zAALtm0xUbRlYWQ2V8K7A* dest_p0, tySequence__4zAALtm0xUbRlYWQ2V8K7A src_p1);
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);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___semdata_u2662)(tySequence__4zAALtm0xUbRlYWQ2V8K7A* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___semdata_u698)(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, setInfoContextLen__msgs_u562)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NI L_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__ast_u4725)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u2665)(tySequence__4zAALtm0xUbRlYWQ2V8K7A dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIs__sem_u23092)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, fixupStaticType__sem_u23011)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeTypeSymNode__semdata_u4411)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, isOpImpl__sem_u23018)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u5515)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExpandToAst__sem_u26231)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* magicSym_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExpandToAst__sem_u26186)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCallExpr__ast_u3180)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semQuoteAst__sem_u120)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, expectString__sem_u26172)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__9ahcSjIErJohSBBFLwuF56Q, newSeq__closureiters_u2254)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newAnonSym__sem_u26181)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, processQuotations__sem_u26237)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, NimStringV2 op_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q* quotes_p3, tySequence__9ahcSjIErJohSBBFLwuF56Q* ids_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringV2 s_p0, NimStringV2 prefix_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8645)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSons__ast_u6108)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, NI length_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplateDef__sem_u11788)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBodyDirty__sem_u11548)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBody__sem_u10461)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplSymbol__sem_u10631)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, NIM_BOOL isField_p3, NIM_BOOL isAmbiguous_p4);
N_LIB_PRIVATE N_NIMCALL(void, styleCheckUseImpl__linter_u198)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBodySons__sem_u10926)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, openScope__sem_u10464)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeScope__sem_u10466)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBodyScope__sem_u10468)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, addLocalDecl__sem_u10485)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q k_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA, symBinding__sem_u10192)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichKeyword__idents_u360)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_p0);
N_LIB_PRIVATE N_NIMCALL(void, getIdentReplaceParams__sem_u10442)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyTuple__pod1b7gjdRZb0inVGup1nQ* Result);
static N_INLINE(NIM_BOOL, isTemplParam__sem_u10423)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___importer_u3673)(tyTuple__pod1b7gjdRZb0inVGup1nQ* dest_p0, tyTuple__pod1b7gjdRZb0inVGup1nQ src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___importer_u3664)(tyTuple__pod1b7gjdRZb0inVGup1nQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newGenSym__sem_u10472)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p2);
N_LIB_PRIVATE N_NIMCALL(void, replaceIdentBySym__sem_u10409)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_p2);
N_LIB_PRIVATE N_NIMCALL(void, semTemplSomeDecl__sem_u10911)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p2, NI start_p3);
N_LIB_PRIVATE N_NIMCALL(void, semTemplIdentDef__sem_u10902)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semRoutineInTemplBody__sem_u10786)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q k_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semRoutineInTemplName__sem_u10748)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL explicitInject_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRunnableExamples__trees_u411)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, symTabReplace__astalgo_u2636)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prevSym_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newSym_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getCompilerProc__magicsys_u150)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NimStringV2 name_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, createMagic__modulegraphs_u10814)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, NimStringV2 name_p2, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p3);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpawnResult__Fi6IYHzmOR0d8zopbmZXuw, spawnResult__spawn_u29)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, NIM_BOOL inParallel_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createFlowVar__sem_u26501)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, instantiateCreateFlowVarCall__sem_u26506)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSizeof__sem_u26532)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIndirectOp__sem_u24737)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newDeref__lowerings_u12)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, resolveIndirectCall__sem_u24648)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result);
N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_u245)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* ctx_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* callee_p1, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result);
N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLocMaybe__astmsgs_u58)(NimStringV2* result_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, overloadedCallOpr__sem_u23149)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExplicitGenericCall__sem_u28551)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, asBracketExpr__sem_u28598)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGeneric__sem_u28602)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, hoistParamsUsedInDefault__sem_u28653)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** call_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** letSection_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** defExpr_p3);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipAddr__trees_u429)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOpenArraySym__sem_u28645)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrayAccess__sem_u25513)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(void, invalidPragma__pragmas_u142)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg, checkPar__sem_u26911)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTupleConstr__sem_u28521)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTuplePositionsConstr__sem_u27060)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasEmpty__sem_u14915)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
static N_INLINE(NIM_BOOL, isTypeTupleField__sem_u28506)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTupleFieldsConstr__sem_u26968)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSetConstr__sem_u26785)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrayConstr__sem_u23243)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u23314)(NimStringV2* args_p1, NI args_p1Len_0);
static N_INLINE(void, setIndexType__ast_u5360)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* idx_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCast__sem_u22959)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, errorUseQualifier__lookups_u5141)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* choices_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCastable__sem_u22720)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dst_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_u772)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NI64, computeSize__types_u3379)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIf__sem_u15228)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprBranch__sem_u15036)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, commonType__sem_u431)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_u429)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprBranchScope__sem_u15050)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTableConstr__sem_u26880)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBlock__sem_u28238)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStmtList__sem_u21764)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(void, inferConceptStaticParam__sem_u21753)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* inferred_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u21759)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semRaise__sem_u17213)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException__ast_u7302)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isException__types_u4100)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semVarOrLet__sem_u15954)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symkind_p2);
N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_u7748)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semVarMacroPragma__sem_u15764)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(void, addToVarSection__sem_u15517)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeStmtList__ast_u7245)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeVarTupleSection__sem_u15883)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p4, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symkind_p5, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** origResult_p6);
N_LIB_PRIVATE N_NIMCALL(void, addToVarSection__sem_u15525)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* identDefs_p3);
N_LIB_PRIVATE N_NIMCALL(void, fillPartialObject__sem_u15669)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscardUnderscore__sem_u15535)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p0);
static N_INLINE(void, addInterfaceDecl__lookups_u3823)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, findShadowedVar__sem_u15443)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1);
N_LIB_PRIVATE N_NIMCALL(void, setVarType__sem_u15704)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkDefineType__sem_u15685)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2);
N_LIB_PRIVATE N_NIMCALL(void, defaultConstructionError__sem_u148)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___sem_u28133)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, checkNilable__sem_u15492)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1);
N_LIB_PRIVATE N_NIMCALL(void, setupCompileTimeVar__vm_u14318)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p3);
N_LIB_PRIVATE N_NIMCALL(void, globalVarInitCheck__sem_u15878)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, usesLocalVar__sem_u15833)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConst__sem_u16298)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitRemoveHiddenConv__sem_u15409)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTypeSection__sem_u18029)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, typeSectionLeftSidePass__sem_u17380)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, typeDefLeftSidePass__sem_u17259)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typeSection_p1, NI i_p2);
N_LIB_PRIVATE N_NIMCALL(void, typeSectionRightSidePass__sem_u17467)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, typeSectionTypeName__sem_u17243)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, processMagicType__sem_u9786)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1);
N_LIB_PRIVATE N_NIMCALL(void, setMagicIntegral__sem_u9777)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, NI size_p3);
N_LIB_PRIVATE N_NIMCALL(void, setMagicType__sem_u9768)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, NI size_p3);
N_LIB_PRIVATE N_NIMCALL(NI16, floatInt64Align__options_u4319)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkCovariantParamsUsages__sem_u17390)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* genericType_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__sem_u32968)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u32903)(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A* dest_p0);
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, traverseSubTypes__sem_u17394)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u32934)(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3705)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
N_LIB_PRIVATE N_NIMCALL(void, typeSectionFinalPass__sem_u17768)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, safeSkipTypes__types_u3656)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkForMetaFields__sem_u17708)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL* hasError_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkMeta__sem_u17712)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2, NIM_BOOL* hasError_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* parent_p4);
N_LIB_PRIVATE N_NIMCALL(void, checkConstructedType__semtypinst_u27)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDiscard__sem_u14931)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semWhile__sem_u15009)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTry__sem_u15258)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, toObject__ast_u7291)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefectOrCatchableError__types_u4157)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, toRef__ast_u7280)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBreakOrContinue__sem_u14957)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semFor__sem_u17085)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleForLoopMacro__sem_u17058)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleStmtMacro__sem_u17009)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* selector_p2, NimStringV2 magicType_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprNoDeref__sem_u71)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrivalStmtExpr__sem_u16997)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semForVars__sem_u16802)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, symForVar__sem_u16733)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semForFields__sem_u16622)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, systemModuleSym__modulegraphs_u3414)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, instFieldLoopBody__sem_u16492)(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forLoop_p2);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, wrapNewScope__sem_u16487)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u16587)(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, semForObjectFields__sem_u16553)(tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typ_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forLoop_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p3);
N_LIB_PRIVATE N_NIMCALL(void, illFormedAstLocal__semdata_u4668)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u16713)(tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w dest_p0);
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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, implicitIterator__sem_u16979)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, NimStringV2 it_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCase__sem_u17157)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3);
N_LIB_PRIVATE N_NIMCALL(void, pushCaseContext__semdata_u4693)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseNode_p1);
N_LIB_PRIVATE N_NIMCALL(void, popCaseContext__semdata_u4716)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleCaseStmtMacro__sem_u17063)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, setCaseContextIdx__semdata_u4737)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, NI idx_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semReturn__sem_u25934)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semUsing__sem_u15545)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, strTableIncl__astalgo_u2717)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1, NIM_BOOL onConflictKeepOld_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAsm__sem_u15004)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, pragmaAsm__pragmas_u462)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAsmOrEmit__pragmas_u1096)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* con_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_CHAR marker_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semYield__sem_u26068)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, semYieldVarResult__sem_u26012)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* restype_p2);
N_LIB_PRIVATE N_NIMCALL(void, semPragmaStmt__sem_u28753)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIterator__sem_u21436)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, transitionRoutineSymKind__ast_u6846)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyEnum_TSymKind__fzoDhZbHLwFaqo7QLPWQkQ kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProc__sem_u15033)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semFunc__sem_u21490)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMethod__sem_u21499)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getDispatcher__cgmeth_u36)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConverterDef__sem_u21526)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, addConverterDef__semdata_u4305)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA conv_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMacroDef__sem_u21540)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, findImportStmtOnLine__sigmatch_u7626)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NU16 line_p1);
N_LIB_PRIVATE N_NIMCALL(void, suggestModuleNames__sigmatch_u7553)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalImport__importer_u3929)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalImportExcept__importer_u3979)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalFrom__importer_u3960)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalInclude__sem_u21616)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, incMod__sem_u21582)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* includeStmtResult_p3);
N_LIB_PRIVATE N_NIMCALL(NI32, checkModuleName__modulepaths_u22)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL doLocalError_p2);
N_LIB_PRIVATE N_NIMCALL(void, addIncludeFileDep__semdata_u4240)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, NI32 f_p1);
N_LIB_PRIVATE N_NIMCALL(void, onProcessing__modulegraphs_u17910)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, NI32 fileIdx_p1, NimStringV2 moduleStatus_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fromModule_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toMsgFilename__msgs_u688)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExport__sem_u28407)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, reexportSym__semdata_u4355)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_u3008)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1);
static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_u2997)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NI module_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, initRodIterAllSyms__icZic_u21632)(tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ* it_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg* g_p3, NI32 module_p4, NIM_BOOL importHidden_p5);
static N_INLINE(void, specialSyms__sem_u28411)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(void, addConverter__semdata_u4291)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA conv_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextRodIter__icZic_u21968)(tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ* it_p0, tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg* g_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u3288)(tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4851)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* dest_p0, tySequence__ZCZaCk14bTmSb6LMW9aWPVA src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExportExcept__sem_u28331)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, readExceptSet__importer_u19)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPragmaBlock__sem_u21685)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg*, enterPragmaBlock__sem_u21679)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, setInfoRecursive__ast_u4054)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, recursiveSetFlag__sem_u21663)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flag_p1);
N_LIB_PRIVATE N_NIMCALL(void, leavePragmaBlock__sem_u21682)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* p_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStaticStmt__sem_u21713)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, evalStaticStmt__vm_u14312)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_u1103)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA a_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOperand__sem_u21881)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___sem_u29486)(tyProc__GbPSPD9bjvt0RIJnnVTczJA* dest_p0, tyProc__GbPSPD9bjvt0RIJnnVTczJA src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semInferredLambda__sem_u18202)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, replaceTypesInBody__semtypinst_u1635)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* p_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3, NIM_BOOL allowMetaTypes_p4, NIM_BOOL fromStaticExpr_p5, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p6);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___sem_u29537)(tyProc__iDJMP540ifFac3zJ49bj2cA* dest_p0, tyProc__iDJMP540ifFac3zJ49bj2cA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___sem_u29588)(tyProc__gq9a76bauTeymgreaiTI9cmg* dest_p0, tyProc__gq9a76bauTeymgreaiTI9cmg src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, instantiateOnlyProcType__sem_u1487)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___sem_u29639)(tyProc__Gji0NjiFFDU49aJiF3QZF8A* dest_p0, tyProc__Gji0NjiFFDU49aJiF3QZF8A src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, instTypeBoundOp__sigmatch_u5304)(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);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___sem_u29728)(tyProc__0qHBYUhlP28E2DV7mVNNAg* dest_p0, tyProc__0qHBYUhlP28E2DV7mVNNAg src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___vm_u14436)(NI** dest_p0, NI* src_p1);
N_LIB_PRIVATE N_NIMCALL(NI*, new__sem_u29364)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStmtAndGenerateGenerics__sem_u29821)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportSystemStmt__sem_u29784)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyTree__sem_u29817)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, importAllSymbols__importer_u2053)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fromMod_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAllTypeSections__sem_u17954)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, gatherStmts__sem_u17958)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, hloStmt__sem_u804)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildEchoStmt__sem_u24878)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, appendToModule__ast_u4652)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, sortVTableDispatchers__vtables_u1268)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0);
N_LIB_PRIVATE N_NIMCALL(void, collectVTableDispatchers__vtables_u122)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0);
N_LIB_PRIVATE N_NIMCALL(void, recoverContext__sem_u29874)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
static N_INLINE(Exception*, getCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u3658)(Exception* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, storeRodNode__semdata_u4793)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_u7810)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, rawCloseScope__lookups_u96)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, reportUnusedModules__sem_u29901)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
N_LIB_PRIVATE N_NIMCALL(void, addCodeForGenerics__sem_u29324)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, sealRodFile__semdata_u7250)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0);
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_2 = { 19 | NIM_STRLIT_FLAG, "sem.preparePContext" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_3 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_2};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_5 = { 58 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/sem.nim" };
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_6 = {
0x10, 0x89, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_7 = { 24 | NIM_STRLIT_FLAG, "expression has no type: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_8 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_7};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_10 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_11 = { 32 | NIM_STRLIT_FLAG, "generic converter failed rematch" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_12 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_11};
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_14 = { 62 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semcall.nim" };
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_15 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_16 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_17 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_18 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_17};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_19 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_20 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_21 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_22 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_21};
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_24 = { 62 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/seminst.nim" };
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_25 = { 32 | NIM_STRLIT_FLAG, "generic instantiation too nested" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_26 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_25};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_28 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_29 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_30 = { 10 | NIM_STRLIT_FLAG, "localpassc" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_31 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_30};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_32 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_30};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_33 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_25};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_37 = { 24 | NIM_STRLIT_FLAG, "cannot instantiate: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_38 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_40 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_42 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_44 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_45 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_46 = {
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_48 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_49 = { 29 | NIM_STRLIT_FLAG, "no tuple type for constructor" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_50 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_49};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_52 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semexprs.nim" };
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_53 = { 25 | NIM_STRLIT_FLAG, "invalid tuple constructor" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_54 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_53};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_56 = { 20 | NIM_STRLIT_FLAG, "unknown identifier: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_57 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_56};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_59 = { 15 | NIM_STRLIT_FLAG, "cannot convert " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_60 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_59};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_61 = { 4 | NIM_STRLIT_FLAG, " to " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_62 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_61};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_65 = { 16 | NIM_STRLIT_FLAG, "cannot convert \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_66 = {16, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_65};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_67 = { 6 | NIM_STRLIT_FLAG, "\' to \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_68 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_67};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_69 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_70 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_72 = { 27 | NIM_STRLIT_FLAG, "illegal recursion in type \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_73 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_72};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_74 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_76 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_72};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_77 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_79 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x40, 0x54, 0x7f, 0xe8, 0xf7, 0x0b,
0xc0, 0x98, 0xff, 0x03, 0x40, 0x80, 0xf0, 0x00,
0x1a, 0x03, 0x30, 0x44, 0x72, 0x86, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_80 = { 7 | NIM_STRLIT_FLAG, "NimNode" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_81 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_80};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_82 = { 28 | NIM_STRLIT_FLAG, "incorrect result proc symbol" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_83 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_82};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_85 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semstmts.nim" };
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_86 = { 6 | NIM_STRLIT_FLAG, "result" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_87 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_86};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_88 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_86};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_89 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_80};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_90 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_80};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_91 = { 48 | NIM_STRLIT_FLAG, "value of type \'$1\' has to be used (or discarded)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_92 = {48, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_91};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_94 = {
0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_95 = { 18 | NIM_STRLIT_FLAG, "constant of type \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_96 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_95};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_97 = { 14 | NIM_STRLIT_FLAG, "\' has no value" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_98 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_97};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_100 = { 26 | NIM_STRLIT_FLAG, "recursive dependency: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_101 = {26, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_100};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_103 = { 39 | NIM_STRLIT_FLAG, "\'$1\' has unspecified generic parameters" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_104 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_103};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_106 = { 33 | NIM_STRLIT_FLAG, "template instantiation too nested" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_107 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_106};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_109 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static NIM_CONST tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw TM__rF9caJawfOjYTjsgLVUSGFA_110 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0c,
0x02, 0x00, 0xe0, 0x01, 0x00, 0x08, 0x09, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_111 = { 53 | NIM_STRLIT_FLAG, "Malformed `if` statement during implicitlyDiscardable" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_112 = {53, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_111};
static const struct {
  NI cap; NIM_CHAR data[51+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_113 = { 51 | NIM_STRLIT_FLAG, "Malformed `case` statement in implicitlyDiscardable" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_114 = {51, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_113};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_115 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_7};
static NIM_CONST tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw TM__rF9caJawfOjYTjsgLVUSGFA_117 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0c,
0x02, 0x00, 0xe0, 0x01, 0x00, 0x08, 0x08, 0x40,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_118 = { 46 | NIM_STRLIT_FLAG, "Malformed `if` statement during endsInNoReturn" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_119 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_118};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_120 = {
0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_121 = { 44 | NIM_STRLIT_FLAG, "Malformed `case` statement in endsInNoReturn" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_122 = {44, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_121};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_123 = { 12 | NIM_STRLIT_FLAG, "expression \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_124 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_123};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_125 = { 14 | NIM_STRLIT_FLAG, "\' is of type \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_126 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_125};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_127 = { 35 | NIM_STRLIT_FLAG, "\' and has to be used (or discarded)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_128 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_127};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_129 = { 28 | NIM_STRLIT_FLAG, "; start of expression here: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_130 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_129};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_131 = { 28 | NIM_STRLIT_FLAG, "; for a function call use ()" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_132 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_131};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_134 = { 13 | NIM_STRLIT_FLAG, "type expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_135 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_137 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semtypes.nim" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_138 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_72};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_139 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_141 = { 2 | NIM_STRLIT_FLAG, "[]" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_142 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_141};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_143 = { 14 | NIM_STRLIT_FLAG, "range is empty" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_144 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_143};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_146 = {
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_147 = { 40 | NIM_STRLIT_FLAG, "ordinal or float type expected, but got " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_148 = {40, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_147};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_150 = { 19 | NIM_STRLIT_FLAG, "enum \'$1\' has holes" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_151 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_150};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_153 = { 25 | NIM_STRLIT_FLAG, "NaN is not a valid range " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_154 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_153};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_155 = { 5 | NIM_STRLIT_FLAG, "start" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_156 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_155};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_157 = { 3 | NIM_STRLIT_FLAG, "end" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_158 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_157};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_160 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_143};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_162 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_163 = { 12 | NIM_STRLIT_FLAG, "invalid type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_164 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_163};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_166 = { 24 | NIM_STRLIT_FLAG, "expected type, but got: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_167 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_166};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_169 = { 1 | NIM_STRLIT_FLAG, "|" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_170 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_169};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_171 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_173 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const struct {
  NI cap; NIM_CHAR data[74+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_175 = { 74 | NIM_STRLIT_FLAG, "Invalid syntax. When used with a type, \'not\' can be followed only by \'nil\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_176 = {74, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_175};
static const struct {
  NI cap; NIM_CHAR data[213+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_178 = { 213 | NIM_STRLIT_FLAG, "enable the \'not nil\' annotation with {.experimental: \"notnil\".} or   the `strict not nil` annotation with {.experimental: \"strictNotNil\".}   the \"notnil\" one is going to be deprecated, so please use \"strictNotNil\"" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_179 = {213, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_178};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_181 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_163};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_183 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_163};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_185 = {
0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_186 = { 53 | NIM_STRLIT_FLAG, "cannot inherit from a type that is not an object type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_187 = {53, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_186};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_189 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_191 = { 22 | NIM_STRLIT_FLAG, "Cannot inherit from: \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_192 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_191};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_193 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_195 = { 21 | NIM_STRLIT_FLAG, "addInheritedFieldsAux" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_196 = {21, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_195};
static const struct {
  NI cap; NIM_CHAR data[41+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_198 = { 41 | NIM_STRLIT_FLAG, "addInheritedFieldsAux(record case branch)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_199 = {41, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_198};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_201 = { 23 | NIM_STRLIT_FLAG, "addInheritedFieldsAux()" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_202 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_201};
static const struct {
  NI cap; NIM_CHAR data[51+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_204 = { 51 | NIM_STRLIT_FLAG, "inheritance only works with non-final objects; for " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_205 = {51, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_204};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_206 = { 69 | NIM_STRLIT_FLAG, " to be inheritable it must be \'object of RootObj\' instead of \'object\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_207 = {69, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_206};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_209 = { 13 | NIM_STRLIT_FLAG, "semObjectNode" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_210 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_209};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_212 = { 28 | NIM_STRLIT_FLAG, "constant expression expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_213 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_212};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_215 = { 40 | NIM_STRLIT_FLAG, "semRecordCase: discriminant is no symbol" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_216 = {40, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_215};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_218 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_219 = { 35 | NIM_STRLIT_FLAG, "selector must be of an ordinal type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_220 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_219};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_222 = { 4 | NIM_STRLIT_FLAG, "low(" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_223 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_222};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_224 = { 28 | NIM_STRLIT_FLAG, ") must be 0 for discriminant" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_225 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_224};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_227 = { 31 | NIM_STRLIT_FLAG, "len($1) must be less than 32768" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_228 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_227};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_230 = { 26 | NIM_STRLIT_FLAG, "range of string is invalid" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_231 = {26, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_230};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_233 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_143};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_235 = { 20 | NIM_STRLIT_FLAG, "duplicate case label" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_236 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_235};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_238 = {
0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_239 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_241 = {
0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_242 = { 38 | NIM_STRLIT_FLAG, "not all cases are covered; missing: $1" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_243 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_242};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_244 = { 1 | NIM_STRLIT_FLAG, "{" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_245 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_244};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_246 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_247 = { 20 | NIM_STRLIT_FLAG, "omitted $1 values..." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_248 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_247};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_249 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_250 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_247};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_251 = { 1 | NIM_STRLIT_FLAG, "}" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_252 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_251};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_254 = { 25 | NIM_STRLIT_FLAG, "not all cases are covered" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_255 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_254};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_258 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_260 = { 22 | NIM_STRLIT_FLAG, "nimPreviewRangeDefault" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_261 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_260};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_263 = { 33 | NIM_STRLIT_FLAG, "\'$1\' is only allowed at top level" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_264 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_265 = { 6 | NIM_STRLIT_FLAG, "export" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_266 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_265};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_268 = { 24 | NIM_STRLIT_FLAG, "invalid visibility: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_269 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_268};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_271 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x40, 0x3d, 0x06, 0x00, 0x0a,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20}
;
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_272 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x30, 0x40, 0x7d, 0x4c, 0x70, 0x0a,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x00, 0x30, 0x61, 0x11, 0x1c, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_273 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x0e, 0x40, 0x7d, 0x48, 0x60, 0x0a,
0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x00, 0x00, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_274 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_275 = { 22 | NIM_STRLIT_FLAG, "attempt to redefine: \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_276 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_275};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_277 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_279 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_275};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_280 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_282 = { 5 | NIM_STRLIT_FLAG, "dummy" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_283 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_282};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_284 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x28, 0x00, 0xc0, 0xfd, 0x5b, 0x61, 0x0a,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20,
0x10, 0x31, 0xb0, 0xc0, 0x0c, 0x64, 0x0c, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80}
;
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_286 = { 67 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semobjconstr.nim" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_287 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[65+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_288 = { 65 | NIM_STRLIT_FLAG, "incorrect object construction syntax; use a space after the colon" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_289 = {65, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_288};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_291 = { 36 | NIM_STRLIT_FLAG, "incorrect object construction syntax" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_292 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_291};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_294 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_295 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_296 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_297 = { 53 | NIM_STRLIT_FLAG, "semobjconstr.nim(141, 5) `recList.kind == nkRecList` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_298 = {53, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_297};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_299 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_300 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_301 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[59+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_304 = { 59 | NIM_STRLIT_FLAG, "the resulting AST is cyclic and cannot be processed further" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_305 = {59, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_304};
static NIM_CONST tySet_tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg TM__rF9caJawfOjYTjsgLVUSGFA_307 = {
0xe1, 0x00, 0x00, 0xe0, 0xf0, 0xcf, 0xff, 0xf7,
0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xfe, 0x0f,
0x3e, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_308 = { 20 | NIM_STRLIT_FLAG, "cannot evaluate \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_309 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_308};
static const struct {
  NI cap; NIM_CHAR data[106+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_311 = { 106 | NIM_STRLIT_FLAG, "branch initialization with a runtime discriminator only supports ordinal types with 2^16 elements or less." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_312 = {106, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_311};
static const struct {
  NI cap; NIM_CHAR data[102+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_316 = { 102 | NIM_STRLIT_FLAG, "runtime discriminator must be immutable if branch fields are initialized, a \'let\' binding is required." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_317 = {102, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_316};
static const struct {
  NI cap; NIM_CHAR data[95+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_319 = { 95 | NIM_STRLIT_FLAG, "branch initialization with a runtime discriminator is not supported inside of an `elif` branch." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_320 = {95, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_319};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_325 = {53, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_297};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_326 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_327 = { 11 | NIM_STRLIT_FLAG, "zeroDefault" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_328 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_327};
static const struct {
  NI cap; NIM_CHAR data[114+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_329 = { 114 | NIM_STRLIT_FLAG, "branch initialization with a runtime discriminator is not supported for a branch whose fields have default values." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_330 = {114, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_329};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_332 = { 11 | NIM_STRLIT_FLAG, "unreachable" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_333 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_332};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_334 = { 16 | NIM_STRLIT_FLAG, "arrayWithDefault" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_335 = {16, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_334};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_336 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_327};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_337 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_332};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_338 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_260};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_340 = { 29 | NIM_STRLIT_FLAG, "type \'$1 void\' is not allowed" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_341 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_340};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_343 = { 33 | NIM_STRLIT_FLAG, "region needs to be an object type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_344 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_343};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_346 = { 38 | NIM_STRLIT_FLAG, "region for pointer types is deprecated" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_347 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_346};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_349 = {
0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_350 = { 6 | NIM_STRLIT_FLAG, "typeof" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_351 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_350};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_352 = { 56 | NIM_STRLIT_FLAG, "typeof: cannot evaluate \'mode\' parameter at compile-time" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_353 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_352};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_355 = { 5 | NIM_STRLIT_FLAG, "owned" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_356 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_355};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_357 = {
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_358 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_359 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_360 = { 2 | NIM_STRLIT_FLAG, "{}" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_361 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_360};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_362 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_141};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_363 = { 3 | NIM_STRLIT_FLAG, "{}=" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_364 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_363};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_365 = { 3 | NIM_STRLIT_FLAG, "[]=" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_366 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_365};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_367 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_86};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_368 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_370 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_372 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_374 = { 19 | NIM_STRLIT_FLAG, "identifier expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_375 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_374};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_377 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_379 = { 3 | NIM_STRLIT_FLAG, "..<" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_380 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_379};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_381 = { 40 | NIM_STRLIT_FLAG, "Array length can\'t be negative, but was " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_382 = {40, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_381};
static const struct {
  NI cap; NIM_CHAR data[75+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_384 = { 75 | NIM_STRLIT_FLAG, "Array length can\'t exceed its maximum value (9223372036854775807), but was " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_385 = {75, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_384};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_387 = { 32 | NIM_STRLIT_FLAG, "ordinal type expected; given: $1" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_388 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_390 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_391 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_393 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_395 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_150};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_397 = { 38 | NIM_STRLIT_FLAG, "index type \'$1\' for array is too large" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_398 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_397};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_400 = { 33 | NIM_STRLIT_FLAG, "array expects two type parameters" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_401 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_400};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_403 = { 27 | NIM_STRLIT_FLAG, "\'$1\' is not a concrete type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_404 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_403};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_406 = { 31 | NIM_STRLIT_FLAG, "\'$1\' expects one type parameter" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_407 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_409 = { 9 | NIM_STRLIT_FLAG, "openarray" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_410 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_409};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_411 = { 14 | NIM_STRLIT_FLAG, "UncheckedArray" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_412 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_411};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_413 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_260};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_414 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_379};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_415 = { 68 | NIM_STRLIT_FLAG, "range types need to be constructed with \'..\', \'..<\' is not supported" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_416 = {68, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_415};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_418 = { 14 | NIM_STRLIT_FLAG, "expected range" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_419 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_418};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_421 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_422 = { 5 | NIM_STRLIT_FLAG, "range" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_423 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_422};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_425 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static const struct {
  NI cap; NIM_CHAR data[79+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_427 = { 79 | NIM_STRLIT_FLAG, "set is too large; use `std/sets` for ordinal types with more than 2^16 elements" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_428 = {79, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_427};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_430 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_431 = { 3 | NIM_STRLIT_FLAG, "set" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_432 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_431};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_434 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_436 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_437 = { 7 | NIM_STRLIT_FLAG, "ordinal" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_438 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_437};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_440 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_441 = { 8 | NIM_STRLIT_FLAG, "iterable" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_442 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_441};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_444 = { 3 | NIM_STRLIT_FLAG, "seq" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_445 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_444};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_446 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_447 = { 7 | NIM_STRLIT_FLAG, "varargs" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_448 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_447};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_450 = { 8 | NIM_STRLIT_FLAG, "typedesc" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_451 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_450};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_452 = { 4 | NIM_STRLIT_FLAG, "type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_453 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_452};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_454 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_350};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_455 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_456 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_458 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_406};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_459 = { 6 | NIM_STRLIT_FLAG, "static" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_460 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_459};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_462 = { 29 | NIM_STRLIT_FLAG, "type \'var var\' is not allowed" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_463 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_462};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_465 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_260};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_466 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_468 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_275};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_469 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_471 = { 30 | NIM_STRLIT_FLAG, "illegal recursion in type \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_472 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_471};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_474 = { 4 | NIM_STRLIT_FLAG, "lent" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_475 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_474};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_476 = { 4 | NIM_STRLIT_FLAG, "sink" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_477 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_476};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_478 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_355};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_480 = {
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_482 = { 36 | NIM_STRLIT_FLAG, "no generic parameters allowed for $1" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_483 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_482};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_485 = { 19 | NIM_STRLIT_FLAG, "cannot instantiate " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_486 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_485};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_487 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_488 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_490 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_493 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_494 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_471};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_496 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_471};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_497 = { 6 | NIM_STRLIT_FLAG, "object" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_498 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_497};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_500 = { 45 | NIM_STRLIT_FLAG, "inheritance only works with non-final objects" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_501 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_500};
static const struct {
  NI cap; NIM_CHAR data[83+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_503 = { 83 | NIM_STRLIT_FLAG, "object constructor needs an object type; for named arguments use \'=\' instead of \':\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_504 = {83, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_503};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_506 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_508 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x4f,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_509 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_516 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_462};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_518 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_282};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_519 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_520 = { 43 | NIM_STRLIT_FLAG, "semstmts.nim(2014, 7) `r[0].kind == nkSym` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_521 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_520};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_522 = { 38 | NIM_STRLIT_FLAG, "semstmts.nim(2023, 7) `result != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_523 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_522};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_524 = { 58 | NIM_STRLIT_FLAG, "sem.nim(588, 3) `orig.kind in {nkEmpty, nkGenericParams}` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_525 = {58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_524};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_526 = { 2 | NIM_STRLIT_FLAG, "in" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_527 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_526};
static const struct {
  NI cap; NIM_CHAR data[54+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_528 = { 54 | NIM_STRLIT_FLAG, "the \'$1\' modifier can be used only with imported types" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_529 = {54, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_528};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_531 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_526};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_532 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_360};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_533 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_534 = { 56 | NIM_STRLIT_FLAG, "\' is only allowed in templates and macros or magic procs" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_535 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_534};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_537 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_538 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_539 = { 25 | NIM_STRLIT_FLAG, " all have default value \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_540 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_539};
static const struct {
  NI cap; NIM_CHAR data[95+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_541 = { 95 | NIM_STRLIT_FLAG, "\', this may be unintentional, either use \';\' (semicolon) or explicitly write each default value" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_542 = {95, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_541};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_544 = { 36 | NIM_STRLIT_FLAG, "cannot infer the type of parameter \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_545 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_544};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_546 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_548 = { 12 | NIM_STRLIT_FLAG, "\':\' expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_549 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_548};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_551 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_471};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_553 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_275};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_554 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_556 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x40, 0x00, 0x00, 0x0c, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_557 = { 30 | NIM_STRLIT_FLAG, "parameter \'$1\' requires a type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_558 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_557};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_560 = { 7 | NIM_STRLIT_FLAG, "`gensym" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_561 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_560};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_562 = { 5 | NIM_STRLIT_FLAG, ":type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_563 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_562};
static const struct {
  NI cap; NIM_CHAR data[80+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_564 = { 80 | NIM_STRLIT_FLAG, "the macro body cannot be compiled, because the parameter \'$1\' has a generic type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_565 = {80, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_564};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_567 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_450};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_568 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_452};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_569 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_471};
static const struct {
  NI cap; NIM_CHAR data[185+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_572 = { 185 | NIM_STRLIT_FLAG, "`typed` will change its meaning in future versions of Nim. `void` or no return type declaration at all has the same meaning as the current meaning of `typed` as return type declaration." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_573 = {185, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_572};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_575 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_471};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_577 = { 13 | NIM_STRLIT_FLAG, "return type \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_578 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_577};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_579 = { 40 | NIM_STRLIT_FLAG, "\' is only valid for macros and templates" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_580 = {40, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_579};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_582 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_86};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_583 = { 18 | NIM_STRLIT_FLAG, "invalid expression" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_584 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_583};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_586 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semtempl.nim" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_587 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_583};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_589 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_169};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_590 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_583};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_592 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_583};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_594 = { 1 | NIM_STRLIT_FLAG, "*" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_595 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_594};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_596 = { 2 | NIM_STRLIT_FLAG, "**" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_597 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_596};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_598 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_169};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_599 = { 1 | NIM_STRLIT_FLAG, "~" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_600 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_599};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_601 = { 25 | NIM_STRLIT_FLAG, "a pattern cannot be empty" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_602 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_601};
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_605 = { 50 | NIM_STRLIT_FLAG, "{.error.} and {.exportc.} pragmas are incompatible" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_606 = {50, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_605};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_608 = { 68 | NIM_STRLIT_FLAG, "pragmas are only allowed in the header of a proc; redefinition of $1" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_609 = {68, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_608};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_610 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_611 = { 7 | NIM_STRLIT_FLAG, "\' from " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_612 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_611};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_613 = { 2 | NIM_STRLIT_FLAG, " \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_614 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_613};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_615 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_611};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_617 = { 10 | NIM_STRLIT_FLAG, "semProcAux" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_618 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_617};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_620 = { 8 | NIM_STRLIT_FLAG, "=destroy" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_621 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_620};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_622 = { 8 | NIM_STRLIT_FLAG, "deepcopy" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_623 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_622};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_624 = { 9 | NIM_STRLIT_FLAG, "=deepcopy" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_625 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_624};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_626 = { 1 | NIM_STRLIT_FLAG, "=" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_627 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_626};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_628 = { 5 | NIM_STRLIT_FLAG, "=copy" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_629 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_628};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_630 = { 5 | NIM_STRLIT_FLAG, "=sink" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_631 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_630};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_632 = { 6 | NIM_STRLIT_FLAG, "=trace" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_633 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_632};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_634 = { 9 | NIM_STRLIT_FLAG, "=wasmoved" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_635 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_634};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_636 = { 4 | NIM_STRLIT_FLAG, "=dup" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_637 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_636};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_638 = {
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_639 = { 21 | NIM_STRLIT_FLAG, "cannot bind another \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_640 = {21, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_639};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_641 = { 6 | NIM_STRLIT_FLAG, "\' to: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_642 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_641};
static const struct {
  NI cap; NIM_CHAR data[49+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_643 = { 49 | NIM_STRLIT_FLAG, "; previous declaration was constructed implicitly" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_644 = {49, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_643};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_645 = { 56 | NIM_STRLIT_FLAG, "; previous declaration was constructed here implicitly: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_646 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_645};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_647 = { 33 | NIM_STRLIT_FLAG, "; previous declaration was here: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_648 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_647};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_650 = { 22 | NIM_STRLIT_FLAG, "type bound operation `" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_651 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_650};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_652 = { 56 | NIM_STRLIT_FLAG, "` can be defined only in the same module with its type (" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_653 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_652};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_654 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_21};
static const struct {
  NI cap; NIM_CHAR data[70+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_656 = { 70 | NIM_STRLIT_FLAG, "signature for \'=trace\' must be proc[T: object](x: var T; env: pointer)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_657 = {70, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_656};
static const struct {
  NI cap; NIM_CHAR data[83+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_659 = { 83 | NIM_STRLIT_FLAG, "signature for \'=destroy\' must be proc[T: object](x: var T) or proc[T: object](x: T)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_660 = {83, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_659};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_662 = { 58 | NIM_STRLIT_FLAG, "signature for \'=destroy\' must be proc[T: object](x: var T)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_663 = {58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_662};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_665 = { 15 | NIM_STRLIT_FLAG, "signature for \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_666 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_665};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_667 = { 35 | NIM_STRLIT_FLAG, "\' must be proc[T: object](x: var T)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_668 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_667};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_670 = { 6 | NIM_STRLIT_FLAG, "raises" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_671 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_670};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_672 = { 35 | NIM_STRLIT_FLAG, "cannot bind another \'deepCopy\' to: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_673 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_672};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_675 = { 27 | NIM_STRLIT_FLAG, "cannot bind \'deepCopy\' to: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_676 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_675};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_678 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_650};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_679 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_652};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_680 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_21};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_682 = { 58 | NIM_STRLIT_FLAG, "signature for \'deepCopy\' must be proc[T: ptr|ref](x: T): T" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_683 = {58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_682};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_685 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_626};
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_686 = { 64 | NIM_STRLIT_FLAG, "Overriding `=` hook is deprecated; Override `=copy` hook instead" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_687 = {64, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_686};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_689 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_626};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_690 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_628};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_691 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_650};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_692 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_652};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_693 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_21};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_695 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_665};
static const struct {
  NI cap; NIM_CHAR data[41+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_696 = { 41 | NIM_STRLIT_FLAG, "\' must be proc[T: object](x: var T; y: T)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_697 = {41, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_696};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_699 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_650};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_700 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_652};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_701 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_21};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_703 = { 53 | NIM_STRLIT_FLAG, "signature for \'=dup\' must be proc[T: object](x: T): T" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_704 = {53, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_703};
static const struct {
  NI cap; NIM_CHAR data[47+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_706 = { 47 | NIM_STRLIT_FLAG, "\'destroy\' or \'deepCopy\' expected for \'override\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_707 = {47, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_706};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_710 = { 1 | NIM_STRLIT_FLAG, "." };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_711 = { 3 | NIM_STRLIT_FLAG, ".()" };
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_712 = { 2 | NIM_STRLIT_FLAG, ".=" };
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_713 = { 15 | NIM_STRLIT_FLAG, "the overloaded " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_714 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_713};
static const struct {
  NI cap; NIM_CHAR data[65+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_715 = { 65 | NIM_STRLIT_FLAG, " operator has to be enabled with {.experimental: \"dotOperators\".}" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_716 = {65, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_715};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_718 = { 2 | NIM_STRLIT_FLAG, "()" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_719 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_718};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_720 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_713};
static const struct {
  NI cap; NIM_CHAR data[65+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_721 = { 65 | NIM_STRLIT_FLAG, " operator has to be enabled with {.experimental: \"callOperator\".}" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_722 = {65, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_721};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_724 = { 7 | NIM_STRLIT_FLAG, "virtual" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_725 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_724};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_726 = { 11 | NIM_STRLIT_FLAG, "constructor" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_727 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_726};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_728 = { 6 | NIM_STRLIT_FLAG, "member" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_729 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_728};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_730 = { 33 | NIM_STRLIT_FLAG, " must have at least one parameter" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_731 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_730};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_733 = { 32 | NIM_STRLIT_FLAG, " unsupported for generic routine" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_734 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_733};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_736 = { 33 | NIM_STRLIT_FLAG, "constructor must return an object" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_737 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_736};
static const struct {
  NI cap; NIM_CHAR data[54+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_739 = { 54 | NIM_STRLIT_FLAG, "constructor in an imported type needs importcpp pragma" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_740 = {54, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_739};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_742 = { 45 | NIM_STRLIT_FLAG, " must be either ptr to object or object type." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_743 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_742};
static const struct {
  NI cap; NIM_CHAR data[106+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_745 = { 106 | NIM_STRLIT_FLAG, " procs must be defined in the same scope as the type they are virtual for and it must be a top level scope" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_746 = {106, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_745};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_748 = { 32 | NIM_STRLIT_FLAG, " procs are only supported in C++" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_749 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_748};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_751 = {
0x10, 0x0e, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_752 = { 30 | NIM_STRLIT_FLAG, "generic methods are deprecated" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_753 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_752};
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_755 = { 50 | NIM_STRLIT_FLAG, "\'method\' needs a parameter that has an object type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_756 = {50, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_755};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_758 = { 43 | NIM_STRLIT_FLAG, "term rewrite macro instantiation too nested" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_759 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_758};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_761 = { 58 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/hlo.nim" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_762 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_106};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_765 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_766 = { 31 | NIM_STRLIT_FLAG, "semOverloadedCallAnalyseEffects" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_767 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_766};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_769 = { 45 | NIM_STRLIT_FLAG, "recursion is not supported in iterators: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_770 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_769};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_772 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_103};
static const struct {
  NI cap; NIM_CHAR data[73+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_773 = { 73 | NIM_STRLIT_FLAG, "\'$1\' doesn\'t have a concrete type, due to unspecified generic parameters." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_774 = {73, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_773};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_776 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_777 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0xb0, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_778 = { 25 | NIM_STRLIT_FLAG, "expression has no address" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_779 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_778};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_781 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semmagic.nim" };
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_782 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_783 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_352};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_785 = { 34 | NIM_STRLIT_FLAG, "can\'t compute offsetof on this ast" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_786 = {34, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_785};
static const struct {
  NI cap; NIM_CHAR data[74+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_788 = { 74 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/sizealignoffsetimpl.nim" };
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_789 = { 30 | NIM_STRLIT_FLAG, "nil dereference is not allowed" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_790 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_789};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_792 = {
0x10, 0x08, 0x80, 0x00, 0x00, 0xe0, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_793 = { 25 | NIM_STRLIT_FLAG, "missing generic parameter" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_794 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_793};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_796 = {
0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x20, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_797 = {
0x10, 0x88, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_799 = { 45 | NIM_STRLIT_FLAG, "cannot get explicitly instantiated symbol of " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_800 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_799};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_801 = { 8 | NIM_STRLIT_FLAG, "template" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_802 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_801};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_803 = { 5 | NIM_STRLIT_FLAG, "macro" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_804 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_803};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_806 = { 13 | NIM_STRLIT_FLAG, "type mismatch" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_807 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_806};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_809 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_810 = { 10 | NIM_STRLIT_FLAG, " for type " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_811 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_810};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_812 = { 22 | NIM_STRLIT_FLAG, "undeclared field: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_813 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_812};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_815 = { 43 | NIM_STRLIT_FLAG, "attempting to call undeclared routine: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_816 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_815};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_818 = { 32 | NIM_STRLIT_FLAG, "expression \'$1\' cannot be called" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_819 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_818};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_821 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_822 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_823 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_824 = { 1 | NIM_STRLIT_FLAG, "[" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_825 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_824};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_826 = { 2 | NIM_STRLIT_FLAG, "] " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_827 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_826};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_828 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_829 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_830 = { 25 | NIM_STRLIT_FLAG, "  unknown named parameter" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_831 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_830};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_832 = { 27 | NIM_STRLIT_FLAG, "  unknown named parameter: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_833 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_832};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_834 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_835 = { 32 | NIM_STRLIT_FLAG, "  named param already provided: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_836 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_835};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_837 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[51+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_838 = { 51 | NIM_STRLIT_FLAG, "  positional param was already given as named param" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_839 = {51, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_838};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_840 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_841 = { 22 | NIM_STRLIT_FLAG, "  extra argument given" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_842 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_841};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_843 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_844 = { 21 | NIM_STRLIT_FLAG, "  missing parameter: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_845 = {21, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_844};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_846 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_847 = { 27 | NIM_STRLIT_FLAG, "  extra generic param given" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_848 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_847};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_849 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_850 = { 29 | NIM_STRLIT_FLAG, "  missing generic parameter: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_851 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_850};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_852 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_853 = { 35 | NIM_STRLIT_FLAG, "semcall.nim(348, 11) `nArg != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_854 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_853};
static const struct {
  NI cap; NIM_CHAR data[55+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_855 = { 55 | NIM_STRLIT_FLAG, "semcall.nim(349, 11) `err.firstMismatch.formal != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_856 = {55, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_855};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_857 = { 14 | NIM_STRLIT_FLAG, "  expression \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_858 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_857};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_859 = { 25 | NIM_STRLIT_FLAG, "\' is immutable, not \'var\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_860 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_859};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_861 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_862 = { 35 | NIM_STRLIT_FLAG, "semcall.nim(355, 11) `nArg != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_863 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_862};
static const struct {
  NI cap; NIM_CHAR data[55+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_864 = { 55 | NIM_STRLIT_FLAG, "semcall.nim(359, 11) `err.firstMismatch.formal != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_865 = {55, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_864};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_866 = { 37 | NIM_STRLIT_FLAG, "semcall.nim(360, 11) `wanted != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_867 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_866};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_868 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_857};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_869 = { 14 | NIM_STRLIT_FLAG, "\' is of type: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_870 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_869};
static const struct {
  NI cap; NIM_CHAR data[103+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_871 = { 103 | NIM_STRLIT_FLAG, "\012  This expression is not GC-safe. Annotate the proc with {.gcsafe.} to get extended error information." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_872 = {103, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_871};
static const struct {
  NI cap; NIM_CHAR data[116+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_873 = { 116 | NIM_STRLIT_FLAG, "\012  This expression can have side effects. Annotate the proc with {.noSideEffect.} to get extended error information." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_874 = {116, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_873};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_875 = { 37 | NIM_STRLIT_FLAG, "\012  The `.raises` requirements differ." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_876 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_875};
static const struct {
  NI cap; NIM_CHAR data[110+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_877 = { 110 | NIM_STRLIT_FLAG, "\012  The `.raises` requirements differ. Annotate the proc with {.raises: [].} to get extended error information." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_878 = {110, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_877};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_879 = { 35 | NIM_STRLIT_FLAG, "\012  The `.tags` requirements differ." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_880 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_879};
static const struct {
  NI cap; NIM_CHAR data[106+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_881 = { 106 | NIM_STRLIT_FLAG, "\012  The `.tags` requirements differ. Annotate the proc with {.tags: [].} to get extended error information." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_882 = {106, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_881};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_883 = { 39 | NIM_STRLIT_FLAG, "\012  The `.effectsOf` annotations differ." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_884 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_883};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_885 = { 53 | NIM_STRLIT_FLAG, "\012  The `.forbids` requirements caught an illegal tag." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_886 = {53, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_885};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_887 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_888 = { 69 | NIM_STRLIT_FLAG, "semcall.nim(374, 11) `n[0].kind == nkBracketExpr and pos < n[0].len` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_889 = {69, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_888};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_890 = { 34 | NIM_STRLIT_FLAG, "semcall.nim(376, 11) `arg != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_891 = {34, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_890};
static const struct {
  NI cap; NIM_CHAR data[55+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_892 = { 55 | NIM_STRLIT_FLAG, "semcall.nim(381, 11) `err.firstMismatch.formal != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_893 = {55, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_892};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_894 = { 37 | NIM_STRLIT_FLAG, "semcall.nim(382, 11) `wanted != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_895 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_894};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_896 = { 34 | NIM_STRLIT_FLAG, "semcall.nim(383, 11) `got != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_897 = {34, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_896};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_898 = { 39 | NIM_STRLIT_FLAG, "  generic parameter mismatch, expected " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_899 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_898};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_900 = { 10 | NIM_STRLIT_FLAG, " but got \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_901 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_900};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_902 = { 11 | NIM_STRLIT_FLAG, "\' of type: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_903 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_902};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_904 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_905 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_906 = { 35 | NIM_STRLIT_FLAG, "  first type mismatch at position: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_907 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_906};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_908 = { 22 | NIM_STRLIT_FLAG, " in generic parameters" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_909 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_908};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_910 = { 26 | NIM_STRLIT_FLAG, "\012  unknown named parameter" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_911 = {26, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_910};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_912 = { 28 | NIM_STRLIT_FLAG, "\012  unknown named parameter: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_913 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_912};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_914 = { 33 | NIM_STRLIT_FLAG, "\012  named param already provided: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_915 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_914};
static const struct {
  NI cap; NIM_CHAR data[52+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_916 = { 52 | NIM_STRLIT_FLAG, "\012  positional param was already given as named param" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_917 = {52, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_916};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_918 = { 23 | NIM_STRLIT_FLAG, "\012  extra argument given" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_919 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_918};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_920 = { 22 | NIM_STRLIT_FLAG, "\012  missing parameter: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_921 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_920};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_922 = { 28 | NIM_STRLIT_FLAG, "\012  extra generic param given" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_923 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_922};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_924 = { 30 | NIM_STRLIT_FLAG, "\012  missing generic parameter: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_925 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_924};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_926 = { 35 | NIM_STRLIT_FLAG, "semcall.nim(421, 11) `nArg != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_927 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_926};
static const struct {
  NI cap; NIM_CHAR data[55+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_928 = { 55 | NIM_STRLIT_FLAG, "semcall.nim(426, 11) `err.firstMismatch.formal != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_929 = {55, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_928};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_930 = { 21 | NIM_STRLIT_FLAG, "\012  required type for " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_931 = {21, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_930};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_932 = { 2 | NIM_STRLIT_FLAG, ": " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_933 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_932};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_934 = { 19 | NIM_STRLIT_FLAG, "\012  but expression \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_935 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_934};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_936 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_859};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_937 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_869};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_938 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_939 = { 37 | NIM_STRLIT_FLAG, "semcall.nim(442, 13) `wanted != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_940 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_939};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_941 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_942 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_943 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[97+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_944 = { 97 | NIM_STRLIT_FLAG, " other mismatching symbols have been suppressed; compile with --showAllMismatches:on to see them\012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_945 = {97, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_944};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_946 = { 30 | NIM_STRLIT_FLAG, "maybe misplaced space between " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_947 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_946};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_948 = { 10 | NIM_STRLIT_FLAG, " and \'(\' \012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_949 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_948};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_950 = { 20 | NIM_STRLIT_FLAG, "type mismatch: got <" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_951 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_950};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_952 = { 22 | NIM_STRLIT_FLAG, "\012but expected one of:\012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_953 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_952};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_954 = { 13 | NIM_STRLIT_FLAG, "\012expression: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_955 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_954};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_957 = { 14 | NIM_STRLIT_FLAG, "type mismatch\012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_958 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_957};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_959 = { 12 | NIM_STRLIT_FLAG, "Expression: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_960 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_959};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_961 = { 4 | NIM_STRLIT_FLAG, "\012  [" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_962 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_961};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_963 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_826};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_964 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_932};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_965 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[49+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_966 = { 49 | NIM_STRLIT_FLAG, "\012Expected one of (first mismatch at [position]):\012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_967 = {49, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_966};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_969 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_971 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_141};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_972 = { 19 | NIM_STRLIT_FLAG, "could not resolve: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_973 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_972};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_975 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_626};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_976 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_628};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_977 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_630};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_980 = {
0x10, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_981 = { 2 | NIM_STRLIT_FLAG, "or" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_982 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_981};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_983 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_169};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_984 = { 3 | NIM_STRLIT_FLAG, "and" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_985 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_984};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_986 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_987 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_986};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_988 = { 12 | NIM_STRLIT_FLAG, "typeToString" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_989 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_988};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_990 = { 4 | NIM_STRLIT_FLAG, "name" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_991 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_990};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_992 = { 1 | NIM_STRLIT_FLAG, "$" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_993 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_992};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_994 = { 5 | NIM_STRLIT_FLAG, "arity" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_995 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_994};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_996 = { 11 | NIM_STRLIT_FLAG, "genericHead" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_997 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_996};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_998 = { 18 | NIM_STRLIT_FLAG, "stripGenericParams" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_999 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_998};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1000 = { 15 | NIM_STRLIT_FLAG, "supportsCopyMem" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1001 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1000};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1002 = { 15 | NIM_STRLIT_FLAG, "hasDefaultValue" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1003 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1002};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1004 = { 12 | NIM_STRLIT_FLAG, "isNamedTuple" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1005 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1004};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1006 = { 8 | NIM_STRLIT_FLAG, "tupleLen" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1007 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1006};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1008 = { 12 | NIM_STRLIT_FLAG, "distinctBase" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1009 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1008};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1010 = { 9 | NIM_STRLIT_FLAG, "rangeBase" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1011 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1010};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1012 = { 8 | NIM_STRLIT_FLAG, "isCyclic" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1013 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1012};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1015 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1016 = {
0x10, 0x09, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1017 = { 15 | NIM_STRLIT_FLAG, "unknown trait: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1018 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1017};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1020 = { 24 | NIM_STRLIT_FLAG, "integer literal expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1021 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1020};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1023 = { 12 | NIM_STRLIT_FLAG, "command line" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1024 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1023};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1025 = { 3 | NIM_STRLIT_FLAG, "\?\?\?" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1026 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1025};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1027 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1029 = {
0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1030 = { 23 | NIM_STRLIT_FLAG, "\'of\' takes object types" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1031 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1030};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1033 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1030};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1036 = { 30 | NIM_STRLIT_FLAG, "\'$1\' cannot be of this subtype" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1037 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1036};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1040 = { 22 | NIM_STRLIT_FLAG, "\'of\' takes 2 arguments" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1041 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1040};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1043 = { 28 | NIM_STRLIT_FLAG, "\'$1\' expects a type or value" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1044 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1043};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1045 = { 3 | NIM_STRLIT_FLAG, "low" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1046 = { 4 | NIM_STRLIT_FLAG, "high" };
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1048 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0xa0, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1049 = { 22 | NIM_STRLIT_FLAG, "invalid argument for: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1050 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1049};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1052 = { 23 | NIM_STRLIT_FLAG, "string literal expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1053 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1052};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1055 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_212};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1057 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
N_LIB_PRIVATE TNimTypeV2 NTIv2__0Mr1krfaaakTahpFDt9cyUg_;
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1059 = { 11 | NIM_STRLIT_FLAG, "bindSymImpl" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1060 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1059};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1061 = { 29 | NIM_STRLIT_FLAG, "string or ident node expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1062 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1061};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1064 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_212};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1066 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1067 = { 19 | NIM_STRLIT_FLAG, "cannot find plugin " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1068 = {19, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1067};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1070 = { 9 | NIM_STRLIT_FLAG, "unsafeNew" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1071 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1070};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1072 = { 46 | NIM_STRLIT_FLAG, "finalizer must be a direct reference to a proc" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1073 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1072};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1075 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1072};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1077 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1072};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1079 = {
0x10, 0xa9, 0x40, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1080 = { 16 | NIM_STRLIT_FLAG, "FinalizerWrapper" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1081 = {16, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1080};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1082 = { 34 | NIM_STRLIT_FLAG, "<quantifier> \'in\' <range> expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1083 = {34, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1082};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1085 = { 28 | NIM_STRLIT_FLAG, "\'old\' takes a parameter name" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1086 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1085};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1088 = { 20 | NIM_STRLIT_FLAG, " does not belong to " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1089 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1088};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1091 = {
0x10, 0x08, 0xe0, 0x00, 0x00, 0x60, 0x20, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1095 = { 31 | NIM_STRLIT_FLAG, "expression cannot be isolated: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1096 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1095};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1098 = { 37 | NIM_STRLIT_FLAG, "Nested expressions cannot be moved: \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1099 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1098};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1100 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1102 = { 6 | NIM_STRLIT_FLAG, " --> \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1103 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1102};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1104 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[178+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1106 = { 178 | NIM_STRLIT_FLAG, "A nested proc can have generic parameters only when it is used as an operand to another routine and the types of the generic paramers can be inferred from the expected signature." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1107 = {178, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1106};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1109 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_80};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1110 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_86};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1111 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1112 = { 31 | NIM_STRLIT_FLAG, "implementation of \'$1\' expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1113 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1112};
static const struct {
  NI cap; NIM_CHAR data[57+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1115 = { 57 | NIM_STRLIT_FLAG, "return type \'auto\' cannot be used in forward declarations" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1116 = {57, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1115};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1118 = {
0x10, 0x88, 0x80, 0x00, 0x00, 0xe0, 0xc0, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1119 = { 58 | NIM_STRLIT_FLAG, "borrow proc without distinct type parameter is meaningless" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1120 = {58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1119};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1122 = { 43 | NIM_STRLIT_FLAG, "borrow from proc return type mismatch: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1123 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1122};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1125 = { 46 | NIM_STRLIT_FLAG, "borrow with generic parameter is not supported" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1126 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1125};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1128 = { 33 | NIM_STRLIT_FLAG, "borrow from \'$1\' is not supported" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1129 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1128};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1131 = { 30 | NIM_STRLIT_FLAG, "no symbol to borrow from found" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1132 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1131};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1134 = { 63 | NIM_STRLIT_FLAG, "\'.closure\' calling convention for top level routines is invalid" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1135 = {63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1134};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1138 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_711};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1139 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_710};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1140 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_712};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1141 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1142 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1143 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_810};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1144 = { 1 | NIM_STRLIT_FLAG, " " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1145 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1144};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1146 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1147 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_812};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1148 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_815};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1150 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_818};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1153 = { 14 | NIM_STRLIT_FLAG, "ambiguous call" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1154 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1153};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1156 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_17};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1157 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1158 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_21};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1160 = { 28 | NIM_STRLIT_FLAG, "Non-matching candidates for " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1161 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1160};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1162 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1164 = {
0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x10,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1165 = {
0x06, 0x40, 0xff, 0xbf, 0xff, 0x9f, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1166 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1167 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1168 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1170 = { 44 | NIM_STRLIT_FLAG, "semtypes.nim(1905, 13) `r[0].kind == nkSym` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1171 = {44, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1170};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1172 = { 44 | NIM_STRLIT_FLAG, "semtypes.nim(1910, 27) `false` cannot happen" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1173 = {44, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1172};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1174 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_282};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1175 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x40, 0x00, 0x00, 0x80, 0x01, 0x00,
0x00, 0x90, 0xff, 0x03, 0x00, 0x80, 0xf0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1176 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1177 = { 24 | NIM_STRLIT_FLAG, "type expected, but got: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1178 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1177};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1180 = { 35 | NIM_STRLIT_FLAG, "inheritance only works with an enum" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1181 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1180};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1183 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1184 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1186 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1052};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1188 = { 25 | NIM_STRLIT_FLAG, "wrong number of variables" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1189 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1188};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1191 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1193 = { 28 | NIM_STRLIT_FLAG, "duplicate value in enum \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1194 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1193};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1198 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_7};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1202 = { 33 | NIM_STRLIT_FLAG, "illegal context for \'nimvm\' magic" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1203 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1202};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1205 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1208 = {
0x10, 0x00, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1209 = {
0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x10,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1210 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1211 = { 8 | NIM_STRLIT_FLAG, "contains" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1212 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1211};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1213 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1211};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1214 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_986};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1215 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_365};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1216 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_363};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1219 = { 12 | NIM_STRLIT_FLAG, "tmpTupleAsgn" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1220 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1219};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1221 = { 22 | NIM_STRLIT_FLAG, "expression has no type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1222 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1221};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1224 = { 26 | NIM_STRLIT_FLAG, "\'$1\' cannot be assigned to" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1225 = {26, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1224};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1228 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[65+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1229 = { 65 | NIM_STRLIT_FLAG, "cannot return an owned pointer as an unowned pointer; use \'owned(" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1230 = {65, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1229};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1231 = { 21 | NIM_STRLIT_FLAG, ")\' as the return type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1232 = {21, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1231};
static const struct {
  NI cap; NIM_CHAR data[83+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1234 = { 83 | NIM_STRLIT_FLAG, "assignment produces a dangling ref: the unowned ref lives longer than the owned ref" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1235 = {83, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1234};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1237 = { 17 | NIM_STRLIT_FLAG, "var_t_return.html" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1238 = {17, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1237};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1240 = {17, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1237};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1242 = { 46 | NIM_STRLIT_FLAG, "address of \'$1\' may not escape its stack frame" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1243 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1242};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1245 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_778};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1247 = { 36 | NIM_STRLIT_FLAG, "cannot infer the return type of \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1248 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1247};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1250 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1247};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1252 = { 14 | NIM_STRLIT_FLAG, "a new symbol \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1253 = {14, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1252};
static const struct {
  NI cap; NIM_CHAR data[70+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1254 = { 70 | NIM_STRLIT_FLAG, "\' has been injected during template or generic instantiation, however " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1255 = {70, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1254};
static const struct {
  NI cap; NIM_CHAR data[162+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1256 = { 162 | NIM_STRLIT_FLAG, " captured at the proc declaration will be used instead; either enable --experimental:openSym to use the injected symbol, or `bind` this captured symbol explicitly" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1257 = {162, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1256};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1258 = { 13 | NIM_STRLIT_FLAG, "overloads of " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1259 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1258};
static const struct {
  NI cap; NIM_CHAR data[120+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1260 = { 120 | NIM_STRLIT_FLAG, " will be used instead; either enable --experimental:openSym to use the injected symbol, or `bind` this symbol explicitly" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1261 = {120, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1260};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1263 = { 23 | NIM_STRLIT_FLAG, "ambiguous identifier: \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1264 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1263};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1265 = { 31 | NIM_STRLIT_FLAG, "\' -- use one of the following:\012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1266 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1265};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1267 = { 2 | NIM_STRLIT_FLAG, "  " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1268 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1267};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1269 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_710};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1270 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_932};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1271 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_487};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1273 = { 18 | NIM_STRLIT_FLAG, "bind is deprecated" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1274 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1273};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1276 = { 44 | NIM_STRLIT_FLAG, "a type conversion takes exactly one argument" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1277 = {44, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1276};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1279 = {
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1281 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_308};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1283 = { 31 | NIM_STRLIT_FLAG, "illegal type conversion to \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1284 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1283};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1286 = { 5 | NIM_STRLIT_FLAG, ":anon" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1287 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1286};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1288 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_355};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1289 = { 37 | NIM_STRLIT_FLAG, "object construction uses \':\', not \'=\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1290 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1289};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1292 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1293 = {
0x10, 0xa8, 0x80, 0x00, 0x00, 0xc0, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1294 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1295 = { 40 | NIM_STRLIT_FLAG, "suspicious code: enum to enum conversion" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1296 = {40, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1295};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1298 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1301 = { 23 | NIM_STRLIT_FLAG, " can\'t be converted to " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1302 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1301};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1304 = { 39 | NIM_STRLIT_FLAG, "object constructor needs an object type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1305 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1304};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1307 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1304};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1308 = { 21 | NIM_STRLIT_FLAG, "cannot instantiate: \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1309 = {21, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1308};
static const struct {
  NI cap; NIM_CHAR data[82+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1310 = { 82 | NIM_STRLIT_FLAG, "\'; the object\'s generic parameters cannot be inferred and must be explicitly given" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1311 = {82, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1310};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1314 = { 29 | NIM_STRLIT_FLAG, "field initialized twice: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1315 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1314};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1317 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_812};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1318 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_810};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1320 = { 30 | NIM_STRLIT_FLAG, "identifier expected, but got: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1321 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1320};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1323 = { 31 | NIM_STRLIT_FLAG, "\'is\' operator takes 2 arguments" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1324 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1323};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1327 = { 7 | NIM_STRLIT_FLAG, "closure" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1328 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1327};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1329 = { 8 | NIM_STRLIT_FLAG, "iterator" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1330 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1329};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1331 = { 31 | NIM_STRLIT_FLAG, "expected a template that takes " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1332 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1331};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1333 = { 10 | NIM_STRLIT_FLAG, " arguments" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1334 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1333};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1336 = { 38 | NIM_STRLIT_FLAG, "ambiguous symbol in \'getAst\' context: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1337 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1336};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1339 = { 29 | NIM_STRLIT_FLAG, "getAst takes a call, but got " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1340 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1339};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1343 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_80};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1344 = { 32 | NIM_STRLIT_FLAG, "\'quote\' expects 1 or 2 arguments" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1345 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1344};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1347 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1348 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1052};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1350 = { 2 | NIM_STRLIT_FLAG, "``" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1351 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1350};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1352 = { 5 | NIM_STRLIT_FLAG, "block" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1353 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1352};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1355 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1350};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1356 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_86};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1357 = { 7 | NIM_STRLIT_FLAG, "untyped" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1358 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1357};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1359 = { 5 | NIM_STRLIT_FLAG, "typed" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1360 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1359};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1361 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1359};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1362 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x0a,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x70, 0x00, 0x80, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1363 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_141};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1364 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_360};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1365 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_365};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1366 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_363};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1367 = { 37 | NIM_STRLIT_FLAG, "implementation of \'$1\' is not allowed" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1368 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1367};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1370 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1112};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1373 = { 12 | NIM_STRLIT_FLAG, "newIdentNode" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1374 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1373};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1375 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1373};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1376 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_86};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1377 = { 6 | NIM_STRLIT_FLAG, "getAst" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1378 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1377};
static const struct {
  NI cap; NIM_CHAR data[52+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1379 = { 52 | NIM_STRLIT_FLAG, "use the {.experimental.} pragma to enable \'parallel\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1380 = {52, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1379};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1382 = { 38 | NIM_STRLIT_FLAG, "\'spawn\' takes a call expression; got: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1383 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1382};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1385 = { 7 | NIM_STRLIT_FLAG, "FlowVar" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1386 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1385};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1387 = { 16 | NIM_STRLIT_FLAG, "nimCreateFlowVar" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1388 = {16, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1387};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1389 = { 30 | NIM_STRLIT_FLAG, "system needs: nimCreateFlowVar" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1390 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1389};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1393 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1394 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1043};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1395 = { 6 | NIM_STRLIT_FLAG, "sizeof" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1396 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1395};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1398 = {
0x10, 0x88, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1399 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_806};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1401 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_950};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1402 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_19};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1403 = { 23 | NIM_STRLIT_FLAG, ">\012but expected one of:\012" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1404 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1403};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1405 = { 3 | NIM_STRLIT_FLAG, " = " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1406 = {3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1405};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1408 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_718};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1409 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_141};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1410 = { 4 | NIM_STRLIT_FLAG, ":tmp" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1411 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1410};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1412 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_141};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1413 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_360};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1414 = { 25 | NIM_STRLIT_FLAG, "named expression expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1415 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1414};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1417 = { 33 | NIM_STRLIT_FLAG, "named expression not allowed here" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1418 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1417};
static const struct {
  NI cap; NIM_CHAR data[49+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1421 = { 49 | NIM_STRLIT_FLAG, "Mixing types and values in tuples is not allowed." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1422 = {49, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1421};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1424 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1314};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1426 = { 36 | NIM_STRLIT_FLAG, "typedesc not allowed as tuple field." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1427 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1426};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1429 = {
0x10, 0x88, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1430 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_387};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1432 = { 6 | NIM_STRLIT_FLAG, "type \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1433 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1432};
static const struct {
  NI cap; NIM_CHAR data[115+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1434 = { 115 | NIM_STRLIT_FLAG, "\' is too big to be a `set` element, assuming a range of 0..65535, explicitly write this range to get rid of warning" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1435 = {115, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1434};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1437 = { 33 | NIM_STRLIT_FLAG, "expected ordinal value for array " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1438 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1437};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1439 = { 15 | NIM_STRLIT_FLAG, "index, got \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1440 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1439};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1442 = { 37 | NIM_STRLIT_FLAG, "size of array exceeds range of index " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1443 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1442};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1445 = { 34 | NIM_STRLIT_FLAG, "invalid order in array constructor" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1446 = {34, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1445};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1448 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x40, 0x00, 0x00, 0xe0, 0x17, 0x00,
0x00, 0x80, 0xff, 0x03, 0x00, 0x80, 0xf0, 0x00,
0x18, 0x00, 0x00, 0x44, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[79+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1449 = { 79 | NIM_STRLIT_FLAG, "Invalid usage of cast, cast requires a type to convert to, e.g., cast[int](0d)." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1450 = {79, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1449};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1452 = { 40 | NIM_STRLIT_FLAG, "cannot cast to a non concrete type: \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1453 = {40, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1452};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1455 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1456 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1457 = { 33 | NIM_STRLIT_FLAG, "expression cannot be cast to \'$1\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1458 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1457};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1460 = { 2 | NIM_STRLIT_FLAG, "==" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1461 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1460};
static const struct {
  NI cap; NIM_CHAR data[65+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1462 = { 65 | NIM_STRLIT_FLAG, "cannot infer the concept parameter \'%s\', due to a type mismatch. " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1463 = {65, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1462};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1465 = { 24 | NIM_STRLIT_FLAG, "concept predicate failed" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1466 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1465};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1468 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1470 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1471 = { 33 | NIM_STRLIT_FLAG, "only a \'ref object\' can be raised" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1472 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1471};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1474 = { 56 | NIM_STRLIT_FLAG, "raised object of type $1 does not inherit from Exception" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1475 = {56, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1474};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1477 = { 42 | NIM_STRLIT_FLAG, "semstmts.nim(710, 9) `r[0].kind == nkSym` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1478 = {42, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1477};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1479 = { 37 | NIM_STRLIT_FLAG, "semstmts.nim(719, 9) `result != nil` " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1480 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1479};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1481 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_260};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1482 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1483 = { 31 | NIM_STRLIT_FLAG, "cannot infer the type of the $1" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1484 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1483};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1486 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_103};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1487 = {73, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_773};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1491 = { 8 | NIM_STRLIT_FLAG, "tmpTuple" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1492 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1491};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1493 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[71+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1495 = { 71 | NIM_STRLIT_FLAG, "implicit object field construction requires a .partial object, but got " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1496 = {71, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1495};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1498 = { 29 | NIM_STRLIT_FLAG, "nkDotNode requires 2 children" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1499 = {29, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1498};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1501 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[86+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1503 = { 86 | NIM_STRLIT_FLAG, "a thread var cannot be initialized explicitly; this would only run for the main thread" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1504 = {86, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1503};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1506 = { 45 | NIM_STRLIT_FLAG, "inconsistent typing for reintroduced symbol \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1507 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1506};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1508 = { 22 | NIM_STRLIT_FLAG, "\': previous type was: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1509 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1508};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1510 = { 15 | NIM_STRLIT_FLAG, "; new type is: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1511 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1510};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1513 = {
0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1514 = {
0x06, 0x40, 0x00, 0x80, 0x0f, 0x1f, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1515 = {
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1516 = {
0x02, 0x40, 0x00, 0xb0, 0x0f, 0x1f, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1517 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_332};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1518 = { 9 | NIM_STRLIT_FLAG, "strdefine" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1519 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1518};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1520 = { 9 | NIM_STRLIT_FLAG, "intdefine" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1521 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1520};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1522 = { 10 | NIM_STRLIT_FLAG, "booldefine" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1523 = {10, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1522};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1524 = { 6 | NIM_STRLIT_FLAG, "define" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1525 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1524};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1526 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_332};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1527 = { 31 | NIM_STRLIT_FLAG, "unsupported type for constant \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1528 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1527};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1529 = { 8 | NIM_STRLIT_FLAG, "\' with ." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1530 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1529};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1531 = { 9 | NIM_STRLIT_FLAG, " pragma: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1532 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1531};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1534 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1536 = { 50 | NIM_STRLIT_FLAG, "The $1 distinct type doesn\'t have a default value." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1537 = {50, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1536};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1541 = { 39 | NIM_STRLIT_FLAG, "\'let\' symbol requires an initialization" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1542 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1541};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1544 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1546 = { 38 | NIM_STRLIT_FLAG, "cannot assign local to global variable" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1547 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1546};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1550 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_212};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1552 = { 22 | NIM_STRLIT_FLAG, "unknown package name: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1553 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1552};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1555 = { 36 | NIM_STRLIT_FLAG, " is not a type that can be forwarded" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1556 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1555};
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1558 = { 50 | NIM_STRLIT_FLAG, "only top level types in a package can be \'package\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1559 = {50, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1558};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1561 = { 22 | NIM_STRLIT_FLAG, "cannot complete type \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1562 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1561};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1563 = { 44 | NIM_STRLIT_FLAG, "\' twice; previous type completion was here: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1564 = {44, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1563};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1566 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1112};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1568 = { 4 | NIM_STRLIT_FLAG, "auto" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1569 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1568};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1570 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_474};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1571 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_476};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1572 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_355};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1573 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1575 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
N_LIB_PRIVATE TNimTypeV2 NTIv2__f8DEKnrGqGNHpEBRoYo00A_;
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1581 = { 46 | NIM_STRLIT_FLAG, "non-invariant type param used in a proc type: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1582 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1581};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1585 = { 17 | NIM_STRLIT_FLAG, "covariant param \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1586 = {17, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1585};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1587 = { 34 | NIM_STRLIT_FLAG, "\' used in a non-covariant position" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1588 = {34, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1587};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1590 = { 21 | NIM_STRLIT_FLAG, "contravariant param \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1591 = {21, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1590};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1592 = { 38 | NIM_STRLIT_FLAG, "\' used in a non-contravariant position" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1593 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1592};
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1596 = { 62 | NIM_STRLIT_FLAG, "non-invariant type parameters cannot be used with types such \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1597 = {62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1596};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1598 = {1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_69};
static const struct {
  NI cap; NIM_CHAR data[59+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1600 = { 59 | NIM_STRLIT_FLAG, "non-invariant type parameters are not supported in concepts" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1601 = {59, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1600};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1608 = { 40 | NIM_STRLIT_FLAG, "{.exportc.} not allowed for type aliases" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1609 = {40, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1608};
static const struct {
  NI cap; NIM_CHAR data[41+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1611 = { 41 | NIM_STRLIT_FLAG, "{.exportc.} not allowed for generic types" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1612 = {41, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1611};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1614 = {
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1615 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1616 = { 37 | NIM_STRLIT_FLAG, "only a \'distinct\' type can borrow `.`" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1617 = {37, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1616};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1621 = { 11 | NIM_STRLIT_FLAG, ":ObjectType" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1622 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1621};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1623 = { 58 | NIM_STRLIT_FLAG, "size pragma only allowed for enum types and imported types" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1624 = {58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1623};
static const struct {
  NI cap; NIM_CHAR data[75+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1626 = { 75 | NIM_STRLIT_FLAG, "\'$1\' is not a concrete type; for a callback without parameters use \'proc()\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1627 = {75, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1626};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1629 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_403};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1631 = {27, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_403};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1634 = { 48 | NIM_STRLIT_FLAG, "statement returns no value that can be discarded" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1635 = {48, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1634};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1637 = { 36 | NIM_STRLIT_FLAG, "illegal discard proc, did you mean: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1638 = {36, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1637};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1639 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_718};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1641 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1471};
static const struct {
  NI cap; NIM_CHAR data[70+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1643 = { 70 | NIM_STRLIT_FLAG, "catch a more precise Exception deriving from CatchableError or Defect." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1644 = {70, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1643};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1646 = { 25 | NIM_STRLIT_FLAG, "exception already handled" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1647 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1646};
static const struct {
  NI cap; NIM_CHAR data[74+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1649 = { 74 | NIM_STRLIT_FLAG, "The bare except clause is deprecated; use `except CatchableError:` instead" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1650 = {74, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1649};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1652 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1471};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1653 = {70, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1643};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1654 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1646};
static const struct {
  NI cap; NIM_CHAR data[78+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1655 = { 78 | NIM_STRLIT_FLAG, "Mix of imported and native exception types is not allowed in one except branch" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1656 = {78, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1655};
static const struct {
  NI cap; NIM_CHAR data[52+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1658 = { 52 | NIM_STRLIT_FLAG, "Only one finally is allowed after all other branches" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1659 = {52, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1658};
static const struct {
  NI cap; NIM_CHAR data[72+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1661 = { 72 | NIM_STRLIT_FLAG, "Only one general except clause is allowed after more specific exceptions" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1662 = {72, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1661};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1664 = { 24 | NIM_STRLIT_FLAG, "invalid control flow: $1" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1665 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1664};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1667 = { 30 | NIM_STRLIT_FLAG, "\'continue\' cannot have a label" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1668 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1667};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1670 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1672 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1664};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1675 = { 11 | NIM_STRLIT_FLAG, "ForLoopStmt" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1676 = {11, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1675};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1677 = { 45 | NIM_STRLIT_FLAG, "expression \'$1\' has no type (or is ambiguous)" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1678 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1677};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1680 = {
0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1681 = {
0x10, 0x08, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1682 = { 31 | NIM_STRLIT_FLAG, "cannot infer element type of $1" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1683 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1682};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1686 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1188};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1688 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1689 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1188};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1691 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1188};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1693 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1694 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1188};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1696 = { 4 | NIM_STRLIT_FLAG, "true" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1697 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1696};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1698 = { 20 | NIM_STRLIT_FLAG, "system needs: \'true\'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1699 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1698};
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1701 = { 64 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semfields.nim" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1702 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1696};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1703 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1188};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__rF9caJawfOjYTjsgLVUSGFA_1705 = {
0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0xb0, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1706 = { 23 | NIM_STRLIT_FLAG, "no object or tuple type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1707 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1706};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1709 = { 5 | NIM_STRLIT_FLAG, "Field" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1710 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1709};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1711 = { 43 | NIM_STRLIT_FLAG, "\'continue\' not supported in a \'fields\' loop" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1712 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1711};
static const struct {
  NI cap; NIM_CHAR data[59+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1714 = { 59 | NIM_STRLIT_FLAG, "parallel \'fields\' iterator does not work for \'case\' objects" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1715 = {59, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1714};
static NIM_CONST tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw TM__rF9caJawfOjYTjsgLVUSGFA_1717 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1718 = { 5 | NIM_STRLIT_FLAG, "items" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1719 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1718};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1720 = { 5 | NIM_STRLIT_FLAG, "pairs" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1721 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1720};
static const struct {
  NI cap; NIM_CHAR data[41+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1722 = { 41 | NIM_STRLIT_FLAG, "iterator within for loop context expected" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1723 = {41, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1722};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1725 = { 4 | NIM_STRLIT_FLAG, "case" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1726 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1725};
static const struct {
  NI cap; NIM_CHAR data[52+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1727 = { 52 | NIM_STRLIT_FLAG, "selector must be of an ordinal type, float or string" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1728 = {52, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1727};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1730 = { 30 | NIM_STRLIT_FLAG, "invalid order of case branches" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1731 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1730};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1733 = {30, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1730};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1734 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1736 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_242};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1738 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_254};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1740 = { 23 | NIM_STRLIT_FLAG, "no return type declared" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1741 = {23, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1740};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1743 = { 25 | NIM_STRLIT_FLAG, "\'return\' not allowed here" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1744 = {25, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1743};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1746 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1747 = { 5 | NIM_STRLIT_FLAG, "using" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1748 = {5, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1747};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1750 = { 32 | NIM_STRLIT_FLAG, "\'using\' section must have a type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1751 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1750};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1753 = { 43 | NIM_STRLIT_FLAG, "\'using\' sections cannot contain assignments" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1754 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1753};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1756 = { 35 | NIM_STRLIT_FLAG, "\'yield\' only allowed in an iterator" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1757 = {35, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1756};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1759 = { 8 | NIM_STRLIT_FLAG, "semYield" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1760 = {8, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1759};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1762 = { 17 | NIM_STRLIT_FLAG, "tuple constructor" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1763 = {17, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1762};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1765 = {13, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_134};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1767 = { 43 | NIM_STRLIT_FLAG, "current routine cannot return an expression" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1768 = {43, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1767};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1770 = { 34 | NIM_STRLIT_FLAG, "yield statement must yield a value" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1771 = {34, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1770};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1773 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x3e,
0xfe, 0x0f, 0x00, 0xf0, 0x3f, 0x77, 0x08, 0xcf,
0xe4, 0xc4, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1774 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x3e,
0x1e, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x08, 0xcf,
0xe4, 0xc0, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1775 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x40, 0x40, 0x7d, 0xa8, 0x01, 0x0a,
0x00, 0x88, 0xff, 0x03, 0x00, 0x80, 0xf0, 0x00,
0x00, 0x03, 0x30, 0x00, 0x02, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1776 = { 28 | NIM_STRLIT_FLAG, "iterator needs a return type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1777 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1776};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1779 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1112};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1781 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x40, 0x54, 0x7f, 0xe8, 0xf7, 0x0a,
0xc0, 0x98, 0xff, 0x03, 0x40, 0x80, 0xf0, 0x00,
0x1a, 0x03, 0x30, 0x44, 0x72, 0x86, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1782 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1783 = { 6 | NIM_STRLIT_FLAG, "method" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1784 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1783};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1786 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x40, 0x14, 0x7f, 0xe8, 0xf7, 0x0b,
0xc0, 0x98, 0xff, 0x03, 0x40, 0x80, 0xf0, 0x00,
0x1a, 0x03, 0x30, 0x44, 0x72, 0x86, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1787 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1788 = { 9 | NIM_STRLIT_FLAG, "converter" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1789 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1788};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1791 = { 22 | NIM_STRLIT_FLAG, "$1 needs a return type" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1792 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1791};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1793 = {9, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1788};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1795 = { 38 | NIM_STRLIT_FLAG, "a converter takes exactly one argument" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1796 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1795};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1798 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x50, 0x7d, 0x88, 0x60, 0x0a,
0x00, 0x88, 0xff, 0x03, 0x40, 0x00, 0x00, 0x00,
0x00, 0x02, 0x30, 0x00, 0x00, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1799 = {31, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1112};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1801 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1802 = { 6 | NIM_STRLIT_FLAG, "import" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1803 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1802};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1805 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1806 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1802};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1808 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1809 = { 4 | NIM_STRLIT_FLAG, "from" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1810 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1809};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1812 = { 12 | NIM_STRLIT_FLAG, "Cannot use \'" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1813 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1812};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1814 = { 15 | NIM_STRLIT_FLAG, "\' in \'include\'." };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1815 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1814};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1817 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1812};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1818 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1814};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1819 = { 7 | NIM_STRLIT_FLAG, "include" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1820 = {7, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1819};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1821 = {26, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_100};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1823 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1824 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_265};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1826 = { 15 | NIM_STRLIT_FLAG, "cannot export: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1827 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1826};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1829 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1826};
static const struct {
  NI cap; NIM_CHAR data[44+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1830 = { 44 | NIM_STRLIT_FLAG, "; enum field cannot be exported individually" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1831 = {44, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1830};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1833 = { 15 | NIM_STRLIT_FLAG, "rawImportSymbol" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1834 = {15, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1833};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1836 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_263};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1837 = {6, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_265};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1839 = { 46 | NIM_STRLIT_FLAG, "The export/except syntax expects a module name" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1840 = {46, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1839};
static NIM_CONST tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw TM__rF9caJawfOjYTjsgLVUSGFA_1842 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1843 = { 22 | NIM_STRLIT_FLAG, "invalid pragma block: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1844 = {22, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1843};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1846 = { 42 | NIM_STRLIT_FLAG, "defer statement not supported at top level" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1847 = {42, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1846};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1849 = { 33 | NIM_STRLIT_FLAG, "\'defer\' takes a \'void\' expression" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1850 = {33, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1849};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1852 = { 38 | NIM_STRLIT_FLAG, "invalid context for \'bind\' statement: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1853 = {38, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1852};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1855 = { 20 | NIM_STRLIT_FLAG, "invalid expression: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1856 = {20, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1855};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1858 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1677};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1860 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1677};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1862 = {39, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_103};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1863 = {73, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_773};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1865 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_212};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1867 = {0, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_15};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1868 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_212};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1870 = {28, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_212};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1872 = {45, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1677};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1874 = { 32 | NIM_STRLIT_FLAG, "cannot infer type of parameter: " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1875 = {32, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1874};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1879 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1880 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1881 = {24, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_37};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1885 = {26, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_100};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1887 = { 4 | NIM_STRLIT_FLAG, "echo" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1888 = {4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1887};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1889 = { 18 | NIM_STRLIT_FLAG, "system needs: echo" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1890 = {18, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1889};
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1892 = {2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_932};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1894 = { 12 | NIM_STRLIT_FLAG, "n is not nil" };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1895 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1894};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__rF9caJawfOjYTjsgLVUSGFA_1897 = { 12 | NIM_STRLIT_FLAG, "no code for " };
static const NimStringV2 TM__rF9caJawfOjYTjsgLVUSGFA_1898 = {12, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1897};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_4 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)762),
((NI)35)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_9 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)101),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_13 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)703),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_23 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)375),
((NI)2)}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u364;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_27 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)378),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_34 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)416),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_35 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)38),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_36 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)40),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_39 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)54),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_41 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)59),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_43 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)68),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_47 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)273),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_51 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)670),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_55 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)676),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_58 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)681),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_63 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)699),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_64 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)703),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_71 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)708),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_75 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)312),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_78 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)324),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_84 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1960),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_93 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)274),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_99 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)228),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_102 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)551),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_105 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)557),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_108 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)466),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_116 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)290),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_133 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)305),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_136 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)504),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_140 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)310),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_145 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)330),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_149 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)351),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_152 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)353),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_159 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)363),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_161 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)366),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_165 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2097),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_168 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1795),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_172 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2108),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_174 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2111),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_177 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2123),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_180 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2126),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_182 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2160),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_184 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2165),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_188 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1013),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_190 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1025),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_194 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)990),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_197 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)964),
((NI)42)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_200 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)970),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_203 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)977),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_208 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1033),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_211 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1038),
((NI)40)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_214 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)578),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_217 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)783),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_221 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)801),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_226 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)804),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_229 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)807),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_232 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)627),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_234 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)639),
((NI)35)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_237 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)620),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_240 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)819),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_253 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)826),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_256 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)829),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_257 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)287),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_259 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)911),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_262 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)248),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_267 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)578),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_270 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)580),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_278 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)938),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_281 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)953),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_285 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)231),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_290 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)59),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_293 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)61),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_302 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)242),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_303 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)86),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_306 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)334),
((NI)31)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_310 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)950),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_313 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)286),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_314 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)254),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_315 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)300),
((NI)35)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_318 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)306),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_321 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)310),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_322 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)319),
((NI)33)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_323 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)337),
((NI)35)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_324 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)263),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_331 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)210),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_339 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)410),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_342 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1077),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_345 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1093),
((NI)10)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_348 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1096),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_354 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1976),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_369 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2022),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_371 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2036),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_373 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2046),
((NI)47)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_376 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2061),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_378 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1943),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_383 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)419),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_386 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)422),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_389 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)431),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_392 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)439),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_394 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)462),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_396 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)464),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_399 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)469),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_402 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)478),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_405 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)219),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_408 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)222),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_417 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)389),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_420 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)391),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_424 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)394),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_426 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)208),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_429 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)210),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_433 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)212),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_435 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)496),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_439 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)499),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_443 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)487),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_449 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)238),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_457 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2217),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_461 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2223),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_464 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2243),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_467 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)543),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_470 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)551),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_473 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)563),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_479 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1659),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_481 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1672),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_484 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1688),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_489 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1704),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_491 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1729),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_492 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_24},
((NI)180),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_495 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1741),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_499 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1637),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_502 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1645),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_505 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2259),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_507 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2265),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_510 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2281),
((NI)38)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_511 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2284),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_512 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2308),
((NI)10)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_513 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2323),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_514 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2325),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_515 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1861),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_517 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)249),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_530 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2549),
((NI)24)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_536 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1417),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_543 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1431),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_547 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1459),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_550 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1483),
((NI)27)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_552 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1487),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_555 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1496),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_559 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1503),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_566 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1213),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_570 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1264),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_571 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1308),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_574 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1545),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_576 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1552),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_581 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)1555),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_585 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)844),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_588 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)829),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_591 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)854),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_593 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)856),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_603 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)927),
((NI)16)}
;
static NIM_CONST tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w TM__rF9caJawfOjYTjsgLVUSGFA_604 = {((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL),
NIM_FALSE}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_607 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2547),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_616 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2564),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_619 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2592),
((NI)46)}
;
extern NIM_CONST tyArray__dwfJdPZJYBY1vfSlirNUOQ AttachedOpToStr__ast_u5487;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_649 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2103),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_655 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2201),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_658 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2206),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_661 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2210),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_664 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2213),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_669 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2216),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_674 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2246),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_677 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2249),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_681 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2253),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_684 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2257),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_688 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2266),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_694 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2294),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_698 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2299),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_702 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2153),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_705 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2157),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_708 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2312),
((NI)16)}
;
static NIM_CONST tyArray__dyW7vpmfeTYw8kX3EXuaJA TM__rF9caJawfOjYTjsgLVUSGFA_709 = {{1, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_710},
{3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_711},
{2, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_712}}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_717 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2604),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_723 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2607),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_732 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2345),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_735 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2348),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_738 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2353),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_741 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2355),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_744 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2361),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_747 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2365),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_750 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2368),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_754 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2402),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_757 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2412),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_760 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_761},
((NI)67),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_763 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_761},
((NI)51),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_764 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_761},
((NI)16),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_768 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)999),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_771 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1007),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_775 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1038),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_780 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)41),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_784 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)50),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_787 = {{74, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_788},
((NI)512),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_791 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1661),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_795 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1666),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_798 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1749),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_805 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)956),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_808 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)499),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_814 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)510),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_817 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)515),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_820 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)517),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_956 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)521),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_968 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)528),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_970 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)951),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_974 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)688),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_978 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)272),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_979 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)190),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1014 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)232),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1019 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)266),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1022 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)133),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1028 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)287),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1032 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)390),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1034 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)392),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1035 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)401),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1038 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)408),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1039 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)410),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1042 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)415),
((NI)14)}
;
N_LIB_PRIVATE NIM_CONST tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ opToStr__sem_u22982 = {{3, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1045},
{4, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1046}}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1047 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)502),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1051 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)521),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1054 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)296),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1056 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)301),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1063 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)318),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1065 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)321),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1069 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)644),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1074 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)524),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1076 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)531),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1078 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)536),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1084 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)508),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1087 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)516),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1090 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)518),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1092 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)675),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1093 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)584),
((NI)10)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1094 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)587),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1097 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)686),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1101 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_781},
((NI)699),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1105 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_761},
((NI)34),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1108 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2633),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1114 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2675),
((NI)27)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1117 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2679),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1121 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1933),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1124 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1935),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1127 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1937),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1130 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1939),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1133 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1941),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1136 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2697),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1137 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)592),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1149 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)626),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1151 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)630),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1152 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)640),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1155 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)645),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1159 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)654),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1163 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)932),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1169 = {{62, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_14},
((NI)902),
((NI)10)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1179 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2358),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1182 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)87),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1185 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)114),
((NI)24)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1187 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)118),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1190 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)120),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1192 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)130),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1195 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)157),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1196 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)182),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1199 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)490),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1200 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)565),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1201 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1390),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1204 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1394),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1206 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1405),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1207 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1422),
((NI)27)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1217 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1918),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1218 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1921),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1223 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2027),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1226 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2032),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1227 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2046),
((NI)10)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1233 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1896),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1236 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1899),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1239 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1819),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1241 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1822),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1244 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1839),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1246 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1841),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1249 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2119),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1251 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2123),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1262 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)187),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1272 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)219),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1275 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3427),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1278 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)382),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1280 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)390),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1282 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)977),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1285 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)406),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1291 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)425),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1297 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)288),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1299 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)458),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1300 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)462),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1303 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)467),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1306 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)470),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1312 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)490),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1313 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)508),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1316 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)532),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1319 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)537),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1322 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2227),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1325 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)589),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1326 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)540),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1335 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2294),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1338 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2296),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1341 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2306),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1342 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2308),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1346 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2361),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1349 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2262),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1354 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2376),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1369 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)781),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1371 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)783),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1372 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_586},
((NI)790),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1381 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2572),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1384 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2589),
((NI)29)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1391 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2505),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1397 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2522),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1400 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1131),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1407 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1156),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1416 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2867),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1419 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2871),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1420 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3076),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1423 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3081),
((NI)29)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1425 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2890),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1428 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2907),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1431 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2791),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1436 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2797),
((NI)17)}
;
extern NIM_CONST tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg Zero__int128_u8;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1441 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)767),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1444 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)794),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1447 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)802),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1451 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)488),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1454 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)490),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1459 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)492),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1464 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2929),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1467 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2965),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1469 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2986),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1473 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1429),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1476 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1431),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1485 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)887),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1488 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)896),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1489 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)767),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1490 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)770),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1494 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)924),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1497 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)600),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1500 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)603),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1502 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)947),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1505 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)949),
((NI)44)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1512 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)632),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1533 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)627),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1535 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)455),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1538 = {{67, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_286},
((NI)458),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1539 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)503),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1540 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)505),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1543 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)980),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1545 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)986),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1548 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)756),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1549 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)463),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1551 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1037),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1554 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1461),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1557 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1477),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1560 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1500),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1565 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1508),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1567 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1618),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1574 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2478),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1576 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_137},
((NI)2479),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1583 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1567),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1589 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1578),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1594 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1586),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1599 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1592),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1602 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1594),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1606 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1604),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1610 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1697),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1613 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1699),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1618 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1708),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1619 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1715),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1620 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1716),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1625 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1807),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1628 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1760),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1630 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1765),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1632 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1767),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1633 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1787),
((NI)4)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1636 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)63),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1640 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)66),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1642 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)352),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1645 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)354),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1648 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)357),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1651 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)398),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1657 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)413),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1660 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)417),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1663 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)425),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1666 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)87),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1669 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)89),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1671 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)91),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1673 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)93),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1674 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1238),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1679 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)110),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1684 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1109),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1685 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1115),
((NI)31)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1687 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1118),
((NI)31)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1690 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1144),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1692 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1146),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1695 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1162),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1700 = {{64, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1701},
((NI)126),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1704 = {{64, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1701},
((NI)136),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1708 = {{64, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1701},
((NI)142),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1713 = {{64, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1701},
((NI)64),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1716 = {{64, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_1701},
((NI)96),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1724 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1321),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1729 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1283),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1732 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1354),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1735 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1391),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1737 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1400),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1739 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1403),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1742 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2078),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1745 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2085),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1749 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)531),
((NI)34)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1752 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)547),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1755 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)550),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1758 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2160),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1761 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2166),
((NI)39)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1764 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2147),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1766 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2149),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1769 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2178),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1772 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)2180),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1778 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2724),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1780 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2733),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1785 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2747),
((NI)34)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1790 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2768),
((NI)34)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1794 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2778),
((NI)36)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1797 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2779),
((NI)27)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1800 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2804),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1804 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3596),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1807 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3599),
((NI)36)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1811 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3602),
((NI)36)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1816 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2824),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1822 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2812),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1825 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3608),
((NI)36)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1828 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3029),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1832 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3042),
((NI)20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1835 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3055),
((NI)31)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1838 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3611),
((NI)36)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1841 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3004),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1845 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2875),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1848 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3619),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1851 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3624),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1854 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3637),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1857 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)3640),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1859 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)74),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1861 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)86),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1864 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)102),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1866 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)410),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1869 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)421),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1871 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)424),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1873 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)60),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1876 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)2046),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1886 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_85},
((NI)1859),
((NI)22)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1891 = {{63, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_52},
((NI)1201),
((NI)29)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1893 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)899),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1896 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)909),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_1899 = {{58, (NimStrPayload*)&TM__rF9caJawfOjYTjsgLVUSGFA_5},
((NI)751),
((NI)21)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
extern Exception* currException__system_u3628;
static NIM_CONST NU32 TM__rF9caJawfOjYTjsgLVUSGFA_1058[2] = {3701606400, 3405091328};
N_LIB_PRIVATE TNimTypeV2 NTIv2__0Mr1krfaaakTahpFDt9cyUg_ = {.destructor = (void*)rttiDestroy__sem_u31840, .size = sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg), .align = (NI16) NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg), .depth = 1, .display = TM__rF9caJawfOjYTjsgLVUSGFA_1058, .traceImpl = (void*)eqtrace___sem_u31774, .flags = 0};
static NIM_CONST NU32 TM__rF9caJawfOjYTjsgLVUSGFA_1577[2] = {3701606400, 3234081280};
N_LIB_PRIVATE TNimTypeV2 NTIv2__f8DEKnrGqGNHpEBRoYo00A_ = {.destructor = (void*)rttiDestroy__sem_u32968, .size = sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A), .align = (NI16) NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A), .depth = 1, .display = TM__rF9caJawfOjYTjsgLVUSGFA_1577, .traceImpl = (void*)NIM_NIL, .flags = 0};
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(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(NIM_BOOL, isGenericParams__ast_u7070)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = !((n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
	if (!(T1_)) goto LA2_;
	T1_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75));
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_u7081)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = !((n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
	if (!(T2_)) goto LA3_;
	T2_ = ((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52) || (*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = isGenericParams__ast_u7070((*n_p0)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_u7092)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
	if (!(T1_)) goto LA2_;
	T1_ = isGenericRoutine__ast_u7081((*s_p0).ast);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, firstParamType__ast_u5363)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
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__rF9caJawfOjYTjsgLVUSGFA_16;
	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__rF9caJawfOjYTjsgLVUSGFA_18);
		addInt__stdZprivateZdigitsutils_u204((&result), info_p0.Field1);
		{
			if (!(((NI)0) < (NI)(info_p0.Field2 + ((NI)1)))) goto LA7_;
			prepareAdd((&result), 2);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_20);
			addInt__stdZprivateZdigitsutils_u204((&result), (NI)(info_p0.Field2 + ((NI)1)));
		}
LA7_: ;
		prepareAdd((&result), 1);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_22);
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isTopLevel__semdata_u4679)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0) {
	NIM_BOOL result;
	result = ((*(*c_p0).currentScope).depthLevel <= ((NI)2));
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* b_p1) {
	NIM_BOOL result;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = (b_p1 == 0);
LA4_: ;
		if (!T3_) goto LA5_;
		result = (a_p0 == b_p1);
	}
	goto LA1_;
LA5_: ;
	{
		result = ((*a_p0).id == (*b_p1).id);
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLocalPassC__sem_u1511)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	NimStringV2 result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		NIM_BOOL T4_;
		NI T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*s_p1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (T4_) goto LA5_;
		T6_ = (NI)0;
		T6_ = len__ast_u3190((*s_p1).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (T6_ == ((NI)0));
LA5_: ;
		if (!T4_) goto LA7_;
		result = TM__rF9caJawfOjYTjsgLVUSGFA_28;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	result = TM__rF9caJawfOjYTjsgLVUSGFA_29;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = ((*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90));
		if (!(T11_)) goto LA12_;
		colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_31);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = eqeq___idents_u366((*(*(*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_5.ident, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA12_: ;
		if (!T11_) goto LA13_;
		eqcopy___system_u2694((&result), (*(*(*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)])._kind_3.strVal);
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA13_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
		n_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3197((*s_p1).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA19;
					i_1 = i_2;
					eqcopy___ast_u3255(&n_1, (*(*s_p1).ast)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
						p_1 = NIM_NIL;
						p_1 = 0;
						{
							NI i_3;
							NI colontmp__2;
							NI i_4;
							i_3 = (NI)0;
							colontmp__2 = (NI)0;
							colontmp__2 = safeLen__ast_u3197(n_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							i_4 = ((NI)0);
							{
								while (1) {
									tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
									if (!(i_4 < colontmp__2)) goto LA24;
									colontmpD__2 = NIM_NIL;
									i_3 = i_4;
									eqcopy___ast_u3255(&p_1, (*n_1)._kind_6.sons.p->data[i_3]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
									{
										NIM_BOOL T28_;
										T28_ = (NIM_BOOL)0;
										T28_ = ((*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90));
										if (!(T28_)) goto LA29_;
										colontmpD__2 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_32);
										if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
										T28_ = eqeq___idents_u366((*(*(*p_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_5.ident, colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
LA29_: ;
										if (!T28_) goto LA30_;
										eqcopy___system_u2694((&result), (*(*(*p_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)])._kind_3.strVal);
										eqdestroy___idents_u155(colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
										eqdestroy___ast_u3252(p_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
										eqdestroy___ast_u3252(n_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
										eqdestroy___idents_u155(colontmpD_);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										goto BeforeRet_;
									}
LA30_: ;
									i_4 += ((NI)1);
									{
										LA25_:;
									}
									{
										oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___idents_u155(colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
										*nimErr_ = oldNimErrFin25_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
								} LA24: ;
							}
						}
						{
							LA21_:;
						}
						{
							oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(p_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							*nimErr_ = oldNimErrFin21_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					}
					i_2 += ((NI)1);
				} LA19: ;
			}
		}
		{
			LA16_:;
		}
		{
			oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin16_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, setOwner__icZic_u12851)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___ast_u4577(&(*s_p0).ownerField, owner_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillMixinScope__sem_u1499)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0) {
	tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* p_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	p_1 = NIM_NIL;
	eqcopy___semdata_u704(&p_1, (*c_p0).p);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			if (!!((p_1 == ((tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ*) NIM_NIL)))) goto LA2;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** bnd_1;
				NI i_1;
				NI L_1;
				NI T4_;
				bnd_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
				i_1 = ((NI)0);
				T4_ = (*p_1).localBindStmts.len;
				L_1 = T4_;
				{
					while (1) {
						if (!(i_1 < L_1)) goto LA6;
						bnd_1 = &(*p_1).localBindStmts.p->data[i_1];
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
							n_1 = NIM_NIL;
							n_1 = 0;
							{
								NI i_2;
								NI colontmp_;
								NI i_3;
								i_2 = (NI)0;
								colontmp_ = (NI)0;
								colontmp_ = safeLen__ast_u3197((*bnd_1));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								i_3 = ((NI)0);
								{
									while (1) {
										if (!(i_3 < colontmp_)) goto LA10;
										i_2 = i_3;
										eqcopy___ast_u3255(&n_1, (*(*bnd_1))._kind_6.sons.p->data[i_2]);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										strTableAdd__astalgo_u2666((&(*(*c_p0).currentScope).symbols), (*n_1)._kind_4.sym);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										i_3 += ((NI)1);
									} LA10: ;
								}
							}
							eqdestroy___ast_u3252(n_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						i_1 += ((NI)1);
					} LA6: ;
				}
			}
			eqcopy___semdata_u704(&p_1, (*p_1).next);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	eqdestroy___semdata_u701(p_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, paramsLen__ast_u5616)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = (NI)(T1_ - ((NI)1));
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, lookup__layeredtable_u711)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A typeMap_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = getOrDefault__layeredtable_u519(typeMap_p0.topLayer, key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = (result == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = !((typeMap_p0.nextLayer == ((tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A*) NIM_NIL)));
LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = NIM_NIL;
		T7_ = lookup__layeredtable_u506(typeMap_p0.nextLayer, key_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T7_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, genericParamHasConstraints__ast_u5654)(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*, genericConstraint__ast_u5678)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*t_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, addDeclAt__lookups_u3781)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	addDeclAt__lookups_u3253(c_p0, scope_p1, sym_p2, (*sym_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, addDecl__lookups_u3789)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	addDeclAt__lookups_u3781(c_p0, (*c_p0).currentScope, sym_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, pushProcCon__sem_u843)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* colontmpD__2;
	tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = NIM_NIL;
	T1_ = (tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ*) nimNewObj(sizeof(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ), NIM_ALIGNOF(tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ));
	colontmpD_ = eqdup___ast_u4580(owner_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*T1_).owner = colontmpD_;
	colontmpD__2 = eqdup___semdata_u707((*c_p0).p);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*T1_).next = colontmpD__2;
	eqsink___semdata_u710(&(*c_p0).p, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, shallowCopy__layeredtable_u266)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* Result) {
	tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA colontmpD_;
	tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* colontmpD__2;
	tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A));
	colontmpD_ = eqdup___layeredtable_u155(pt_p0.topLayer);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.topLayer = colontmpD_;
	colontmpD__2 = eqdup___layeredtable_u221(pt_p0.nextLayer);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.nextLayer = colontmpD__2;
	T1_.previousLen = pt_p0.previousLen;
	(*Result).topLayer = T1_.topLayer;
	(*Result).nextLayer = T1_.nextLayer;
	(*Result).previousLen = T1_.previousLen;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, base__ast_u5351)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*t_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isIntLit__types_u179)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
	if (!(T2_)) goto LA3_;
	T2_ = !(((*t_p0).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = ((*(*t_p0).n).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6));
LA4_: ;
	result = T1_;
	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, referencesAnotherParam__sem_u1333)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* p_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		NIM_BOOL T6_;
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		colontmpD_ = NIM_NIL;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
		if (!(T6_)) goto LA7_;
		colontmpD_ = owner__ast_u6254((*n_p0)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T6_ = (colontmpD_ == p_p1);
LA7_: ;
		result = T6_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			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 BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA13;
					i_1 = i_2;
					{
						NIM_BOOL T16_;
						T16_ = (NIM_BOOL)0;
						T16_ = referencesAnotherParam__sem_u1333((*n_p0)._kind_6.sons.p->data[i_1], p_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T16_) goto LA17_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA17_: ;
					i_2 += ((NI)1);
				} LA13: ;
			}
		}
		result = NIM_FALSE;
		goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, changeType__sem_u84)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* newType_p2, NIM_BOOL check_p3) {
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	{
		{
			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 LA4;
					i_1 = i_2;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
						if (!((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA7_;
						colontmpD_ = NIM_NIL;
						colontmpD__2 = NIM_NIL;
						colontmpD_ = elemType__types_u254(newType_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						changeType__sem_u84(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)], colontmpD_, check_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						colontmpD__2 = elemType__types_u254(newType_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						changeType__sem_u84(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], colontmpD__2, check_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						{
							LA9_:;
						}
						{
							oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3378(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin9_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					goto LA5_;
LA7_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
						colontmpD__3 = NIM_NIL;
						colontmpD__3 = elemType__types_u254(newType_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						changeType__sem_u84(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], colontmpD__3, check_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						{
							LA13_:;
						}
						{
							oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin13_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA5_: ;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	{
		{
			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) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
					if (!(i_4 < colontmp__2)) goto LA19;
					colontmpD__4 = NIM_NIL;
					i_3 = i_4;
					colontmpD__4 = elemType__types_u254(newType_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					changeType__sem_u84(c_p0, (*n_p1)._kind_6.sons.p->data[i_3], colontmpD__4, check_p3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					i_4 += ((NI)1);
					{
						LA20_:;
					}
					{
						oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin20_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA19: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tup_1;
		tup_1 = NIM_NIL;
		tup_1 = skipTypes__ast_u5379(newType_p2, TM__rF9caJawfOjYTjsgLVUSGFA_48);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			if (!!(((*tup_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18)))) goto LA27_;
			{
				if (!((*tup_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA31_;
				eqdestroy___ast_u3378(tup_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA31_: ;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_50, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_51, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
		goto LA25_;
LA27_: ;
		{
			NIM_BOOL T34_;
			NI T35_;
			T34_ = (NIM_BOOL)0;
			T35_ = (NI)0;
			T35_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T34_ = (((NI)0) < T35_);
			if (!(T34_)) goto LA36_;
			T34_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
LA36_: ;
			if (!T34_) goto LA37_;
			{
				NI i_5;
				NI colontmp__3;
				NI i_6;
				i_5 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				i_6 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
						if (!(i_6 < colontmp__3)) goto LA41;
						m_1 = NIM_NIL;
						i_5 = i_6;
						eqcopy___ast_u3255(&m_1, (*(*n_p1)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						{
							if (!!(((*m_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA45_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*m_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_54, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_55, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							eqdestroy___ast_u3252(m_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							eqdestroy___ast_u3378(tup_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA45_: ;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* f_1;
							if (!!(((*tup_1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA49_;
							f_1 = NIM_NIL;
							f_1 = getSymFromList__astalgo_u191((*tup_1).n, (*(*m_1)._kind_4.sym).name, ((NI)0));
							if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							{
								NimStringV2 colontmpD__5;
								NimStringV2 T57_;
								if (!(f_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA54_;
								colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
								T57_.len = 0; T57_.p = NIM_NIL;
								T57_ = rawNewString((*(*(*m_1)._kind_4.sym).name).s.len + 20);
appendString((&T57_), TM__rF9caJawfOjYTjsgLVUSGFA_57);
appendString((&T57_), (*(*(*m_1)._kind_4.sym).name).s);
								colontmpD__5 = T57_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*m_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_58, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
								eqdestroy___system_u2691(colontmpD__5);
								eqdestroy___ast_u4574(f_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								eqdestroy___ast_u3252(m_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
								eqdestroy___ast_u3378(tup_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
								{
									LA56_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__5);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							}
LA54_: ;
							changeType__sem_u84(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)1)], (*f_1).typ, check_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							{
								LA51_:;
							}
							{
								oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(f_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								*nimErr_ = oldNimErrFin51_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						}
						goto LA47_;
LA49_: ;
						{
							changeType__sem_u84(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)1)], (*tup_1).sons.p->data[i_5], check_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						}
LA47_: ;
						i_6 += ((NI)1);
						{
							LA42_:;
						}
						{
							oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(m_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							*nimErr_ = oldNimErrFin42_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					} LA41: ;
				}
			}
		}
		goto LA25_;
LA37_: ;
		{
			{
				NI i_7;
				NI colontmp__4;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				i_8 = ((NI)0);
				{
					while (1) {
						if (!(i_8 < colontmp__4)) goto LA68;
						i_7 = i_8;
						changeType__sem_u84(c_p0, (*n_p1)._kind_6.sons.p->data[i_7], (*tup_1).sons.p->data[i_7], check_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						i_8 += ((NI)1);
					} LA68: ;
				}
			}
		}
LA25_: ;
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(tup_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
	{
		{
			NIM_BOOL T74_;
			NIM_BOOL T75_;
			tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T78_;
			NIM_BOOL T79_;
			NI64 value_1;
			T74_ = (NIM_BOOL)0;
			T75_ = (NIM_BOOL)0;
			T75_ = check_p3;
			if (!(T75_)) goto LA76_;
			T75_ = !(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15)));
LA76_: ;
			T74_ = T75_;
			if (!(T74_)) goto LA77_;
			T78_ = 0;
			T79_ = (NIM_BOOL)0;
			T79_ = sameTypeOrNil__types_u1837((*n_p1).typField, newType_p2, T78_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T74_ = !(T79_);
LA77_: ;
			if (!T74_) goto LA80_;
			value_1 = (*n_p1)._kind_1.intVal;
			{
				NIM_BOOL T84_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T85_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T87_;
				NimStringV2 colontmpD__6;
				NimStringV2 colontmpD__7;
				NimStringV2 colontmpD__8;
				NimStringV2 T91_;
				T84_ = (NIM_BOOL)0;
				T85_ = firstOrd__types_u1182((*(*c_p0).graph).config, newType_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T84_ = lt___int128_u959(value_1, T85_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (T84_) goto LA86_;
				T87_ = lastOrd__types_u1298((*(*c_p0).graph).config, newType_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T84_ = lt___int128_u933(T87_, value_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA86_: ;
				if (!T84_) goto LA88_;
				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;
				T91_.len = 0; T91_.p = NIM_NIL;
				colontmpD__6 = dollar___systemZdollars_u29(value_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
				colontmpD__7 = typeNameAndDesc__types_u4016(newType_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
				T91_ = rawNewString(colontmpD__6.len + colontmpD__7.len + 19);
appendString((&T91_), TM__rF9caJawfOjYTjsgLVUSGFA_60);
appendString((&T91_), colontmpD__6);
appendString((&T91_), TM__rF9caJawfOjYTjsgLVUSGFA_62);
appendString((&T91_), colontmpD__7);
				colontmpD__8 = T91_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_63, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
				{
					LA90_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__8);
					eqdestroy___system_u2691(colontmpD__7);
					eqdestroy___system_u2691(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA88_: ;
		}
LA80_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
	{
		{
			NIM_BOOL T97_;
			NIM_BOOL T99_;
			NimStringV2 colontmpD__9;
			NimStringV2 colontmpD__10;
			NimStringV2 colontmpD__11;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T103_;
			T97_ = (NIM_BOOL)0;
			T97_ = check_p3;
			if (!(T97_)) goto LA98_;
			T99_ = (NIM_BOOL)0;
			T99_ = floatRangeCheck__types_u1420((*n_p1)._kind_2.floatVal, newType_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T97_ = !(T99_);
LA98_: ;
			if (!T97_) goto LA100_;
			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__9 = dollar___system_u4730((*n_p1)._kind_2.floatVal);
			if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
			T103_[0] = colontmpD__9;
			colontmpD__10 = typeNameAndDesc__types_u4016(newType_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
			T103_[1] = colontmpD__10;
			colontmpD__11 = percent___sem_u15430(T103_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_64, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
			{
				LA102_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__11);
				eqdestroy___system_u2691(colontmpD__10);
				eqdestroy___system_u2691(colontmpD__9);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA100_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			NIM_BOOL T109_;
			NIM_BOOL T110_;
			tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T113_;
			NIM_BOOL T114_;
			NI value_2;
			T109_ = (NIM_BOOL)0;
			T110_ = (NIM_BOOL)0;
			T110_ = check_p3;
			if (!(T110_)) goto LA111_;
			T110_ = ((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20));
LA111_: ;
			T109_ = T110_;
			if (!(T109_)) goto LA112_;
			T113_ = 0;
			T114_ = (NIM_BOOL)0;
			T114_ = sameTypeOrNil__types_u1837((*(*n_p1)._kind_4.sym).typ, newType_p2, T113_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T109_ = !(T114_);
LA112_: ;
			if (!T109_) goto LA115_;
			value_2 = (*(*n_p1)._kind_4.sym).position;
			{
				NIM_BOOL T119_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T120_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T122_;
				NimStringV2 colontmpD__12;
				NimStringV2 colontmpD__13;
				NimStringV2 T126_;
				T119_ = (NIM_BOOL)0;
				T120_ = firstOrd__types_u1182((*(*c_p0).graph).config, newType_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T119_ = lt___int128_u959(((NI64) (value_2)), T120_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (T119_) goto LA121_;
				T122_ = lastOrd__types_u1298((*(*c_p0).graph).config, newType_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T119_ = lt___int128_u933(T122_, ((NI64) (value_2)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA121_: ;
				if (!T119_) goto LA123_;
				colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
				colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
				T126_.len = 0; T126_.p = NIM_NIL;
				colontmpD__12 = typeNameAndDesc__types_u4016(newType_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
				T126_ = rawNewString((*(*(*n_p1)._kind_4.sym).name).s.len + colontmpD__12.len + 23);
appendString((&T126_), TM__rF9caJawfOjYTjsgLVUSGFA_66);
appendString((&T126_), (*(*(*n_p1)._kind_4.sym).name).s);
appendString((&T126_), TM__rF9caJawfOjYTjsgLVUSGFA_68);
appendString((&T126_), colontmpD__12);
appendString((&T126_), TM__rF9caJawfOjYTjsgLVUSGFA_70);
				colontmpD__13 = T126_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__13, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_71, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
				{
					LA125_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__13);
					eqdestroy___system_u2691(colontmpD__12);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA123_: ;
		}
LA115_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	eqcopy___ast_u3381(&(*n_p1).typField, newType_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitNodePostMatch__sem_u174)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	x_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	a_1 = NIM_NIL;
	x_1 = skipConv__types_u3715(arg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NIM_BOOL T10_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39));
		if (!(T6_)) goto LA7_;
		T6_ = ((*formal_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19));
LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		colontmpD_ = base__ast_u5351(formal_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12)));
LA8_: ;
		T4_ = T5_;
		if (T4_) goto LA9_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160));
		if (!(T10_)) goto LA11_;
		T10_ = !(((*formal_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6) || (*formal_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51) || (*formal_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59)));
LA11_: ;
		T4_ = T10_;
LA9_: ;
		if (!T4_) goto LA12_;
		changeType__sem_u84(c_p0, x_1, formal_p1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA12_: ;
	eqcopy___ast_u3255(&result, arg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T14_ = NIM_NIL;
	T14_ = skipHiddenSubConv__types_u3777(result, (*c_p0).graph, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA1_;}
	eqsink___ast_u3261(&result, T14_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&a_1, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA17_;
		eqcopy___ast_u3255(&a_1, (*a_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA17_: ;
	{
		NIM_BOOL T21_;
		T21_ = (NIM_BOOL)0;
		T21_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
		if (!(T21_)) goto LA22_;
		T21_ = ((*(*a_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA22_: ;
		if (!T21_) goto LA23_;
		markUsed__sigmatch_u100(c_p0, (*a_1).info, (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA23_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, setReturnType__ast_u5357)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* r_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___ast_u3381(&(*n_p0).sons.p->data[((NI)0)], r_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, instantiateProcType__sem_u1357)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A typeMap_1;
	tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ cl_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* originalParams_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin4_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T90_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&typeMap_1), sizeof(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A));
	nimZeroMem((void*)(&cl_1), sizeof(tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ));
	result_1 = NIM_NIL;
	originalParams_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	pushInfoContext__msgs_u569((*(*c_p0).graph).config, info_p3, TM__rF9caJawfOjYTjsgLVUSGFA_44);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	shallowCopy__layeredtable_u266(pt_p1, (&typeMap_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initTypeVars__semtypinst_u1560(c_p0, typeMap_1, info_p3, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), (&cl_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result_1 = instCopyType__semtypinst_u531((&cl_1), (*prc_p2).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&originalParams_1, (*result_1).n);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = shallowCopy__ast_u6876(originalParams_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto LA1_;}
	eqsink___ast_u3261(&(*result_1).n, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* resulti_1;
		NI i_1;
		resulti_1 = NIM_NIL;
		i_1 = (NI)0;
		{
			NI i_2;
			NI colontmp_;
			NI T6_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (*result_1).sons.len;
			colontmp_ = T6_;
			i_3 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeToFit_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* oldParam_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
					NIM_BOOL needsStaticSkipping_1;
					NIM_BOOL needsTypeDescSkipping_1;
					NIM_BOOL T14_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T20_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T76_;
					if (!(i_3 < colontmp_)) goto LA8;
					typeToFit_1 = NIM_NIL;
					colontmpD__3 = NIM_NIL;
					oldParam_1 = NIM_NIL;
					param_1 = NIM_NIL;
					i_2 = i_3;
					i_1 = i_2;
					eqcopy___ast_u3381(&resulti_1, (*result_1).sons.p->data[i_2]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						if (!(((NI)1) < i_1)) goto LA12_;
						resetIdTable__sem_u1372((&cl_1.symMap));
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						resetIdTable__sem_u1387((&cl_1.localCache));
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA12_: ;
					eqcopy___ast_u3381(&typeToFit_1, resulti_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					needsStaticSkipping_1 = ((*resulti_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
					T14_ = (NIM_BOOL)0;
					T14_ = ((*resulti_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
					if (!(T14_)) goto LA15_;
					T14_ = (((*resulti_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0);
LA15_: ;
					needsTypeDescSkipping_1 = T14_;
					{
						if (!((*resulti_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA18_;
						(*resulti_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
					}
LA18_: ;
					T20_ = NIM_NIL;
					T20_ = replaceTypeVarsT__semtypinst_u125((&cl_1), resulti_1, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T20_); goto LA9_;}
					eqsink___ast_u3387(&(*result_1).sons.p->data[i_1], T20_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T25_;
						if (!needsStaticSkipping_1) goto LA23_;
						T25_ = NIM_NIL;
						T25_ = skipTypes__ast_u5379((*result_1).sons.p->data[i_1], TM__rF9caJawfOjYTjsgLVUSGFA_45);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T25_); goto LA9_;}
						eqsink___ast_u3387(&(*result_1).sons.p->data[i_1], T25_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA23_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T30_;
						if (!needsTypeDescSkipping_1) goto LA28_;
						T30_ = NIM_NIL;
						T30_ = skipTypes__ast_u5379((*result_1).sons.p->data[i_1], TM__rF9caJawfOjYTjsgLVUSGFA_46);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T30_); goto LA9_;}
						eqsink___ast_u3387(&(*result_1).sons.p->data[i_1], T30_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						eqcopy___ast_u3381(&typeToFit_1, (*result_1).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA28_: ;
					{
						NIM_BOOL T33_;
						NIM_BOOL T34_;
						T33_ = (NIM_BOOL)0;
						T34_ = (NIM_BOOL)0;
						T34_ = !(((*typeToFit_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
						if (T34_) goto LA35_;
						colontmpD__3 = base__ast_u5351(typeToFit_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						T34_ = !(((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0)));
LA35_: ;
						T33_ = T34_;
						if (!(T33_)) goto LA36_;
						T33_ = !(((*typeToFit_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60)));
LA36_: ;
						if (!T33_) goto LA37_;
						eqcopy___ast_u3381(&typeToFit_1, (*result_1).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA37_: ;
					{
						NimStringV2 argX60gensym215__1;
						if (!!(((*(*originalParams_1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA41_;
						argX60gensym215__1.len = 0; argX60gensym215__1.p = NIM_NIL;
						argX60gensym215__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_47);
						if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym215__1, TM__rF9caJawfOjYTjsgLVUSGFA_47);
						if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						{
							LA43_:;
						}
						{
							eqdestroy___system_u2691(argX60gensym215__1);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA41_: ;
					eqcopy___ast_u4577(&oldParam_1, (*(*originalParams_1)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					param_1 = copySym__ast_u6250(oldParam_1, (*c_p0).Sup.idgen);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					setOwner__icZic_u12851(param_1, prc_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					eqcopy___ast_u3381(&(*param_1).typ, (*result_1).sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* converted_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T61_;
						if (!!(((*oldParam_1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA48_;
						def_1 = NIM_NIL;
						colontmpD__4 = NIM_NIL;
						converted_1 = NIM_NIL;
						def_1 = copyTree__ast_u6891((*oldParam_1).ast);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						{
							if (!((*(*def_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA53_;
							(*(*def_1).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
						}
LA53_: ;
						{
							NIM_BOOL T57_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T60_;
							T57_ = (NIM_BOOL)0;
							T57_ = isIntLit__types_u179((*def_1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							if (!!(T57_)) goto LA58_;
							T60_ = NIM_NIL;
							T60_ = prepareNode__semtypinst_u130((&cl_1), def_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T60_); goto LA50_;}
							eqsink___ast_u3261(&def_1, T60_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						}
LA58_: ;
						T61_ = NIM_NIL;
						T61_ = semExprWithType__sem_u63(c_p0, def_1, 33554432, typeToFit_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T61_); goto LA50_;}
						eqsink___ast_u3261(&def_1, T61_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						{
							NIM_BOOL T64_;
							colontmpD__4 = getCurrOwner__semdata_u425(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							T64_ = (NIM_BOOL)0;
							T64_ = referencesAnotherParam__sem_u1333(def_1, colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							if (!T64_) goto LA65_;
							(*def_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)19))) & 31);
						}
LA65_: ;
						converted_1 = indexTypesMatch__sem_u129(c_p0, typeToFit_1, (*def_1).typField, def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T71_;
							if (!(converted_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA69_;
							T71_ = NIM_NIL;
							T71_ = errorNode__semdata_u4571(c_p0, def_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T71_); goto LA50_;}
							eqsink___ast_u3261(&(*param_1).ast, T71_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							eqcopy___ast_u3381(&(*(*param_1).ast).typField, (*def_1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						}
						goto LA67_;
LA69_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T73_;
							T73_ = NIM_NIL;
							T73_ = fitNodePostMatch__sem_u174(c_p0, typeToFit_1, converted_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T73_); goto LA50_;}
							eqsink___ast_u3261(&(*param_1).ast, T73_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						}
LA67_: ;
						eqcopy___ast_u3381(&(*param_1).typ, (*result_1).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						{
							LA50_:;
						}
						{
							oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(converted_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							eqdestroy___ast_u4574(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							eqdestroy___ast_u3252(def_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							*nimErr_ = oldNimErrFin50_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA48_: ;
					T76_ = NIM_NIL;
					T76_ = newSymNode__ast_u5168(param_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T76_); goto LA9_;}
					eqsink___ast_u3261(&(*(*result_1).n)._kind_6.sons.p->data[i_1], T76_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						NIM_BOOL T79_;
						NimStringV2 colontmpD__5;
						NimStringV2 colontmpD__6;
						NimStringV2 T83_;
						T79_ = (NIM_BOOL)0;
						T79_ = isRecursiveStructuralType__types_u4096((*result_1).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						if (!T79_) goto LA80_;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
						T83_.len = 0; T83_.p = NIM_NIL;
						colontmpD__5 = typeToString__types_u54((*result_1).sons.p->data[i_1], ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
						T83_ = rawNewString(colontmpD__5.len + 28);
appendString((&T83_), TM__rF9caJawfOjYTjsgLVUSGFA_73);
appendString((&T83_), colontmpD__5);
appendString((&T83_), TM__rF9caJawfOjYTjsgLVUSGFA_74);
						colontmpD__6 = T83_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*originalParams_1)._kind_6.sons.p->data[i_1])._kind_4.sym).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_75, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
						{
							LA82_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__6);
							eqdestroy___system_u2691(colontmpD__5);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA80_: ;
					propagateToOwner__ast_u6637(result_1, (*result_1).sons.p->data[i_1], NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					addDecl__lookups_u3789(c_p0, param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					i_3 += ((NI)1);
					{
						LA9_:;
					}
					{
						oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						eqdestroy___ast_u4574(oldParam_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						eqdestroy___ast_u3378(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						eqdestroy___ast_u3378(typeToFit_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						*nimErr_ = oldNimErrFin9_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				} LA8: ;
			}
		}
		{
			LA4_:;
		}
		{
			oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(resulti_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin4_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	resetIdTable__sem_u1372((&cl_1.symMap));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	resetIdTable__sem_u1387((&cl_1.localCache));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	cl_1.isReturnType = NIM_TRUE;
	colontmpD_ = returnType__ast_u5354(result_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = replaceTypeVarsT__semtypinst_u125((&cl_1), colontmpD_, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setReturnType__ast_u5357(result_1, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	cl_1.isReturnType = NIM_FALSE;
	T90_ = NIM_NIL;
	T90_ = copyTree__ast_u6891((*originalParams_1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T90_); goto LA1_;}
	eqsink___ast_u3261(&(*(*result_1).n)._kind_6.sons.p->data[((NI)0)], T90_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*result_1).sons.p->data[((NI)0)] == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA93_;
		{
			NIM_BOOL T97_;
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			NimStringV2 T101_;
			T97_ = (NIM_BOOL)0;
			T97_ = isRecursiveStructuralType__types_u4096((*result_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T97_) goto LA98_;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			T101_.len = 0; T101_.p = NIM_NIL;
			colontmpD__7 = typeToString__types_u54((*result_1).sons.p->data[((NI)0)], ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
			T101_ = rawNewString(colontmpD__7.len + 28);
appendString((&T101_), TM__rF9caJawfOjYTjsgLVUSGFA_76);
appendString((&T101_), colontmpD__7);
appendString((&T101_), TM__rF9caJawfOjYTjsgLVUSGFA_77);
			colontmpD__8 = T101_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*originalParams_1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_78, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
			{
				LA100_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA98_: ;
		propagateToOwner__ast_u6637(result_1, (*result_1).sons.p->data[((NI)0)], NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA93_: ;
	eraseVoidParams__semtypinst_u822(result_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	skipIntLiteralParams__semtypinst_u906(result_1, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___ast_u3387(&(*prc_p2).typ, result_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___ast_u3375(&result_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	popInfoContext__msgs_u593((*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(originalParams_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(result_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___semtypinst_u1585((&cl_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___layeredtable_u233(typeMap_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameInstantiation__sem_u937)(tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ a_p0, tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI T4_;
		T3_ = a_p0.concreteTypes.len;
		T4_ = b_p1.concreteTypes.len;
		if (!(T3_ == T4_)) goto LA5_;
		{
			NI i_1;
			NI colontmp_;
			NI T8_;
			NI res_1;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T8_ = (a_p0.concreteTypes.len-1);
			colontmp_ = T8_;
			res_1 = ((NI)0);
			{
				while (1) {
					if (!(res_1 <= colontmp_)) goto LA10;
					i_1 = ((NI) (res_1));
					{
						NIM_BOOL T13_;
						T13_ = (NIM_BOOL)0;
						T13_ = compareTypes__types_u2768(a_p0.concreteTypes.p->data[i_1], b_p1.concreteTypes.p->data[i_1], ((tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw)0), 164);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!!(T13_)) goto LA14_;
						goto BeforeRet_;
					}
LA14_: ;
					res_1 += ((NI)1);
				} LA10: ;
			}
		}
		result = NIM_TRUE;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, genericCacheGet__sem_u955)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* genericSym_p1, tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ entry_p2, NI id_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	{
		tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst_1;
		inst_1 = NIM_NIL;
		{
			NIM_BOOL T5_;
			tySequence__apM9bRAO19cVjhWlxqd1PGeA* x_1;
			T5_ = (NIM_BOOL)0;
			T5_ = contains__modulegraphs_u4352((*g_p0).procInstCache, (*genericSym_p1).itemId);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (!T5_) goto LA6_;
			x_1 = X5BX5D___modulegraphs_u4824((&(*g_p0).procInstCache), (*genericSym_p1).itemId);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			{
				tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA* t_1;
				NI i_1;
				NI L_1;
				NI T9_;
				t_1 = (tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA*)0;
				i_1 = ((NI)0);
				T9_ = (*x_1).len;
				L_1 = T9_;
				{
					while (1) {
						tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* T12_;
						if (!(i_1 < L_1)) goto LA11;
						t_1 = (&(*x_1).p->data[i_1]);
						T12_ = NIM_NIL;
						T12_ = resolveInst__modulegraphs_u3512(g_p0, t_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___modulegraphs_u3561(T12_); goto LA2_;}
						eqsink___modulegraphs_u3570(&inst_1, T12_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						{
							NIM_BOOL T15_;
							NIM_BOOL T16_;
							T15_ = (NIM_BOOL)0;
							T16_ = (NIM_BOOL)0;
							T16_ = ((*inst_1).compilesId == ((NI)0));
							if (T16_) goto LA17_;
							T16_ = ((*inst_1).compilesId == id_p3);
LA17_: ;
							T15_ = T16_;
							if (!(T15_)) goto LA18_;
							T15_ = sameInstantiation__sem_u937(entry_p2, (*inst_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
LA18_: ;
							if (!T15_) goto LA19_;
							eqcopy___ast_u4577(&result, (*inst_1).sym);
							if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
							eqdestroy___modulegraphs_u3561(inst_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA19_: ;
						i_1 += ((NI)1);
					} LA11: ;
				}
			}
		}
LA6_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___modulegraphs_u3561(inst_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg**, X5BX5D___semdata_u454)(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
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, swapResult__sem_u18080)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sRes_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dNode_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		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 BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = ((*(*n_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
					if (!(T6_)) goto LA7_;
					T6_ = ((*(*n_p0)._kind_6.sons.p->data[i_1])._kind_4.sym == sRes_p1);
LA7_: ;
					if (!T6_) goto LA8_;
					eqcopy___ast_u3255(&(*n_p0)._kind_6.sons.p->data[i_1], dNode_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA8_: ;
				swapResult__sem_u18080((*n_p0)._kind_6.sons.p->data[i_1], sRes_p1, dNode_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, findEnforcedStaticType__sem_u7925)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		if (!(t_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA3_;
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		goto BeforeRet_;
	}
LA3_: ;
	{
		if (!((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA7_;
		eqcopy___ast_u3381(&result, t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	{
		if (!((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56))) goto LA11_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_1;
			s_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI T16_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T16_ = (*t_p0).sons.len;
				colontmp_ = T16_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
						if (!(i_2 < colontmp_)) goto LA18;
						t_2 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3381(&s_1, (*t_p0).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						t_2 = findEnforcedStaticType__sem_u7925(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						{
							if (!!((t_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA22_;
							result = t_2;
							eqwasMoved___ast_u3375(&t_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
							eqdestroy___ast_u3378(t_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							eqdestroy___ast_u3378(s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA22_: ;
						i_2 += ((NI)1);
						{
							LA19_:;
						}
						{
							oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(t_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							*nimErr_ = oldNimErrFin19_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					} LA18: ;
				}
			}
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA11_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addParamOrResult__sem_u1124)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2) {
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* staticType_1;
		if (!(kind_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17))) goto LA3_;
		staticType_1 = NIM_NIL;
		staticType_1 = findEnforcedStaticType__sem_u7925((*param_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T11_;
			if (!!((staticType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA8_;
			a_1 = NIM_NIL;
			a_1 = copySym__ast_u6250(param_p1, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T11_ = NIM_NIL;
			T11_ = base__ast_u5351(staticType_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T11_); goto LA10_;}
			eqsink___ast_u3387(&(*a_1).typ, T11_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			addDecl__lookups_u3789(c_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		goto LA6_;
LA8_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* nn_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_2;
			nn_1 = NIM_NIL;
			a_2 = NIM_NIL;
			nn_1 = getSysSym__magicsys_u17((*c_p0).graph, (*param_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_89);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			a_2 = copySym__ast_u6250(param_p1, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			eqcopy___ast_u3381(&(*a_2).typ, (*nn_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			addDecl__lookups_u3789(c_p0, a_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				eqdestroy___ast_u4574(nn_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin15_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA6_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(staticType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			if (!(((*param_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0)) goto LA23_;
			colontmpD_ = NIM_NIL;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
				colontmpD_ = owner__ast_u6254(param_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA27_;
				colontmpD__2 = NIM_NIL;
				colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				setOwner__icZic_u12851(param_p1, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA27_: ;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA21_;
LA23_: ;
		{
			addDecl__lookups_u3789(c_p0, param_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA21_: ;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addResult__sem_u18097)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q owner_p3) {
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (owner_p3 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
		if (T3_) goto LA4_;
		T3_ = !((t_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			NI T10_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			T9_ = (NIM_BOOL)0;
			T10_ = (NI)0;
			T10_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T9_ = (((NI)7) < T10_);
			if (!(T9_)) goto LA11_;
			T9_ = !(((*n_p1)._kind_6.sons.p->data[((NI)7)] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA11_: ;
			if (!T9_) goto LA12_;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			{
				if (!!(((*(*(*n_p1)._kind_6.sons.p->data[((NI)7)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)))) goto LA17_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_83, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_84, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			}
LA17_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sResSym_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__3;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
				tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T23_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T24_;
				colontmpD_ = owner__ast_u6254((*(*n_p1)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				if (!!((colontmpD_ == colontmpD__2))) goto LA21_;
				sResSym_1 = NIM_NIL;
				s_1 = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				colontmpD__4 = NIM_NIL;
				eqcopy___ast_u4577(&sResSym_1, (*(*n_p1)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				colontmpD__3 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_87);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				colontmpD__4 = getCurrOwner__semdata_u425(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				T23_ = 0;
				s_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11), colontmpD__3, (*c_p0).Sup.idgen, colontmpD__4, (*n_p1).info, T23_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqcopy___ast_u3381(&(*s_1).typ, t_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
				T24_ = NIM_NIL;
				T24_ = newSymNode__ast_u5168(s_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T24_); goto LA14_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)7)], T24_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				swapResult__sem_u18080(n_p1, sResSym_1, (*n_p1)._kind_6.sons.p->data[((NI)7)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u4574(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___idents_u155(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u4574(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u4574(sResSym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			}
LA21_: ;
			eqcopy___ast_u4577(&(*(*c_p0).p).resultSym, (*(*n_p1)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA7_;
LA12_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T28_;
			s_2 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			colontmpD__5 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_88);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__6 = getCurrOwner__semdata_u425(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T28_ = 0;
			s_2 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11), colontmpD__5, (*c_p0).Sup.idgen, colontmpD__6, (*n_p1).info, T28_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___ast_u3381(&(*s_2).typ, t_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*s_2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
			eqsink___ast_u4583(&(*(*c_p0).p).resultSym, s_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__7 = newSymNode__ast_u5168((*(*c_p0).p).resultSym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(n_p1, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
		addParamOrResult__sem_u1124(c_p0, (*(*c_p0).p).resultSym, owner_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isInlineIterator__ast_u7400)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
	if (!(T2_)) goto LA3_;
	T2_ = (((*typ_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15)))&63U)))!=0);
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = !(((*typ_p0).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9)));
LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, maybeAddResult__sem_u109)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* resultType_1;
		if (!((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17))) goto LA4_;
		resultType_1 = NIM_NIL;
		resultType_1 = sysTypeFromName__magicsys_u50((*c_p0).graph, (*n_p2).info, TM__rF9caJawfOjYTjsgLVUSGFA_81);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		addResult__sem_u18097(c_p0, n_p2, resultType_1, (*s_p1).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(resultType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL T10_;
		NIM_BOOL T12_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		T10_ = (NIM_BOOL)0;
		colontmpD_ = returnType__ast_u5354((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = !((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T10_)) goto LA11_;
		T12_ = (NIM_BOOL)0;
		T12_ = isInlineIterator__ast_u7400((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = !(T12_);
LA11_: ;
		if (!T10_) goto LA13_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = returnType__ast_u5354((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		addResult__sem_u18097(c_p0, n_p2, colontmpD__2, (*s_p1).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin15_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA13_: ;
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		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, freshGenSyms__sem_u962)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* orig_p3, tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA* symMap_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* x_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T3_)) goto LA4_;
		T3_ = (((*(*n_p1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0);
LA4_: ;
		if (!T3_) goto LA5_;
		s_1 = NIM_NIL;
		x_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		eqcopy___ast_u4577(&s_1, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		x_1 = getOrDefault__semdata_u2191((*symMap_p4), (*s_1).itemId);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!((x_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA9_;
			eqsink___ast_u4583(&(*n_p1)._kind_4.sym, x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u4571(&x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA7_;
LA9_: ;
		{
			NIM_BOOL T12_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T16_;
			T12_ = (NIM_BOOL)0;
			colontmpD_ = owner__ast_u6254(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T12_ = (colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
			if (T12_) goto LA13_;
			colontmpD__2 = owner__ast_u6254(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T12_ = ((*colontmpD__2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)24));
LA13_: ;
			if (!T12_) goto LA14_;
			T16_ = NIM_NIL;
			T16_ = copySym__ast_u6250(s_1, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T16_); goto BeforeRet_;}
			eqsink___ast_u4583(&x_1, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			setOwner__icZic_u12851(x_1, owner_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			X5BX5Deq___semdata_u1173(symMap_p4, (*s_1).itemId, x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqsink___ast_u4583(&(*n_p1)._kind_4.sym, x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u4571(&x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA7_;
LA14_: ;
LA7_: ;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		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 LA20;
					i_1 = i_2;
					freshGenSyms__sem_u962(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], owner_p2, orig_p3, symMap_p4);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA20: ;
			}
		}
	}
LA1_: ;
	}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(NIM_BOOL, isAtom__ast_u7223)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) <= (*n_p0).kind);
	if (!(T1_)) goto LA2_;
	T1_ = ((*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixNilType__sem_u15173)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin19_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isAtom__ast_u7223(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			T8_ = (NIM_BOOL)0;
			T8_ = !(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)));
			if (!(T8_)) goto LA9_;
			T8_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA9_: ;
			if (!T8_) goto LA10_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD_ = typeToString__types_u54((*n_p1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_92, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_93, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				LA12_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA10_: ;
	}
	goto LA1_;
LA4_: ;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126))) goto LA16_;
		transitionSonsKind__ast_u6769(n_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)115));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
			it_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 LA19_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA22;
						i_1 = i_2;
						eqcopy___ast_u3255(&it_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						fixNilType__sem_u15173(c_p0, it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						i_2 += ((NI)1);
					} LA22: ;
				}
			}
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	goto LA1_;
LA16_: ;
LA1_: ;
	eqsink___ast_u3387(&(*n_p1).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, hiddenDerefDepth__sem_u25304)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
	n_2 = NIM_NIL;
	result = ((NI)0);
	n_2 = n_p0;
	{
		while (1) {
			if (!((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA2;
			result += ((NI)1);
			n_2 = (*n_2)._kind_6.sons.p->data[((NI)0)];
		} LA2: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getCallLineInfo__sem_u3546)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26):
	{
		{
			NI T4_;
			T4_ = (NI)0;
			T4_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)0) < T4_)) goto LA5_;
			result = getCallLineInfo__sem_u3546((*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA5_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		{
			NI T10_;
			T10_ = (NI)0;
			T10_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)1) < T10_)) goto LA11_;
			result = getCallLineInfo__sem_u3546((*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA11_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	result = (*n_p0).info;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, symChoice__sem_u10236)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg r_p3, NIM_BOOL isField_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_1;
	tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
	NI i_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
	nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
	i_1 = ((NI)0);
	a_1 = initOverloadIter__lookups_u5784((&o_1), c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T12_;
			if (!!((a_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				if (!!(((*a_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)))) goto LA6_;
				i_1 += ((NI)1);
				{
					if (!(((NI)1) < i_1)) goto LA10_;
					goto LA2;
				}
LA10_: ;
			}
LA6_: ;
			T12_ = NIM_NIL;
			T12_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T12_); goto LA1_;}
			eqsink___ast_u4583(&a_1, T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	} LA2: ;
	info_1 = getCallLineInfo__sem_u3546(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = (i_1 <= ((NI)1));
		if (!(T15_)) goto LA16_;
		T15_ = !((r_p3 == ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2)));
LA16_: ;
		if (!T15_) goto LA17_;
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = !(isField_p4);
			if (T21_) goto LA22_;
			T21_ = !((((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0));
LA22_: ;
			if (!T21_) goto LA23_;
			result = newSymNode__ast_u5171(s_p2, info_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*s_p2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
			markOwnerModuleAsUsed__sigmatch_u106(c_p0, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA19_;
LA23_: ;
		{
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA19_: ;
	}
	goto LA13_;
LA17_: ;
	{
		if (!(i_1 == ((NI)0))) goto LA27_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA13_;
LA27_: ;
	{
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD_;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T38_;
		colontmpD_ = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		colontmpD__2 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		colontmpD__3 = NIM_NIL;
		{
			NIM_BOOL T33_;
			T33_ = (NIM_BOOL)0;
			T33_ = (r_p3 == ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0));
			if (T33_) goto LA34_;
			T33_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
LA34_: ;
			if (!T33_) goto LA35_;
			colontmpD_ = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56);
			kind_1 = colontmpD_;
		}
		goto LA31_;
LA35_: ;
		{
			colontmpD__2 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57);
			kind_1 = colontmpD__2;
		}
LA31_: ;
		colontmpD__3 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		result = newNodeIT__ast_u4112(kind_1, info_1, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		T38_ = NIM_NIL;
		T38_ = initOverloadIter__lookups_u5784((&o_1), c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T38_); goto LA30_;}
		eqsink___ast_u4583(&a_1, T38_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T49_;
				if (!!((a_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA40;
				{
					NIM_BOOL T43_;
					NIM_BOOL T45_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
					T43_ = (NIM_BOOL)0;
					T43_ = !(((*a_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
					if (!(T43_)) goto LA44_;
					T45_ = (NIM_BOOL)0;
					T45_ = !(isField_p4);
					if (T45_) goto LA46_;
					T45_ = !((((*a_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0));
LA46_: ;
					T43_ = T45_;
LA44_: ;
					if (!T43_) goto LA47_;
					colontmpD__4 = NIM_NIL;
					(*a_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
					markOwnerModuleAsUsed__sigmatch_u106(c_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					colontmpD__4 = newSymNode__ast_u5171(a_1, info_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					add__ast_u3215(result, colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				}
LA47_: ;
				T49_ = NIM_NIL;
				T49_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T49_); goto LA30_;}
				eqsink___ast_u4583(&a_1, T49_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			} LA40: ;
		}
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u6249((&o_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, inlineConst__sem_u22137)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = astdef__ast_u4596(s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = copyTree__ast_u6891(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T7_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		if (!(result == 0)) goto LA4_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T7_.len = 0; T7_.p = NIM_NIL;
		colontmpD__2 = typeToString__types_u54((*s_p2).typ, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = rawNewString(colontmpD__2.len + 32);
appendString((&T7_), TM__rF9caJawfOjYTjsgLVUSGFA_96);
appendString((&T7_), colontmpD__2);
appendString((&T7_), TM__rF9caJawfOjYTjsgLVUSGFA_98);
		colontmpD__3 = T7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_99, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T8_ = NIM_NIL;
		T8_ = newSymNode__ast_u5168(s_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA6_;}
		eqsink___ast_u3261(&result, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		eqcopy___ast_u3381(&(*result).typField, (*s_p2).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*result).info = (*n_p1).info;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, resetSemFlag__sem_u4269)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA3_;
		(*n_p0).flags &= ~(((NU32)1) << (((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7))) & 31));
		{
			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 BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i_1 = i_2;
					resetSemFlag__sem_u4269((*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, implicitlyDiscardable__sem_u14913)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin62_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	it_1 = NIM_NIL;
	eqcopy___ast_u3255(&it_1, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			NIM_BOOL T4_;
			NI T6_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
			T4_ = (NIM_BOOL)0;
			T4_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_110[(NU)(((*it_1).kind))>>3] &(1U<<((NU)(((*it_1).kind))&7U)))!=0);
			if (!(T4_)) goto LA5_;
			T6_ = (NI)0;
			T6_ = len__ast_u3190(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T4_ = (((NI)0) < T6_);
LA5_: ;
			if (!T4_) goto LA3;
			T7_ = NIM_NIL;
			T7_ = lastSon__ast_u5208(it_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA1_;}
			eqsink___ast_u3261(&it_1, T7_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	}
	switch ((*it_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	{
		{
			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(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
						if (!(i_2 < colontmp_)) goto LA13;
						colontmpD_ = NIM_NIL;
						colontmpD__2 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&branch_1, (*it_1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
							NIM_BOOL T28_;
							T17_ = NIM_NIL;
							{
								NI T20_;
								T20_ = (NI)0;
								T20_ = len__ast_u3190(branch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
								if (!(T20_ == ((NI)2))) goto LA21_;
								eqcopy___ast_u3255(&colontmpD_, (*branch_1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
								T17_ = colontmpD_;
							}
							goto LA18_;
LA21_: ;
							{
								NI T24_;
								T24_ = (NI)0;
								T24_ = len__ast_u3190(branch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
								if (!(T24_ == ((NI)1))) goto LA25_;
								eqcopy___ast_u3255(&colontmpD__2, (*branch_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
								T17_ = colontmpD__2;
							}
							goto LA18_;
LA25_: ;
							{
								raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_112);
								if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							}
LA18_: ;
							T28_ = (NIM_BOOL)0;
							T28_ = implicitlyDiscardable__sem_u14913(T17_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							if (!!(T28_)) goto LA29_;
							result = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							eqdestroy___ast_u3252(branch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA29_: ;
						i_2 += ((NI)1);
						{
							LA14_:;
						}
						{
							oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							*nimErr_ = oldNimErrFin14_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					} LA13: ;
				}
			}
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		result = NIM_TRUE;
	}
	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(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
					if (!(i_4 < colontmp__2)) goto LA38;
					branch_2 = NIM_NIL;
					colontmpD__3 = NIM_NIL;
					colontmpD__4 = NIM_NIL;
					colontmpD__5 = NIM_NIL;
					i_3 = i_4;
					eqcopy___ast_u3255(&branch_2, (*it_1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T42_;
						NIM_BOOL T48_;
						T42_ = NIM_NIL;
						switch ((*branch_2).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
						{
							NI T44_;
							T44_ = (NI)0;
							T44_ = len__ast_u3190(branch_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							eqcopy___ast_u3255(&colontmpD__3, (*branch_2)._kind_6.sons.p->data[(NI)(T44_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							T42_ = colontmpD__3;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
						{
							eqcopy___ast_u3255(&colontmpD__4, (*branch_2)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							T42_ = colontmpD__4;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
						{
							eqcopy___ast_u3255(&colontmpD__5, (*branch_2)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							T42_ = colontmpD__5;
						}
						break;
						default:
						{
							raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_114);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
						}
						break;
						}
						T48_ = (NIM_BOOL)0;
						T48_ = implicitlyDiscardable__sem_u14913(T42_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
						if (!!(T48_)) goto LA49_;
						result = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(branch_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA49_: ;
					i_4 += ((NI)1);
					{
						LA39_:;
					}
					{
						oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(branch_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin39_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA38: ;
			}
		}
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	{
		{
			NIM_BOOL T56_;
			T56_ = (NIM_BOOL)0;
			T56_ = implicitlyDiscardable__sem_u14913((*it_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T56_)) goto LA57_;
			result = NIM_FALSE;
			eqdestroy___ast_u3252(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA57_: ;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_6 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_3;
					if (!(i_6 < colontmp__3)) goto LA61;
					branch_3 = NIM_NIL;
					i_5 = i_6;
					eqcopy___ast_u3255(&branch_3, (*it_1)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
					{
						if (!!(((*branch_3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107)))) goto LA65_;
						{
							NI T69_;
							NIM_BOOL T70_;
							T69_ = (NI)0;
							T69_ = len__ast_u3190(branch_3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
							T70_ = (NIM_BOOL)0;
							T70_ = implicitlyDiscardable__sem_u14913((*branch_3)._kind_6.sons.p->data[(NI)(T69_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
							if (!!(T70_)) goto LA71_;
							result = NIM_FALSE;
							eqdestroy___ast_u3252(branch_3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA71_: ;
					}
LA65_: ;
					i_6 += ((NI)1);
					{
						LA62_:;
					}
					{
						oldNimErrFin62_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(branch_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin62_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA61: ;
			}
		}
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		NIM_BOOL T76_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T78_;
		T76_ = (NIM_BOOL)0;
		T76_ = ((*(*it_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T76_)) goto LA77_;
		T78_ = 0;
		T76_ = !(((IL64(17179934720) & (*(*(*it_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags) == T78_));
LA77_: ;
		result = T76_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111):
	{
		result = NIM_TRUE;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(it_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, shouldCheckCaseCovered__sem_u422)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* caseTyp_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	switch ((*caseTyp_p0).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		colontmpD_ = NIM_NIL;
		{
			colontmpD_ = skipTypes__ast_u5379((*caseTyp_p0).sons.p->data[((NI)0)], TM__rF9caJawfOjYTjsgLVUSGFA_10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!((*colontmpD_).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*colontmpD_).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1))) goto LA5_;
			result = NIM_TRUE;
		}
LA5_: ;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_u15095)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** returningNode_p1, NIM_BOOL discardableCheck_p2) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
	tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD_;
	tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__2;
	tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw skips_1;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin81_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	it_1 = NIM_NIL;
	nimZeroMem((void*)colontmpD_, sizeof(tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw));
	nimZeroMem((void*)colontmpD__2, sizeof(tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw));
	result = NIM_FALSE;
	eqcopy___ast_u3255(&it_1, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)skips_1, sizeof(tySet_tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw));
	{
		if (!discardableCheck_p2) goto LA4_;
		nimCopyMem((void*)colontmpD_, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_110, 21);
		nimCopyMem((void*)skips_1, (NIM_CONST void*)colontmpD_, 21);
	}
	goto LA2_;
LA4_: ;
	{
		nimCopyMem((void*)colontmpD__2, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_117, 21);
		nimCopyMem((void*)skips_1, (NIM_CONST void*)colontmpD__2, 21);
	}
LA2_: ;
	{
		while (1) {
			NIM_BOOL T9_;
			NI T11_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
			T9_ = (NIM_BOOL)0;
			T9_ = ((skips_1[(NU)(((*it_1).kind))>>3] &(1U<<((NU)(((*it_1).kind))&7U)))!=0);
			if (!(T9_)) goto LA10_;
			T11_ = (NI)0;
			T11_ = len__ast_u3190(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T9_ = (((NI)0) < T11_);
LA10_: ;
			if (!T9_) goto LA8;
			T12_ = NIM_NIL;
			T12_ = lastSon__ast_u5208(it_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA1_;}
			eqsink___ast_u3261(&it_1, T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA8: ;
	}
	switch ((*it_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	{
		NIM_BOOL hasElse_1;
		hasElse_1 = NIM_FALSE;
		{
			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(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
						if (!(i_2 < colontmp_)) goto LA18;
						colontmpD__3 = NIM_NIL;
						colontmpD__4 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&branch_1, (*it_1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
							NIM_BOOL T33_;
							T22_ = NIM_NIL;
							{
								NI T25_;
								T25_ = (NI)0;
								T25_ = len__ast_u3190(branch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
								if (!(T25_ == ((NI)2))) goto LA26_;
								eqcopy___ast_u3255(&colontmpD__3, (*branch_1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
								T22_ = colontmpD__3;
							}
							goto LA23_;
LA26_: ;
							{
								NI T29_;
								T29_ = (NI)0;
								T29_ = len__ast_u3190(branch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
								if (!(T29_ == ((NI)1))) goto LA30_;
								hasElse_1 = NIM_TRUE;
								eqcopy___ast_u3255(&colontmpD__4, (*branch_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
								T22_ = colontmpD__4;
							}
							goto LA23_;
LA30_: ;
							{
								raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_119);
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
							}
LA23_: ;
							T33_ = (NIM_BOOL)0;
							T33_ = endsInNoReturn__sem_u15095(T22_, returningNode_p1, discardableCheck_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
							if (!!(T33_)) goto LA34_;
							result = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
							eqdestroy___ast_u3252(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
							eqdestroy___ast_u3252(branch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA34_: ;
						i_2 += ((NI)1);
						{
							LA19_:;
						}
						{
							oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
							eqdestroy___ast_u3252(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
							*nimErr_ = oldNimErrFin19_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
					} LA18: ;
				}
			}
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin15_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		result = hasElse_1;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* caseTyp_1;
		NIM_BOOL hasElse_2;
		caseTyp_1 = NIM_NIL;
		caseTyp_1 = skipTypes__ast_u5379((*(*it_1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_120);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		hasElse_2 = shouldCheckCaseCovered__sem_u422(caseTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
					if (!(i_4 < colontmp__2)) goto LA44;
					branch_2 = NIM_NIL;
					colontmpD__5 = NIM_NIL;
					colontmpD__6 = NIM_NIL;
					colontmpD__7 = NIM_NIL;
					i_3 = i_4;
					eqcopy___ast_u3255(&branch_2, (*it_1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
						NIM_BOOL T54_;
						T48_ = NIM_NIL;
						switch ((*branch_2).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
						{
							NI T50_;
							T50_ = (NI)0;
							T50_ = len__ast_u3190(branch_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							eqcopy___ast_u3255(&colontmpD__5, (*branch_2)._kind_6.sons.p->data[(NI)(T50_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							T48_ = colontmpD__5;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
						{
							eqcopy___ast_u3255(&colontmpD__6, (*branch_2)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							T48_ = colontmpD__6;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
						{
							hasElse_2 = NIM_TRUE;
							eqcopy___ast_u3255(&colontmpD__7, (*branch_2)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							T48_ = colontmpD__7;
						}
						break;
						default:
						{
							raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_122);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						}
						break;
						}
						T54_ = (NIM_BOOL)0;
						T54_ = endsInNoReturn__sem_u15095(T48_, returningNode_p1, discardableCheck_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						if (!!(T54_)) goto LA55_;
						result = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__7);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3252(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3252(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3252(branch_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3378(caseTyp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA55_: ;
					i_4 += ((NI)1);
					{
						LA45_:;
					}
					{
						oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__7);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3252(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3252(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3252(branch_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						*nimErr_ = oldNimErrFin45_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				} LA44: ;
			}
		}
		result = hasElse_2;
		{
			LA41_:;
		}
		{
			oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(caseTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin41_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	{
		NI lastIndex_1;
		NI T67_;
		{
			NIM_BOOL T64_;
			T64_ = (NIM_BOOL)0;
			T64_ = endsInNoReturn__sem_u15095((*it_1)._kind_6.sons.p->data[((NI)0)], returningNode_p1, discardableCheck_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T64_)) goto LA65_;
			result = NIM_FALSE;
			eqdestroy___ast_u3252(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA65_: ;
		T67_ = (NI)0;
		T67_ = len__ast_u3190(it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		lastIndex_1 = (NI)(T67_ - ((NI)1));
		{
			if (!((*(*it_1)._kind_6.sons.p->data[lastIndex_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA70_;
			{
				NI T74_;
				NIM_BOOL T75_;
				T74_ = (NI)0;
				T74_ = len__ast_u3190((*it_1)._kind_6.sons.p->data[lastIndex_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T75_ = (NIM_BOOL)0;
				T75_ = endsInNoReturn__sem_u15095((*(*it_1)._kind_6.sons.p->data[lastIndex_1])._kind_6.sons.p->data[(NI)(T74_ - ((NI)1))], returningNode_p1, discardableCheck_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!T75_) goto LA76_;
				result = NIM_TRUE;
				eqdestroy___ast_u3252(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA76_: ;
			lastIndex_1 -= ((NI)1);
		}
LA70_: ;
		{
			NI i_5;
			NI res_1;
			i_5 = (NI)0;
			res_1 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_3;
					if (!(res_1 <= lastIndex_1)) goto LA80;
					branch_3 = NIM_NIL;
					i_5 = ((NI) (res_1));
					eqcopy___ast_u3255(&branch_3, (*it_1)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
					{
						NI T84_;
						NIM_BOOL T85_;
						T84_ = (NI)0;
						T84_ = len__ast_u3190(branch_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
						T85_ = (NIM_BOOL)0;
						T85_ = endsInNoReturn__sem_u15095((*branch_3)._kind_6.sons.p->data[(NI)(T84_ - ((NI)1))], returningNode_p1, discardableCheck_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
						if (!!(T85_)) goto LA86_;
						result = NIM_FALSE;
						eqdestroy___ast_u3252(branch_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA86_: ;
					res_1 += ((NI)1);
					{
						LA81_:;
					}
					{
						oldNimErrFin81_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(branch_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin81_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA80: ;
			}
		}
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		NIM_BOOL T92_;
		T92_ = (NIM_BOOL)0;
		T92_ = ((*(*it_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T92_)) goto LA93_;
		T92_ = (((*(*(*it_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)16)))&63U)))!=0);
LA93_: ;
		result = T92_;
		{
			if (!!(result)) goto LA96_;
			eqsink___ast_u3261(&(*returningNode_p1), it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqwasMoved___ast_u3249(&it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA96_: ;
	}
	break;
	default:
	{
		result = NIM_FALSE;
		eqsink___ast_u3261(&(*returningNode_p1), it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, discardCheck__sem_u15189)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
NIM_BOOL oldNimErrFin32_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL)));
		if (T3_) goto LA4_;
		T3_ = ((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0);
LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
LA5_: ;
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = !(((*result_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T9_)) goto LA10_;
		T9_ = !(((*(*result_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7) || (*(*result_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63)));
LA10_: ;
		if (!T9_) goto LA11_;
		{
			NIM_BOOL T15_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
			T15_ = (NIM_BOOL)0;
			T15_ = implicitlyDiscardable__sem_u14913(result_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T15_) goto LA16_;
			n_1 = NIM_NIL;
			n_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)114), (*result_p1).info, ((NI)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___ast_u3255(&(*n_1)._kind_6.sons.p->data[((NI)0)], result_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA13_;
LA16_: ;
		{
			NIM_BOOL T19_;
			T19_ = (NIM_BOOL)0;
			T19_ = !(((*(*result_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50)));
			if (!(T19_)) goto LA20_;
			T19_ = !(((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)27)));
LA20_: ;
			if (!T19_) goto LA21_;
			{
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				NimStringV2 T28_;
				if (!((*(*result_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))) goto LA25_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				T28_.len = 0; T28_.p = NIM_NIL;
				colontmpD_ = renderTree__renderer_u59(result_p1, 4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				T28_ = rawNewString(colontmpD_.len + 24);
appendString((&T28_), TM__rF9caJawfOjYTjsgLVUSGFA_115);
appendString((&T28_), colontmpD_);
				colontmpD__2 = T28_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*result_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_116, 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_;
			}
			goto LA23_;
LA25_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
				NimStringV2 s_1;
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 T38_;
				n_2 = NIM_NIL;
				s_1.len = 0; s_1.p = NIM_NIL;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				eqcopy___ast_u3255(&n_2, result_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				{
					NIM_BOOL T35_;
					T35_ = (NIM_BOOL)0;
					T35_ = endsInNoReturn__sem_u15095(result_p1, &n_2, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					if (!T35_) goto LA36_;
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(colontmpD__3);
					eqdestroy___system_u2691(s_1);
					eqdestroy___ast_u3252(n_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA36_: ;
				T38_.len = 0; T38_.p = NIM_NIL;
				colontmpD__3 = dollar___renderer_u2166(n_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				colontmpD__4 = typeToString__types_u54((*result_p1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				T38_ = rawNewString(colontmpD__3.len + colontmpD__4.len + 61);
appendString((&T38_), TM__rF9caJawfOjYTjsgLVUSGFA_124);
appendString((&T38_), colontmpD__3);
appendString((&T38_), TM__rF9caJawfOjYTjsgLVUSGFA_126);
appendString((&T38_), colontmpD__4);
appendString((&T38_), TM__rF9caJawfOjYTjsgLVUSGFA_128);
				s_1 = T38_;
				{
					NIM_BOOL T41_;
					NimStringV2 colontmpD__5;
					NimStringV2 colontmpD__6;
					NimStringV2 T46_;
					T41_ = (NIM_BOOL)0;
					T41_ = !(((*result_p1).info.line == (*n_2).info.line));
					if (T41_) goto LA42_;
					T41_ = !(((*result_p1).info.fileIndex == (*n_2).info.fileIndex));
LA42_: ;
					if (!T41_) goto LA43_;
					colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
					colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
					T46_.len = 0; T46_.p = NIM_NIL;
					colontmpD__5 = dollar___msgs_u714((*(*c_p0).graph).config, (*result_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					T46_ = rawNewString(colontmpD__5.len + 28);
appendString((&T46_), TM__rF9caJawfOjYTjsgLVUSGFA_130);
appendString((&T46_), colontmpD__5);
					colontmpD__6 = T46_;
					prepareAdd((&s_1), colontmpD__6.len + 0);
appendString((&s_1), colontmpD__6);
					{
						LA45_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__6);
						eqdestroy___system_u2691(colontmpD__5);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				}
LA43_: ;
				{
					if (!((*(*result_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25))) goto LA51_;
					prepareAdd((&s_1), 28);
appendString((&s_1), TM__rF9caJawfOjYTjsgLVUSGFA_132);
				}
LA51_: ;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), s_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_133, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				{
					LA32_:;
				}
				{
					oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(colontmpD__3);
					eqdestroy___system_u2691(s_1);
					eqdestroy___ast_u3252(n_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin32_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA23_: ;
		}
		goto LA13_;
LA21_: ;
LA13_: ;
	}
LA11_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprNoType__sem_u68)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NIM_BOOL isPush_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	isPush_1 = hasHint__options_u557((*(*c_p0).graph).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)120));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!isPush_1) goto LA3_;
		pushInfoContext__msgs_u569((*(*c_p0).graph).config, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_109);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	result = semExpr__sem_u58(c_p0, n_p1, 256, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T5_ = 0;
	discardCheck__sem_u15189(c_p0, result, T5_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!isPush_1) goto LA8_;
		popInfoContext__msgs_u593((*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStmt__sem_u93)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!!(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0))) goto LA3_;
		result = semExprNoType__sem_u68(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = semExpr__sem_u58(c_p0, n_p1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
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*, skipModifier__ast_u5338)(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, fixupTypeOf__sem_u8925)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result_1;
		if (!!((prev_p1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA3_;
		result_1 = NIM_NIL;
		result_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddSon__ast_u6706(result_1, typ_p2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u4577(&(*result_1).sym, (*prev_p1).sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!(((*prev_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10)))) goto LA7_;
			assignType__ast_u6138(prev_p1, result_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
		eqdestroy___ast_u3378(result_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeOf__sem_u9215)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ex_1;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*c_p0).inTypeofContext += ((NI)1);
	ex_1 = NIM_NIL;
	ex_1 = semExprWithType__sem_u63(c_p0, n_p1, 16, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
	eqcopy___ast_u3381(&result, (*ex_1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
	{
		if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA6_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
	}
	goto LA4_;
LA6_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA9_;
		base_1 = NIM_NIL;
		base_1 = skipTypes__ast_u5379(result, TM__rF9caJawfOjYTjsgLVUSGFA_45);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			NIM_BOOL T14_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T19_;
			T14_ = (NIM_BOOL)0;
			T14_ = (((NI)0) < (*c_p0).inGenericContext);
			if (!(T14_)) goto LA15_;
			T14_ = containsGenericType__types_u3448(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
LA15_: ;
			if (!T14_) goto LA16_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = copyTree__ast_u6891(ex_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			T19_ = NIM_NIL;
			T19_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T19_); goto LA18_;}
			eqsink___ast_u3387(&result, T19_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
			{
				LA18_:;
			}
			{
				oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				*nimErr_ = oldNimErrFin18_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
		goto LA12_;
LA16_: ;
		{
			eqsink___ast_u3387(&result, base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			eqwasMoved___ast_u3375(&base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
LA12_: ;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
	}
	goto LA4_;
LA9_: ;
LA4_: ;
	fixupTypeOf__sem_u8925(c_p0, prev_p2, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
	{
		LA3_:;
	}
	{
		oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(ex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		*nimErr_ = oldNimErrFin3_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
	{
		LA2_:;
	}
	{
		(*c_p0).inTypeofContext -= ((NI)1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, reusePrev__sem_u4425)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	NIM_BOOL T5_;
	NIM_BOOL T7_;
	T1_ = (NIM_BOOL)0;
	T1_ = !((prev_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*prev_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30));
	if (T3_) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = !(((*prev_p0).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	if (!(T5_)) goto LA6_;
	T7_ = (NIM_BOOL)0;
	T7_ = (((*(*prev_p0).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0);
	if (T7_) goto LA8_;
	T7_ = !(((*(*prev_p0).sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
LA8_: ;
	T5_ = T7_;
LA6_: ;
	T3_ = T5_;
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newOrPrevType__sem_u4458)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = reusePrev__sem_u4425(prev_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		eqcopy___ast_u3381(&result, prev_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30))) goto LA8_;
			(*result).kind = kind_p0;
		}
LA8_: ;
	}
	goto LA1_;
LA4_: ;
	{
		result = newTypeS__semdata_u4368(kind_p0, c_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipIntLit__magicsys_u120)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* id_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*t_p0).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36));
LA4_: ;
		if (!T3_) goto LA5_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = owner__ast_u6246(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = copyType__ast_u6238(t_p0, id_p1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqsink___ast_u3261(&(*result).n, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		eqcopy___ast_u3381(&result, t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initPackedSet__pureZcollectionsZintsets_u37(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRecursiveType__sem_u6279)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* cycleDetector_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!(t_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
LA3_: ;
	{
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym913__1;
		NIM_BOOL T7_;
		xX60gensym913__1 = (*t_p0).itemId;
		T7_ = (NIM_BOOL)0;
		T7_ = containsOrIncl__astyaml_u223(cycleDetector_p1, (NI)((NI)((NU32)(((NI) (xX60gensym913__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym913__1.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T7_) goto LA8_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
LA8_: ;
	switch ((*t_p0).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = skipModifier__ast_u5338(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		result = isRecursiveType__sem_u6279(colontmpD_, cycleDetector_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRecursiveType__sem_u6362)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA cycleDetector_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&cycleDetector_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initIntSet__pureZcollectionsZintsets_u598((&cycleDetector_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = isRecursiveType__sem_u6279(t_p0, (&cycleDetector_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___pureZcollectionsZintsets_u230((&cycleDetector_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLitChecked__sem_u6366)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* id_p4) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	s_1 = NIM_NIL;
	s_1 = skipIntLit__magicsys_u120(son_p2, id_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3881(father_p1, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = isRecursiveType__sem_u6362(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T8_.len = 0; T8_.p = NIM_NIL;
		colontmpD_ = typeToString__types_u54(s_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_ = rawNewString(colontmpD_.len + 28);
appendString((&T8_), TM__rF9caJawfOjYTjsgLVUSGFA_138);
appendString((&T8_), colontmpD_);
appendString((&T8_), TM__rF9caJawfOjYTjsgLVUSGFA_139);
		colontmpD__2 = T8_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*it_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_140, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA5_: ;
	{
		propagateToOwner__ast_u6637(father_p1, s_1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semAnonTuple__sem_u6651)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)0))) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_135, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_136, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
		it_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 LA7_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
					if (!(i_2 < colontmp_)) goto LA10;
					t_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 LA11_;
					t_1 = semTypeNode__sem_u89(c_p0, it_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					addSonSkipIntLitChecked__sem_u6366(c_p0, result, t_1, it_1, (*c_p0).Sup.idgen);
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					i_2 += ((NI)1);
					{
						LA11_:;
					}
					{
						oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						*nimErr_ = oldNimErrFin11_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				} LA10: ;
			}
		}
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getPIdent__ast_u2825)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0) {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = NIM_NIL;
	switch ((*a_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		eqcopy___idents_u158(&result, (*(*a_p0)._kind_4.sym).name);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		eqcopy___idents_u158(&result, (*a_p0)._kind_5.ident);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165):
	{
		eqcopy___idents_u158(&result, (*(*(*a_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedSym__sem_u23381)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4));
	{
		NIM_BOOL T3_;
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T10_;
		NIM_BOOL T12_;
		NIM_BOOL T15_;
		tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T17_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(result);
		if (!(T3_)) goto LA4_;
		T3_ = !(((*s_p0).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = (((*(*s_p0).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)27)))&63U)))!=0);
		if (T8_) goto LA9_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
		if (!(T10_)) goto LA11_;
		T12_ = (NIM_BOOL)0;
		T12_ = isMetaType__ast_u4607((*s_p0).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (T12_) goto LA13_;
		T12_ = (((*s_p0).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)40)))&63U)))!=0);
LA13_: ;
		T10_ = T12_;
LA11_: ;
		T8_ = T10_;
LA9_: ;
		T7_ = T8_;
		if (T7_) goto LA14_;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
		if (!(T15_)) goto LA16_;
		T17_ = 0;
		T15_ = !((((*(*s_p0).typ).flags & 100663296) == T17_));
LA16_: ;
		T7_ = T15_;
LA14_: ;
		result = T7_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedArgs__sem_u152)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = isUnresolvedSym__sem_u23381((*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
		NIM_BOOL amb_1;
		ident_1 = NIM_NIL;
		sym_1 = NIM_NIL;
		ident_1 = considerQuotedIdent__lookups_u31(c_p0, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		amb_1 = NIM_FALSE;
		sym_1 = searchInScopes__lookups_u2425(c_p0, ident_1, (&amb_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			if (!!((sym_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA6_;
			result = isUnresolvedSym__sem_u23381(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			eqdestroy___ast_u4574(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA4_;
LA6_: ;
		{
			result = NIM_FALSE;
			eqdestroy___ast_u4574(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA4_: ;
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			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 LA14;
					i_1 = i_2;
					{
						NIM_BOOL T17_;
						T17_ = (NIM_BOOL)0;
						T17_ = hasUnresolvedArgs__sem_u152(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T17_) goto LA18_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA18_: ;
					i_2 += ((NI)1);
				} LA14: ;
			}
		}
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isNaN__pureZmath_u214)(NF x_p0) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = isnan(x_p0);
	return result;
}
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3127(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u6446)(tyArray__NdEZ7yhgufWVhDxlArlOlQ dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			if (!(colontmp_ < ((NI)2))) goto LA2;
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = nimDecRefIsLastDyn(dest_p0[(colontmp_)- 0]);
				if (!T5_) goto LA6_;
				eqdestroy___ast_u3288((&(*dest_p0[(colontmp_)- 0])));
				nimRawDispose(dest_p0[(colontmp_)- 0], ((NI)8));
			}
LA6_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semRangeAux__sem_u6378)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw range_1;
	tyArray__NdEZ7yhgufWVhDxlArlOlQ rangeT_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
	NIM_BOOL hasUnknownTypes_1;
	NIM_BOOL T15_;
	NIM_BOOL T17_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin60_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	nimZeroMem((void*)range_1, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	nimZeroMem((void*)rangeT_1, sizeof(tyArray__NdEZ7yhgufWVhDxlArlOlQ));
	checkSonsLen__semdata_u4671(n_p1, ((NI)3), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto LA1_;}
	eqsink___ast_u3261(&(*result).n, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = errorType__semdata_u4564(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addSonSkipIntLit__magicsys_u135(result, colontmpD_, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
		if (T5_) goto LA6_;
		T5_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA6_: ;
		if (!T5_) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_144, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_145, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	T9_ = NIM_NIL;
	T9_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA1_;}
	eqsink___ast_u3261(&range_1[(((NI)0))- 0], T9_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T10_ = NIM_NIL;
	T10_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto LA1_;}
	eqsink___ast_u3261(&range_1[(((NI)1))- 0], T10_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)rangeT_1, sizeof(tyArray__NdEZ7yhgufWVhDxlArlOlQ));
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)0);
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T14_;
				if (!(res_1 <= ((NI)1))) goto LA13;
				colontmpD__2 = NIM_NIL;
				i_1 = ((NI) (res_1));
				colontmpD__2 = skipTypes__ast_u5379((*range_1[(i_1)- 0]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_45);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T14_ = NIM_NIL;
				T14_ = skipIntLit__magicsys_u120(colontmpD__2, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T14_); goto LA1_;}
				eqsink___ast_u3387(&rangeT_1[(i_1)- 0], T14_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				res_1 += ((NI)1);
				eqdestroy___ast_u3378(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA13: ;
		}
	}
	T15_ = (NIM_BOOL)0;
	T15_ = (((NI)0) < (*c_p0).inGenericContext);
	if (!(T15_)) goto LA16_;
	T17_ = (NIM_BOOL)0;
	T17_ = ((*rangeT_1[(((NI)0))- 0]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
	if (T17_) goto LA18_;
	T17_ = ((*rangeT_1[(((NI)1))- 0]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA18_: ;
	T15_ = T17_;
LA16_: ;
	hasUnknownTypes_1 = T15_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		if (!!(hasUnknownTypes_1)) goto LA21_;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		{
			tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T26_;
			NIM_BOOL T27_;
			colontmpD__3 = skipTypes__ast_u5379(rangeT_1[(((NI)0))- 0], TM__rF9caJawfOjYTjsgLVUSGFA_146);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			colontmpD__4 = skipTypes__ast_u5379(rangeT_1[(((NI)1))- 0], TM__rF9caJawfOjYTjsgLVUSGFA_146);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T26_ = 0;
			T27_ = (NIM_BOOL)0;
			T27_ = sameType__types_u1812(colontmpD__3, colontmpD__4, T26_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			if (!!(T27_)) goto LA28_;
			typeMismatch__types_u4020((*(*c_p0).graph).config, (*n_p1).info, rangeT_1[(((NI)0))- 0], rangeT_1[(((NI)1))- 0], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		}
		goto LA24_;
LA28_: ;
		{
			NIM_BOOL T31_;
			NIM_BOOL T32_;
			NIM_BOOL T33_;
			NimStringV2 colontmpD__5;
			NimStringV2 colontmpD__6;
			NimStringV2 T39_;
			T31_ = (NIM_BOOL)0;
			T32_ = (NIM_BOOL)0;
			T33_ = (NIM_BOOL)0;
			T33_ = isOrdinalType__types_u283(rangeT_1[(((NI)0))- 0], NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T32_ = !(T33_);
			if (!(T32_)) goto LA34_;
			T32_ = !(((*rangeT_1[(((NI)0))- 0]).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*rangeT_1[(((NI)0))- 0]).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39)));
LA34_: ;
			T31_ = T32_;
			if (T31_) goto LA35_;
			T31_ = ((*rangeT_1[(((NI)0))- 0]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
LA35_: ;
			if (!T31_) goto LA36_;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			T39_.len = 0; T39_.p = NIM_NIL;
			colontmpD__5 = typeToString__types_u54(rangeT_1[(((NI)0))- 0], ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			T39_ = rawNewString(colontmpD__5.len + 40);
appendString((&T39_), TM__rF9caJawfOjYTjsgLVUSGFA_148);
appendString((&T39_), colontmpD__5);
			colontmpD__6 = T39_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_149, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			{
				LA38_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__6);
				eqdestroy___system_u2691(colontmpD__5);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		}
		goto LA24_;
LA36_: ;
		{
			NIM_BOOL T43_;
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			T43_ = (NIM_BOOL)0;
			T43_ = enumHasHoles__types_u271(rangeT_1[(((NI)0))- 0]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			if (!T43_) goto LA44_;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			colontmpD__7 = typeToString__types_u54(rangeT_1[(((NI)0))- 0], ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
			colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_151, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_152, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
			{
				LA46_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		}
		goto LA24_;
LA44_: ;
LA24_: ;
		{
			LA23_:;
		}
		{
			oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin23_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA21_: ;
	{
		NI i_2;
		NI res_2;
		i_2 = (NI)0;
		res_2 = ((NI)0);
		{
			while (1) {
				if (!(res_2 <= ((NI)1))) goto LA53;
				i_2 = ((NI) (res_2));
				{
					NIM_BOOL T56_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
					T56_ = (NIM_BOOL)0;
					T56_ = hasUnresolvedArgs__sem_u152(c_p0, range_1[(i_2)- 0]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					if (!T56_) goto LA57_;
					colontmpD__9 = NIM_NIL;
					colontmpD__9 = makeStaticExpr__semdata_u4441(c_p0, range_1[(i_2)- 0]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					add__ast_u3215((*result).n, colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9))) & 63);
					eqdestroy___ast_u3252(colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA54_;
LA57_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
					colontmpD__10 = NIM_NIL;
					colontmpD__10 = semConstExpr__sem_u631(c_p0, range_1[(i_2)- 0], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
					add__ast_u3215((*result).n, colontmpD__10);
					if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
					{
						LA60_:;
					}
					{
						oldNimErrFin60_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__10);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin60_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA54_: ;
				{
					NIM_BOOL T65_;
					NimStringV2 colontmpD__11;
					NimStringV2 colontmpD__12;
					NimStringV2 colontmpD__13;
					NimStringV2 T70_;
					NimStringV2 T71_;
					T65_ = (NIM_BOOL)0;
					T65_ = ((*(*(*result).n)._kind_6.sons.p->data[i_2]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) && (*(*(*result).n)._kind_6.sons.p->data[i_2]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18));
					if (!(T65_)) goto LA66_;
					T65_ = isNaN__pureZmath_u214((*(*(*result).n)._kind_6.sons.p->data[i_2])._kind_2.floatVal);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA66_: ;
					if (!T65_) goto LA67_;
					colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
					colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
					colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
					T70_.len = 0; T70_.p = NIM_NIL;
					T71_.len = 0; T71_.p = NIM_NIL;
					{
						if (!(i_2 == ((NI)0))) goto LA74_;
						colontmpD__11 = TM__rF9caJawfOjYTjsgLVUSGFA_156;
						T71_ = colontmpD__11;
					}
					goto LA72_;
LA74_: ;
					{
						colontmpD__12 = TM__rF9caJawfOjYTjsgLVUSGFA_158;
						T71_ = colontmpD__12;
					}
LA72_: ;
					T70_ = rawNewString(T71_.len + 25);
appendString((&T70_), TM__rF9caJawfOjYTjsgLVUSGFA_154);
appendString((&T70_), T71_);
					colontmpD__13 = T70_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__13, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_159, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
					{
						LA69_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__13);
						eqdestroy___system_u2691(colontmpD__12);
						eqdestroy___system_u2691(colontmpD__11);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA67_: ;
				res_2 += ((NI)1);
			} LA53: ;
		}
	}
	{
		tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T81_;
		T81_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
		T81_ = weakLeValue__astalgo_u95((*(*result).n)._kind_6.sons.p->data[((NI)0)], (*(*result).n)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T81_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1))) goto LA82_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_160, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_161, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA82_: ;
	eqsink___ast_u3387(&(*result).sons.p->data[((NI)0)], rangeT_1[(((NI)0))- 0]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___ast_u3375(&rangeT_1[(((NI)0))- 0]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sem_u6446(rangeT_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lowerings_u117(range_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_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, freshType__sem_u8972)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* res_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = (prev_p2 == 0);
		if (T3_) goto LA4_;
		T3_ = ((*prev_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
LA4_: ;
		if (!T3_) goto LA5_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = owner__ast_u6246(res_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		result = copyType__ast_u6238(res_p1, (*c_p0).Sup.idgen, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		copyTypeProps__modulegraphs_u10674((*c_p0).graph, ((NI) ((*(*c_p0).Sup.idgen).module)), result, res_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		eqcopy___ast_u3381(&result, res_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, maybeAliasType__sem_u8904)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeExpr_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((prev_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*prev_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
		if (T5_) goto LA6_;
		T5_ = ((*typeExpr_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*typeExpr_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*typeExpr_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13) || (*typeExpr_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30) || (*typeExpr_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
LA6_: ;
		T3_ = T5_;
LA4_: ;
		if (!T3_) goto LA7_;
		result = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddSon__ast_u6706(result, typeExpr_p1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u4577(&(*result).sym, (*prev_p2).sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!(((*prev_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10)))) goto LA11_;
			assignType__ast_u6138(prev_p2, result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
	goto LA1_;
LA7_: ;
	{
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeExpr__sem_u8938)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	n_2 = NIM_NIL;
	n_2 = semExprWithType__sem_u63(c_p0, n_p1, 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*(*n_2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA4_;
		result = base__ast_u5351((*n_2).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = !((prev_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T9_)) goto LA10_;
			T9_ = !(((*prev_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10)));
LA10_: ;
			T8_ = T9_;
			if (!(T8_)) goto LA11_;
			T8_ = !(((*prev_p2).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA11_: ;
			if (!T8_) goto LA12_;
			{
				if (!((*result).sym == 0)) goto LA16_;
				eqcopy___ast_u4577(&(*result).sym, (*prev_p2).sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqcopy___ast_u3381(&(*(*result).sym).typ, result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA14_;
LA16_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* alias_1;
				alias_1 = NIM_NIL;
				alias_1 = maybeAliasType__sem_u8904(c_p0, result, prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!((alias_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA21_;
					eqsink___ast_u3387(&result, alias_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqwasMoved___ast_u3375(&alias_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA21_: ;
				eqdestroy___ast_u3378(alias_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA14_: ;
		}
LA12_: ;
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL T24_;
		T24_ = (NIM_BOOL)0;
		T24_ = ((*(*n_2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
		if (!(T24_)) goto LA25_;
		T24_ = (((NI)0) < (*c_p0).inGenericContext);
LA25_: ;
		if (!T24_) goto LA26_;
		eqcopy___ast_u3381(&result, (*n_2).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA26_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T30_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T31_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T30_.len = 0; T30_.p = NIM_NIL;
		T31_ = 0;
		colontmpD_ = renderTree__renderer_u59(n_2, T31_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		T30_ = rawNewString(colontmpD_.len + 24);
appendString((&T30_), TM__rF9caJawfOjYTjsgLVUSGFA_167);
appendString((&T30_), colontmpD_);
		colontmpD__2 = T30_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_168, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		result = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		{
			LA29_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newConstraint__sem_u4467)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg k_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
	colontmpD_ = newTypeS__semdata_u4368(k_p1, c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	addSonSkipIntLit__magicsys_u135(result, colontmpD_, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipGenericInvocation__sem_u7655)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, t_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA3_;
		eqcopy___ast_u3381(&result, (*result).sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		while (1) {
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
			if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45))) goto LA6;
			T7_ = NIM_NIL;
			T7_ = skipModifier__ast_u5338(result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T7_); goto BeforeRet_;}
			eqsink___ast_u3387(&result, T7_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA6: ;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, len__ast_u5502)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0).sons.len;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addInheritedFieldsAux__sem_u7611)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p1, NI* pos_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p3) {
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p3).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		{
			if (!!(((*(*n_p3)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*n_p3).info, TM__rF9caJawfOjYTjsgLVUSGFA_196, TM__rF9caJawfOjYTjsgLVUSGFA_197);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA4_: ;
		addInheritedFieldsAux__sem_u7611(c_p0, check_p1, pos_p2, (*n_p3)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i_1 = i_2;
					switch ((*(*n_p3)._kind_6.sons.p->data[i_1]).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						colontmpD_ = NIM_NIL;
						colontmpD_ = lastSon__ast_u5208((*n_p3)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						addInheritedFieldsAux__sem_u7611(c_p0, check_p1, pos_p2, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						{
							LA10_:;
						}
						{
							oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin10_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					break;
					default:
					{
						internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*n_p3).info, TM__rF9caJawfOjYTjsgLVUSGFA_199, TM__rF9caJawfOjYTjsgLVUSGFA_200);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					break;
					}
					i_2 += ((NI)1);
				} LA8: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)140):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
	{
		{
			NI i_3;
			NI colontmp__2;
			NI colontmp__3;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__2 = ((NI) (((*n_p3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86))));
			colontmp__3 = len__ast_u3190(n_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = colontmp__2;
			{
				while (1) {
					if (!(i_4 < colontmp__3)) goto LA17;
					i_3 = i_4;
					addInheritedFieldsAux__sem_u7611(c_p0, check_p1, pos_p2, (*n_p3)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA17: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		incl__pureZcollectionsZintsets_u366(check_p1, (*(*(*n_p3)._kind_4.sym).name).id);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*pos_p2) += ((NI)1);
	}
	break;
	default:
	{
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*n_p3).info, TM__rF9caJawfOjYTjsgLVUSGFA_202, TM__rF9caJawfOjYTjsgLVUSGFA_203);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, tryAddInheritedFields__sem_u7666)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p1, NI* pos_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p4, NIM_BOOL isPartial_p5, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* innerObj_p6) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		NIM_BOOL T9_;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1454__1;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1456__1;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T14_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !(isPartial_p5);
		if (!(T4_)) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T6_ = !(((*obj_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*obj_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12)));
		if (T6_) goto LA7_;
		T6_ = (((*obj_p3).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2)))&63U)))!=0);
LA7_: ;
		T4_ = T6_;
LA5_: ;
		T3_ = T4_;
		if (T3_) goto LA8_;
		T9_ = (NIM_BOOL)0;
		T9_ = !((innerObj_p6 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T9_)) goto LA10_;
		xX60gensym1454__1 = (*obj_p3).itemId;
		xX60gensym1456__1 = (*innerObj_p6).itemId;
		T9_ = ((NI)((NI)((NU32)(((NI) (xX60gensym1454__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1454__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym1456__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1456__1.item))));
LA10_: ;
		T3_ = T9_;
LA8_: ;
		if (!T3_) goto LA11_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T14_.len = 0; T14_.p = NIM_NIL;
		colontmpD_ = typeToString__types_u54(obj_p3, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		T14_ = rawNewString(colontmpD_.len + 23);
appendString((&T14_), TM__rF9caJawfOjYTjsgLVUSGFA_192);
appendString((&T14_), colontmpD_);
appendString((&T14_), TM__rF9caJawfOjYTjsgLVUSGFA_193);
		colontmpD__2 = T14_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p4).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_194, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		result = NIM_FALSE;
		{
			LA13_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA11_: ;
	{
		if (!((*obj_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA18_;
		result = NIM_TRUE;
		{
			NIM_BOOL T22_;
			NI T23_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			NIM_BOOL T28_;
			T22_ = (NIM_BOOL)0;
			T23_ = (NI)0;
			T23_ = len__ast_u5502(obj_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T22_ = (((NI)0) < T23_);
			if (!(T22_)) goto LA24_;
			T22_ = !(((*obj_p3).sons.p->data[((NI)0)] == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA24_: ;
			if (!T22_) goto LA25_;
			colontmpD__3 = NIM_NIL;
			T28_ = (NIM_BOOL)0;
			T28_ = result;
			if (!(T28_)) goto LA29_;
			colontmpD__3 = skipGenericInvocation__sem_u7655((*obj_p3).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			T28_ = tryAddInheritedFields__sem_u7666(c_p0, check_p1, pos_p2, colontmpD__3, n_p4, NIM_FALSE, obj_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
LA29_: ;
			result = T28_;
			{
				LA27_:;
			}
			{
				oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin27_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA25_: ;
		addInheritedFieldsAux__sem_u7611(c_p0, check_p1, pos_p2, (*obj_p3).n);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA18_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, forceBool__sem_u4381)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = fitNode__sem_u79(c_p0, colontmpD_, n_p1, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA4_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConstBoolExpr__sem_u4389)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = semConstExpr__sem_u631(c_p0, n_p1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = forceBool__sem_u4381(c_p0, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)))) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_213, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_214, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		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_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isRange__trees_u189)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* callee_1;
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32))) goto LA3_;
		callee_1 = NIM_NIL;
		callee_1 = (*n_p0)._kind_6.sons.p->data[((NI)0)];
		{
			NIM_BOOL T7_;
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			NIM_BOOL T12_;
			NIM_BOOL T15_;
			T7_ = (NIM_BOOL)0;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*callee_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
			if (!(T9_)) goto LA10_;
			T9_ = ((*(*callee_1)._kind_5.ident).id == ((NI)71));
LA10_: ;
			T8_ = T9_;
			if (T8_) goto LA11_;
			T12_ = (NIM_BOOL)0;
			T12_ = ((*callee_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T12_)) goto LA13_;
			T12_ = ((*(*(*callee_1)._kind_4.sym).name).id == ((NI)71));
LA13_: ;
			T8_ = T12_;
LA11_: ;
			T7_ = T8_;
			if (T7_) goto LA14_;
			T15_ = (NIM_BOOL)0;
			T15_ = ((*callee_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*callee_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*callee_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165));
			if (!(T15_)) goto LA16_;
			T15_ = ((*(*(*(*callee_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).id == ((NI)71));
LA16_: ;
			T7_ = T15_;
LA14_: ;
			if (!T7_) goto LA17_;
			result = NIM_TRUE;
		}
		goto LA5_;
LA17_: ;
		{
			result = NIM_FALSE;
		}
LA5_: ;
	}
	goto LA1_;
LA3_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBranchRange__sem_u6915)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p3, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ac_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bc_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* at_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bt_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	ac_1 = NIM_NIL;
	bc_1 = NIM_NIL;
	at_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	bt_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	ac_1 = semConstExpr__sem_u631(c_p0, a_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	bc_1 = semConstExpr__sem_u631(c_p0, b_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*ac_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*ac_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
		if (T4_) goto LA5_;
		T4_ = ((*bc_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*bc_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
LA5_: ;
		if (!T4_) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*b_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_231, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_232, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	colontmpD_ = fitNode__sem_u79(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, ac_1, (*ac_1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	at_1 = skipConvTakeType__types_u3734(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = fitNode__sem_u79(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, bc_1, (*bc_1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	bt_1 = skipConvTakeType__types_u3734(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
		if (!((*at_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32) || (*at_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*at_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA10_;
		T12_ = NIM_NIL;
		T12_ = semConstExpr__sem_u631(c_p0, at_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA1_;}
		eqsink___ast_u3261(&at_1, T12_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
		if (!((*bt_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32) || (*bt_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*bt_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA15_;
		T17_ = NIM_NIL;
		T17_ = semConstExpr__sem_u631(c_p0, bt_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA1_;}
		eqsink___ast_u3261(&bt_1, T17_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA15_: ;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44), (*a_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, at_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, bt_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T20_;
		T20_ = (NIM_BOOL)0;
		T20_ = emptyRange__nimsets_u219(ac_1, bc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T20_) goto LA21_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*b_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_233, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_234, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA18_;
LA21_: ;
	{
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T24_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T25_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T26_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T27_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T28_;
		T24_ = getOrdValue__types_u167(bc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T25_ = plus___int128_u615((*covered_p4), T24_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T26_ = plus___int128_u1015(T25_, IL64(1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T27_ = getOrdValue__types_u167(ac_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		nimZeroMem((void*)(&T28_), sizeof(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg));
		T28_ = minus___int128_u641(T26_, T27_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*covered_p4) = T28_;
	}
LA18_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(bt_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(at_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(bc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ac_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCaseBranchRange__sem_u6942)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* t_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	checkSonsLen__semdata_u4671(b_p2, ((NI)3), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = semBranchRange__sem_u6915(c_p0, t_p1, (*b_p2)._kind_6.sons.p->data[((NI)1)], (*b_p2)._kind_6.sons.p->data[((NI)2)], covered_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCaseBranchSetElem__sem_u6948)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isRange__trees_u189(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		checkSonsLen__semdata_u4671(b_p2, ((NI)3), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = semBranchRange__sem_u6915(c_p0, n_p1, (*b_p2)._kind_6.sons.p->data[((NI)1)], (*b_p2)._kind_6.sons.p->data[((NI)2)], covered_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		if (!((*b_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA7_;
		checkSonsLen__semdata_u4671(b_p2, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = semBranchRange__sem_u6915(c_p0, n_p1, (*b_p2)._kind_6.sons.p->data[((NI)0)], (*b_p2)._kind_6.sons.p->data[((NI)1)], covered_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA7_: ;
	{
		result = fitNode__sem_u79(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, b_p2, (*b_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		inc__int128_u338(covered_p3, ((NU32)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkForOverlap__sem_u6899)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* t_p1, NI currentEx_p2, NI branchIndex_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ex_1;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	ex_1 = NIM_NIL;
	ex_1 = skipConv__types_u3715((*(*t_p1)._kind_6.sons.p->data[branchIndex_p3])._kind_6.sons.p->data[currentEx_p2]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)1);
		{
			while (1) {
				if (!(res_1 <= branchIndex_p3)) goto LA4;
				i_1 = ((NI) (res_1));
				{
					NI j_1;
					NI colontmp_;
					NI T6_;
					NI i_2;
					j_1 = (NI)0;
					colontmp_ = (NI)0;
					T6_ = (NI)0;
					T6_ = len__ast_u3190((*t_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					colontmp_ = (NI)(T6_ - ((NI)1));
					i_2 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
							if (!(i_2 < colontmp_)) goto LA8;
							colontmpD_ = NIM_NIL;
							j_1 = i_2;
							{
								NIM_BOOL T12_;
								T12_ = (NIM_BOOL)0;
								T12_ = (i_1 == branchIndex_p3);
								if (!(T12_)) goto LA13_;
								T12_ = (j_1 == currentEx_p2);
LA13_: ;
								if (!T12_) goto LA14_;
								eqdestroy___ast_u3252(colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								goto LA5;
							}
LA14_: ;
							{
								NIM_BOOL T18_;
								colontmpD_ = skipConv__types_u3715((*(*t_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[j_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
								T18_ = (NIM_BOOL)0;
								T18_ = overlap__nimsets_u32(colontmpD_, ex_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
								if (!T18_) goto LA19_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*ex_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_236, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_237, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							}
LA19_: ;
							i_2 += ((NI)1);
							{
								LA9_:;
							}
							{
								oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								*nimErr_ = oldNimErrFin9_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						} LA8: ;
					}
				} LA5: ;
				res_1 += ((NI)1);
			} LA4: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(ex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, semCaseBranch__sem_u6958)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_p2, NI branchIndex_p3, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg* covered_p4) {
	NI lastIndex_1;
	NI T1_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin57_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI)0;
	T1_ = len__ast_u3190(branch_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	lastIndex_1 = (NI)(T1_ - ((NI)2));
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
				if (!(res_1 <= lastIndex_1)) goto LA4;
				b_1 = NIM_NIL;
				i_1 = ((NI) (res_1));
				eqcopy___ast_u3255(&b_1, (*branch_p2)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T10_;
					tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T11_;
					tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T12_;
					tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T13_;
					tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T14_;
					if (!((*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA8_;
					eqcopy___ast_u3255(&(*branch_p2)._kind_6.sons.p->data[i_1], b_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T10_ = getOrdValue__types_u167((*b_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T11_ = plus___int128_u615((*covered_p4), T10_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T12_ = plus___int128_u1015(T11_, IL64(1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T13_ = getOrdValue__types_u167((*b_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					nimZeroMem((void*)(&T14_), sizeof(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg));
					T14_ = minus___int128_u641(T12_, T13_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					(*covered_p4) = T14_;
				}
				goto LA6_;
LA8_: ;
				{
					NIM_BOOL T16_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
					T16_ = (NIM_BOOL)0;
					T16_ = isRange__trees_u189(b_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T16_) goto LA17_;
					T19_ = NIM_NIL;
					T19_ = semCaseBranchRange__sem_u6942(c_p0, n_p1, b_1, covered_p4);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA5_;}
					eqsink___ast_u3261(&(*branch_p2)._kind_6.sons.p->data[i_1], T19_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
				goto LA6_;
LA17_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_1;
					r_1 = NIM_NIL;
					r_1 = semConstExpr__sem_u631(c_p0, b_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					{
						NIM_BOOL T24_;
						NIM_BOOL T25_;
						NI T27_;
						NI T29_;
						T24_ = (NIM_BOOL)0;
						T25_ = (NIM_BOOL)0;
						T25_ = ((*r_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39) || (*r_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41));
						if (!(T25_)) goto LA26_;
						T27_ = (NI)0;
						T27_ = len__ast_u3190(r_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						T25_ = (T27_ == ((NI)0));
LA26_: ;
						T24_ = T25_;
						if (!(T24_)) goto LA28_;
						T29_ = (NI)0;
						T29_ = len__ast_u3190(branch_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						T24_ = (T29_ == ((NI)2));
LA28_: ;
						if (!T24_) goto LA30_;
						delSon__ast_u6724(branch_p2, ((NI)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						eqdestroy___ast_u3252(r_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						eqdestroy___ast_u3252(b_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
					goto LA22_;
LA30_: ;
					{
						NIM_BOOL T33_;
						NI T35_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmp_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T44_;
						T33_ = (NIM_BOOL)0;
						T33_ = !(((*r_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39) || (*r_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41)));
						if (T33_) goto LA34_;
						T35_ = (NI)0;
						T35_ = len__ast_u3190(r_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						T33_ = (T35_ == ((NI)0));
LA34_: ;
						if (!T33_) goto LA36_;
						tmp_1 = NIM_NIL;
						checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						tmp_1 = fitNode__sem_u79(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, r_1, (*r_1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T43_;
							if (!((*tmp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32) || (*tmp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*tmp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA41_;
							T43_ = NIM_NIL;
							T43_ = semConstExpr__sem_u631(c_p0, tmp_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T43_); goto LA38_;}
							eqsink___ast_u3261(&tmp_1, T43_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						}
LA41_: ;
						T44_ = NIM_NIL;
						T44_ = skipConv__types_u3715(tmp_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T44_); goto LA38_;}
						eqsink___ast_u3261(&(*branch_p2)._kind_6.sons.p->data[i_1], T44_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						inc__int128_u338(covered_p4, ((NU32)1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						{
							LA38_:;
						}
						{
							oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(tmp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							*nimErr_ = oldNimErrFin38_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					}
					goto LA22_;
LA36_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T53_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T52_;
							if (!((*r_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39))) goto LA50_;
							T52_ = NIM_NIL;
							T52_ = deduplicate__nimsets_u186((*(*c_p0).graph).config, r_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T52_); goto LA21_;}
							eqsink___ast_u3261(&r_1, T52_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						}
LA50_: ;
						T53_ = NIM_NIL;
						T53_ = semCaseBranchSetElem__sem_u6948(c_p0, n_p1, (*r_1)._kind_6.sons.p->data[((NI)0)], covered_p4);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T53_); goto LA21_;}
						eqsink___ast_u3261(&(*branch_p2)._kind_6.sons.p->data[i_1], T53_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						{
							NI j_1;
							NI colontmp_;
							NI i_2;
							j_1 = (NI)0;
							colontmp_ = (NI)0;
							colontmp_ = len__ast_u3190(r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							i_2 = ((NI)1);
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T58_;
									NI T59_;
									NI T60_;
									if (!(i_2 < colontmp_)) goto LA56;
									colontmpD_ = NIM_NIL;
									j_1 = i_2;
									colontmpD_ = semCaseBranchSetElem__sem_u6948(c_p0, n_p1, (*r_1)._kind_6.sons.p->data[j_1], covered_p4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
									add__ast_u3215(branch_p2, colontmpD_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
									T58_ = NIM_NIL;
									T59_ = (NI)0;
									T59_ = len__ast_u3190(branch_p2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
									T60_ = (NI)0;
									T60_ = len__ast_u3190(branch_p2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
									T58_ = (*branch_p2)._kind_6.sons.p->data[(NI)(T59_ - ((NI)2))];
									(*branch_p2)._kind_6.sons.p->data[(NI)(T59_ - ((NI)2))] = (*branch_p2)._kind_6.sons.p->data[(NI)(T60_ - ((NI)1))];
									(*branch_p2)._kind_6.sons.p->data[(NI)(T60_ - ((NI)1))] = T58_;
									i_2 += ((NI)1);
									{
										LA57_:;
									}
									{
										oldNimErrFin57_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
										*nimErr_ = oldNimErrFin57_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
								} LA56: ;
							}
						}
					}
LA22_: ;
					{
						LA21_:;
					}
					{
						oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(r_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						*nimErr_ = oldNimErrFin21_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
LA6_: ;
				checkForOverlap__sem_u6899(c_p0, n_p1, i_1, branchIndex_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				res_1 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(b_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA4: ;
		}
	}
	{
		NI i_3;
		NI colontmp__2;
		NI colontmp__3;
		NI T68_;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__3 = (NI)0;
		colontmp__2 = (NI)(lastIndex_1 + ((NI)1));
		T68_ = (NI)0;
		T68_ = len__ast_u3190(branch_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp__3 = (NI)(T68_ - ((NI)1));
		i_4 = colontmp__2;
		{
			while (1) {
				if (!(i_4 < colontmp__3)) goto LA70;
				i_3 = i_4;
				checkForOverlap__sem_u6899(c_p0, n_p1, i_3, branchIndex_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_4 += ((NI)1);
			} LA70: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, toCover__sem_u7012)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t2_1;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg));
	t2_1 = NIM_NIL;
	t2_1 = skipTypes__ast_u5379(t_p1, TM__rF9caJawfOjYTjsgLVUSGFA_238);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NI T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*t2_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
		if (!(T4_)) goto LA5_;
		T4_ = enumHasHoles__types_u271(t2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
		if (!T4_) goto LA6_;
		T8_ = (NI)0;
		T8_ = len__ast_u3190((*t2_1).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = toInt128__types_u1207(T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
		t_2 = NIM_NIL;
		t_2 = skipTypes__ast_u5379(t_p1, TM__rF9caJawfOjYTjsgLVUSGFA_120);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T15_;
			if (!((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || (*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44))) goto LA13_;
			T15_ = toInt128__types_u1207(((NI)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			result = shl__int128_u546(T15_, ((NI)64));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		goto LA11_;
LA13_: ;
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T19_;
			if (!((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) || (*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40))) goto LA17_;
			T19_ = toInt128__types_u1207(((NI)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			result = shl__int128_u546(T19_, (NI)((*(*(*c_p0).graph).config).target.intSize * ((NI)8)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		goto LA11_;
LA17_: ;
		{
			result = lengthOrd__types_u1491((*(*c_p0).graph).config, t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
LA11_: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) + (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NI, len__nilcheck_u3393)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*s_p0).elems < ((NI)34))) goto LA3_;
		result = (*s_p0).elems;
	}
	goto LA1_;
LA3_: ;
	{
		result = ((NI)0);
		{
			NI __1;
			__1 = (NI)0;
			{
				if (!((*s_p0).elems <= ((NI)34))) goto LA9_;
				{
					NI i_1;
					NI i_2;
					i_1 = (NI)0;
					i_2 = ((NI)0);
					{
						while (1) {
							if (!(i_2 < (*s_p0).elems)) goto LA13;
							i_1 = i_2;
							__1 = (*s_p0).a[(i_1)- 0];
							result += ((NI)1);
							i_2 += ((NI)1);
						} LA13: ;
					}
				}
			}
			goto LA7_;
LA9_: ;
			{
				tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
				r_1 = NIM_NIL;
				eqcopy___pureZcollectionsZintsets_u51(&r_1, (*s_p0).head);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					while (1) {
						NI i_3;
						if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA16;
						i_3 = ((NI)0);
						{
							while (1) {
								NU w_1;
								NI j_1;
								if (!(i_3 <= ((NI)15))) goto LA18;
								w_1 = (*r_1).bits[(i_3)- 0];
								j_1 = ((NI)0);
								{
									while (1) {
										if (!!((w_1 == ((NU)0)))) goto LA20;
										{
											NI T25_;
											if (!!(((NU)(w_1 & ((NU)1)) == ((NU)0)))) goto LA23_;
											T25_ = (NI)0;
											T25_ = pluspercent___system_u785((NI)((NU32)(i_3) << (NU32)(((NI)5) & (32 - 1))), j_1);
											__1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T25_);
											result += ((NI)1);
										}
LA23_: ;
										j_1 += ((NI)1);
										w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
									} LA20: ;
								}
								i_3 += ((NI)1);
							} LA18: ;
						}
						eqcopy___pureZcollectionsZintsets_u51(&r_1, (*r_1).next);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA16: ;
				}
				eqdestroy___pureZcollectionsZintsets_u48(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA7_: ;
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderAsType__sem_u7127)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* vals_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	NimStringV2 result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
	NI enumSymOffset_1;
	NI i_1;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	t_2 = NIM_NIL;
	result = TM__rF9caJawfOjYTjsgLVUSGFA_245;
	t_2 = skipTypes__ast_u5379(t_p1, TM__rF9caJawfOjYTjsgLVUSGFA_241);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	enumSymOffset_1 = ((NI)0);
	i_1 = ((NI)0);
	{
		NI val_1;
		val_1 = (NI)0;
		{
			if (!((*vals_p0).elems <= ((NI)34))) goto LA5_;
			{
				NI i_2;
				NI i_3;
				i_2 = (NI)0;
				i_3 = ((NI)0);
				{
					while (1) {
						if (!(i_3 < (*vals_p0).elems)) goto LA9;
						i_2 = i_3;
						val_1 = (*vals_p0).a[(i_2)- 0];
						{
							if (!(((NI)1) < result.len)) goto LA12_;
							prepareAdd((&result), 2);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_246);
						}
LA12_: ;
						switch ((*t_2).kind) {
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1):
						{
							{
								while (1) {
									if (!((*(*(*(*t_2).n)._kind_6.sons.p->data[enumSymOffset_1])._kind_4.sym).position < val_1)) goto LA16;
									enumSymOffset_1 += ((NI)1);
								} LA16: ;
							}
							prepareAdd((&result), (*(*(*(*(*t_2).n)._kind_6.sons.p->data[enumSymOffset_1])._kind_4.sym).name).s.len + 0);
appendString((&result), (*(*(*(*(*t_2).n)._kind_6.sons.p->data[enumSymOffset_1])._kind_4.sym).name).s);
						}
						break;
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
						{
							addQuoted__sem_u7143((&result), ((NIM_CHAR) (val_1)));
						}
						break;
						default:
						{
							{
								NimStringV2 colontmpD_;
								NimStringV2 colontmpD__2;
								NI T24_;
								if (!(i_1 == ((NI)64))) goto LA21_;
								colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
								colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
								T24_ = (NI)0;
								T24_ = len__nilcheck_u3393(vals_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
								colontmpD_ = dollar___systemZdollars_u9((NI)(T24_ - i_1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
								colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_248, colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
								prepareAdd((&result), colontmpD__2.len + 0);
appendString((&result), colontmpD__2);
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___system_u2691(colontmpD_);
								goto LA2;
								{
									LA23_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__2);
									eqdestroy___system_u2691(colontmpD_);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							}
							goto LA19_;
LA21_: ;
							{
								NimStringV2 colontmpD__3;
								colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
								colontmpD__3 = dollar___systemZdollars_u9(val_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								prepareAdd((&result), colontmpD__3.len + 0);
appendString((&result), colontmpD__3);
								eqdestroy___system_u2691(colontmpD__3);
							}
LA19_: ;
						}
						break;
						}
						i_1 += ((NI)1);
						i_3 += ((NI)1);
					} LA9: ;
				}
			}
		}
		goto LA3_;
LA5_: ;
		{
			tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
			r_1 = NIM_NIL;
			eqcopy___pureZcollectionsZintsets_u51(&r_1, (*vals_p0).head);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			{
				while (1) {
					NI i_4;
					if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA31;
					i_4 = ((NI)0);
					{
						while (1) {
							NU w_1;
							NI j_1;
							if (!(i_4 <= ((NI)15))) goto LA33;
							w_1 = (*r_1).bits[(i_4)- 0];
							j_1 = ((NI)0);
							{
								while (1) {
									if (!!((w_1 == ((NU)0)))) goto LA35;
									{
										NI T40_;
										if (!!(((NU)(w_1 & ((NU)1)) == ((NU)0)))) goto LA38_;
										T40_ = (NI)0;
										T40_ = pluspercent___system_u785((NI)((NU32)(i_4) << (NU32)(((NI)5) & (32 - 1))), j_1);
										val_1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T40_);
										{
											if (!(((NI)1) < result.len)) goto LA43_;
											prepareAdd((&result), 2);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_249);
										}
LA43_: ;
										switch ((*t_2).kind) {
										case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
										case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1):
										{
											{
												while (1) {
													if (!((*(*(*(*t_2).n)._kind_6.sons.p->data[enumSymOffset_1])._kind_4.sym).position < val_1)) goto LA47;
													enumSymOffset_1 += ((NI)1);
												} LA47: ;
											}
											prepareAdd((&result), (*(*(*(*(*t_2).n)._kind_6.sons.p->data[enumSymOffset_1])._kind_4.sym).name).s.len + 0);
appendString((&result), (*(*(*(*(*t_2).n)._kind_6.sons.p->data[enumSymOffset_1])._kind_4.sym).name).s);
										}
										break;
										case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
										{
											addQuoted__sem_u7143((&result), ((NIM_CHAR) (val_1)));
										}
										break;
										default:
										{
											{
												NimStringV2 colontmpD__4;
												NimStringV2 colontmpD__5;
												NI T55_;
												if (!(i_1 == ((NI)64))) goto LA52_;
												colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
												colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
												T55_ = (NI)0;
												T55_ = len__nilcheck_u3393(vals_p0);
												if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
												colontmpD__4 = dollar___systemZdollars_u9((NI)(T55_ - i_1));
												if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
												colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_250, colontmpD__4);
												if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
												prepareAdd((&result), colontmpD__5.len + 0);
appendString((&result), colontmpD__5);
												eqdestroy___system_u2691(colontmpD__5);
												eqdestroy___system_u2691(colontmpD__4);
												eqdestroy___pureZcollectionsZintsets_u48(r_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
												goto LA2;
												{
													LA54_:;
												}
												{
													eqdestroy___system_u2691(colontmpD__5);
													eqdestroy___system_u2691(colontmpD__4);
												}
												if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
											}
											goto LA50_;
LA52_: ;
											{
												NimStringV2 colontmpD__6;
												colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
												colontmpD__6 = dollar___systemZdollars_u9(val_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
												prepareAdd((&result), colontmpD__6.len + 0);
appendString((&result), colontmpD__6);
												eqdestroy___system_u2691(colontmpD__6);
											}
LA50_: ;
										}
										break;
										}
										i_1 += ((NI)1);
									}
LA38_: ;
									j_1 += ((NI)1);
									w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
								} LA35: ;
							}
							i_4 += ((NI)1);
						} LA33: ;
					}
					eqcopy___pureZcollectionsZintsets_u51(&r_1, (*r_1).next);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				} LA31: ;
			}
			{
				LA29_:;
			}
			{
				oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___pureZcollectionsZintsets_u48(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin29_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA3_: ;
	} LA2: ;
	prepareAdd((&result), 1);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_252);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, minus___sem_u7234)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s1_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s2_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	difference__sem_u7245(s1_p0, s2_p1, (&T1_));
	(*Result) = T1_;
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getIntSetOfType__sem_u7055)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initIntSet__pureZcollectionsZintsets_u598(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
		T3_ = (NIM_BOOL)0;
		T3_ = enumHasHoles__types_u271(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		t_2 = NIM_NIL;
		t_2 = skipTypes__ast_u5379(t_p1, TM__rF9caJawfOjYTjsgLVUSGFA_241);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** field_1;
			NI i_1;
			NI L_1;
			NI T7_;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			field_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			eqcopy___ast_u3699((&colontmp_), (*(*t_2).n)._kind_6.sons);
			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;
					field_1 = &colontmp_.p->data[i_1];
					incl__pureZcollectionsZintsets_u366(Result, (*(*(*field_1))._kind_4.sym).position);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_1 += ((NI)1);
				} LA9: ;
			}
			eqdestroy___ast_u3696(colontmp_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		eqdestroy___ast_u3378(t_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		{
			NI64 i_2;
			NI64 colontmp__2;
			NI64 colontmp__3;
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T12_;
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T13_;
			NI64 res_1;
			i_2 = (NI64)0;
			colontmp__2 = (NI64)0;
			colontmp__3 = (NI64)0;
			T12_ = firstOrd__types_u1182((*(*c_p0).graph).config, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp__2 = toInt64__int128_u53(T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T13_ = lastOrd__types_u1298((*(*c_p0).graph).config, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp__3 = toInt64__int128_u53(T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			res_1 = colontmp__2;
			{
				while (1) {
					if (!(res_1 <= colontmp__3)) goto LA15;
					i_2 = res_1;
					incl__pureZcollectionsZintsets_u366(Result, ((NI) (i_2)));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					res_1 += ((NI)1);
				} LA15: ;
			}
		}
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, formatMissingEnums__sem_u7201)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NimStringV2 result;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA coveredCases_1;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA colontmpD_;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	nimZeroMem((void*)(&coveredCases_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initIntSet__pureZcollectionsZintsets_u598((&coveredCases_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) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					NI val_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp__2;
					val_1 = (NI)0;
					colontmp__2 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
					colontmp__2 = &(*n_p1)._kind_6.sons.p->data[i_1];
					{
						if (!((*(*colontmp__2)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA8_;
						{
							NI i_3;
							NI colontmp__3;
							NI T11_;
							NI i_4;
							i_3 = (NI)0;
							colontmp__3 = (NI)0;
							T11_ = (NI)0;
							T11_ = len__ast_u3190((*colontmp__2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							colontmp__3 = (NI)(T11_ - ((NI)1));
							i_4 = ((NI)0);
							{
								while (1) {
									if (!(i_4 < colontmp__3)) goto LA13;
									i_3 = i_4;
									{
										if (!((*(*(*colontmp__2))._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6) || (*(*(*colontmp__2))._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5))) goto LA16_;
										val_1 = ((NI) ((*(*(*colontmp__2))._kind_6.sons.p->data[i_3])._kind_1.intVal));
										incl__pureZcollectionsZintsets_u366((&coveredCases_1), val_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									}
									goto LA14_;
LA16_: ;
									{
										if (!((*(*(*colontmp__2))._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA19_;
										{
											NI64 i_5;
											NI64 colontmp__4;
											NI64 colontmp__5;
											NI64 res_1;
											i_5 = (NI64)0;
											colontmp__4 = (NI64)0;
											colontmp__5 = (NI64)0;
											colontmp__4 = (*(*(*(*colontmp__2))._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[((NI)0)])._kind_1.intVal;
											colontmp__5 = (*(*(*(*colontmp__2))._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[((NI)1)])._kind_1.intVal;
											res_1 = colontmp__4;
											{
												while (1) {
													if (!(res_1 <= colontmp__5)) goto LA23;
													i_5 = res_1;
													val_1 = ((NI) (i_5));
													incl__pureZcollectionsZintsets_u366((&coveredCases_1), val_1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
													res_1 += ((NI)1);
												} LA23: ;
											}
										}
									}
									goto LA14_;
LA19_: ;
LA14_: ;
									i_4 += ((NI)1);
								} LA13: ;
							}
						}
					}
LA8_: ;
				}
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	getIntSetOfType__sem_u7055(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	minus___sem_u7234((&colontmpD_), (&coveredCases_1), (&colontmpD__2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = renderAsType__sem_u7127((&colontmpD__2), (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&colontmpD__2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&colontmpD_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&coveredCases_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semRecordCase__sem_u7326)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p2, NI* pos_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* rectype_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg covered_1;
	NIM_BOOL chckCovered_1;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin63_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1 = NIM_NIL;
	typ_1 = NIM_NIL;
	a_1 = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	semRecordNodeAux__sem_u7047(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], check_p2, pos_p3, a_1, rectype_p5, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*(*a_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, TM__rF9caJawfOjYTjsgLVUSGFA_216, TM__rF9caJawfOjYTjsgLVUSGFA_217);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	(*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)20))) & 63);
	covered_1 = toInt128__types_u1207(((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	chckCovered_1 = NIM_FALSE;
	typ_1 = skipTypes__ast_u5379((*(*a_1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_120);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*typ_1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)43):
	{
		chckCovered_1 = NIM_TRUE;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50):
	{
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		{
			colontmpD_ = elementType__ast_u5331(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmpD__2 = skipTypes__ast_u5379(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!((*colontmpD__2).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*colontmpD__2).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || (*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*colontmpD__2).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) && (*colontmpD__2).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)43) || (*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1))) goto LA11_;
			chckCovered_1 = NIM_TRUE;
		}
LA11_: ;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30):
	{
		errorUndeclaredIdentifier__lookups_u5145(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, (*(*(*typ_1).sym).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_218);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = isOrdinalType__types_u283(typ_1, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T17_)) goto LA18_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_220, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_221, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA18_: ;
	}
	break;
	}
	{
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T22_;
		NIM_BOOL T23_;
		NimStringV2 colontmpD__3;
		NimStringV2 T27_;
		T22_ = firstOrd__types_u1182((*(*c_p0).graph).config, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T23_ = (NIM_BOOL)0;
		T23_ = eqeq___int128_u980(T22_, IL64(0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T23_)) goto LA24_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T27_.len = 0; T27_.p = NIM_NIL;
		T27_ = rawNewString((*(*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s.len + 32);
appendString((&T27_), TM__rF9caJawfOjYTjsgLVUSGFA_223);
appendString((&T27_), (*(*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s);
appendString((&T27_), TM__rF9caJawfOjYTjsgLVUSGFA_225);
		colontmpD__3 = T27_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_226, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		{
			LA26_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA20_;
LA24_: ;
	{
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T31_;
		NIM_BOOL T32_;
		NimStringV2 colontmpD__4;
		T31_ = lengthOrd__types_u1491((*(*c_p0).graph).config, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T32_ = (NIM_BOOL)0;
		T32_ = lt___int128_u959(IL64(32767), T31_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T32_) goto LA33_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_228, (*(*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_229, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
		{
			LA35_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA20_;
LA33_: ;
LA20_: ;
	{
		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* b_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
				NI T52_;
				if (!(i_2 < colontmp_)) goto LA40;
				b_1 = NIM_NIL;
				colontmpD__5 = NIM_NIL;
				i_1 = i_2;
				b_1 = copyTree__ast_u6891((*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				add__ast_u3215(a_1, b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				switch ((*(*n_p1)._kind_6.sons.p->data[i_1]).kind) {
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
				{
					checkMinSonsLen__semdata_u4675(b_1, ((NI)2), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					semCaseBranch__sem_u6958(c_p0, a_1, b_1, i_1, (&covered_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
				{
					checkSonsLen__semdata_u4671(b_1, ((NI)1), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					{
						NIM_BOOL T46_;
						tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T48_;
						T46_ = (NIM_BOOL)0;
						T46_ = chckCovered_1;
						if (!(T46_)) goto LA47_;
						T48_ = toCover__sem_u7012(c_p0, (*(*a_1)._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						T46_ = eqeq___int128_u412(covered_1, T48_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
LA47_: ;
						if (!T46_) goto LA49_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*b_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)50), TM__rF9caJawfOjYTjsgLVUSGFA_239, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_240, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					}
LA49_: ;
					chckCovered_1 = NIM_FALSE;
				}
				break;
				default:
				{
					illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				}
				break;
				}
				T52_ = (NI)0;
				T52_ = len__ast_u3190(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				delSon__ast_u6724(b_1, (NI)(T52_ - ((NI)1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				colontmpD__5 = lastSon__ast_u5208((*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				semRecordNodeAux__sem_u7047(c_p0, colontmpD__5, check_p2, pos_p3, b_1, rectype_p5, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				i_2 += ((NI)1);
				{
					LA41_:;
				}
				{
					oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(b_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin41_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA40: ;
		}
	}
	{
		NIM_BOOL T57_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T59_;
		NIM_BOOL T60_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
		T57_ = (NIM_BOOL)0;
		T57_ = chckCovered_1;
		if (!(T57_)) goto LA58_;
		T59_ = toCover__sem_u7012(c_p0, (*(*a_1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T60_ = (NIM_BOOL)0;
		T60_ = eqeq___int128_u412(covered_1, T59_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T57_ = !(T60_);
LA58_: ;
		if (!T57_) goto LA61_;
		colontmpD__6 = NIM_NIL;
		{
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			colontmpD__6 = skipTypes__ast_u5379((*(*a_1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_241);
			if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
			if (!((*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14))) goto LA66_;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			colontmpD__7 = formatMissingEnums__sem_u7201(c_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
			colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_243, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_253, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
			{
				LA68_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
		}
		goto LA64_;
LA66_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_255, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_256, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
		}
LA64_: ;
		{
			LA63_:;
		}
		{
			oldNimErrFin63_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin63_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA61_: ;
	add__ast_u3215(father_p4, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(typ_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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitNodeConsiderViewType__sem_u235)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = fitNode__sem_u79(c_p0, formal_p1, arg_p2, info_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*formal_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*formal_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA4_;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64), (*a_1).info, formal_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*formal_p1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20))) & 63);
	}
	goto LA2_;
LA4_: ;
	{
		result = a_1;
		eqwasMoved___ast_u3249(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, annotateClosureConv__sem_u6304)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		{
			NIM_BOOL T5_;
			NIM_BOOL T6_;
			NIM_BOOL T7_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T13_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
			T5_ = (NIM_BOOL)0;
			T6_ = (NIM_BOOL)0;
			T7_ = (NIM_BOOL)0;
			T7_ = ((*(*n_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
			if (!(T7_)) goto LA8_;
			T7_ = ((*(*n_p0).typField).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA8_: ;
			T6_ = T7_;
			if (!(T6_)) goto LA9_;
			T6_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA9_: ;
			T5_ = T6_;
			if (!(T5_)) goto LA10_;
			T5_ = !(((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9)));
LA10_: ;
			if (!T5_) goto LA11_;
			colontmpD_ = NIM_NIL;
			nimZeroMem((void*)T13_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			colontmpD_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T13_[0] = colontmpD_;
			T13_[1] = (*n_p0)._kind_6.sons.p->data[((NI)0)];
			T14_ = NIM_NIL;
			T14_ = newTreeIT__ast_u4191(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info, (*n_p0).typField, T13_, 2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[((NI)0)], T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			transitionSonsKind__ast_u6769(n_p0, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)155));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)5))) & 31);
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
	break;
	default:
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA18;
					i_1 = i_2;
					annotateClosureConv__sem_u6304((*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA18: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, typeAllowedCheck__sem_u478)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p3, tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw flags_p4) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	t_1 = NIM_NIL;
	t_1 = typeAllowed__typeallowed_u465(typ_p2, kind_p3, c_p0, flags_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 err_1;
		if (!!((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA4_;
		err_1.len = 0; err_1.p = NIM_NIL;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T12_;
			if (!(t_1 == typ_p2)) goto LA9_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD_ = typeToString__types_u54(typ_p2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			T12_[0] = colontmpD_;
			colontmpD__2 = toHumanStr__ast_u7574(kind_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			T12_[1] = colontmpD__2;
			err_1 = percent___sem_u494(T12_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				NIM_BOOL T15_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				tyArray__YgExxhfgKcesA5EOUj1MOA T19_;
				T15_ = (NIM_BOOL)0;
				T15_ = (kind_p3 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || kind_p3 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || kind_p3 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10));
				if (!(T15_)) goto LA16_;
				T15_ = ((flags_p4 &((NU16)1<<((NU)((((tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw)6)))&15U)))!=0);
LA16_: ;
				if (!T15_) goto LA17_;
				colontmpD__3 = NIM_NIL;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				colontmpD__3 = owner__ast_u6246(typ_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				colontmpD__4 = toHumanStr__ast_u7574((*colontmpD__3).kind);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				T19_[0] = colontmpD__4;
				colontmpD__5 = percent___sem_u510(T19_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				prepareAdd((&err_1), colontmpD__5.len + 0);
appendString((&err_1), colontmpD__5);
				eqdestroy___system_u2691(colontmpD__5);
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			}
LA17_: ;
			{
				LA11_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA7_;
LA9_: ;
		{
			NimStringV2 colontmpD__6;
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			tyArray__dyW7vpmfeTYw8kX3EXuaJA T24_;
			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;
			colontmpD__6 = typeToString__types_u54(t_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T24_[0] = colontmpD__6;
			colontmpD__7 = typeToString__types_u54(typ_p2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T24_[1] = colontmpD__7;
			colontmpD__8 = toHumanStr__ast_u7574(kind_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T24_[2] = colontmpD__8;
			err_1 = percent___sem_u515(T24_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				LA23_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
				eqdestroy___system_u2691(colontmpD__6);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA7_: ;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_p1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), err_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_257, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(err_1);
		}
		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, fitDefaultNode__sem_u6331)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* oldType_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	oldType_1 = NIM_NIL;
	(*c_p0).inStaticContext += ((NI)1);
	T2_ = NIM_NIL;
	T2_ = semConstExpr__sem_u631(c_p0, (*n_p1), expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1), T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&oldType_1, (*(*n_p1)).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*n_p1)).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7))) & 31);
	{
		NIM_BOOL T5_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
		T5_ = (NIM_BOOL)0;
		T5_ = !((expectedType_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T5_)) goto LA6_;
		T5_ = !((oldType_1 == expectedType_p2));
LA6_: ;
		if (!T5_) goto LA7_;
		T9_ = NIM_NIL;
		T9_ = fitNodeConsiderViewType__sem_u235(c_p0, expectedType_p2, (*n_p1), (*(*n_p1)).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1), T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		changeType__sem_u84(c_p0, (*n_p1), expectedType_p2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	annotateClosureConv__sem_u6304((*n_p1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)))) goto LA12_;
		typeAllowedCheck__sem_u478(c_p0, (*(*n_p1)).info, (*(*n_p1)).typField, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10), 640);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA12_: ;
	(*c_p0).inStaticContext -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(oldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, contains__semfold_u1019)(tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww s_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww, dotdot___semfold_u987)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg a_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg b_p1) {
	tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, firstRange__sem_u6658)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww T4_;
		NIM_BOOL T5_;
		NF T8_;
		T4_ = dotdot___semfold_u987(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36), ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38));
		colontmpD_ = skipModifier__ast_u5338(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = (NIM_BOOL)0;
		T5_ = contains__semfold_u1019(T4_, (*colontmpD_).kind);
		if (!T5_) goto LA6_;
		T8_ = (NF)0;
		T8_ = firstFloat__types_u1268(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newFloatNode__ast_u5418(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16), T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T10_;
		T10_ = firstOrd__types_u1182(config_p0, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newIntNode__ast_u5204(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	eqcopy___ast_u3381(&(*result).typField, t_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSymG__sem_u441)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		colontmpD_ = NIM_NIL;
		eqcopy___ast_u4577(&result, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			NimStringV2 colontmpD__4;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T11_;
			if (!!(((*result).kind == kind_p0 || (*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)))) goto LA8_;
			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__2 = toHumanStr__ast_u7574((*result).kind);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T11_[0] = colontmpD__2;
			colontmpD__3 = toHumanStr__ast_u7574(kind_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T11_[1] = colontmpD__3;
			colontmpD__4 = percent___sem_u454(T11_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			liMessage__msgs_u1227((*(*c_p2).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_262, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				LA10_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___system_u2691(colontmpD__3);
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA8_: ;
		colontmpD_ = getCurrOwner__semdata_u425(c_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		setOwner__icZic_u12851(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T18_;
		colontmpD__5 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		colontmpD__5 = considerQuotedIdent__lookups_u31(c_p2, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		colontmpD__6 = getCurrOwner__semdata_u425(c_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		T18_ = 0;
		result = newSym__ast_u4205(kind_p0, colontmpD__5, (*c_p2).Sup.idgen, colontmpD__6, (*n_p1).info, T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		{
			NI T21_;
			T21_ = (NI)0;
			T21_ = nsuFindChar((*(*result).name).s, 96, ((NI)0), ((NI)-1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			if (!(((NI)0) <= T21_)) goto LA22_;
			(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)54))) & 63);
		}
LA22_: ;
		{
			LA17_:;
		}
		{
			oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin17_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semIdentVis__sem_u467)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg allowed_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31))) goto LA3_;
		{
			NI T7_;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* v_1;
			T7_ = (NI)0;
			T7_ = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T7_ == ((NI)2))) goto LA8_;
			v_1 = NIM_NIL;
			result = newSymG__sem_u441(kind_p1, (*n_p2)._kind_6.sons.p->data[((NI)1)], c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			v_1 = considerQuotedIdent__lookups_u31(c_p0, (*n_p2)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				NIM_BOOL T13_;
				T13_ = (NIM_BOOL)0;
				T13_ = ((allowed_p3 &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)1)))&63U)))!=0);
				if (!(T13_)) goto LA14_;
				T13_ = ((*v_1).id == ((NI)72));
LA14_: ;
				if (!T13_) goto LA15_;
				(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)1))) & 63);
			}
			goto LA11_;
LA15_: ;
			{
				{
					NimStringV2 colontmpD_;
					if (!!(((allowed_p3 &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)1)))&63U)))!=0))) goto LA20_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_264, TM__rF9caJawfOjYTjsgLVUSGFA_266);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p2)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_267, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					{
						LA22_:;
					}
					{
						eqdestroy___system_u2691(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				}
				goto LA18_;
LA20_: ;
				{
					NimStringV2 colontmpD__2;
					NimStringV2 colontmpD__3;
					tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T27_;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					T27_ = 0;
					colontmpD__2 = renderTree__renderer_u59((*n_p2)._kind_6.sons.p->data[((NI)0)], T27_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_269, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p2)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_270, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					{
						LA26_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__3);
						eqdestroy___system_u2691(colontmpD__2);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				}
LA18_: ;
			}
LA11_: ;
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(v_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA8_: ;
		{
			result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
			illFormedAst__semdata_u4665(n_p2, (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	goto LA1_;
LA3_: ;
	{
		result = newSymG__sem_u441(kind_p1, n_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semIdentWithPragma__sem_u472)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg allowed_p3, NIM_BOOL fromTopLevel_p4) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA3_;
		checkSonsLen__semdata_u4671(n_p2, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = semIdentVis__sem_u467(c_p0, kind_p1, (*n_p2)._kind_6.sons.p->data[((NI)0)], allowed_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		switch (kind_p1) {
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
		{
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19):
		{
			pragma__pragmas_u120(c_p0, result, (*n_p2)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_271, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8):
		{
			pragma__pragmas_u120(c_p0, result, (*n_p2)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_272, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9):
		{
			pragma__pragmas_u120(c_p0, result, (*n_p2)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_272, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10):
		{
			pragma__pragmas_u120(c_p0, result, (*n_p2)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_273, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
		}
		break;
		}
	}
	goto LA1_;
LA3_: ;
	{
		tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw colontmpD_;
		tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw colontmpD__2;
		tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw invalidPragmasForPush_1;
		nimZeroMem((void*)colontmpD_, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
		nimZeroMem((void*)colontmpD__2, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
		result = semIdentVis__sem_u467(c_p0, kind_p1, n_p2, allowed_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)invalidPragmasForPush_1, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = fromTopLevel_p4;
			if (!(T14_)) goto LA15_;
			T14_ = !((((*result).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)54)))&63U)))!=0));
LA15_: ;
			if (!T14_) goto LA16_;
			nimZeroMem(colontmpD_, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
			nimCopyMem((void*)invalidPragmasForPush_1, (NIM_CONST void*)colontmpD_, 38);
		}
		goto LA12_;
LA16_: ;
		{
			nimCopyMem((void*)colontmpD__2, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_274, 38);
			nimCopyMem((void*)invalidPragmasForPush_1, (NIM_CONST void*)colontmpD__2, 38);
		}
LA12_: ;
		switch (kind_p1) {
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19):
		{
			implicitPragmas__pragmas_u2378(c_p0, result, (*n_p2).info, TM__rF9caJawfOjYTjsgLVUSGFA_271);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8):
		{
			NI T21_;
			tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T22_;
			T21_ = (NI)0;
			for (T21_ = 0; T21_ < 38; T21_++) 
  T22_[T21_] = TM__rF9caJawfOjYTjsgLVUSGFA_272[T21_] & ~ invalidPragmasForPush_1[T21_];
			implicitPragmas__pragmas_u2378(c_p0, result, (*n_p2).info, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9):
		{
			NI T24_;
			tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T25_;
			T24_ = (NI)0;
			for (T24_ = 0; T24_ < 38; T24_++) 
  T25_[T24_] = TM__rF9caJawfOjYTjsgLVUSGFA_272[T24_] & ~ invalidPragmasForPush_1[T24_];
			implicitPragmas__pragmas_u2378(c_p0, result, (*n_p2).info, T25_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10):
		{
			NI T27_;
			tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T28_;
			T27_ = (NI)0;
			for (T27_ = 0; T27_ < 38; T27_++) 
  T28_[T27_] = TM__rF9caJawfOjYTjsgLVUSGFA_273[T27_] & ~ invalidPragmasForPush_1[T27_];
			implicitPragmas__pragmas_u2378(c_p0, result, (*n_p2).info, T28_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
		}
		break;
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, suggestSym__sigmatch_u6643)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** usageSym_p3, NIM_BOOL isDecl_p4, NIM_BOOL isGenericInstance_p5) {
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_1;
	conf_1 = NIM_NIL;
	conf_1 = (*g_p0).config;
}
N_LIB_PRIVATE N_NIMCALL(void, semRecordNodeAux__sem_u7047)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* check_p2, NI* pos_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* rectype_p5, NIM_BOOL hasCaseFields_p6) {
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin73_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin104_;
NIM_BOOL oldNimErrFin164_;
NIM_BOOL oldNimErrFin186_;
NIM_BOOL oldNimErrFin121_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(n_p1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)140):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
		NIM_BOOL cannotResolve_1;
		a_1 = NIM_NIL;
		branch_1 = NIM_NIL;
		a_1 = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		branch_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		cannotResolve_1 = NIM_FALSE;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					NI idx_1;
					if (!(i_2 < colontmp_)) goto LA9;
					it_1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u3255(&it_1, (*a_1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					{
						if (!(it_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA13_;
						illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA13_: ;
					idx_1 = ((NI)1);
					switch ((*it_1).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
					{
						checkSonsLen__semdata_u4671(it_1, ((NI)2), (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
							if (!((*c_p0).inGenericContext == ((NI)0))) goto LA18_;
							e_1 = NIM_NIL;
							e_1 = semConstBoolExpr__sem_u4389(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
							{
								if (!!(((*e_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)))) goto LA23_;
							}
							goto LA21_;
LA23_: ;
							{
								NIM_BOOL T26_;
								T26_ = (NIM_BOOL)0;
								T26_ = !(((*e_1)._kind_1.intVal == IL64(0)));
								if (!(T26_)) goto LA27_;
								T26_ = (branch_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA27_: ;
								if (!T26_) goto LA28_;
								eqcopy___ast_u3255(&branch_1, (*it_1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
							}
							goto LA21_;
LA28_: ;
LA21_: ;
							{
								LA20_:;
							}
							{
								oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(e_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
								*nimErr_ = oldNimErrFin20_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						}
						goto LA16_;
LA18_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_2;
							e_2 = NIM_NIL;
							e_2 = semExprWithType__sem_u63(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
								if (!((*(*e_2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA36_;
								T38_ = NIM_NIL;
								T38_ = makeStaticExpr__semdata_u4441(c_p0, e_2);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA33_;}
								eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T38_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
								cannotResolve_1 = NIM_TRUE;
							}
							goto LA34_;
LA36_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T41_;
								val_1 = NIM_NIL;
								T41_ = NIM_NIL;
								T41_ = forceBool__sem_u4381(c_p0, e_2);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T41_); goto LA40_;}
								eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T41_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
								val_1 = getConstExpr__semfold_u68((*c_p0).module, (*it_1)._kind_6.sons.p->data[((NI)0)], (*c_p0).Sup.idgen, (*c_p0).graph);
								if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
								{
									NIM_BOOL T44_;
									T44_ = (NIM_BOOL)0;
									T44_ = (val_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
									if (T44_) goto LA45_;
									T44_ = !(((*val_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)));
LA45_: ;
									if (!T44_) goto LA46_;
									cannotResolve_1 = NIM_TRUE;
								}
								goto LA42_;
LA46_: ;
								{
									NIM_BOOL T49_;
									NIM_BOOL T50_;
									T49_ = (NIM_BOOL)0;
									T50_ = (NIM_BOOL)0;
									T50_ = !(cannotResolve_1);
									if (!(T50_)) goto LA51_;
									T50_ = !(((*val_1)._kind_1.intVal == IL64(0)));
LA51_: ;
									T49_ = T50_;
									if (!(T49_)) goto LA52_;
									T49_ = (branch_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA52_: ;
									if (!T49_) goto LA53_;
									eqcopy___ast_u3255(&branch_1, (*it_1)._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
								}
								goto LA42_;
LA53_: ;
LA42_: ;
								{
									LA40_:;
								}
								{
									oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(val_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
									*nimErr_ = oldNimErrFin40_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							}
LA34_: ;
							{
								LA33_:;
							}
							{
								oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(e_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
								*nimErr_ = oldNimErrFin33_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						}
LA16_: ;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						checkSonsLen__semdata_u4671(it_1, ((NI)1), (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						{
							NIM_BOOL T62_;
							T62_ = (NIM_BOOL)0;
							T62_ = (branch_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
							if (!(T62_)) goto LA63_;
							T62_ = !(cannotResolve_1);
LA63_: ;
							if (!T62_) goto LA64_;
							eqcopy___ast_u3255(&branch_1, (*it_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						}
LA64_: ;
						idx_1 = ((NI)0);
					}
					break;
					default:
					{
						illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
					break;
					}
					{
						NIM_BOOL T69_;
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA newCheck_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newf_1;
						NI newPos_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T74_;
						T69_ = (NIM_BOOL)0;
						T69_ = (((NI)0) < (*c_p0).inGenericContext);
						if (!(T69_)) goto LA70_;
						T69_ = cannotResolve_1;
LA70_: ;
						if (!T69_) goto LA71_;
						nimZeroMem((void*)(&newCheck_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						newf_1 = NIM_NIL;
						eqcopy___pureZcollectionsZintsets_u250((&newCheck_1), (&(*check_p2)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						newPos_1 = (*pos_p3);
						newf_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						semRecordNodeAux__sem_u7047(c_p0, (*it_1)._kind_6.sons.p->data[idx_1], (&newCheck_1), (&newPos_1), newf_1, rectype_p5, hasCaseFields_p6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						T74_ = NIM_NIL;
						{
							NI T77_;
							T77_ = (NI)0;
							T77_ = len__ast_u3190(newf_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
							if (!(T77_ == ((NI)1))) goto LA78_;
							eqcopy___ast_u3255(&(*it_1)._kind_6.sons.p->data[idx_1], (*newf_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						}
						goto LA75_;
LA78_: ;
						{
							eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[idx_1], newf_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
							eqwasMoved___ast_u3249(&newf_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						}
LA75_: ;
						{
							LA73_:;
						}
						{
							oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(newf_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							eqdestroy___pureZcollectionsZintsets_u230((&newCheck_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							*nimErr_ = oldNimErrFin73_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA71_: ;
					i_2 += ((NI)1);
					{
						LA10_:;
					}
					{
						oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						*nimErr_ = oldNimErrFin10_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				} LA9: ;
			}
		}
		{
			if (!!((branch_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA87_;
			semRecordNodeAux__sem_u7047(c_p0, branch_1, check_p2, pos_p3, father_p4, rectype_p5, hasCaseFields_p6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA85_;
LA87_: ;
		{
			if (!cannotResolve_1) goto LA90_;
			add__ast_u3215(father_p4, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA85_;
LA90_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			if (!((*father_p4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88) || (*father_p4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA93_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			add__ast_u3215(father_p4, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA85_;
LA93_: ;
LA85_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		semRecordCase__sem_u7326(c_p0, n_p1, check_p2, pos_p3, father_p4, rectype_p5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			if (!!(((*father_p4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138)))) goto LA101_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(father_p4, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA101_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T105_;
		a_2 = NIM_NIL;
		T105_ = NIM_NIL;
		{
			if (!((*father_p4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138))) goto LA108_;
			eqcopy___ast_u3255(&a_2, father_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
		}
		goto LA106_;
LA108_: ;
		{
			a_2 = copyNode__ast_u6736(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
		}
LA106_: ;
		{
			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 LA104_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA113;
					i_3 = i_4;
					semRecordNodeAux__sem_u7047(c_p0, (*n_p1)._kind_6.sons.p->data[i_3], check_p2, pos_p3, a_2, rectype_p5, hasCaseFields_p6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
					i_4 += ((NI)1);
				} LA113: ;
			}
		}
		{
			if (!!((a_2 == father_p4))) goto LA116_;
			add__ast_u3215(father_p4, a_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
		}
LA116_: ;
		{
			LA104_:;
		}
		{
			oldNimErrFin104_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(a_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin104_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fieldOwner_1;
		NIM_BOOL hasDefaultField_1;
		NI T130_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T176_;
		a_3 = NIM_NIL;
		typ_1 = NIM_NIL;
		fieldOwner_1 = NIM_NIL;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)3), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		{
			NIM_BOOL T124_;
			NI T126_;
			T124_ = (NIM_BOOL)0;
			T124_ = !(((*father_p4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138)));
			if (!(T124_)) goto LA125_;
			T126_ = (NI)0;
			T126_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
			T124_ = (((NI)4) <= T126_);
LA125_: ;
			if (!T124_) goto LA127_;
			a_3 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		}
		goto LA122_;
LA127_: ;
		{
			a_3 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		}
LA122_: ;
		T130_ = (NI)0;
		T130_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		hasDefaultField_1 = !(((*(*n_p1)._kind_6.sons.p->data[(NI)(T130_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T135_;
			if (!hasDefaultField_1) goto LA133_;
			T135_ = NIM_NIL;
			{
				NI T138_;
				NI T141_;
				T138_ = (NI)0;
				T138_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				if (!!(((*(*n_p1)._kind_6.sons.p->data[(NI)(T138_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA139_;
				T141_ = (NI)0;
				T141_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				typ_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T141_ - ((NI)2))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
			}
			goto LA136_;
LA139_: ;
			{
				typ_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
			}
LA136_: ;
			{
				NI T147_;
				NI T148_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T149_;
				if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA145_;
				T147_ = (NI)0;
				T147_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				T148_ = (NI)0;
				T148_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				T149_ = NIM_NIL;
				T149_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T148_ - ((NI)1))], 33555456, typ_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T149_); goto LA121_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T147_ - ((NI)1))], T149_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				{
					NI T154_;
					if (!(typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA152_;
					T154_ = (NI)0;
					T154_ = len__ast_u3190(n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
					eqcopy___ast_u3381(&typ_1, (*(*n_p1)._kind_6.sons.p->data[(NI)(T154_ - ((NI)1))]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				}
LA152_: ;
			}
			goto LA143_;
LA145_: ;
			{
				NI T156_;
				NI T157_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T158_;
				T156_ = (NI)0;
				T156_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				fitDefaultNode__sem_u6331(c_p0, &(*n_p1)._kind_6.sons.p->data[(NI)(T156_ - ((NI)1))], typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				T157_ = (NI)0;
				T157_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				T158_ = NIM_NIL;
				T158_ = skipIntLit__magicsys_u120((*(*n_p1)._kind_6.sons.p->data[(NI)(T157_ - ((NI)1))]).typField, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T158_); goto LA121_;}
				eqsink___ast_u3387(&typ_1, T158_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				propagateToOwner__ast_u6637(rectype_p5, typ_1, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
			}
LA143_: ;
		}
		goto LA131_;
LA133_: ;
		{
			NI T160_;
			T160_ = (NI)0;
			T160_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
			if (!((*(*n_p1)._kind_6.sons.p->data[(NI)(T160_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA161_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_258, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_259, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
			typ_1 = errorType__semdata_u4564(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		}
		goto LA131_;
LA161_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			NI T165_;
			colontmpD__3 = NIM_NIL;
			T165_ = (NI)0;
			T165_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
			typ_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T165_ - ((NI)2))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
			{
				NIM_BOOL T168_;
				NI T172_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T173_;
				T168_ = (NIM_BOOL)0;
				T168_ = isDefined__options_u959((*(*c_p0).graph).config, TM__rF9caJawfOjYTjsgLVUSGFA_261);
				if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
				if (!(T168_)) goto LA169_;
				colontmpD__3 = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
				T168_ = ((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20));
LA169_: ;
				if (!T168_) goto LA170_;
				T172_ = (NI)0;
				T172_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
				T173_ = NIM_NIL;
				T173_ = firstRange__sem_u6658((*(*c_p0).graph).config, typ_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T173_); goto LA164_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T172_ - ((NI)1))], T173_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
				hasDefaultField_1 = NIM_TRUE;
			}
LA170_: ;
			propagateToOwner__ast_u6637(rectype_p5, typ_1, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
			{
				LA164_:;
			}
			{
				oldNimErrFin164_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				*nimErr_ = oldNimErrFin164_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		}
LA131_: ;
		T176_ = NIM_NIL;
		{
			if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA179_;
			fieldOwner_1 = getCurrOwner__semdata_u425(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		}
		goto LA177_;
LA179_: ;
		{
			eqcopy___ast_u4577(&fieldOwner_1, (*rectype_p5).sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		}
LA177_: ;
		{
			NI i_5;
			NI colontmp__3;
			NI T183_;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			T183_ = (NI)0;
			T183_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
			colontmp__3 = (NI)(T183_ - ((NI)2));
			i_6 = ((NI)0);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* f_1;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__4;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__5;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fSym_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
					tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T192_;
					if (!(i_6 < colontmp__3)) goto LA185;
					f_1 = NIM_NIL;
					nimZeroMem((void*)(&colontmpD__4), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
					nimZeroMem((void*)(&colontmpD__5), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
					fSym_1 = NIM_NIL;
					colontmpD__6 = NIM_NIL;
					i_5 = i_6;
					f_1 = semIdentWithPragma__sem_u472(c_p0, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19), (*n_p1)._kind_6.sons.p->data[i_5], 2, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					{
						if (!((*(*n_p1)._kind_6.sons.p->data[i_5]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31))) goto LA189_;
						colontmpD__4 = (*(*(*n_p1)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)1)]).info;
						info_1 = colontmpD__4;
					}
					goto LA187_;
LA189_: ;
					{
						colontmpD__5 = (*(*n_p1)._kind_6.sons.p->data[i_5]).info;
						info_1 = colontmpD__5;
					}
LA187_: ;
					T192_ = NIM_NIL;
					T192_ = (*c_p0).graph;
					suggestSym__sigmatch_u6643(T192_, info_1, f_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					eqcopy___ast_u3381(&(*f_1).typ, typ_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					(*f_1).position = (*pos_p3);
					(*f_1).options = (*(*(*c_p0).graph).config).options;
					{
						NIM_BOOL T195_;
						NIM_BOOL T196_;
						NIM_BOOL T197_;
						tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T199_;
						T195_ = (NIM_BOOL)0;
						T196_ = (NIM_BOOL)0;
						T197_ = (NIM_BOOL)0;
						T197_ = !((fieldOwner_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T197_)) goto LA198_;
						T199_ = 0;
						T197_ = !(((192 & (*fieldOwner_1).flags) == T199_));
LA198_: ;
						T196_ = T197_;
						if (!(T196_)) goto LA200_;
						T196_ = !(hasCaseFields_p6);
LA200_: ;
						T195_ = T196_;
						if (!(T195_)) goto LA201_;
						T195_ = ((*f_1).loc.snippet.len == 0);
LA201_: ;
						if (!T195_) goto LA202_;
						eqcopy___system_u2694((&(*f_1).loc.snippet), (*(*f_1).name).s);
						(*f_1).flags = ((*f_1).flags | (192 & (*fieldOwner_1).flags));
					}
LA202_: ;
					(*pos_p3) += ((NI)1);
					{
						NIM_BOOL T206_;
						NimStringV2 colontmpD__7;
						NimStringV2 T210_;
						T206_ = (NIM_BOOL)0;
						T206_ = containsOrIncl__astyaml_u223(check_p2, (*(*f_1).name).id);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
						if (!T206_) goto LA207_;
						colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
						T210_.len = 0; T210_.p = NIM_NIL;
						T210_ = rawNewString((*(*f_1).name).s.len + 23);
appendString((&T210_), TM__rF9caJawfOjYTjsgLVUSGFA_276);
appendString((&T210_), (*(*f_1).name).s);
appendString((&T210_), TM__rF9caJawfOjYTjsgLVUSGFA_277);
						colontmpD__7 = T210_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, info_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_278, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA209_;
						{
							LA209_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__7);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					}
LA207_: ;
					fSym_1 = newSymNode__ast_u5168(f_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					{
						NI T217_;
						if (!hasDefaultField_1) goto LA215_;
						T217_ = (NI)0;
						T217_ = len__ast_u3190(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
						eqcopy___ast_u3255(&(*(*fSym_1)._kind_4.sym).ast, (*n_p1)._kind_6.sons.p->data[(NI)(T217_ - ((NI)1))]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
						(*(*(*fSym_1)._kind_4.sym).ast).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
					}
LA215_: ;
					{
						if (!((*a_3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA220_;
						add__ast_u3215(father_p4, fSym_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					}
					goto LA218_;
LA220_: ;
					{
						add__ast_u3215(a_3, fSym_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					}
LA218_: ;
					{
						NIM_BOOL T225_;
						NIM_BOOL T226_;
						NIM_BOOL T227_;
						NIM_BOOL T228_;
						NIM_BOOL T229_;
						NIM_BOOL T230_;
						NIM_BOOL T231_;
						NIM_BOOL T232_;
						NIM_BOOL T233_;
						NIM_BOOL T234_;
						NIM_BOOL T235_;
						tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T237_;
						NIM_BOOL T246_;
						tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T249_;
						T225_ = (NIM_BOOL)0;
						T226_ = (NIM_BOOL)0;
						T227_ = (NIM_BOOL)0;
						T228_ = (NIM_BOOL)0;
						T229_ = (NIM_BOOL)0;
						T230_ = (NIM_BOOL)0;
						T231_ = (NIM_BOOL)0;
						T232_ = (NIM_BOOL)0;
						T233_ = (NIM_BOOL)0;
						T234_ = (NIM_BOOL)0;
						T235_ = (NIM_BOOL)0;
						T235_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
						if (!(T235_)) goto LA236_;
						T237_ = 0;
						T235_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T237_));
LA236_: ;
						T234_ = T235_;
						if (!(T234_)) goto LA238_;
						T234_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA238_: ;
						T233_ = T234_;
						if (!(T233_)) goto LA239_;
						colontmpD__6 = getModule__modulegraphs_u14809((*c_p0).graph, (*f_1).info.fileIndex);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
						T233_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
LA239_: ;
						T232_ = T233_;
						if (!(T232_)) goto LA240_;
						T232_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA240_: ;
						T231_ = T232_;
						if (!(T231_)) goto LA241_;
						T231_ = !(((*f_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA241_: ;
						T230_ = T231_;
						if (!(T230_)) goto LA242_;
						T230_ = !(((*f_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA242_: ;
						T229_ = T230_;
						if (!(T229_)) goto LA243_;
						T229_ = (((NU8)((*(*f_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*f_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA243_: ;
						T228_ = T229_;
						if (!(T228_)) goto LA244_;
						T228_ = !(((*f_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*f_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA244_: ;
						T227_ = T228_;
						if (!(T227_)) goto LA245_;
						T246_ = (NIM_BOOL)0;
						T246_ = ((*f_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (T246_) goto LA247_;
						T246_ = !(((*(*f_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA247_: ;
						T227_ = T246_;
LA245_: ;
						T226_ = T227_;
						if (!(T226_)) goto LA248_;
						T249_ = 0;
						T226_ = ((192 & (*f_1).flags) == T249_);
LA248_: ;
						T225_ = T226_;
						if (!(T225_)) goto LA250_;
						T225_ = !((((*f_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA250_: ;
						if (!T225_) goto LA251_;
						nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*f_1).info, f_1, (*f_1).kind);
						if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
					}
LA251_: ;
					i_6 += ((NI)1);
					{
						LA186_:;
					}
					{
						oldNimErrFin186_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
						eqdestroy___ast_u3252(fSym_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
						eqdestroy___ast_u4574(f_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
						*nimErr_ = oldNimErrFin186_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
				} LA185: ;
			}
		}
		{
			if (!!(((*a_3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA257_;
			add__ast_u3215(father_p4, a_3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
		}
LA257_: ;
		{
			LA121_:;
		}
		{
			oldNimErrFin121_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(fieldOwner_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin121_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			NIM_BOOL T264_;
			NimStringV2 colontmpD__8;
			NimStringV2 T268_;
			T264_ = (NIM_BOOL)0;
			T264_ = containsOrIncl__astyaml_u223(check_p2, (*(*(*n_p1)._kind_4.sym).name).id);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T264_) goto LA265_;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			T268_.len = 0; T268_.p = NIM_NIL;
			T268_ = rawNewString((*(*(*n_p1)._kind_4.sym).name).s.len + 23);
appendString((&T268_), TM__rF9caJawfOjYTjsgLVUSGFA_279);
appendString((&T268_), (*(*(*n_p1)._kind_4.sym).name).s);
appendString((&T268_), TM__rF9caJawfOjYTjsgLVUSGFA_280);
			colontmpD__8 = T268_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_281, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA267_;
			{
				LA267_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA265_: ;
		add__ast_u3215(father_p4, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	{
		{
			if (!((*father_p4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88) || (*father_p4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA274_;
			add__ast_u3215(father_p4, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA274_: ;
	}
	break;
	default:
	{
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSymS__sem_u436)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = considerQuotedIdent__lookups_u31(c_p2, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = getCurrOwner__semdata_u425(c_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	result = newSym__ast_u4205(kind_p0, colontmpD_, (*c_p2).Sup.idgen, colontmpD__2, (*n_p1).info, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initConstrContext__sem_u28048)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* Result) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ));
	nimZeroMem((void*)Result, sizeof(tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ));
	colontmpD_ = eqdup___ast_u3384(t_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).typ = colontmpD_;
	colontmpD__2 = eqdup___ast_u3258(initExpr_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).initExpr = colontmpD__2;
	(*Result).needsFullInit = (((*t_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)19)))&63U)))!=0);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeInitStatus__sem_u27154)(tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA* existing_p0, tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA newStatus_p1) {
	switch (newStatus_p1) {
	case ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)4):
	{
		(*existing_p0) = newStatus_p1;
	}
	break;
	case ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)2):
	{
		{
			if (!((*existing_p0) == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0) || (*existing_p0) == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)1) || (*existing_p0) == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3))) goto LA5_;
			(*existing_p0) = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)2);
		}
LA5_: ;
	}
	break;
	case ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3):
	{
		{
			if (!((*existing_p0) == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0))) goto LA10_;
			(*existing_p0) = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3);
		}
		goto LA8_;
LA10_: ;
		{
			if (!((*existing_p0) == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)1))) goto LA13_;
			(*existing_p0) = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)2);
		}
		goto LA8_;
LA13_: ;
LA8_: ;
	}
	break;
	case ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)1):
	{
		{
			if (!((*existing_p0) == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0))) goto LA18_;
			(*existing_p0) = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)1);
		}
		goto LA16_;
LA18_: ;
		{
			if (!((*existing_p0) == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3))) goto LA21_;
			(*existing_p0) = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)2);
		}
		goto LA16_;
LA21_: ;
LA16_: ;
	}
	break;
	case ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0):
	{
	}
	break;
	default: __builtin_unreachable();
	}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u27504)(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA dest_p0) {
	eqdestroy___ast_u3696(dest_p0.Field1);
}
N_LIB_PRIVATE N_NIMCALL(void, invalidObjConstr__sem_u27198)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T3_ = ((NU8)((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s.p->data[((NI)0)]) == (NU8)(58));
LA6_: ;
		if (!T3_) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_289, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_290, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA7_: ;
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_292, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_293, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, locateFieldInInitExpr__sem_u27209)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NI fieldId_1;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	fieldId_1 = (*(*field_p1).name).id;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(initExpr_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assignment_1;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
				if (!(i_2 < colontmp_)) goto LA3;
				assignment_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&assignment_1, (*initExpr_p2)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					if (!!(((*assignment_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34)))) goto LA7_;
					invalidObjConstr__sem_u27198(c_p0, assignment_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA5_;
LA7_: ;
				{
					if (!(((*assignment_1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)15)))&31U)))!=0)) goto LA10_;
				}
				goto LA5_;
LA10_: ;
				{
					colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, (*assignment_1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					if (!(fieldId_1 == (*colontmpD_).id)) goto LA13_;
					result = assignment_1;
					eqwasMoved___ast_u3249(&assignment_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					eqdestroy___idents_u155(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(assignment_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
				goto LA5_;
LA13_: ;
LA5_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(assignment_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, fieldsPresentInInitExpr__sem_u27376)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsRecList_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p2) {
	NimStringV2 result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = TM__rF9caJawfOjYTjsgLVUSGFA_287;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
		field_1 = NIM_NIL;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			if (!((*fieldsRecList_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA4_;
			colontmpD_ = NIM_NIL;
			field_1 = fieldsRecList_p1;
			{
				NimStringV2 colontmpD__2;
				NimStringV2 T15_;
				colontmpD_ = locateFieldInInitExpr__sem_u27209(c_p0, (*field_1)._kind_4.sym, initExpr_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				if (!!((colontmpD_ == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA9_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				{
					if (!!((result.len == ((NI)0)))) goto LA13_;
					prepareAdd((&result), 2);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_294);
				}
LA13_: ;
				T15_.len = 0; T15_.p = NIM_NIL;
				T15_ = rawNewString((*(*(*field_1)._kind_4.sym).name).s.len + 2);
appendString((&T15_), TM__rF9caJawfOjYTjsgLVUSGFA_295);
appendString((&T15_), (*(*(*field_1)._kind_4.sym).name).s);
appendString((&T15_), TM__rF9caJawfOjYTjsgLVUSGFA_296);
				colontmpD__2 = T15_;
				prepareAdd((&result), colontmpD__2.len + 0);
appendString((&result), colontmpD__2);
				eqdestroy___system_u2691(colontmpD__2);
			}
LA9_: ;
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA2_;
LA4_: ;
		{
			{
				if (!!(((*fieldsRecList_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138)))) goto LA21_;
				failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_298);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA21_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_2;
				field_2 = NIM_NIL;
				{
					NI i_1;
					NI colontmp_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = safeLen__ast_u3197(fieldsRecList_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					i_2 = ((NI)0);
					{
						while (1) {
							if (!(i_2 < colontmp_)) goto LA27;
							i_1 = i_2;
							eqcopy___ast_u3255(&field_2, (*fieldsRecList_p1)._kind_6.sons.p->data[i_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
								if (!((*field_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA30_;
								colontmpD__3 = NIM_NIL;
								field_1 = field_2;
								{
									NimStringV2 colontmpD__4;
									NimStringV2 T41_;
									colontmpD__3 = locateFieldInInitExpr__sem_u27209(c_p0, (*field_1)._kind_4.sym, initExpr_p2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
									if (!!((colontmpD__3 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA35_;
									colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
									{
										if (!!((result.len == ((NI)0)))) goto LA39_;
										prepareAdd((&result), 2);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_299);
									}
LA39_: ;
									T41_.len = 0; T41_.p = NIM_NIL;
									T41_ = rawNewString((*(*(*field_1)._kind_4.sym).name).s.len + 2);
appendString((&T41_), TM__rF9caJawfOjYTjsgLVUSGFA_300);
appendString((&T41_), (*(*(*field_1)._kind_4.sym).name).s);
appendString((&T41_), TM__rF9caJawfOjYTjsgLVUSGFA_301);
									colontmpD__4 = T41_;
									prepareAdd((&result), colontmpD__4.len + 0);
appendString((&result), colontmpD__4);
									eqdestroy___system_u2691(colontmpD__4);
								}
LA35_: ;
								{
									LA32_:;
								}
								{
									oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
									*nimErr_ = oldNimErrFin32_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							}
LA30_: ;
							i_2 += ((NI)1);
						} LA27: ;
					}
				}
				{
					LA24_:;
				}
				{
					oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(field_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin24_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
		}
LA2_: ;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_u6167)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* f_p1) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NI fmoduleId_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1145__1;
	NIM_BOOL T2_;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1148__1;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getModule__astalgo_u156(f_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	xX60gensym1145__1 = (*colontmpD_).itemId;
	fmoduleId_1 = (NI)((NI)((NU32)(((NI) (xX60gensym1145__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1145__1.item)));
	T2_ = (NIM_BOOL)0;
	T2_ = (((*f_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)1)))&63U)))!=0);
	if (T2_) goto LA3_;
	xX60gensym1148__1 = (*(*c_p0).module).itemId;
	T2_ = (fmoduleId_1 == (NI)((NI)((NU32)(((NI) (xX60gensym1148__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1148__1.item))));
LA3_: ;
	result = T2_;
	{
		if (!!(result)) goto LA6_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** module_1;
			NI i_1;
			NI L_1;
			NI T9_;
			module_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
			i_1 = ((NI)0);
			T9_ = (*c_p0).friendModules.len;
			L_1 = T9_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA11;
					module_1 = &(*c_p0).friendModules.p->data[i_1];
					{
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1150__1;
						xX60gensym1150__1 = (*(*module_1)).itemId;
						if (!(fmoduleId_1 == (NI)((NI)((NU32)(((NI) (xX60gensym1150__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1150__1.item))))) goto LA14_;
						result = NIM_TRUE;
						eqdestroy___ast_u4574(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA14_: ;
					i_1 += ((NI)1);
				} LA11: ;
			}
		}
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* symObj_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			if (!((*f_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19))) goto LA18_;
			symObj_1 = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__2 = owner__ast_u6254(f_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			colontmpD__3 = toObjectFromRefPtrGeneric__ast_u7299((*colontmpD__2).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			eqcopy___ast_u4577(&symObj_1, (*colontmpD__3).sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_1;
				tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* current_1;
				scope_1 = NIM_NIL;
				current_1 = NIM_NIL;
				eqcopy___lookups_u77(&current_1, (*c_p0).currentScope);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					while (1) {
						if (!!((current_1 == ((tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww*) NIM_NIL)))) goto LA24;
						eqcopy___lookups_u77(&scope_1, current_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** sym_1;
							NI i_2;
							NI L_2;
							NI T26_;
							sym_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
							i_2 = ((NI)0);
							T26_ = (*scope_1).allowPrivateAccess.len;
							L_2 = T26_;
							{
								while (1) {
									if (!(i_2 < L_2)) goto LA28;
									sym_1 = &(*scope_1).allowPrivateAccess.p->data[i_2];
									{
										tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1155__1;
										tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1157__1;
										xX60gensym1155__1 = (*symObj_1).itemId;
										xX60gensym1157__1 = (*(*sym_1)).itemId;
										if (!((NI)((NI)((NU32)(((NI) (xX60gensym1155__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1155__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym1157__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1157__1.item))))) goto LA31_;
										result = NIM_TRUE;
										eqdestroy___lookups_u74(current_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
										eqdestroy___lookups_u74(scope_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
										eqdestroy___ast_u3378(colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
										eqdestroy___ast_u4574(colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
										eqdestroy___ast_u4574(symObj_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
										eqdestroy___ast_u4574(colontmpD_);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										goto BeforeRet_;
									}
LA31_: ;
									i_2 += ((NI)1);
								} LA28: ;
							}
						}
						eqcopy___lookups_u77(&current_1, (*current_1).parent);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					} LA24: ;
				}
				{
					LA22_:;
				}
				{
					oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___lookups_u74(current_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					eqdestroy___lookups_u74(scope_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					*nimErr_ = oldNimErrFin22_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u4574(symObj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA18_: ;
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCycle__sem_u548)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)0))) & 31);
	{
		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 BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = (((*(*n_p0)._kind_6.sons.p->data[i_1]).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)0)))&31U)))!=0);
					if (T6_) goto LA7_;
					T6_ = hasCycle__sem_u548((*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA7_: ;
					if (!T6_) goto LA8_;
					result = NIM_TRUE;
					goto LA1;
				}
LA8_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	} LA1: ;
	(*n_p0).flags &= ~(((NU32)1) << (((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)0))) & 31));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fixupTypeAfterEval__sem_u568)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* evaluated_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* eOrig_p2, NIM_BOOL* producedClosure_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T5_;
		if (!((*(*eOrig_p2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6) || (*(*eOrig_p2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7) || (*(*eOrig_p2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA3_;
		T5_ = 0;
		result = semExprWithType__sem_u63(c_p0, evaluated_p1, T5_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_1;
		expectedType_1 = NIM_NIL;
		eqcopy___ast_u3255(&result, evaluated_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		expectedType_1 = skipTypes__ast_u5379((*eOrig_p2).typField, TM__rF9caJawfOjYTjsgLVUSGFA_45);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			NIM_BOOL T10_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n2X60gensym53__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
			T10_ = (NIM_BOOL)0;
			T10_ = hasCycle__sem_u548(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			if (!T10_) goto LA11_;
			n2X60gensym53__1 = NIM_NIL;
			eqcopy___ast_u3255(&n2X60gensym53__1, eOrig_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n2X60gensym53__1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_305, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_306, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			T14_ = NIM_NIL;
			T14_ = errorNode__semdata_u4571(c_p0, n2X60gensym53__1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA13_;}
			eqsink___ast_u3261(&result, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(n2X60gensym53__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA11_: ;
		{
			annotateType__semmacrosanity_u136(result, expectedType_1, (*(*c_p0).graph).config, producedClosure_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(expectedType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (targetDepth_p1 <= (*source_p0).depth);
	if (!(T1_)) goto LA2_;
	T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = currException__system_u3628;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3661(&currException__system_u3628, (*currException__system_u3628).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(void, resetEvalPosition__sem_u581)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
			if (!(T5_)) goto LA6_;
			T5_ = !((((*(*n_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA6_: ;
			if (!T5_) goto LA7_;
			(*(*n_p0)._kind_4.sym).position = ((NI)0);
		}
LA7_: ;
	}
	break;
	default:
	{
		{
			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 BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA12;
					i_1 = i_2;
					resetEvalPosition__sem_u581((*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA12: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryConstExpr__sem_u600)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
	NI oldErrorCount_1;
	NI oldErrorMax_1;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw oldErrorOutputs_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	e_1 = NIM_NIL;
	T2_ = 0;
	e_1 = semExprWithType__sem_u63(c_p0, n_p1, T2_, expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(e_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA5_;
		eqdestroy___ast_u3252(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	result = getConstExpr__semfold_u68((*c_p0).module, e_1, (*c_p0).Sup.idgen, (*c_p0).graph);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA9_;
		eqdestroy___ast_u3252(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA9_: ;
	oldErrorCount_1 = (*(*(*c_p0).graph).config).errorCounter;
	oldErrorMax_1 = (*(*(*c_p0).graph).config).errorMax;
	oldErrorOutputs_1 = (*(*(*c_p0).graph).config).m.errorOutputs;
	(*(*(*c_p0).graph).config).m.errorOutputs = 0;
	(*(*(*c_p0).graph).config).errorMax = ((NI)2147483647);
	T12_ = NIM_NIL;
	T12_ = evalConstExpr__vm_u14299((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, e_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA11_;}
	eqsink___ast_u3261(&result, T12_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (T15_) goto LA16_;
		T15_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA16_: ;
		if (!T15_) goto LA17_;
		eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
	}
	goto LA13_;
LA17_: ;
	{
		NIM_BOOL producedClosure_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
		producedClosure_1 = NIM_FALSE;
		T20_ = NIM_NIL;
		T20_ = fixupTypeAfterEval__sem_u568(c_p0, result, e_1, (&producedClosure_1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto LA11_;}
		eqsink___ast_u3261(&result, T20_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			if (!producedClosure_1) goto LA23_;
			eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
LA23_: ;
	}
LA13_: ;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA11_:;
		if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 4171512832)) {
			*nimErr_ = NIM_FALSE;
			eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			popCurrentException();
			LA26_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	resetEvalPosition__sem_u581(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*(*c_p0).graph).config).errorCounter = oldErrorCount_1;
	(*(*(*c_p0).graph).config).errorMax = oldErrorMax_1;
	(*(*(*c_p0).graph).config).m.errorOutputs = oldErrorOutputs_1;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalAtCompileTime__sem_u126)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callee_1;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin108_;
NIM_BOOL oldNimErrFin79_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	callee_1 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32)));
		if (T4_) goto LA5_;
		T4_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
LA5_: ;
		if (!T4_) goto LA6_;
		eqdestroy___ast_u4574(callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	eqcopy___ast_u4577(&callee_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T10_)) goto LA11_;
		T10_ = (((*(*n_p1).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)33)))&63U)))!=0);
LA11_: ;
		if (!T10_) goto LA12_;
		eqdestroy___ast_u4574(callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA12_: ;
	{
		NIM_BOOL T16_;
		NIM_BOOL T17_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
		NIM_BOOL allConst_1;
		T16_ = (NIM_BOOL)0;
		T17_ = (NIM_BOOL)0;
		T17_ = !(((*callee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
		if (!(T17_)) goto LA18_;
		T17_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_307[(NU)(((*callee_1).magic))>>3] &(1U<<((NU)(((*callee_1).magic))&7U)))!=0);
LA18_: ;
		T16_ = T17_;
		if (!(T16_)) goto LA19_;
		T16_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA19_: ;
		if (!T16_) goto LA20_;
		call_1 = NIM_NIL;
		call_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		add__ast_u3215(call_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		allConst_1 = NIM_TRUE;
		{
			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 LA22_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					if (!(i_2 < colontmp_)) goto LA25;
					a_1 = NIM_NIL;
					i_1 = i_2;
					a_1 = getConstExpr__semfold_u68((*c_p0).module, (*n_p1)._kind_6.sons.p->data[i_1], (*c_p0).Sup.idgen, (*c_p0).graph);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					{
						if (!(a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA29_;
						allConst_1 = NIM_FALSE;
						eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
						{
							if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58))) goto LA33_;
							eqcopy___ast_u3255(&a_1, (*a_1)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
						}
LA33_: ;
					}
LA29_: ;
					add__ast_u3215(call_1, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					i_2 += ((NI)1);
					{
						LA26_:;
					}
					{
						oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						*nimErr_ = oldNimErrFin26_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				} LA25: ;
			}
		}
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T41_;
			if (!allConst_1) goto LA39_;
			T41_ = NIM_NIL;
			T41_ = getConstExpr__semfold_u68((*c_p0).module, call_1, (*c_p0).Sup.idgen, (*c_p0).graph);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T41_); goto LA22_;}
			eqsink___ast_u3261(&result, T41_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			{
				if (!(result == 0)) goto LA44_;
				eqcopy___ast_u3255(&result, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			}
			goto LA42_;
LA44_: ;
			{
				eqdestroy___ast_u3252(call_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u4574(callee_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA42_: ;
		}
LA39_: ;
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(call_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin22_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA20_: ;
	{
		{
			NI T52_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T66_;
			T52_ = (NI)0;
			T52_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(((NI)1) < T52_)) goto LA53_;
			{
				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) {
						if (!(i_4 < colontmp__2)) goto LA57;
						i_3 = i_4;
						{
							NIM_BOOL T60_;
							NIM_BOOL T61_;
							T60_ = (NIM_BOOL)0;
							T61_ = (NIM_BOOL)0;
							T61_ = ((*(*n_p1)._kind_6.sons.p->data[i_3]).typField == 0);
							if (T61_) goto LA62_;
							T61_ = !(((*(*(*n_p1)._kind_6.sons.p->data[i_3]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60)));
LA62_: ;
							T60_ = T61_;
							if (T60_) goto LA63_;
							T60_ = !((((*(*(*n_p1)._kind_6.sons.p->data[i_3]).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0));
LA63_: ;
							if (!T60_) goto LA64_;
							goto LA49;
						}
LA64_: ;
						i_4 += ((NI)1);
					} LA57: ;
				}
			}
			colontmpD_ = eqdup___ast_u3384((*n_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T66_ = NIM_NIL;
			T66_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60), c_p0, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T66_); goto LA1_;}
			eqsink___ast_u3387(&(*n_p1).typField, T66_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*(*n_p1).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9))) & 63);
		}
LA53_: ;
	} LA49: ;
	{
		NIM_BOOL T69_;
		NIM_BOOL T70_;
		NIM_BOOL T72_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T73_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T75_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_2;
		T69_ = (NIM_BOOL)0;
		T70_ = (NIM_BOOL)0;
		T70_ = ((*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10));
		if (T70_) goto LA71_;
		T72_ = (NIM_BOOL)0;
		T73_ = 0;
		T72_ = !(((268439552 & (*callee_1).flags) == T73_));
		if (!(T72_)) goto LA74_;
		T75_ = 0;
		T72_ = ((80 & (*callee_1).flags) == T75_);
LA74_: ;
		T70_ = T72_;
LA71_: ;
		T69_ = T70_;
		if (!(T69_)) goto LA76_;
		T69_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA76_: ;
		if (!T69_) goto LA77_;
		colontmpD__2 = NIM_NIL;
		call_2 = NIM_NIL;
		{
			NIM_BOOL T82_;
			NIM_BOOL T83_;
			T82_ = (NIM_BOOL)0;
			T83_ = (NIM_BOOL)0;
			T83_ = !(((*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10)));
			if (!(T83_)) goto LA84_;
			T83_ = !((((*callee_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0));
LA84_: ;
			T82_ = T83_;
			if (!(T82_)) goto LA85_;
			T82_ = !((((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)22)))&31U)))!=0));
LA85_: ;
			if (!T82_) goto LA86_;
			eqdestroy___ast_u3252(call_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA86_: ;
		{
			if (!!(((TM__rF9caJawfOjYTjsgLVUSGFA_307[(NU)(((*callee_1).magic))>>3] &(1U<<((NU)(((*callee_1).magic))&7U)))!=0))) goto LA90_;
			eqdestroy___ast_u3252(call_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA90_: ;
		{
			NIM_BOOL T94_;
			T94_ = (NIM_BOOL)0;
			T94_ = !(((*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10)));
			if (T94_) goto LA95_;
			T94_ = isGenericRoutineStrict__ast_u7092(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
LA95_: ;
			if (!T94_) goto LA96_;
			eqdestroy___ast_u3252(call_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA96_: ;
		{
			NIM_BOOL T100_;
			tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw T102_;
			T100_ = (NIM_BOOL)0;
			T100_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T100_)) goto LA101_;
			T102_ = 0;
			colontmpD__2 = typeAllowed__typeallowed_u465((*n_p1).typField, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10), c_p0, T102_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
			T100_ = !((colontmpD__2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA101_: ;
			if (!T100_) goto LA103_;
			eqdestroy___ast_u3252(call_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA103_: ;
		call_2 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
		add__ast_u3215(call_2, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
			i_6 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
					if (!(i_6 < colontmp__3)) goto LA107;
					a_2 = NIM_NIL;
					i_5 = i_6;
					a_2 = getConstExpr__semfold_u68((*c_p0).module, (*n_p1)._kind_6.sons.p->data[i_5], (*c_p0).Sup.idgen, (*c_p0).graph);
					if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
					{
						if (!(a_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA111_;
						eqcopy___ast_u3255(&result, n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
						eqdestroy___ast_u3252(call_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(callee_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA111_: ;
					add__ast_u3215(call_2, a_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
					i_6 += ((NI)1);
					{
						LA108_:;
					}
					{
						oldNimErrFin108_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
						*nimErr_ = oldNimErrFin108_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
				} LA107: ;
			}
		}
		{
			NIM_BOOL T117_;
			T117_ = (NIM_BOOL)0;
			T117_ = ((*c_p0).inStaticContext == ((NI)0));
			if (T117_) goto LA118_;
			T117_ = (((*callee_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)12)))&63U)))!=0);
LA118_: ;
			if (!T117_) goto LA119_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T125_;
				if (!(((*callee_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0)) goto LA123_;
				T125_ = NIM_NIL;
				T125_ = evalStaticExpr__vm_u14305((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, call_2, (*(*c_p0).p).owner);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T125_); goto LA79_;}
				eqsink___ast_u3261(&result, T125_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
				{
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T131_;
					if (!(result == 0)) goto LA128_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					T131_ = 0;
					colontmpD__3 = renderTree__renderer_u59(call_2, T131_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_309, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_310, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					{
						LA130_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__4);
						eqdestroy___system_u2691(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
				}
				goto LA126_;
LA128_: ;
				{
					NIM_BOOL producedClosure_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T135_;
					producedClosure_1 = NIM_FALSE;
					T135_ = NIM_NIL;
					T135_ = fixupTypeAfterEval__sem_u568(c_p0, result, n_p1, (&producedClosure_1));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T135_); goto LA79_;}
					eqsink___ast_u3261(&result, T135_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
				}
LA126_: ;
			}
			goto LA121_;
LA123_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T137_;
				T137_ = NIM_NIL;
				T137_ = evalConstExpr__vm_u14299((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, call_2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T137_); goto LA79_;}
				eqsink___ast_u3261(&result, T137_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
				{
					if (!(result == 0)) goto LA140_;
					eqcopy___ast_u3255(&result, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
				}
				goto LA138_;
LA140_: ;
				{
					NIM_BOOL producedClosure_2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T143_;
					producedClosure_2 = NIM_FALSE;
					T143_ = NIM_NIL;
					T143_ = fixupTypeAfterEval__sem_u568(c_p0, result, n_p1, (&producedClosure_2));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T143_); goto LA79_;}
					eqsink___ast_u3261(&result, T143_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
				}
LA138_: ;
			}
LA121_: ;
		}
		goto LA115_;
LA119_: ;
		{
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
		}
LA115_: ;
		{
			LA79_:;
		}
		{
			oldNimErrFin79_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(call_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin79_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA77_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprFlagDispatched__sem_u662)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)5)))&31U)))!=0)) goto LA3_;
		{
			if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)7)))&31U)))!=0)) goto LA7_;
			result = tryConstExpr__sem_u600(c_p0, n_p1, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			result = semConstExpr__sem_u631(c_p0, n_p1, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA5_: ;
	}
	goto LA1_;
LA3_: ;
	{
		result = semExprWithType__sem_u63(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* evaluated_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
			if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)6)))&31U)))!=0)) goto LA13_;
			evaluated_1 = NIM_NIL;
			evaluated_1 = getConstExpr__semfold_u68((*c_p0).module, result, (*c_p0).Sup.idgen, (*c_p0).graph);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				if (!!((evaluated_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA18_;
				result = evaluated_1;
				eqwasMoved___ast_u3249(&evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA18_: ;
			T20_ = NIM_NIL;
			T20_ = evalAtCompileTime__sem_u126(c_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto LA15_;}
			eqsink___ast_u3261(&evaluated_1, T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				if (!!((evaluated_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA23_;
				result = evaluated_1;
				eqwasMoved___ast_u3249(&evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
				eqdestroy___ast_u3252(evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA23_: ;
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin15_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConstrField__sem_u27229)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initExpr_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assignment_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	assignment_1 = NIM_NIL;
	assignment_1 = locateFieldInInitExpr__sem_u27209(c_p0, field_p2, initExpr_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initValue_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T28_;
		if (!!((assignment_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA4_;
		initValue_1 = NIM_NIL;
		{
			if (!(((*assignment_1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7)))&31U)))!=0)) goto LA9_;
			eqcopy___ast_u3255(&result, (*assignment_1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqdestroy___ast_u3252(initValue_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(assignment_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA9_: ;
		{
			if (!(((*(*assignment_1)._kind_6.sons.p->data[((NI)1)]).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24)))&31U)))!=0)) goto LA13_;
		}
		goto LA11_;
LA13_: ;
		{
			NIM_BOOL T16_;
			NimStringV2 colontmpD_;
			tyArray__YgExxhfgKcesA5EOUj1MOA T20_;
			T16_ = (NIM_BOOL)0;
			T16_ = fieldVisible__sigmatch_u6167(c_p0, field_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			if (!!(T16_)) goto LA17_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			T20_[0] = (*(*field_p2).name).s;
			colontmpD_ = percent___sem_u27248(T20_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*assignment_1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_303, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			eqdestroy___system_u2691(colontmpD_);
			eqdestroy___ast_u3252(initValue_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(assignment_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA19_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA11_;
LA17_: ;
LA11_: ;
		initValue_1 = semExprFlagDispatched__sem_u662(c_p0, (*assignment_1)._kind_6.sons.p->data[((NI)1)], flags_p1, (*field_p2).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T27_;
			if (!!((initValue_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA25_;
			T27_ = NIM_NIL;
			T27_ = fitNodeConsiderViewType__sem_u235(c_p0, (*field_p2).typ, initValue_1, (*assignment_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T27_); goto LA6_;}
			eqsink___ast_u3261(&initValue_1, T27_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA25_: ;
		(*initValue_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
		T28_ = NIM_NIL;
		T28_ = newSymNode__ast_u5168(field_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T28_); goto LA6_;}
		eqsink___ast_u3261(&(*assignment_1)._kind_6.sons.p->data[((NI)0)], T28_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		eqcopy___ast_u3255(&(*assignment_1)._kind_6.sons.p->data[((NI)1)], initValue_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		(*assignment_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7))) & 31);
		result = initValue_1;
		eqwasMoved___ast_u3249(&initValue_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(initValue_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(assignment_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, findUsefulCaseContext__sem_u27315)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discrimator_p1, tyTuple__R9cYIordoMujN7rycr4Y7kw* Result) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmp_;
	NI colontmp__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__R9cYIordoMujN7rycr4Y7kw));
	colontmp_ = NIM_NIL;
	colontmp_ = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	colontmp__2 = ((NI)0);
	blitTmp_1 = colontmp_;
	eqwasMoved___ast_u3249(&colontmp_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*Result).Field0 = blitTmp_1;
	(*Result).Field1 = colontmp__2;
	{
		NI i_1;
		NI colontmp__3;
		NI T3_;
		NI res_1;
		i_1 = (NI)0;
		colontmp__3 = (NI)0;
		T3_ = ((*(*c_p0).p).caseContext.len-1);
		colontmp__3 = T3_;
		res_1 = colontmp__3;
		{
			while (1) {
				tyTuple__R9cYIordoMujN7rycr4Y7kw tmpTuple_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseNode_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* skipped_1;
				NI index_1;
				if (!(((NI)0) <= res_1)) goto LA5;
				nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__R9cYIordoMujN7rycr4Y7kw));
				caseNode_1 = NIM_NIL;
				skipped_1 = NIM_NIL;
				i_1 = ((NI) (res_1));
				eqcopy___semdata_u976((&tmpTuple_1), (*(*c_p0).p).caseContext.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				caseNode_1 = tmpTuple_1.Field0;
				eqwasMoved___ast_u3249(&tmpTuple_1.Field0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				index_1 = tmpTuple_1.Field1;
				skipped_1 = skipHidden__types_u3727((*caseNode_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				{
					NIM_BOOL T9_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmp__4;
					NI colontmp__5;
					tyTuple__R9cYIordoMujN7rycr4Y7kw T14_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_2;
					T9_ = (NIM_BOOL)0;
					T9_ = ((*skipped_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
					if (!(T9_)) goto LA10_;
					T9_ = ((*skipped_1)._kind_4.sym == (*discrimator_p1)._kind_4.sym);
LA10_: ;
					if (!T9_) goto LA11_;
					colontmp__4 = NIM_NIL;
					colontmp__4 = caseNode_1;
					eqwasMoved___ast_u3249(&caseNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					colontmp__5 = index_1;
					nimZeroMem((void*)(&T14_), sizeof(tyTuple__R9cYIordoMujN7rycr4Y7kw));
					blitTmp_2 = colontmp__4;
					eqwasMoved___ast_u3249(&colontmp__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					T14_.Field0 = blitTmp_2;
					T14_.Field1 = colontmp__5;
					eqsink___semdata_u982(Result, T14_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqdestroy___ast_u3252(colontmp__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqdestroy___ast_u3252(skipped_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(caseNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___semdata_u973(tmpTuple_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmp_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
					{
						LA13_:;
					}
					{
						oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmp__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						*nimErr_ = oldNimErrFin13_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA11_: ;
				res_1 -= ((NI)1);
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(skipped_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(caseNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___semdata_u973(tmpTuple_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmp_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, branchVals__sem_u27266)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseNode_p1, NI caseIdx_p2, NIM_BOOL isStmtBranch_p3, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	{
		if (!((*(*caseNode_p1)._kind_6.sons.p->data[caseIdx_p2]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA3_;
		initIntSet__pureZcollectionsZintsets_u598(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI val_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp_;
			val_1 = (NI)0;
			colontmp_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			colontmp_ = &(*caseNode_p1)._kind_6.sons.p->data[caseIdx_p2];
			{
				if (!((*(*colontmp_)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA8_;
				{
					NI i_1;
					NI colontmp__2;
					NI T11_;
					NI i_2;
					i_1 = (NI)0;
					colontmp__2 = (NI)0;
					T11_ = (NI)0;
					T11_ = len__ast_u3190((*colontmp_));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					colontmp__2 = (NI)(T11_ - ((NI)1));
					i_2 = ((NI)0);
					{
						while (1) {
							if (!(i_2 < colontmp__2)) goto LA13;
							i_1 = i_2;
							{
								if (!((*(*(*colontmp_))._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6) || (*(*(*colontmp_))._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5))) goto LA16_;
								val_1 = ((NI) ((*(*(*colontmp_))._kind_6.sons.p->data[i_1])._kind_1.intVal));
								incl__pureZcollectionsZintsets_u366(Result, val_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
							goto LA14_;
LA16_: ;
							{
								if (!((*(*(*colontmp_))._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA19_;
								{
									NI64 i_3;
									NI64 colontmp__3;
									NI64 colontmp__4;
									NI64 res_1;
									i_3 = (NI64)0;
									colontmp__3 = (NI64)0;
									colontmp__4 = (NI64)0;
									colontmp__3 = (*(*(*(*colontmp_))._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)])._kind_1.intVal;
									colontmp__4 = (*(*(*(*colontmp_))._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)])._kind_1.intVal;
									res_1 = colontmp__3;
									{
										while (1) {
											if (!(res_1 <= colontmp__4)) goto LA23;
											i_3 = res_1;
											val_1 = ((NI) (i_3));
											incl__pureZcollectionsZintsets_u366(Result, val_1);
											if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
											res_1 += ((NI)1);
										} LA23: ;
									}
								}
							}
							goto LA14_;
LA19_: ;
LA14_: ;
							i_2 += ((NI)1);
						} LA13: ;
					}
				}
			}
LA8_: ;
		}
	}
	goto LA1_;
LA3_: ;
	{
		getIntSetOfType__sem_u7055(c_p0, (*(*caseNode_p1)._kind_6.sons.p->data[((NI)0)]).typField, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_4;
			NI colontmp__5;
			NI T26_;
			NI i_5;
			i_4 = (NI)0;
			colontmp__5 = (NI)0;
			T26_ = (NI)0;
			T26_ = len__ast_u3190(caseNode_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp__5 = (NI)(T26_ - ((NI)1));
			i_5 = ((NI)1);
			{
				while (1) {
					if (!(i_5 < colontmp__5)) goto LA28;
					i_4 = i_5;
					{
						NI val_2;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp__6;
						val_2 = (NI)0;
						colontmp__6 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						colontmp__6 = &(*caseNode_p1)._kind_6.sons.p->data[i_4];
						{
							if (!((*(*colontmp__6)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA32_;
							{
								NI i_6;
								NI colontmp__7;
								NI T35_;
								NI i_7;
								i_6 = (NI)0;
								colontmp__7 = (NI)0;
								T35_ = (NI)0;
								T35_ = len__ast_u3190((*colontmp__6));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								colontmp__7 = (NI)(T35_ - ((NI)1));
								i_7 = ((NI)0);
								{
									while (1) {
										if (!(i_7 < colontmp__7)) goto LA37;
										i_6 = i_7;
										{
											if (!((*(*(*colontmp__6))._kind_6.sons.p->data[i_6]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6) || (*(*(*colontmp__6))._kind_6.sons.p->data[i_6]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5))) goto LA40_;
											val_2 = ((NI) ((*(*(*colontmp__6))._kind_6.sons.p->data[i_6])._kind_1.intVal));
											excl__suggestsymdb_u161(Result, val_2);
											if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										}
										goto LA38_;
LA40_: ;
										{
											if (!((*(*(*colontmp__6))._kind_6.sons.p->data[i_6]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA43_;
											{
												NI64 i_8;
												NI64 colontmp__8;
												NI64 colontmp__9;
												NI64 res_2;
												i_8 = (NI64)0;
												colontmp__8 = (NI64)0;
												colontmp__9 = (NI64)0;
												colontmp__8 = (*(*(*(*colontmp__6))._kind_6.sons.p->data[i_6])._kind_6.sons.p->data[((NI)0)])._kind_1.intVal;
												colontmp__9 = (*(*(*(*colontmp__6))._kind_6.sons.p->data[i_6])._kind_6.sons.p->data[((NI)1)])._kind_1.intVal;
												res_2 = colontmp__8;
												{
													while (1) {
														if (!(res_2 <= colontmp__9)) goto LA47;
														i_8 = res_2;
														val_2 = ((NI) (i_8));
														excl__suggestsymdb_u161(Result, val_2);
														if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
														res_2 += ((NI)1);
													} LA47: ;
												}
											}
										}
										goto LA38_;
LA43_: ;
LA38_: ;
										i_7 += ((NI)1);
									} LA37: ;
								}
							}
						}
LA32_: ;
					}
					i_5 += ((NI)1);
				} LA28: ;
			}
		}
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__sem_u9987)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_u3190(branch_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T2_ - ((NI)1));
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					if (!((*(*branch_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA7_;
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = overlap__nimsets_u32((*branch_p0)._kind_6.sons.p->data[i_1], matched_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T11_) goto LA12_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA12_: ;
				}
				goto LA5_;
LA7_: ;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = exprStructuralEquivalent__trees_u63((*branch_p0)._kind_6.sons.p->data[i_1], matched_p1, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T15_) goto LA16_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				goto LA5_;
LA16_: ;
LA5_: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, locateFieldInDefaults__sem_u27386)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_p1) {
	NIM_BOOL result;
{	result = NIM_FALSE;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** d_1;
		NI i_1;
		NI L_1;
		NI T2_;
		d_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		i_1 = ((NI)0);
		T2_ = defaults_p1.len;
		L_1 = T2_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA4;
				d_1 = &defaults_p1.p->data[i_1];
				{
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym6966__1;
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym6969__1;
					xX60gensym6966__1 = (*sym_p0).itemId;
					xX60gensym6969__1 = (*(*(*(*d_1))._kind_6.sons.p->data[((NI)0)])._kind_4.sym).itemId;
					if (!((NI)((NI)((NU32)(((NI) (xX60gensym6966__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym6966__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym6969__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym6969__1.item))))) goto LA7_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
LA7_: ;
				i_1 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__ZCZaCk14bTmSb6LMW9aWPVA, collectMissingFields__sem_u27408)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsRecList_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_p3) {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = (tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content*) newSeqPayload(0, sizeof(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*), NIM_ALIGNOF(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*));
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_1;
		r_1 = NIM_NIL;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assignment_1;
			if (!((*fieldsRecList_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA4_;
			assignment_1 = NIM_NIL;
			r_1 = fieldsRecList_p1;
			assignment_1 = locateFieldInInitExpr__sem_u27209(c_p0, (*r_1)._kind_4.sym, (*constrCtx_p2).initExpr);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				NIM_BOOL T9_;
				NIM_BOOL T11_;
				T9_ = (NIM_BOOL)0;
				T9_ = (assignment_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (!(T9_)) goto LA10_;
				T11_ = (NIM_BOOL)0;
				T11_ = locateFieldInDefaults__sem_u27386((*r_1)._kind_4.sym, defaults_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T9_ = !(T11_);
LA10_: ;
				if (!T9_) goto LA12_;
				{
					NIM_BOOL T16_;
					NIM_BOOL T17_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
					T16_ = (NIM_BOOL)0;
					T17_ = (NIM_BOOL)0;
					T17_ = (*constrCtx_p2).needsFullInit;
					if (T17_) goto LA18_;
					T17_ = (((*(*r_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)21)))&63U)))!=0);
LA18_: ;
					T16_ = T17_;
					if (T16_) goto LA19_;
					T16_ = requiresInit__typeallowed_u563((*(*r_1)._kind_4.sym).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
LA19_: ;
					if (!T16_) goto LA20_;
					colontmpD_ = eqdup___ast_u4580((*r_1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					add__renderer_u83((&(*constrCtx_p2).missingFields), colontmpD_);
				}
				goto LA14_;
LA20_: ;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
					colontmpD__2 = eqdup___ast_u4580((*r_1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					add__renderer_u83((&result), colontmpD__2);
				}
LA14_: ;
			}
LA12_: ;
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(assignment_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA2_;
LA4_: ;
		{
			{
				if (!!(((*fieldsRecList_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138)))) goto LA28_;
				failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_325);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA28_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
				field_1 = NIM_NIL;
				{
					NI i_1;
					NI colontmp_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = safeLen__ast_u3197(fieldsRecList_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					i_2 = ((NI)0);
					{
						while (1) {
							if (!(i_2 < colontmp_)) goto LA34;
							i_1 = i_2;
							eqcopy___ast_u3255(&field_1, (*fieldsRecList_p1)._kind_6.sons.p->data[i_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assignment_2;
								if (!((*field_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA37_;
								assignment_2 = NIM_NIL;
								r_1 = field_1;
								assignment_2 = locateFieldInInitExpr__sem_u27209(c_p0, (*r_1)._kind_4.sym, (*constrCtx_p2).initExpr);
								if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
								{
									NIM_BOOL T42_;
									NIM_BOOL T44_;
									T42_ = (NIM_BOOL)0;
									T42_ = (assignment_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
									if (!(T42_)) goto LA43_;
									T44_ = (NIM_BOOL)0;
									T44_ = locateFieldInDefaults__sem_u27386((*r_1)._kind_4.sym, defaults_p3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
									T42_ = !(T44_);
LA43_: ;
									if (!T42_) goto LA45_;
									{
										NIM_BOOL T49_;
										NIM_BOOL T50_;
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
										T49_ = (NIM_BOOL)0;
										T50_ = (NIM_BOOL)0;
										T50_ = (*constrCtx_p2).needsFullInit;
										if (T50_) goto LA51_;
										T50_ = (((*(*r_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)21)))&63U)))!=0);
LA51_: ;
										T49_ = T50_;
										if (T49_) goto LA52_;
										T49_ = requiresInit__typeallowed_u563((*(*r_1)._kind_4.sym).typ);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
LA52_: ;
										if (!T49_) goto LA53_;
										colontmpD__3 = eqdup___ast_u4580((*r_1)._kind_4.sym);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										add__renderer_u83((&(*constrCtx_p2).missingFields), colontmpD__3);
									}
									goto LA47_;
LA53_: ;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
										colontmpD__4 = eqdup___ast_u4580((*r_1)._kind_4.sym);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										add__renderer_u83((&result), colontmpD__4);
									}
LA47_: ;
								}
LA45_: ;
								{
									LA39_:;
								}
								{
									oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(assignment_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
									*nimErr_ = oldNimErrFin39_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							}
LA37_: ;
							i_2 += ((NI)1);
						} LA34: ;
					}
				}
				{
					LA31_:;
				}
				{
					oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(field_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin31_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
		}
LA2_: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__ZCZaCk14bTmSb6LMW9aWPVA, collectMissingCaseFields__sem_u27436)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchNode_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_p3) {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsRecList_1;
		NI T6_;
		if (!!((branchNode_p1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA3_;
		fieldsRecList_1 = NIM_NIL;
		T6_ = (NI)0;
		T6_ = len__ast_u3190(branchNode_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eqcopy___ast_u3255(&fieldsRecList_1, (*branchNode_p1)._kind_6.sons.p->data[(NI)(T6_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		result = collectMissingFields__sem_u27408(c_p0, fieldsRecList_1, constrCtx_p2, defaults_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(fieldsRecList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result.len = 0; result.p = (tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content*) newSeqPayload(0, sizeof(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*), NIM_ALIGNOF(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*));
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, collectOrAddMissingCaseFields__sem_u27451)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchNode_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q* defaults_p3) {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA res_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	res_1.len = 0; res_1.p = NIM_NIL;
	res_1 = collectMissingCaseFields__sem_u27436(c_p0, branchNode_p1, constrCtx_p2, (*defaults_p3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** sym_1;
		NI i_1;
		NI L_1;
		NI T3_;
		sym_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
		i_1 = ((NI)0);
		T3_ = res_1.len;
		L_1 = T3_;
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* asgnType_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* recTyp_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* asgnExpr_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T7_;
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T8_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
				if (!(i_1 < L_1)) goto LA5;
				asgnType_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				recTyp_1 = NIM_NIL;
				asgnExpr_1 = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				colontmpD__4 = NIM_NIL;
				colontmpD__5 = NIM_NIL;
				sym_1 = &res_1.p->data[i_1];
				colontmpD_ = owner__ast_u6246((*(*sym_1)).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				asgnType_1 = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), (*c_p0).Sup.idgen, colontmpD_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				recTyp_1 = skipTypes__ast_u5379((*(*sym_1)).typ, TM__rF9caJawfOjYTjsgLVUSGFA_326);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				rawAddSon__ast_u6706(asgnType_1, recTyp_1, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				nimZeroMem((void*)T7_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				colontmpD__2 = getSysMagic__magicsys_u26((*c_p0).graph, (*(*constrCtx_p2).initExpr).info, TM__rF9caJawfOjYTjsgLVUSGFA_328, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)277));
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				colontmpD__3 = newSymNode__ast_u5168(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T7_[0] = colontmpD__3;
				colontmpD__4 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*(*constrCtx_p2).initExpr).info, asgnType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T7_[1] = colontmpD__4;
				asgnExpr_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), T7_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				(*asgnExpr_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
				eqsink___ast_u3387(&(*asgnExpr_1).typField, recTyp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				eqwasMoved___ast_u3375(&recTyp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				nimZeroMem((void*)T8_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				colontmpD__5 = newSymNode__ast_u5168((*sym_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T8_[0] = colontmpD__5;
				T8_[1] = asgnExpr_1;
				T9_ = NIM_NIL;
				T9_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T8_, 2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA6_;}
				add__ast_u3225((&(*defaults_p3)), T9_);
				i_1 += ((NI)1);
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(asgnExpr_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(recTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(asgnType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4848(res_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pickCaseBranch__sem_u27340)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseExpr_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NIM_BOOL endsWithElse_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (NI)0;
	T1_ = len__ast_u3190(caseExpr_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	endsWithElse_1 = ((*(*caseExpr_p0)._kind_6.sons.p->data[(NI)(T1_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88));
	{
		NI i_1;
		NI colontmp_;
		NI T3_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(caseExpr_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T3_ - ((NI) (endsWithElse_1)));
		i_2 = ((NI)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA5;
				i_1 = i_2;
				{
					NIM_BOOL T8_;
					T8_ = (NIM_BOOL)0;
					T8_ = caseBranchMatchesExpr__sem_u9987((*caseExpr_p0)._kind_6.sons.p->data[i_1], matched_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T8_) goto LA9_;
					eqcopy___ast_u3255(&result, (*caseExpr_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA9_: ;
				i_2 += ((NI)1);
			} LA5: ;
		}
	}
	{
		NI T15_;
		if (!endsWithElse_1) goto LA13_;
		T15_ = (NI)0;
		T15_ = len__ast_u3190(caseExpr_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&result, (*caseExpr_p0)._kind_6.sons.p->data[(NI)(T15_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA11_;
LA13_: ;
	{
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
LA11_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, collectBranchFields__sem_u27475)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discriminatorVal_p2, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4) {
NIM_BOOL oldNimErrFin9_;
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)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchNode_1;
				tySequence__ZCZaCk14bTmSb6LMW9aWPVA colontmpD_;
				tySequence__9ahcSjIErJohSBBFLwuF56Q T18_;
				if (!(i_2 < colontmp_)) goto LA3;
				branchNode_1 = NIM_NIL;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&branchNode_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_1;
					tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_1;
					NIM_BOOL oldCheckDefault_1;
					NI T10_;
					if (!!((branchNode_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA7_;
					nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
					defaults_1.len = 0; defaults_1.p = NIM_NIL;
					oldCheckDefault_1 = (*constrCtx_p3).checkDefault;
					(*constrCtx_p3).checkDefault = NIM_TRUE;
					T10_ = (NI)0;
					T10_ = len__ast_u3190(branchNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					tmpTuple_1 = semConstructFields__sem_u27147(c_p0, (*branchNode_1)._kind_6.sons.p->data[(NI)(T10_ - ((NI)1))], constrCtx_p3, flags_p4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					defaults_1 = tmpTuple_1.Field1;
					eqwasMoved___ast_u3693((&tmpTuple_1.Field1));
					(*constrCtx_p3).checkDefault = oldCheckDefault_1;
					{
						NI T13_;
						T13_ = defaults_1.len;
						if (!(((NI)0) < T13_)) goto LA14_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*discriminatorVal_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_330, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_331, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA14_: ;
					{
						LA9_:;
					}
					{
						oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3696(defaults_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						eqdestroy___sem_u27504(tmpTuple_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						*nimErr_ = oldNimErrFin9_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA7_: ;
				T18_.len = 0; T18_.p = NIM_NIL;
				T18_.len = 0; T18_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
				colontmpD_ = collectMissingCaseFields__sem_u27436(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], constrCtx_p3, T18_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				(void)(colontmpD_);
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4848(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(branchNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, pickCaseBranchIndex__sem_u10000)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseExpr_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1) {
	NI result;
	NIM_BOOL endsWithElse_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((NI)0);
	T1_ = (NI)0;
	T1_ = len__ast_u3190(caseExpr_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	endsWithElse_1 = ((*(*caseExpr_p0)._kind_6.sons.p->data[(NI)(T1_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88));
	{
		NI i_1;
		NI colontmp_;
		NI T3_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(caseExpr_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T3_ - ((NI) (endsWithElse_1)));
		i_2 = ((NI)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA5;
				i_1 = i_2;
				{
					NIM_BOOL T8_;
					T8_ = (NIM_BOOL)0;
					T8_ = caseBranchMatchesExpr__sem_u9987((*caseExpr_p0)._kind_6.sons.p->data[i_1], matched_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T8_) goto LA9_;
					result = i_1;
					goto BeforeRet_;
				}
LA9_: ;
				i_2 += ((NI)1);
			} LA5: ;
		}
	}
	{
		NI T15_;
		if (!endsWithElse_1) goto LA13_;
		T15_ = (NI)0;
		T15_ = len__ast_u3190(caseExpr_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = (NI)(T15_ - ((NI)1));
		goto BeforeRet_;
	}
LA13_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__9ahcSjIErJohSBBFLwuF56Q, defaultFieldsForTheUninitialized__sem_u10014)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* recNode_p1, NIM_BOOL checkDefault_p2) {
	tySequence__9ahcSjIErJohSBBFLwuF56Q result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	switch ((*recNode_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
			field_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(recNode_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				i_2 = ((NI)0);
				{
					while (1) {
						tySequence__9ahcSjIErJohSBBFLwuF56Q colontmpD_;
						if (!(i_2 < colontmp_)) goto LA6;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&field_1, (*recNode_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						colontmpD_ = defaultFieldsForTheUninitialized__sem_u10014(c_p0, field_1, checkDefault_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						add__closureiters_u384((&result), ((colontmpD_).p) ? (colontmpD_.p->data) : NIM_NIL, colontmpD_.len);
						i_2 += ((NI)1);
						{
							LA7_:;
						}
						{
							oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3696(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							*nimErr_ = oldNimErrFin7_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(field_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discriminator_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* defaultValue_1;
		tySequence__9ahcSjIErJohSBBFLwuF56Q colontmpD__2;
		NI selectedBranch_1;
		tyArray__al2p7ldDMvbBVYNFCuu4Rw T23_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T24_;
		NI T25_;
		discriminator_1 = NIM_NIL;
		defaultValue_1 = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		eqcopy___ast_u3255(&discriminator_1, (*recNode_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		selectedBranch_1 = (NI)0;
		eqcopy___ast_u3255(&defaultValue_1, (*(*discriminator_1)._kind_4.sym).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
			if (!(defaultValue_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA16_;
			{
				if (!checkDefault_p2) goto LA20_;
				eqdestroy___ast_u3696(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(defaultValue_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(discriminator_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA20_: ;
			T22_ = NIM_NIL;
			T22_ = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(0));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA13_;}
			eqsink___ast_u3261(&defaultValue_1, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			eqcopy___ast_u3381(&(*defaultValue_1).typField, (*discriminator_1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
LA16_: ;
		selectedBranch_1 = pickCaseBranchIndex__sem_u10000(recNode_p1, defaultValue_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		(*defaultValue_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
		nimZeroMem((void*)T23_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
		T23_[0] = discriminator_1;
		T23_[1] = defaultValue_1;
		T24_ = NIM_NIL;
		T24_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T23_, 2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T24_); goto LA13_;}
		add__ast_u3225((&result), T24_);
		T25_ = (NI)0;
		T25_ = len__ast_u3190((*recNode_p1)._kind_6.sons.p->data[selectedBranch_1]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__2 = defaultFieldsForTheUninitialized__sem_u10014(c_p0, (*(*recNode_p1)._kind_6.sons.p->data[selectedBranch_1])._kind_6.sons.p->data[(NI)(T25_ - ((NI)1))], checkDefault_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		add__closureiters_u384((&result), ((colontmpD__2).p) ? (colontmpD__2.p->data) : NIM_NIL, colontmpD__2.len);
		{
			LA13_:;
		}
		{
			oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3696(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(defaultValue_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(discriminator_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin13_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* recType_1;
		field_2 = NIM_NIL;
		recType_1 = NIM_NIL;
		eqcopy___ast_u4577(&field_2, (*recNode_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		recType_1 = skipTypes__ast_u5379((*recNode_p1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		{
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T34_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
			if (!!(((*field_2).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA32_;
			nimZeroMem((void*)T34_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T34_[0] = recNode_p1;
			T34_[1] = (*field_2).ast;
			T35_ = NIM_NIL;
			T35_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T34_, 2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto LA29_;}
			add__ast_u3225((&result), T35_);
		}
		goto LA30_;
LA32_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* asgnExpr_1;
			if (!((*recType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*recType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16) || (*recType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18))) goto LA37_;
			asgnExpr_1 = NIM_NIL;
			asgnExpr_1 = defaultNodeField__sem_u10018(c_p0, recNode_p1, (*recNode_p1).typField, checkDefault_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			{
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T44_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
				if (!!((asgnExpr_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA42_;
				eqcopy___ast_u3381(&(*asgnExpr_1).typField, (*recNode_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
				(*asgnExpr_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
				nimZeroMem((void*)T44_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T44_[0] = recNode_p1;
				T44_[1] = asgnExpr_1;
				T45_ = NIM_NIL;
				T45_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T44_, 2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto LA39_;}
				add__ast_u3225((&result), T45_);
			}
LA42_: ;
			{
				LA39_:;
			}
			{
				oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(asgnExpr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				*nimErr_ = oldNimErrFin39_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		}
		goto LA30_;
LA37_: ;
LA30_: ;
		{
			LA29_:;
		}
		{
			oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(recType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(field_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin29_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_333);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__9ahcSjIErJohSBBFLwuF56Q, defaultFieldsForTuple__sem_u10028)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* recNode_p1, NIM_BOOL* hasDefault_p2, NIM_BOOL checkDefault_p3) {
	tySequence__9ahcSjIErJohSBBFLwuF56Q result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	switch ((*recNode_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
			field_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(recNode_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				i_2 = ((NI)0);
				{
					while (1) {
						tySequence__9ahcSjIErJohSBBFLwuF56Q colontmpD_;
						if (!(i_2 < colontmp_)) goto LA6;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&field_1, (*recNode_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						colontmpD_ = defaultFieldsForTuple__sem_u10028(c_p0, field_1, hasDefault_p2, checkDefault_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						add__closureiters_u384((&result), ((colontmpD_).p) ? (colontmpD_.p->data) : NIM_NIL, colontmpD_.len);
						i_2 += ((NI)1);
						{
							LA7_:;
						}
						{
							oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3696(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							*nimErr_ = oldNimErrFin7_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(field_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* recType_1;
		field_2 = NIM_NIL;
		recType_1 = NIM_NIL;
		eqcopy___ast_u4577(&field_2, (*recNode_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		recType_1 = skipTypes__ast_u5379((*recNode_p1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T18_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
			if (!!(((*field_2).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA16_;
			(*hasDefault_p2) = NIM_TRUE;
			nimZeroMem((void*)T18_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T18_[0] = recNode_p1;
			T18_[1] = (*field_2).ast;
			T19_ = NIM_NIL;
			T19_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T18_, 2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA13_;}
			add__ast_u3225((&result), T19_);
		}
		goto LA14_;
LA16_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* asgnType_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* asgnExpr_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T35_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T36_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T37_;
			asgnType_1 = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			asgnExpr_1 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* asgnExpr_2;
				if (!((*recType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*recType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16) || (*recType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18))) goto LA24_;
				asgnExpr_2 = NIM_NIL;
				asgnExpr_2 = defaultNodeField__sem_u10018(c_p0, recNode_p1, (*recNode_p1).typField, checkDefault_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				{
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T31_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
					if (!!((asgnExpr_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA29_;
					(*hasDefault_p2) = NIM_TRUE;
					(*asgnExpr_2).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
					nimZeroMem((void*)T31_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T31_[0] = recNode_p1;
					T31_[1] = asgnExpr_2;
					T32_ = NIM_NIL;
					T32_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T31_, 2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA26_;}
					add__ast_u3225((&result), T32_);
					eqdestroy___ast_u3252(asgnExpr_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					eqdestroy___ast_u3252(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqdestroy___ast_u4574(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqdestroy___ast_u3252(asgnExpr_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqdestroy___ast_u4574(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqdestroy___ast_u3378(asgnType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqdestroy___ast_u3378(recType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u4574(field_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA29_: ;
				{
					LA26_:;
				}
				{
					oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(asgnExpr_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					*nimErr_ = oldNimErrFin26_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			}
LA24_: ;
			colontmpD__2 = owner__ast_u6246((*recNode_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			asgnType_1 = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), (*c_p0).Sup.idgen, colontmpD__2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			rawAddSon__ast_u6706(asgnType_1, (*recNode_p1).typField, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			nimZeroMem((void*)T35_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			colontmpD__3 = getSysMagic__magicsys_u26((*c_p0).graph, (*recNode_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_336, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)277));
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			colontmpD__4 = newSymNode__ast_u5168(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			T35_[0] = colontmpD__4;
			colontmpD__5 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*recNode_p1).info, asgnType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			T35_[1] = colontmpD__5;
			asgnExpr_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), T35_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			(*asgnExpr_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
			eqcopy___ast_u3381(&(*asgnExpr_1).typField, (*recNode_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			nimZeroMem((void*)T36_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T36_[0] = recNode_p1;
			T36_[1] = asgnExpr_1;
			T37_ = NIM_NIL;
			T37_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T36_, 2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T37_); goto LA21_;}
			add__ast_u3225((&result), T37_);
			{
				LA21_:;
			}
			{
				oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				eqdestroy___ast_u3252(asgnExpr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				eqdestroy___ast_u3378(asgnType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				*nimErr_ = oldNimErrFin21_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
LA14_: ;
		{
			LA13_:;
		}
		{
			oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(recType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(field_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin13_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_337);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, defaultNodeField__sem_u10018)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* aTyp_p2, NIM_BOOL checkDefault_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* aTypSkip_1;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	aTypSkip_1 = NIM_NIL;
	aTypSkip_1 = skipTypes__ast_u5379(aTyp_p2, TM__rF9caJawfOjYTjsgLVUSGFA_326);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*aTypSkip_1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17):
	{
		tySequence__9ahcSjIErJohSBBFLwuF56Q child_1;
		child_1.len = 0; child_1.p = NIM_NIL;
		child_1 = defaultFieldsForTheUninitialized__sem_u10014(c_p0, (*aTypSkip_1).n, checkDefault_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			NI T6_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* asgnExpr_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyArray__TAsXwXSUBvAawE1kIQ5ziQ T10_;
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T11_;
			T6_ = child_1.len;
			if (!(((NI)0) < T6_)) goto LA7_;
			asgnExpr_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			nimZeroMem((void*)T10_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
			colontmpD_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*a_p1).info, aTyp_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			T10_[0] = colontmpD_;
			asgnExpr_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38), T10_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			eqcopy___ast_u3381(&(*asgnExpr_1).typField, aTyp_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			add__closureiters_u384((&(*asgnExpr_1)._kind_6.sons), ((child_1).p) ? (child_1.p->data) : NIM_NIL, child_1.len);
			T11_ = 0;
			result = semExpr__sem_u58(c_p0, asgnExpr_1, T11_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u3252(asgnExpr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
		goto LA4_;
LA7_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA4_: ;
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3696(child_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_2;
		child_2 = NIM_NIL;
		child_2 = defaultNodeField__sem_u10018(c_p0, a_p1, (*aTypSkip_1).sons.p->data[((NI)1)], checkDefault_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typeNode_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T24_;
			NI64 T25_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T26_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T27_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T28_;
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T29_;
			if (!!((child_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA21_;
			node_1 = NIM_NIL;
			typeNode_1 = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			node_1 = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6));
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T24_ = lengthOrd__types_u1491((*(*c_p0).graph).config, aTypSkip_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T25_ = (NI64)0;
			T25_ = toInt64__int128_u53(T24_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			(*node_1)._kind_1.intVal = T25_;
			typeNode_1 = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T26_ = NIM_NIL;
			T26_ = makeTypeDesc__semdata_u4621(c_p0, (*aTypSkip_1).sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T26_); goto LA23_;}
			eqsink___ast_u3387(&(*typeNode_1).typField, T26_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			nimZeroMem((void*)T27_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			nimZeroMem((void*)T28_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			colontmpD__2 = getSysSym__magicsys_u17((*c_p0).graph, (*a_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_335);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			colontmpD__3 = newSymNode__ast_u5171(colontmpD__2, (*a_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T28_[0] = colontmpD__3;
			T28_[1] = typeNode_1;
			colontmpD__4 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T28_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T27_[0] = colontmpD__4;
			T27_[1] = node_1;
			colontmpD__5 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), T27_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T29_ = 0;
			result = semExpr__sem_u58(c_p0, colontmpD__5, T29_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			eqcopy___ast_u3381(&(*result).typField, aTyp_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				LA23_:;
			}
			{
				oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqdestroy___ast_u3252(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqdestroy___ast_u3252(typeNode_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqdestroy___ast_u3252(node_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				*nimErr_ = oldNimErrFin23_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA19_;
LA21_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA19_: ;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(child_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		NIM_BOOL hasDefault_1;
		hasDefault_1 = NIM_FALSE;
		{
			tySequence__9ahcSjIErJohSBBFLwuF56Q children_1;
			if (!!(((*aTypSkip_1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA38_;
			children_1.len = 0; children_1.p = NIM_NIL;
			children_1 = defaultFieldsForTuple__sem_u10028(c_p0, (*aTypSkip_1).n, (&hasDefault_1), checkDefault_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
			{
				NIM_BOOL T43_;
				NI T45_;
				tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T48_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T49_;
				T43_ = (NIM_BOOL)0;
				T43_ = hasDefault_1;
				if (!(T43_)) goto LA44_;
				T45_ = children_1.len;
				T43_ = (((NI)0) < T45_);
LA44_: ;
				if (!T43_) goto LA46_;
				result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160), (*a_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				eqcopy___ast_u3381(&(*result).typField, aTyp_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				add__closureiters_u384((&(*result)._kind_6.sons), ((children_1).p) ? (children_1.p->data) : NIM_NIL, children_1.len);
				T48_ = 0;
				T49_ = NIM_NIL;
				T49_ = semExpr__sem_u58(c_p0, result, T48_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T49_); goto LA40_;}
				eqsink___ast_u3261(&result, T49_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
			}
			goto LA41_;
LA46_: ;
			{
				result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			}
LA41_: ;
			{
				LA40_:;
			}
			{
				oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3696(children_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin40_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA36_;
LA38_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA36_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20):
	{
		{
			NIM_BOOL T57_;
			T57_ = (NIM_BOOL)0;
			T57_ = isDefined__options_u959((*(*c_p0).graph).config, TM__rF9caJawfOjYTjsgLVUSGFA_338);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T57_) goto LA58_;
			result = firstRange__sem_u6658((*(*c_p0).graph).config, aTypSkip_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA55_;
LA58_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA55_: ;
	}
	break;
	default:
	{
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(aTypSkip_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, defaultNodeField__sem_u10023)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, NIM_BOOL checkDefault_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = defaultNodeField__sem_u10018(c_p0, a_p1, (*a_p1).typField, checkDefault_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA, semConstructFields__sem_u27147)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3) {
	tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA result;
	tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
	tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA colontmp__2;
	tySequence__9ahcSjIErJohSBBFLwuF56Q blitTmp_1;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin75_;
NIM_BOOL oldNimErrFin92_;
NIM_BOOL oldNimErrFin110_;
NIM_BOOL oldNimErrFin128_;
NIM_BOOL oldNimErrFin83_;
NIM_BOOL oldNimErrFin170_;
NIM_BOOL oldNimErrFin188_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin223_;
NIM_BOOL oldNimErrFin218_;
NIM_BOOL oldNimErrFin211_;
NIM_BOOL oldNimErrFin233_;
NIM_BOOL oldNimErrFin247_;
NIM_BOOL oldNimErrFin242_;
NIM_BOOL oldNimErrFin202_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin280_;
NIM_BOOL oldNimErrFin259_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
	colontmp_.len = 0; colontmp_.p = NIM_NIL;
	colontmp__2 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0);
	colontmp_.len = 0; colontmp_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	result.Field0 = colontmp__2;
	blitTmp_1 = colontmp_;
	eqwasMoved___ast_u3693((&colontmp_));
	result.Field1 = blitTmp_1;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
			field_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp__3;
				NI i_2;
				i_1 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_1;
						tySequence__9ahcSjIErJohSBBFLwuF56Q subDf_1;
						tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA subSt_1;
						if (!(i_2 < colontmp__3)) goto LA7;
						nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
						subDf_1.len = 0; subDf_1.p = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&field_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						tmpTuple_1 = semConstructFields__sem_u27147(c_p0, field_1, constrCtx_p2, flags_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						subSt_1 = tmpTuple_1.Field0;
						subDf_1 = tmpTuple_1.Field1;
						eqwasMoved___ast_u3693((&tmpTuple_1.Field1));
						mergeInitStatus__sem_u27154((&result.Field0), subSt_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						add__closureiters_u384((&result.Field1), ((subDf_1).p) ? (subDf_1.p->data) : NIM_NIL, subDf_1.len);
						i_2 += ((NI)1);
						{
							LA8_:;
						}
						{
							oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3696(subDf_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
							eqdestroy___sem_u27504(tmpTuple_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
							*nimErr_ = oldNimErrFin8_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					} LA7: ;
				}
			}
			{
				LA4_:;
			}
			{
				oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(field_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discriminator_1;
		NI selectedBranch_1;
		discriminator_1 = NIM_NIL;
		eqcopy___ast_u3255(&discriminator_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			NimStringV2 argX60gensym6988__1;
			if (!!(((*discriminator_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA17_;
			argX60gensym6988__1.len = 0; argX60gensym6988__1.p = NIM_NIL;
			argX60gensym6988__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_285);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym6988__1, TM__rF9caJawfOjYTjsgLVUSGFA_285);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			{
				LA19_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym6988__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA17_: ;
		selectedBranch_1 = ((NI)-1);
		{
			NI i_3;
			NI colontmp__4;
			NI i_4;
			i_3 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* innerRecords_1;
					tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_2;
					NI T26_;
					tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA status_1;
					if (!(i_4 < colontmp__4)) goto LA24;
					innerRecords_1 = NIM_NIL;
					nimZeroMem((void*)(&tmpTuple_2), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
					i_3 = i_4;
					T26_ = (NI)0;
					T26_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					eqcopy___ast_u3255(&innerRecords_1, (*(*n_p1)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[(NI)(T26_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					tmpTuple_2 = semConstructFields__sem_u27147(c_p0, innerRecords_1, constrCtx_p2, flags_p3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					status_1 = tmpTuple_2.Field0;
					{
						if (!!((status_1 == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3) || status_1 == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0)))) goto LA29_;
						mergeInitStatus__sem_u27154((&result.Field0), status_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						{
							NimStringV2 prevFields_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym6996__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsX60gensym6996__1;
							NimStringV2 currentFields_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym7001__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsX60gensym7001__1;
							NimStringV2 colontmpD_;
							NI T36_;
							NI T37_;
							tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T38_;
							if (!!((selectedBranch_1 == ((NI)-1)))) goto LA33_;
							prevFields_1.len = 0; prevFields_1.p = NIM_NIL;
							branchX60gensym6996__1 = NIM_NIL;
							fieldsX60gensym6996__1 = NIM_NIL;
							currentFields_1.len = 0; currentFields_1.p = NIM_NIL;
							branchX60gensym7001__1 = NIM_NIL;
							fieldsX60gensym7001__1 = NIM_NIL;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							eqcopy___ast_u3255(&branchX60gensym6996__1, (*n_p1)._kind_6.sons.p->data[selectedBranch_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							T36_ = (NI)0;
							T36_ = len__ast_u3190(branchX60gensym6996__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							eqcopy___ast_u3255(&fieldsX60gensym6996__1, (*branchX60gensym6996__1)._kind_6.sons.p->data[(NI)(T36_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							prevFields_1 = fieldsPresentInInitExpr__sem_u27376(c_p0, fieldsX60gensym6996__1, (*constrCtx_p2).initExpr);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							eqcopy___ast_u3255(&branchX60gensym7001__1, (*n_p1)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							T37_ = (NI)0;
							T37_ = len__ast_u3190(branchX60gensym7001__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							eqcopy___ast_u3255(&fieldsX60gensym7001__1, (*branchX60gensym7001__1)._kind_6.sons.p->data[(NI)(T37_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							currentFields_1 = fieldsPresentInInitExpr__sem_u27376(c_p0, fieldsX60gensym7001__1, (*constrCtx_p2).initExpr);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							T38_[0] = prevFields_1;
							T38_[1] = currentFields_1;
							colontmpD_ = percent___sem_u27578(T38_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*constrCtx_p2).initExpr).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_302, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)4);
							{
								LA35_:;
							}
							{
								oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___system_u2691(colontmpD_);
								eqdestroy___ast_u3252(fieldsX60gensym7001__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
								eqdestroy___ast_u3252(branchX60gensym7001__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
								eqdestroy___system_u2691(currentFields_1);
								eqdestroy___ast_u3252(fieldsX60gensym6996__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
								eqdestroy___ast_u3252(branchX60gensym6996__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
								eqdestroy___system_u2691(prevFields_1);
								*nimErr_ = oldNimErrFin35_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						}
						goto LA31_;
LA33_: ;
						{
							selectedBranch_1 = i_3;
						}
LA31_: ;
					}
LA29_: ;
					i_4 += ((NI)1);
					{
						LA25_:;
					}
					{
						oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___sem_u27504(tmpTuple_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						eqdestroy___ast_u3252(innerRecords_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						*nimErr_ = oldNimErrFin25_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				} LA24: ;
			}
		}
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchNode_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discriminatorVal_1;
			tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_3;
			tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_1;
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_2;
			NI T194_;
			if (!!((selectedBranch_1 == ((NI)-1)))) goto LA46_;
			branchNode_1 = NIM_NIL;
			discriminatorVal_1 = NIM_NIL;
			nimZeroMem((void*)(&tmpTuple_3), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
			defaults_1.len = 0; defaults_1.p = NIM_NIL;
			eqcopy___ast_u3255(&branchNode_1, (*n_p1)._kind_6.sons.p->data[selectedBranch_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			flags_2 = 192;
			discriminatorVal_1 = semConstrField__sem_u27229(c_p0, flags_2, (*discriminator_1)._kind_4.sym, (*constrCtx_p2).initExpr);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T53_;
				if (!!((discriminatorVal_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA51_;
				T53_ = NIM_NIL;
				T53_ = skipHidden__types_u3727(discriminatorVal_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T53_); goto LA48_;}
				eqsink___ast_u3261(&discriminatorVal_1, T53_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
				{
					NIM_BOOL T56_;
					NIM_BOOL T58_;
					NIM_BOOL T59_;
					NIM_BOOL T60_;
					tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T62_;
					tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T64_;
					T56_ = (NIM_BOOL)0;
					T56_ = !(((*discriminatorVal_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*discriminatorVal_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22)));
					if (!(T56_)) goto LA57_;
					T58_ = (NIM_BOOL)0;
					T59_ = (NIM_BOOL)0;
					T60_ = (NIM_BOOL)0;
					T60_ = isOrdinalType__types_u283((*discriminatorVal_1).typField, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T59_ = !(T60_);
					if (T59_) goto LA61_;
					T62_ = lengthOrd__types_u1491((*(*c_p0).graph).config, (*discriminatorVal_1).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T59_ = lt___int128_u959(IL64(65536), T62_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
LA61_: ;
					T58_ = T59_;
					if (T58_) goto LA63_;
					T64_ = lengthOrd__types_u1491((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T58_ = lt___int128_u959(IL64(65536), T64_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
LA63_: ;
					T56_ = T58_;
LA57_: ;
					if (!T56_) goto LA65_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*discriminatorVal_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_312, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_313, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
				}
LA65_: ;
			}
LA51_: ;
			{
				if (!(discriminatorVal_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA69_;
				{
					NimStringV2 fieldsX60gensym7024__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym7025__1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsX60gensym7025__1;
					NimStringV2 colontmpD__2;
					NI T76_;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T77_;
					if (!((*c_p0).inUncheckedAssignSection == ((NI)0))) goto LA73_;
					fieldsX60gensym7024__1.len = 0; fieldsX60gensym7024__1.p = NIM_NIL;
					branchX60gensym7025__1 = NIM_NIL;
					fieldsX60gensym7025__1 = NIM_NIL;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					eqcopy___ast_u3255(&branchX60gensym7025__1, (*n_p1)._kind_6.sons.p->data[selectedBranch_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
					T76_ = (NI)0;
					T76_ = len__ast_u3190(branchX60gensym7025__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
					eqcopy___ast_u3255(&fieldsX60gensym7025__1, (*branchX60gensym7025__1)._kind_6.sons.p->data[(NI)(T76_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
					fieldsX60gensym7024__1 = fieldsPresentInInitExpr__sem_u27376(c_p0, fieldsX60gensym7025__1, (*constrCtx_p2).initExpr);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
					T77_[0] = fieldsX60gensym7024__1;
					T77_[1] = (*(*(*discriminator_1)._kind_4.sym).name).s;
					colontmpD__2 = percent___sem_u27611(T77_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*constrCtx_p2).initExpr).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_314, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
					{
						LA75_:;
					}
					{
						oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___system_u2691(colontmpD__2);
						eqdestroy___ast_u3252(fieldsX60gensym7025__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqdestroy___ast_u3252(branchX60gensym7025__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqdestroy___system_u2691(fieldsX60gensym7024__1);
						*nimErr_ = oldNimErrFin75_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
				}
LA73_: ;
				mergeInitStatus__sem_u27154((&result.Field0), ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3));
				if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			}
			goto LA67_;
LA69_: ;
			{
				tyTuple__R9cYIordoMujN7rycr4Y7kw tmpTuple_4;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ctorCase_1;
				NI ctorIdx_1;
				if (!((*discriminatorVal_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA81_;
				nimZeroMem((void*)(&tmpTuple_4), sizeof(tyTuple__R9cYIordoMujN7rycr4Y7kw));
				ctorCase_1 = NIM_NIL;
				findUsefulCaseContext__sem_u27315(c_p0, discriminatorVal_1, (&tmpTuple_4));
				if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
				ctorCase_1 = tmpTuple_4.Field0;
				eqwasMoved___ast_u3249(&tmpTuple_4.Field0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
				ctorIdx_1 = tmpTuple_4.Field1;
				{
					if (!(ctorCase_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA86_;
					{
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA rangeVals_1;
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA recBranchVals_1;
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA diff_1;
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA T93_;
						if (!((*(*discriminatorVal_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20))) goto LA90_;
						nimZeroMem((void*)(&rangeVals_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						nimZeroMem((void*)(&recBranchVals_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						nimZeroMem((void*)(&diff_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						getIntSetOfType__sem_u7055(c_p0, (*discriminatorVal_1).typField, (&rangeVals_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
						branchVals__sem_u27266(c_p0, n_p1, selectedBranch_1, NIM_FALSE, (&recBranchVals_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
						nimZeroMem((void*)(&T93_), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						minus___sem_u7234((&rangeVals_1), (&recBranchVals_1), (&T93_));
						diff_1 = T93_;
						if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
						{
							NI T96_;
							NimStringV2 colontmpD__3;
							NimStringV2 colontmpD__4;
							NimStringV2 colontmpD__5;
							tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T100_;
							T96_ = (NI)0;
							T96_ = len__nilcheck_u3393((&diff_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
							if (!!((T96_ == ((NI)0)))) goto LA97_;
							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__3 = dollar___systemZdollars_u9(selectedBranch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
							T100_[0] = colontmpD__3;
							colontmpD__4 = renderAsType__sem_u7127((&diff_1), (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
							T100_[1] = colontmpD__4;
							colontmpD__5 = percent___sem_u27693(T100_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*discriminatorVal_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_315, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
							{
								LA99_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__5);
								eqdestroy___system_u2691(colontmpD__4);
								eqdestroy___system_u2691(colontmpD__3);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
						}
LA97_: ;
						{
							LA92_:;
						}
						{
							oldNimErrFin92_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___pureZcollectionsZintsets_u230((&diff_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
							eqdestroy___pureZcollectionsZintsets_u230((&recBranchVals_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
							eqdestroy___pureZcollectionsZintsets_u230((&rangeVals_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
							*nimErr_ = oldNimErrFin92_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
					}
					goto LA88_;
LA90_: ;
					{
						{
							NimStringV2 fieldsX60gensym7042__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym7043__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsX60gensym7043__1;
							NimStringV2 colontmpD__6;
							NI T111_;
							tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T112_;
							if (!((*c_p0).inUncheckedAssignSection == ((NI)0))) goto LA108_;
							fieldsX60gensym7042__1.len = 0; fieldsX60gensym7042__1.p = NIM_NIL;
							branchX60gensym7043__1 = NIM_NIL;
							fieldsX60gensym7043__1 = NIM_NIL;
							colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
							eqcopy___ast_u3255(&branchX60gensym7043__1, (*n_p1)._kind_6.sons.p->data[selectedBranch_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
							T111_ = (NI)0;
							T111_ = len__ast_u3190(branchX60gensym7043__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
							eqcopy___ast_u3255(&fieldsX60gensym7043__1, (*branchX60gensym7043__1)._kind_6.sons.p->data[(NI)(T111_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
							fieldsX60gensym7042__1 = fieldsPresentInInitExpr__sem_u27376(c_p0, fieldsX60gensym7043__1, (*constrCtx_p2).initExpr);
							if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
							T112_[0] = fieldsX60gensym7042__1;
							T112_[1] = (*(*(*discriminator_1)._kind_4.sym).name).s;
							colontmpD__6 = percent___sem_u27611(T112_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*constrCtx_p2).initExpr).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_314, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
							{
								LA110_:;
							}
							{
								oldNimErrFin110_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___system_u2691(colontmpD__6);
								eqdestroy___ast_u3252(fieldsX60gensym7043__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
								eqdestroy___ast_u3252(branchX60gensym7043__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
								eqdestroy___system_u2691(fieldsX60gensym7042__1);
								*nimErr_ = oldNimErrFin110_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
						}
LA108_: ;
						mergeInitStatus__sem_u27154((&result.Field0), ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3));
						if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
					}
LA88_: ;
				}
				goto LA84_;
LA86_: ;
				{
					NIM_BOOL T116_;
					T116_ = (NIM_BOOL)0;
					T116_ = !(((*(*discriminatorVal_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*discriminatorVal_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3)));
					if (T116_) goto LA117_;
					T116_ = ((*(*(*discriminatorVal_1)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA117_: ;
					if (!T116_) goto LA118_;
					{
						if (!((*c_p0).inUncheckedAssignSection == ((NI)0))) goto LA122_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*discriminatorVal_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_317, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_318, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
					}
LA122_: ;
				}
				goto LA84_;
LA118_: ;
				{
					if (!((*(*ctorCase_1)._kind_6.sons.p->data[ctorIdx_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86))) goto LA125_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*discriminatorVal_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_320, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_321, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
				}
				goto LA84_;
LA125_: ;
				{
					tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA ctorBranchVals_1;
					tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA recBranchVals_2;
					tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA branchValsDiff_1;
					nimZeroMem((void*)(&ctorBranchVals_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
					nimZeroMem((void*)(&recBranchVals_2), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
					nimZeroMem((void*)(&branchValsDiff_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
					branchVals__sem_u27266(c_p0, ctorCase_1, ctorIdx_1, NIM_TRUE, (&ctorBranchVals_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					branchVals__sem_u27266(c_p0, n_p1, selectedBranch_1, NIM_FALSE, (&recBranchVals_2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					minus___sem_u7234((&ctorBranchVals_1), (&recBranchVals_2), (&branchValsDiff_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					{
						NI T131_;
						NimStringV2 colontmpD__7;
						NimStringV2 colontmpD__8;
						NimStringV2 colontmpD__9;
						tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T135_;
						T131_ = (NI)0;
						T131_ = len__nilcheck_u3393((&branchValsDiff_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
						if (!!((T131_ == ((NI)0)))) goto LA132_;
						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__7 = dollar___systemZdollars_u9(selectedBranch_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						T135_[0] = colontmpD__7;
						colontmpD__8 = renderAsType__sem_u7127((&branchValsDiff_1), (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						T135_[1] = colontmpD__8;
						colontmpD__9 = percent___sem_u27693(T135_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*discriminatorVal_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_322, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						{
							LA134_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__9);
							eqdestroy___system_u2691(colontmpD__8);
							eqdestroy___system_u2691(colontmpD__7);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					}
LA132_: ;
					{
						LA128_:;
					}
					{
						oldNimErrFin128_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___pureZcollectionsZintsets_u230((&branchValsDiff_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
						eqdestroy___pureZcollectionsZintsets_u230((&recBranchVals_2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
						eqdestroy___pureZcollectionsZintsets_u230((&ctorBranchVals_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
						*nimErr_ = oldNimErrFin128_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
				}
LA84_: ;
				{
					LA83_:;
				}
				{
					oldNimErrFin83_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(ctorCase_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					eqdestroy___semdata_u973(tmpTuple_4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					*nimErr_ = oldNimErrFin83_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			}
			goto LA67_;
LA81_: ;
			{
				NI failedBranch_1;
				failedBranch_1 = ((NI)-1);
				{
					if (!!(((*branchNode_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88)))) goto LA145_;
					{
						NIM_BOOL T149_;
						T149_ = (NIM_BOOL)0;
						T149_ = caseBranchMatchesExpr__sem_u9987(branchNode_1, discriminatorVal_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						if (!!(T149_)) goto LA150_;
						failedBranch_1 = selectedBranch_1;
					}
LA150_: ;
				}
				goto LA143_;
LA145_: ;
				{
					{
						NI i_5;
						NI colontmp__5;
						NI T154_;
						NI i_6;
						i_5 = (NI)0;
						colontmp__5 = (NI)0;
						T154_ = (NI)0;
						T154_ = len__ast_u3190(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						colontmp__5 = (NI)(T154_ - ((NI)1));
						i_6 = ((NI)1);
						{
							while (1) {
								if (!(i_6 < colontmp__5)) goto LA156;
								i_5 = i_6;
								{
									NIM_BOOL T159_;
									T159_ = (NIM_BOOL)0;
									T159_ = caseBranchMatchesExpr__sem_u9987((*n_p1)._kind_6.sons.p->data[i_5], discriminatorVal_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
									if (!T159_) goto LA160_;
									failedBranch_1 = i_5;
									goto LA153;
								}
LA160_: ;
								i_6 += ((NI)1);
							} LA156: ;
						}
					} LA153: ;
				}
LA143_: ;
				{
					if (!!((failedBranch_1 == ((NI)-1)))) goto LA164_;
					{
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA rangeVals_2;
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA recBranchVals_3;
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA diff_2;
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA T171_;
						if (!((*(*discriminatorVal_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20))) goto LA168_;
						nimZeroMem((void*)(&rangeVals_2), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						nimZeroMem((void*)(&recBranchVals_3), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						nimZeroMem((void*)(&diff_2), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						getIntSetOfType__sem_u7055(c_p0, (*discriminatorVal_1).typField, (&rangeVals_2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						branchVals__sem_u27266(c_p0, n_p1, selectedBranch_1, NIM_FALSE, (&recBranchVals_3));
						if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						nimZeroMem((void*)(&T171_), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						minus___sem_u7234((&rangeVals_2), (&recBranchVals_3), (&T171_));
						diff_2 = T171_;
						if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						{
							NI T174_;
							NimStringV2 colontmpD__10;
							NimStringV2 colontmpD__11;
							NimStringV2 colontmpD__12;
							tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T178_;
							T174_ = (NI)0;
							T174_ = len__nilcheck_u3393((&diff_2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
							if (!!((T174_ == ((NI)0)))) goto LA175_;
							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__10 = dollar___systemZdollars_u9(selectedBranch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA177_;
							T178_[0] = colontmpD__10;
							colontmpD__11 = renderAsType__sem_u7127((&diff_2), (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA177_;
							T178_[1] = colontmpD__11;
							colontmpD__12 = percent___sem_u27693(T178_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA177_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*discriminatorVal_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__12, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_323, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA177_;
							{
								LA177_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__12);
								eqdestroy___system_u2691(colontmpD__11);
								eqdestroy___system_u2691(colontmpD__10);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						}
LA175_: ;
						{
							LA170_:;
						}
						{
							oldNimErrFin170_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___pureZcollectionsZintsets_u230((&diff_2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							eqdestroy___pureZcollectionsZintsets_u230((&recBranchVals_3));
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							eqdestroy___pureZcollectionsZintsets_u230((&rangeVals_2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							*nimErr_ = oldNimErrFin170_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					}
					goto LA166_;
LA168_: ;
					{
						{
							NimStringV2 fieldsX60gensym7079__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchX60gensym7080__1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fieldsX60gensym7080__1;
							NimStringV2 colontmpD__13;
							NimStringV2 colontmpD__14;
							NI T189_;
							tyArray__dyW7vpmfeTYw8kX3EXuaJA T190_;
							tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T191_;
							if (!((*c_p0).inUncheckedAssignSection == ((NI)0))) goto LA186_;
							fieldsX60gensym7079__1.len = 0; fieldsX60gensym7079__1.p = NIM_NIL;
							branchX60gensym7080__1 = NIM_NIL;
							fieldsX60gensym7080__1 = NIM_NIL;
							colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
							colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
							eqcopy___ast_u3255(&branchX60gensym7080__1, (*n_p1)._kind_6.sons.p->data[failedBranch_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							T189_ = (NI)0;
							T189_ = len__ast_u3190(branchX60gensym7080__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							eqcopy___ast_u3255(&fieldsX60gensym7080__1, (*branchX60gensym7080__1)._kind_6.sons.p->data[(NI)(T189_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							fieldsX60gensym7079__1 = fieldsPresentInInitExpr__sem_u27376(c_p0, fieldsX60gensym7080__1, (*constrCtx_p2).initExpr);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							T190_[0] = (*(*(*discriminator_1)._kind_4.sym).name).s;
							T191_ = 0;
							colontmpD__13 = renderTree__renderer_u59(discriminatorVal_1, T191_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							T190_[1] = colontmpD__13;
							T190_[2] = fieldsX60gensym7079__1;
							colontmpD__14 = percent___sem_u27872(T190_, 3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*constrCtx_p2).initExpr).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_324, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							{
								LA188_:;
							}
							{
								oldNimErrFin188_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___system_u2691(colontmpD__14);
								eqdestroy___system_u2691(colontmpD__13);
								eqdestroy___ast_u3252(fieldsX60gensym7080__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								eqdestroy___ast_u3252(branchX60gensym7080__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								eqdestroy___system_u2691(fieldsX60gensym7079__1);
								*nimErr_ = oldNimErrFin188_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						}
LA186_: ;
					}
LA166_: ;
				}
LA164_: ;
			}
LA67_: ;
			T194_ = (NI)0;
			T194_ = len__ast_u3190(branchNode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			tmpTuple_3 = semConstructFields__sem_u27147(c_p0, (*branchNode_1)._kind_6.sons.p->data[(NI)(T194_ - ((NI)1))], constrCtx_p2, flags_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			defaults_1 = tmpTuple_3.Field1;
			eqwasMoved___ast_u3693((&tmpTuple_3.Field1));
			add__closureiters_u384((&result.Field1), ((defaults_1).p) ? (defaults_1.p->data) : NIM_NIL, defaults_1.len);
			{
				if (!(result.Field0 == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)2))) goto LA197_;
				collectOrAddMissingCaseFields__sem_u27451(c_p0, branchNode_1, constrCtx_p2, (&result.Field1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			}
LA197_: ;
			{
				LA48_:;
			}
			{
				oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3696(defaults_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___sem_u27504(tmpTuple_3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u3252(discriminatorVal_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u3252(branchNode_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				*nimErr_ = oldNimErrFin48_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
		goto LA44_;
LA46_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discriminatorVal_2;
			discriminatorVal_2 = NIM_NIL;
			result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3);
			discriminatorVal_2 = semConstrField__sem_u27229(c_p0, (flags_p3 | 64), (*discriminator_1)._kind_4.sym, (*constrCtx_p2).initExpr);
			if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
			{
				if (!(discriminatorVal_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA205_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* discriminatorDefaultVal_1;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T212_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T213_;
					if (!!(((*(*discriminator_1)._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA209_;
					discriminatorDefaultVal_1 = NIM_NIL;
					eqcopy___ast_u3255(&discriminatorDefaultVal_1, (*(*discriminator_1)._kind_4.sym).ast);
					if (NIM_UNLIKELY(*nimErr_)) goto LA211_;
					result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0);
					nimZeroMem((void*)T212_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T212_[0] = (*n_p1)._kind_6.sons.p->data[((NI)0)];
					T212_[1] = discriminatorDefaultVal_1;
					T213_ = NIM_NIL;
					T213_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T212_, 2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T213_); goto LA211_;}
					add__ast_u3225((&result.Field1), T213_);
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matchedBranch_1;
						if (!((*discriminatorDefaultVal_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6))) goto LA216_;
						matchedBranch_1 = NIM_NIL;
						matchedBranch_1 = pickCaseBranch__sem_u27340(n_p1, discriminatorDefaultVal_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
						{
							tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_5;
							tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_2;
							NI T224_;
							if (!!((matchedBranch_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA221_;
							nimZeroMem((void*)(&tmpTuple_5), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
							defaults_2.len = 0; defaults_2.p = NIM_NIL;
							T224_ = (NI)0;
							T224_ = len__ast_u3190(matchedBranch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
							tmpTuple_5 = semConstructFields__sem_u27147(c_p0, (*matchedBranch_1)._kind_6.sons.p->data[(NI)(T224_ - ((NI)1))], constrCtx_p2, flags_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
							defaults_2 = tmpTuple_5.Field1;
							eqwasMoved___ast_u3693((&tmpTuple_5.Field1));
							add__closureiters_u384((&result.Field1), ((defaults_2).p) ? (defaults_2.p->data) : NIM_NIL, defaults_2.len);
							collectOrAddMissingCaseFields__sem_u27451(c_p0, matchedBranch_1, constrCtx_p2, (&result.Field1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
							{
								LA223_:;
							}
							{
								oldNimErrFin223_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3696(defaults_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
								eqdestroy___sem_u27504(tmpTuple_5);
								if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
								*nimErr_ = oldNimErrFin223_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
						}
LA221_: ;
						{
							LA218_:;
						}
						{
							oldNimErrFin218_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(matchedBranch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA211_;
							*nimErr_ = oldNimErrFin218_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA211_;
					}
					goto LA214_;
LA216_: ;
					{
						collectBranchFields__sem_u27475(c_p0, n_p1, discriminatorDefaultVal_1, constrCtx_p2, flags_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA211_;
					}
LA214_: ;
					{
						LA211_:;
					}
					{
						oldNimErrFin211_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(discriminatorDefaultVal_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
						*nimErr_ = oldNimErrFin211_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
				}
				goto LA207_;
LA209_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* defaultValue_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matchedBranch_2;
					tySequence__ZCZaCk14bTmSb6LMW9aWPVA colontmpD__15;
					tySequence__9ahcSjIErJohSBBFLwuF56Q T234_;
					defaultValue_1 = NIM_NIL;
					matchedBranch_2 = NIM_NIL;
					colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
					defaultValue_1 = newIntLit__lowerings_u465((*c_p0).graph, (*(*constrCtx_p2).initExpr).info, IL64(0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA233_;
					matchedBranch_2 = pickCaseBranch__sem_u27340(n_p1, defaultValue_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA233_;
					T234_.len = 0; T234_.p = NIM_NIL;
					T234_.len = 0; T234_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
					colontmpD__15 = collectMissingCaseFields__sem_u27436(c_p0, matchedBranch_2, constrCtx_p2, T234_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA233_;
					(void)(colontmpD__15);
					{
						LA233_:;
					}
					{
						oldNimErrFin233_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4848(colontmpD__15);
						if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
						eqdestroy___ast_u3252(matchedBranch_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
						eqdestroy___ast_u3252(defaultValue_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
						*nimErr_ = oldNimErrFin233_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
				}
LA207_: ;
			}
			goto LA203_;
LA205_: ;
			{
				result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)2);
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matchedBranch_3;
					if (!((*discriminatorVal_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6))) goto LA240_;
					matchedBranch_3 = NIM_NIL;
					matchedBranch_3 = pickCaseBranch__sem_u27340(n_p1, discriminatorVal_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
					{
						tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_6;
						tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_3;
						NI T248_;
						if (!!((matchedBranch_3 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA245_;
						nimZeroMem((void*)(&tmpTuple_6), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
						defaults_3.len = 0; defaults_3.p = NIM_NIL;
						T248_ = (NI)0;
						T248_ = len__ast_u3190(matchedBranch_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA247_;
						tmpTuple_6 = semConstructFields__sem_u27147(c_p0, (*matchedBranch_3)._kind_6.sons.p->data[(NI)(T248_ - ((NI)1))], constrCtx_p2, flags_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA247_;
						defaults_3 = tmpTuple_6.Field1;
						eqwasMoved___ast_u3693((&tmpTuple_6.Field1));
						add__closureiters_u384((&result.Field1), ((defaults_3).p) ? (defaults_3.p->data) : NIM_NIL, defaults_3.len);
						collectOrAddMissingCaseFields__sem_u27451(c_p0, matchedBranch_3, constrCtx_p2, (&result.Field1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA247_;
						{
							LA247_:;
						}
						{
							oldNimErrFin247_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3696(defaults_3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
							eqdestroy___sem_u27504(tmpTuple_6);
							if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
							*nimErr_ = oldNimErrFin247_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
					}
LA245_: ;
					{
						LA242_:;
					}
					{
						oldNimErrFin242_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(matchedBranch_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
						*nimErr_ = oldNimErrFin242_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
				}
				goto LA238_;
LA240_: ;
				{
					collectBranchFields__sem_u27475(c_p0, n_p1, discriminatorVal_2, constrCtx_p2, flags_p3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA202_;
				}
LA238_: ;
			}
LA203_: ;
			{
				LA202_:;
			}
			{
				oldNimErrFin202_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(discriminatorVal_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				*nimErr_ = oldNimErrFin202_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA44_: ;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(discriminator_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
		field_2 = NIM_NIL;
		e_1 = NIM_NIL;
		eqcopy___ast_u4577(&field_2, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA259_;
		e_1 = semConstrField__sem_u27229(c_p0, flags_p3, field_2, (*constrCtx_p2).initExpr);
		if (NIM_UNLIKELY(*nimErr_)) goto LA259_;
		{
			if (!!((e_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA262_;
			result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)1);
		}
		goto LA260_;
LA262_: ;
		{
			if (!!(((*field_2).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA265_;
			{
				tyArray__al2p7ldDMvbBVYNFCuu4Rw T271_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T272_;
				if (!!(((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)24)))&31U)))!=0))) goto LA269_;
				result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0);
				nimZeroMem((void*)T271_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
				T271_[0] = n_p1;
				T271_[1] = (*field_2).ast;
				T272_ = NIM_NIL;
				T272_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T271_, 2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T272_); goto LA259_;}
				add__ast_u3225((&result.Field1), T272_);
			}
			goto LA267_;
LA269_: ;
			{
				result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3);
			}
LA267_: ;
		}
		goto LA260_;
LA265_: ;
		{
			{
				tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T277_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* defaultExpr_1;
				T277_ = 0;
				if (!((25165824 & flags_p3) == T277_)) goto LA278_;
				defaultExpr_1 = NIM_NIL;
				defaultExpr_1 = defaultNodeField__sem_u10023(c_p0, n_p1, (*constrCtx_p2).checkDefault);
				if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
				{
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T285_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T286_;
					if (!!((defaultExpr_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA283_;
					result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0);
					nimZeroMem((void*)T285_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T285_[0] = n_p1;
					T285_[1] = defaultExpr_1;
					T286_ = NIM_NIL;
					T286_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T285_, 2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T286_); goto LA280_;}
					add__ast_u3225((&result.Field1), T286_);
				}
				goto LA281_;
LA283_: ;
				{
					result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3);
				}
LA281_: ;
				{
					LA280_:;
				}
				{
					oldNimErrFin280_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(defaultExpr_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA259_;
					*nimErr_ = oldNimErrFin280_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA259_;
			}
			goto LA275_;
LA278_: ;
			{
				result.Field0 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3);
			}
LA275_: ;
		}
LA260_: ;
		{
			LA259_:;
		}
		{
			oldNimErrFin259_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(e_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(field_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin259_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		{
			NimStringV2 argX60gensym7106__1;
			if (!NIM_TRUE) goto LA296_;
			argX60gensym7106__1.len = 0; argX60gensym7106__1.p = NIM_NIL;
			argX60gensym7106__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_339);
			if (NIM_UNLIKELY(*nimErr_)) goto LA298_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym7106__1, TM__rF9caJawfOjYTjsgLVUSGFA_339);
			if (NIM_UNLIKELY(*nimErr_)) goto LA298_;
			{
				LA298_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym7106__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA296_: ;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3696(colontmp_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA, semConstructTypeAux__sem_u27980)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ* constrCtx_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA result;
	tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA colontmp__2;
	tySequence__9ahcSjIErJohSBBFLwuF56Q blitTmp_1;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
	colontmp_.len = 0; colontmp_.p = NIM_NIL;
	t_1 = NIM_NIL;
	colontmp__2 = ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0);
	colontmp_.len = 0; colontmp_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	result.Field0 = colontmp__2;
	blitTmp_1 = colontmp_;
	eqwasMoved___ast_u3693((&colontmp_));
	result.Field1 = blitTmp_1;
	eqcopy___ast_u3381(&t_1, (*constrCtx_p1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_1;
			tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA status_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T22_;
			NIM_BOOL T27_;
			nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
			defaults_1.len = 0; defaults_1.p = NIM_NIL;
			base_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			tmpTuple_1 = semConstructFields__sem_u27147(c_p0, (*t_1).n, constrCtx_p1, flags_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			status_1 = tmpTuple_1.Field0;
			defaults_1 = tmpTuple_1.Field1;
			eqwasMoved___ast_u3693((&tmpTuple_1.Field1));
			mergeInitStatus__sem_u27154((&result.Field0), status_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			add__closureiters_u384((&result.Field1), ((defaults_1).p) ? (defaults_1.p->data) : NIM_NIL, defaults_1.len);
			{
				tySequence__ZCZaCk14bTmSb6LMW9aWPVA colontmpD__2;
				if (!(status_1 == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)2) || status_1 == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)3) || status_1 == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)0))) goto LA7_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__2 = collectMissingFields__sem_u27408(c_p0, (*t_1).n, constrCtx_p1, result.Field1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				(void)(colontmpD__2);
				{
					LA9_:;
				}
				{
					oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4848(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					*nimErr_ = oldNimErrFin9_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			}
LA7_: ;
			base_1 = baseClass__ast_u5348(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			{
				NIM_BOOL T14_;
				NIM_BOOL T15_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym7110__1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym7112__1;
				NIM_BOOL T18_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym7115__1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym7117__1;
				T14_ = (NIM_BOOL)0;
				T15_ = (NIM_BOOL)0;
				T15_ = (base_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (T15_) goto LA16_;
				xX60gensym7110__1 = (*base_1).itemId;
				xX60gensym7112__1 = (*t_1).itemId;
				T15_ = ((NI)((NI)((NU32)(((NI) (xX60gensym7110__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym7110__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym7112__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym7112__1.item))));
LA16_: ;
				T14_ = T15_;
				if (T14_) goto LA17_;
				T18_ = (NIM_BOOL)0;
				T18_ = ((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21));
				if (!(T18_)) goto LA19_;
				colontmpD_ = elementType__ast_u5331(base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				xX60gensym7115__1 = (*colontmpD_).itemId;
				xX60gensym7117__1 = (*t_1).itemId;
				T18_ = ((NI)((NI)((NU32)(((NI) (xX60gensym7115__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym7115__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym7117__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym7117__1.item))));
LA19_: ;
				T14_ = T18_;
LA17_: ;
				if (!T14_) goto LA20_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3696(defaults_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___sem_u27504(tmpTuple_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA2;
			}
LA20_: ;
			T22_ = NIM_NIL;
			T22_ = skipTypes__ast_u5379(base_1, TM__rF9caJawfOjYTjsgLVUSGFA_185);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T22_); goto LA4_;}
			eqsink___ast_u3387(&t_1, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			{
				if (!!(((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)))) goto LA25_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3696(defaults_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___sem_u27504(tmpTuple_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3696(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA25_: ;
			T27_ = (NIM_BOOL)0;
			T27_ = (*constrCtx_p1).needsFullInit;
			if (T27_) goto LA28_;
			T27_ = (((*t_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)19)))&63U)))!=0);
LA28_: ;
			(*constrCtx_p1).needsFullInit = T27_;
			{
				LA4_:;
			}
			{
				oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3696(defaults_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___sem_u27504(tmpTuple_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	} LA2: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3696(colontmp_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u28059)(tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ dest_p0) {
	eqdestroy___ast_u4848(dest_p0.missingFields);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.initExpr);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*dest_p0.initExpr)));
		nimRawDispose(dest_p0.initExpr, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn(dest_p0.typ);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3288((&(*dest_p0.typ)));
		nimRawDispose(dest_p0.typ, ((NI)8));
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, computeRequiresInit__sem_u145)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	NIM_BOOL result;
	tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ constrCtx_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA initResult_1;
	NI T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&constrCtx_1), sizeof(tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ));
	colontmpD_ = NIM_NIL;
	nimZeroMem((void*)(&initResult_1), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
	colontmpD_ = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initConstrContext__sem_u28048(t_p1, colontmpD_, (&constrCtx_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initResult_1 = semConstructTypeAux__sem_u27980(c_p0, (&constrCtx_1), 8388608);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = constrCtx_1.missingFields.len;
	result = (((NI)0) < T2_);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sem_u27504(initResult_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u28059(constrCtx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semObjectNode__sem_u7709)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2, tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA check_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* realBase_1;
	NI pos_1;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin18_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T63_;
NIM_BOOL oldNimErrFin85_;
NIM_BOOL oldNimErrFin92_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&check_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	base_1 = NIM_NIL;
	realBase_1 = NIM_NIL;
	result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_ == ((NI)0))) goto LA5_;
		result = newConstraint__sem_u4467(c_p0, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(realBase_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&check_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	initIntSet__pureZcollectionsZintsets_u598((&check_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pos_1 = ((NI)0);
	base_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	realBase_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	checkSonsLen__semdata_u4671(n_p1, ((NI)3), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T11_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T12_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA9_;
		T11_ = NIM_NIL;
		T11_ = semTypeNode__sem_u89(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T11_); goto LA1_;}
		eqsink___ast_u3387(&realBase_1, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_ = NIM_NIL;
		T12_ = skipTypesOrNil__ast_u6606(realBase_1, TM__rF9caJawfOjYTjsgLVUSGFA_185);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T12_); goto LA1_;}
		eqsink___ast_u3387(&base_1, T12_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!(base_1 == 0)) goto LA15_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_187, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_188, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA13_;
LA15_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* concreteBase_1;
			concreteBase_1 = NIM_NIL;
			concreteBase_1 = skipGenericInvocation__sem_u7655(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = ((*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9));
				if (!(T21_)) goto LA22_;
				T21_ = !((((*concreteBase_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2)))&63U)))!=0));
LA22_: ;
				if (!T21_) goto LA23_;
				{
					if (!((*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA27_;
					{
						NIM_BOOL T31_;
						NIM_BOOL T32_;
						T31_ = (NIM_BOOL)0;
						T32_ = (NIM_BOOL)0;
						T32_ = !(((*concreteBase_1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T32_)) goto LA33_;
						T32_ = ((*(*concreteBase_1).sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)269));
LA33_: ;
						T31_ = T32_;
						if (!(T31_)) goto LA34_;
						T31_ = !((((*(*c_p0).module).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0));
LA34_: ;
						if (!T31_) goto LA35_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)43), TM__rF9caJawfOjYTjsgLVUSGFA_189, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_190, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					}
LA35_: ;
					{
						NIM_BOOL T39_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
						T39_ = (NIM_BOOL)0;
						T39_ = tryAddInheritedFields__sem_u7666(c_p0, (&check_1), (&pos_1), concreteBase_1, n_p1, NIM_FALSE, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						if (!!(T39_)) goto LA40_;
						colontmpD_ = NIM_NIL;
						colontmpD_ = owner__ast_u6246(result);
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), (*c_p0).Sup.idgen, colontmpD_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
						eqdestroy___ast_u4574(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						eqdestroy___ast_u3378(concreteBase_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(realBase_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3378(base_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___pureZcollectionsZintsets_u230((&check_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
						{
							LA42_:;
						}
						{
							oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							*nimErr_ = oldNimErrFin42_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					}
LA40_: ;
				}
LA27_: ;
			}
			goto LA19_;
LA23_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				if (!((*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30))) goto LA46_;
				colontmpD__2 = eqdup___ast_u3258(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				add__ast_u3225((&(*c_p0).skipTypes), colontmpD__2);
			}
			goto LA19_;
LA46_: ;
			{
				{
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					NimStringV2 T54_;
					if (!!(((*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50)))) goto LA51_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					T54_.len = 0; T54_.p = NIM_NIL;
					colontmpD__3 = typeToString__types_u54(realBase_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					T54_ = rawNewString(colontmpD__3.len + 120);
appendString((&T54_), TM__rF9caJawfOjYTjsgLVUSGFA_205);
appendString((&T54_), colontmpD__3);
appendString((&T54_), TM__rF9caJawfOjYTjsgLVUSGFA_207);
					colontmpD__4 = T54_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_208, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					{
						LA53_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__4);
						eqdestroy___system_u2691(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				}
LA51_: ;
				eqsink___ast_u3387(&base_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqsink___ast_u3387(&realBase_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA19_: ;
			{
				LA18_:;
			}
			{
				oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(concreteBase_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin18_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA13_: ;
	}
LA9_: ;
	{
		if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133)))) goto LA61_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_210, TM__rF9caJawfOjYTjsgLVUSGFA_211);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA61_: ;
	T63_ = NIM_NIL;
	T63_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T63_); goto LA1_;}
	eqsink___ast_u3387(&result, T63_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	rawAddSon__ast_u6706(result, realBase_1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T66_;
		T66_ = (NIM_BOOL)0;
		T66_ = (realBase_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (!(T66_)) goto LA67_;
		T66_ = ((flags_p3 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)3)))&63U)))!=0);
LA67_: ;
		if (!T66_) goto LA68_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)3))) & 63);
	}
LA68_: ;
	{
		if (!((flags_p3 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)39)))&63U)))!=0)) goto LA72_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)39))) & 63);
	}
LA72_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T78_;
		if (!((*result).n == 0)) goto LA76_;
		T78_ = NIM_NIL;
		T78_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T78_); goto LA1_;}
		eqsink___ast_u3261(&(*result).n, T78_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA74_;
LA76_: ;
	{
		{
			NIM_BOOL T82_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
			T82_ = (NIM_BOOL)0;
			T82_ = tryAddInheritedFields__sem_u7666(c_p0, (&check_1), (&pos_1), result, n_p1, NIM_TRUE, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T82_)) goto LA83_;
			colontmpD__5 = NIM_NIL;
			colontmpD__5 = owner__ast_u6246(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
			result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), (*c_p0).Sup.idgen, colontmpD__5, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
			eqdestroy___ast_u4574(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(realBase_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___pureZcollectionsZintsets_u230((&check_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA85_:;
			}
			{
				oldNimErrFin85_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin85_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA83_: ;
	}
LA74_: ;
	semRecordNodeAux__sem_u7047(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], (&check_1), (&pos_1), (*result).n, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA90_;
		s_1 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		colontmpD__6 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_283);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		colontmpD__7 = newIdentNode__ast_u5164(colontmpD__6, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		s_1 = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), colontmpD__7, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		eqcopy___ast_u3381(&(*s_1).typ, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		pragma__pragmas_u120(c_p0, s_1, (*n_p1)._kind_6.sons.p->data[((NI)0)], TM__rF9caJawfOjYTjsgLVUSGFA_284, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		{
			LA92_:;
		}
		{
			oldNimErrFin92_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin92_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA90_: ;
	{
		NIM_BOOL T97_;
		T97_ = (NIM_BOOL)0;
		T97_ = (base_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (!(T97_)) goto LA98_;
		T97_ = !((((*result).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)3)))&63U)))!=0));
LA98_: ;
		if (!T97_) goto LA99_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2))) & 63);
	}
LA99_: ;
	{
		NIM_BOOL T103_;
		T103_ = (NIM_BOOL)0;
		T103_ = ((*c_p0).inGenericContext == ((NI)0));
		if (!(T103_)) goto LA104_;
		T103_ = computeRequiresInit__sem_u145(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA104_: ;
		if (!T103_) goto LA105_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18))) & 63);
	}
LA105_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(realBase_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&check_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semAnyRef__sem_u7817)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ < ((NI)1))) goto LA4_;
		result = newConstraint__sem_u4467(c_p0, kind_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		NI isCall_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T14_;
		NIM_BOOL isNilable_1;
		tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg wrapperKind_1;
		n_2 = NIM_NIL;
		body_1 = NIM_NIL;
		t_1 = NIM_NIL;
		isCall_1 = ((*n_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) && (*n_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
		T8_ = NIM_NIL;
		{
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41))) goto LA11_;
			eqcopy___ast_u3255(&n_2, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA9_;
LA11_: ;
		{
			eqcopy___ast_u3255(&n_2, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA9_: ;
		checkMinSonsLen__semdata_u4675(n_2, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		body_1 = lastSon__ast_u5208(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T14_ = NIM_NIL;
		{
			NIM_BOOL T17_;
			NIM_BOOL T18_;
			T17_ = (NIM_BOOL)0;
			T18_ = (NIM_BOOL)0;
			T18_ = !((prev_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T18_)) goto LA19_;
			T18_ = !(((*prev_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10)));
LA19_: ;
			T17_ = T18_;
			if (!(T17_)) goto LA20_;
			T17_ = ((*body_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133));
LA20_: ;
			if (!T17_) goto LA21_;
			t_1 = semObjectNode__sem_u7709(c_p0, body_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL), (*prev_p3).flags);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA15_;
LA21_: ;
		{
			t_1 = semTypeNode__sem_u89(c_p0, body_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA15_: ;
		{
			NIM_BOOL T26_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T30_;
			T26_ = (NIM_BOOL)0;
			T26_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
			if (!(T26_)) goto LA27_;
			T26_ = !((((*t_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0));
LA27_: ;
			if (!T26_) goto LA28_;
			T30_ = NIM_NIL;
			T30_ = base__ast_u5351(t_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T30_); goto LA7_;}
			eqsink___ast_u3387(&t_1, T30_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA28_: ;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63))) goto LA33_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD_ = toHumanStr__ast_u7604(kind_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_341, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_342, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			{
				LA35_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA33_: ;
		result = newOrPrevType__sem_u4458(kind_p2, prev_p3, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		isNilable_1 = NIM_FALSE;
		wrapperKind_1 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0);
		{
			NI i_1;
			NI colontmp_;
			NI T39_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T39_ = (NI)0;
			T39_ = len__ast_u3190(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			colontmp_ = (NI)(T39_ - ((NI)1));
			i_2 = isCall_1;
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ni_1;
					if (!(i_2 < colontmp_)) goto LA41;
					ni_1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u3255(&ni_1, (*n_2)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					{
						if (!((*ni_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA45_;
						isNilable_1 = NIM_TRUE;
					}
					goto LA43_;
LA45_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* region_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
						region_1 = NIM_NIL;
						colontmpD__3 = NIM_NIL;
						region_1 = semTypeNode__sem_u89(c_p0, ni_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						{
							if (!((*region_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45) || (*region_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46))) goto LA51_;
							wrapperKind_1 = (*region_1).kind;
						}
						goto LA49_;
LA51_: ;
						{
							colontmpD__3 = skipTypes__ast_u5379(region_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							if (!!(((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)))) goto LA54_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_2)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_344, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_345, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							addSonSkipIntLit__magicsys_u135(result, region_1, (*c_p0).Sup.idgen);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						}
						goto LA49_;
LA54_: ;
						{
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)24), TM__rF9caJawfOjYTjsgLVUSGFA_347, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_348, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							addSonSkipIntLit__magicsys_u135(result, region_1, (*c_p0).Sup.idgen);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						}
LA49_: ;
						{
							LA48_:;
						}
						{
							oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							eqdestroy___ast_u3378(region_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							*nimErr_ = oldNimErrFin48_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					}
LA43_: ;
					i_2 += ((NI)1);
					{
						LA42_:;
					}
					{
						oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(ni_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						*nimErr_ = oldNimErrFin42_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				} LA41: ;
			}
		}
		addSonSkipIntLit__magicsys_u135(result, t_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
			if (!(((*result).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)16)))&63U)))!=0)) goto LA63_;
			colontmpD__4 = NIM_NIL;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
				colontmpD__4 = elementType__ast_u5331(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				if (!((*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA67_;
				colontmpD__5 = NIM_NIL;
				colontmpD__5 = elementType__ast_u5331(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				(*colontmpD__5).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)16))) & 63);
				eqdestroy___ast_u3378(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			}
LA67_: ;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA63_: ;
		switch (wrapperKind_1) {
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45):
		{
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
				if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA72_;
				t_2 = NIM_NIL;
				blitTmp_1 = result;
				eqwasMoved___ast_u3375(&result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				t_2 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45), c_p0, blitTmp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				(*t_2).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4))) & 63);
				eqsink___ast_u3387(&result, t_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			}
LA72_: ;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_3;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_2;
			t_3 = NIM_NIL;
			blitTmp_2 = result;
			eqwasMoved___ast_u3375(&result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			t_3 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46), c_p0, blitTmp_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			eqsink___ast_u3387(&result, t_3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		break;
		default:
		{
		}
		break;
		}
		{
			NIM_BOOL T78_;
			NIM_BOOL T79_;
			T78_ = (NIM_BOOL)0;
			T79_ = (NIM_BOOL)0;
			T79_ = ((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
			if (!(T79_)) goto LA80_;
			T79_ = ((*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6));
LA80_: ;
			T78_ = T79_;
			if (!(T78_)) goto LA81_;
			T78_ = !((((*result).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)33)))&63U)))!=0));
LA81_: ;
			if (!T78_) goto LA82_;
			(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
		}
LA82_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(body_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semStaticType__sem_u138)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* childNode_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	base_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = semTypeNode__sem_u89(c_p0, childNode_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	base_1 = skipTypes__ast_u5379(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_349);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	rawAddSon__ast_u6706(result, base_1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)24))) & 63);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeOf2__sem_u9248)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	NI64 m_1;
NIM_BOOL oldNimErrFin7_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ex_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg colontmpD__2;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg colontmpD__3;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T17_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	m_1 = IL64(1);
	{
		NI T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* mode_1;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_ == ((NI)3))) goto LA5_;
		mode_1 = NIM_NIL;
		mode_1 = semConstExpr__sem_u631(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			if (!!(((*mode_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)))) goto LA10_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_353, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_354, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA10_: ;
		{
			m_1 = (*mode_1)._kind_1.intVal;
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(mode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	(*c_p0).inTypeofContext += ((NI)1);
	ex_1 = NIM_NIL;
	nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg));
	nimZeroMem((void*)(&colontmpD__3), sizeof(tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg));
	{
		if (!(m_1 == IL64(1))) goto LA20_;
		colontmpD__2 = 16;
		T17_ = colontmpD__2;
	}
	goto LA18_;
LA20_: ;
	{
		colontmpD__3 = 0;
		T17_ = colontmpD__3;
	}
LA18_: ;
	ex_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], T17_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
	eqcopy___ast_u3381(&result, (*ex_1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
	{
		if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA25_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
	}
	goto LA23_;
LA25_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA28_;
		base_1 = NIM_NIL;
		base_1 = skipTypes__ast_u5379(result, TM__rF9caJawfOjYTjsgLVUSGFA_45);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			NIM_BOOL T33_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T38_;
			T33_ = (NIM_BOOL)0;
			T33_ = (((NI)0) < (*c_p0).inGenericContext);
			if (!(T33_)) goto LA34_;
			T33_ = containsGenericType__types_u3448(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
LA34_: ;
			if (!T33_) goto LA35_;
			colontmpD__4 = NIM_NIL;
			colontmpD__4 = copyTree__ast_u6891(ex_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			T38_ = NIM_NIL;
			T38_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T38_); goto LA37_;}
			eqsink___ast_u3387(&result, T38_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
			{
				LA37_:;
			}
			{
				oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				*nimErr_ = oldNimErrFin37_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
		goto LA31_;
LA35_: ;
		{
			eqsink___ast_u3387(&result, base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			eqwasMoved___ast_u3375(&base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
LA31_: ;
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
	}
	goto LA23_;
LA28_: ;
LA23_: ;
	fixupTypeOf__sem_u8925(c_p0, prev_p2, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
	{
		LA16_:;
	}
	{
		oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(ex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		*nimErr_ = oldNimErrFin16_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
	{
		LA15_:;
	}
	{
		(*c_p0).inTypeofContext -= ((NI)1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__pureZtimes_u3356)(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA s_p0, NI value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA, dotdot___stdZstrbasics_u49)(NI a_p0, NI b_p1) {
	tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
static N_INLINE(NIM_BOOL, sameTupleLengths__ast_u5508)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p1) {
	NIM_BOOL result;
	NI T1_;
	NI T2_;
	T1_ = (*a_p0).sons.len;
	T2_ = (*b_p1).sons.len;
	result = (T1_ == T2_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, commonType__sem_u256)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* y_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_1;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin116_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	b_1 = NIM_NIL;
	{
		if (!(x_p1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA4_;
		eqcopy___ast_u3381(&result, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		if (!(y_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA8_;
		eqcopy___ast_u3381(&result, y_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA8_: ;
	a_1 = skipTypes__ast_u5379(x_p1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	b_1 = skipTypes__ast_u5379(y_p2, TM__rF9caJawfOjYTjsgLVUSGFA_326);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&result, x_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6) || (*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5))) goto LA12_;
		eqcopy___ast_u3381(&result, y_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA12_: ;
	{
		if (!((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6) || (*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5))) goto LA15_;
		eqcopy___ast_u3381(&result, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA15_: ;
	{
		if (!((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7))) goto LA18_;
		eqsink___ast_u3387(&result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA18_: ;
	{
		if (!((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7))) goto LA21_;
		eqsink___ast_u3387(&result, b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA21_: ;
	{
		if (!((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA24_;
		{
			NIM_BOOL T28_;
			T28_ = (NIM_BOOL)0;
			T28_ = hasElementType__ast_u5660(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T28_)) goto LA29_;
			eqsink___ast_u3387(&result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqwasMoved___ast_u3375(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA26_;
LA29_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T32_;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD_ = owner__ast_u6246(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T32_ = NIM_NIL;
			T32_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), (*c_p0).Sup.idgen, colontmpD_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T32_); goto LA1_;}
			eqsink___ast_u3387(&result, T32_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmpD__2 = owner__ast_u6246(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmpD__3 = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), (*c_p0).Sup.idgen, colontmpD__2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			rawAddSon__ast_u6706(result, colontmpD__3, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA26_: ;
	}
	goto LA10_;
LA24_: ;
	{
		NIM_BOOL T34_;
		NI idx_1;
		T34_ = (NIM_BOOL)0;
		T34_ = ((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16) || (*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19) || (*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
		if (!(T34_)) goto LA35_;
		T34_ = ((*a_1).kind == (*b_1).kind);
LA35_: ;
		if (!T34_) goto LA36_;
		idx_1 = ((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16));
		{
			if (!((*(*a_1).sons.p->data[idx_1]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3))) goto LA40_;
			eqcopy___ast_u3381(&result, y_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA40_: ;
	}
	goto LA10_;
LA36_: ;
	{
		NIM_BOOL T43_;
		NIM_BOOL T44_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* nt_1;
		T43_ = (NIM_BOOL)0;
		T44_ = (NIM_BOOL)0;
		T44_ = ((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
		if (!(T44_)) goto LA45_;
		T44_ = ((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
LA45_: ;
		T43_ = T44_;
		if (!(T43_)) goto LA46_;
		T43_ = sameTupleLengths__ast_u5508(a_1, b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA46_: ;
		if (!T43_) goto LA47_;
		nt_1 = NIM_NIL;
		nt_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* aa_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* bb_1;
			NI i_1;
			aa_1 = NIM_NIL;
			bb_1 = NIM_NIL;
			i_1 = (NI)0;
			{
				NI i_2;
				NI colontmp_;
				NI T53_;
				NI i_3;
				i_2 = (NI)0;
				colontmp_ = (NI)0;
				T53_ = (*a_1).sons.len;
				colontmp_ = T53_;
				i_3 = ((NI)0);
				{
					while (1) {
						NIM_BOOL aEmpty_1;
						NIM_BOOL bEmpty_1;
						if (!(i_3 < colontmp_)) goto LA55;
						i_2 = i_3;
						i_1 = i_2;
						eqcopy___ast_u3381(&aa_1, (*a_1).sons.p->data[i_2]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						eqcopy___ast_u3381(&bb_1, (*b_1).sons.p->data[i_2]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						aEmpty_1 = isEmptyContainer__types_u3737(aa_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						bEmpty_1 = isEmptyContainer__types_u3737(bb_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T68_;
							if (!!((aEmpty_1 == bEmpty_1))) goto LA58_;
							{
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T65_;
								if (!(nt_1 == 0)) goto LA62_;
								colontmpD__4 = NIM_NIL;
								colontmpD__4 = owner__ast_u6246(a_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								T65_ = NIM_NIL;
								T65_ = copyType__ast_u6238(a_1, (*c_p0).Sup.idgen, colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T65_); goto LA64_;}
								eqsink___ast_u3387(&nt_1, T65_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								copyTypeProps__modulegraphs_u10674((*c_p0).graph, ((NI) ((*(*c_p0).Sup.idgen).module)), nt_1, a_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								{
									LA64_:;
								}
								{
									oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u4574(colontmpD__4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
									*nimErr_ = oldNimErrFin64_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							}
LA62_: ;
							T68_ = NIM_NIL;
							{
								if (!aEmpty_1) goto LA71_;
								eqsink___ast_u3387(&(*nt_1).sons.p->data[i_1], bb_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								eqwasMoved___ast_u3375(&bb_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							}
							goto LA69_;
LA71_: ;
							{
								eqsink___ast_u3387(&(*nt_1).sons.p->data[i_1], aa_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								eqwasMoved___ast_u3375(&aa_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							}
LA69_: ;
						}
LA58_: ;
						i_3 += ((NI)1);
					} LA55: ;
				}
			}
			{
				LA51_:;
			}
			{
				oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(bb_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				eqdestroy___ast_u3378(aa_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				*nimErr_ = oldNimErrFin51_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
		}
		{
			if (!!((nt_1 == 0))) goto LA78_;
			eqsink___ast_u3387(&result, nt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			eqwasMoved___ast_u3375(&nt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
		}
LA78_: ;
		{
			LA49_:;
		}
		{
			oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(nt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin49_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA47_: ;
	{
		NIM_BOOL T83_;
		T83_ = (NIM_BOOL)0;
		T83_ = ((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20));
		if (!(T83_)) goto LA84_;
		T83_ = ((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20));
LA84_: ;
		if (!T83_) goto LA85_;
		{
			tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T89_;
			NIM_BOOL T90_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T93_;
			T89_ = 0;
			T90_ = (NIM_BOOL)0;
			T90_ = sameType__types_u1812(a_1, b_1, T89_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T90_)) goto LA91_;
			colontmpD__5 = NIM_NIL;
			colontmpD__5 = skipTypes__ast_u5379(a_1, TM__rF9caJawfOjYTjsgLVUSGFA_146);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T93_ = NIM_NIL;
			T93_ = skipIntLit__magicsys_u120(colontmpD__5, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T93_); goto LA1_;}
			eqsink___ast_u3387(&result, T93_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA91_: ;
	}
	goto LA10_;
LA85_: ;
	{
		NIM_BOOL T95_;
		T95_ = (NIM_BOOL)0;
		T95_ = ((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
		if (!(T95_)) goto LA96_;
		T95_ = ((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA96_: ;
		if (!T95_) goto LA97_;
		{
			NIM_BOOL T101_;
			T101_ = (NIM_BOOL)0;
			T101_ = ((*a_1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
			if (!(T101_)) goto LA102_;
			T101_ = !(((*b_1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9)));
LA102_: ;
			if (!T101_) goto LA103_;
			eqcopy___ast_u3381(&result, x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA99_;
LA103_: ;
		{
			NIM_BOOL T106_;
			tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ T107_;
			T106_ = (NIM_BOOL)0;
			T107_ = (tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)0;
			T107_ = compatibleEffects__types_u3554(a_1, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T106_ = !((T107_ == ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)0)));
			if (T106_) goto LA108_;
			T106_ = (((((*b_1).flags & 130) & ~ ((*a_1).flags & 130))==0)&&(((*b_1).flags & 130) != ((*a_1).flags & 130)));
LA108_: ;
			if (!T106_) goto LA109_;
			eqcopy___ast_u3381(&result, y_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA99_;
LA109_: ;
LA99_: ;
	}
	goto LA10_;
LA97_: ;
	{
		tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg k_1;
		k_1 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0);
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T121_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T122_;
			if (!((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21))) goto LA114_;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			k_1 = (*a_1).kind;
			{
				if (!!(((*b_1).kind == (*a_1).kind))) goto LA119_;
				eqcopy___ast_u3381(&result, x_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
				eqdestroy___ast_u3378(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA119_: ;
			colontmpD__6 = elementType__ast_u5331(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
			T121_ = NIM_NIL;
			T121_ = skipTypes__ast_u5379(colontmpD__6, TM__rF9caJawfOjYTjsgLVUSGFA_357);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T121_); goto LA116_;}
			eqsink___ast_u3387(&a_1, T121_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
			colontmpD__7 = elementType__ast_u5331(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
			T122_ = NIM_NIL;
			T122_ = skipTypes__ast_u5379(colontmpD__7, TM__rF9caJawfOjYTjsgLVUSGFA_357);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T122_); goto LA116_;}
			eqsink___ast_u3387(&b_1, T122_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
			{
				LA116_:;
			}
			{
				oldNimErrFin116_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin116_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA114_: ;
		{
			NIM_BOOL T127_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T131_;
			T127_ = (NIM_BOOL)0;
			T127_ = ((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
			if (!(T127_)) goto LA128_;
			T127_ = ((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA128_: ;
			if (!T127_) goto LA129_;
			T131_ = NIM_NIL;
			T131_ = commonSuperclass__types_u2847(a_1, b_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T131_); goto LA1_;}
			eqsink___ast_u3387(&result, T131_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NIM_BOOL T134_;
				T134_ = (NIM_BOOL)0;
				T134_ = (result == 0);
				if (T134_) goto LA135_;
				T134_ = (result == a_1);
LA135_: ;
				if (!T134_) goto LA136_;
				eqcopy___ast_u3381(&result, x_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA136_: ;
			{
				if (!(result == b_1)) goto LA140_;
				eqcopy___ast_u3381(&result, y_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA140_: ;
			{
				NIM_BOOL T144_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* r_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T148_;
				T144_ = (NIM_BOOL)0;
				T144_ = !((k_1 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0)));
				if (!(T144_)) goto LA145_;
				T144_ = !(((*x_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11)));
LA145_: ;
				if (!T144_) goto LA146_;
				r_1 = NIM_NIL;
				colontmpD__8 = NIM_NIL;
				r_1 = result;
				eqwasMoved___ast_u3375(&result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				colontmpD__8 = owner__ast_u6246(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T148_ = NIM_NIL;
				T148_ = newType__ast_u5900(k_1, (*c_p0).Sup.idgen, colontmpD__8, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T148_); goto LA1_;}
				eqsink___ast_u3387(&result, T148_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				addSonSkipIntLit__magicsys_u135(result, r_1, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u4574(colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA146_: ;
		}
LA129_: ;
	}
LA10_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newOpenSym__ast_u5175)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyArray__TAsXwXSUBvAawE1kIQ5ziQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)T1_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
	T1_[0] = n_p0;
	result = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165), (*n_p0).info, T1_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplateExpr__sem_u535)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	rememberExpansion__semdata_u7304(c_p0, (*n_p1).info, s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	info_1 = getCallLineInfo__sem_u3546(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	markUsed__sigmatch_u100(c_p0, info_1, s_p2, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pushInfoContext__msgs_u569((*(*c_p0).graph).config, (*n_p1).info, (*(*s_p2).name).s);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getCurrOwner__semdata_u425(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = evalTemplate__evaltempl_u344(n_p1, s_p2, colontmpD_, (*(*c_p0).graph).config, (*c_p0).cache, (*c_p0).templInstCounter, (*c_p0).Sup.idgen, ((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)17)))&31U)))!=0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
		if (!!(((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)14)))&31U)))!=0))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = semAfterMacroCall__sem_u4284(c_p0, n_p1, result, s_p2, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto LA1_;}
		eqsink___ast_u3261(&result, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	popInfoContext__msgs_u593((*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).info = info_1;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, pop__icZic_u3359)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	NI L_1;
	NI T1_;
	T1_ = (*s_p0).len;
	L_1 = (NI)(T1_ - ((NI)1));
	result = (*s_p0).p->data[L_1];
	eqwasMoved___ast_u4571((&(*s_p0).p->data[L_1]));
	shrink__ast_u4732(s_p0, (L_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmtSymbol__sem_u12529)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p4, NIM_BOOL isAmbiguous_p5, NIM_BOOL fromDotExpr_p6) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	(*s_p2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
	switch ((*s_p2).kind) {
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
			if (!fromDotExpr_p6) goto LA5_;
			T7_ = NIM_NIL;
			T7_ = symChoice__sem_u10236(c_p0, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T7_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T10_;
				NI T12_;
				T10_ = (NIM_BOOL)0;
				T10_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
				if (!(T10_)) goto LA11_;
				T12_ = (NI)0;
				T12_ = len__ast_u3190(result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T10_ = (T12_ == ((NI)1));
LA11_: ;
				if (!T10_) goto LA13_;
				transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)56));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA13_: ;
		}
		goto LA3_;
LA5_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
			T16_ = NIM_NIL;
			T16_ = symChoice__sem_u10236(c_p0, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)1), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T19_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2700__1;
				NIM_BOOL T21_;
				T19_ = (NIM_BOOL)0;
				T19_ = ((12 & flags_p4) == 4);
				if (!(T19_)) goto LA20_;
				xX60gensym2700__1 = (*s_p2).itemId;
				T21_ = (NIM_BOOL)0;
				T21_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2700__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2700__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T19_ = !(T21_);
LA20_: ;
				if (!T19_) goto LA22_;
				{
					if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA26_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
						if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA30_;
						T32_ = NIM_NIL;
						T32_ = newOpenSym__ast_u5175(result);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto BeforeRet_;}
						eqsink___ast_u3261(&result, T32_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					goto LA28_;
LA30_: ;
					{
						eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA28_: ;
				}
				goto LA24_;
LA26_: ;
				{
					(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA24_: ;
			}
LA22_: ;
		}
LA3_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
	{
		{
			NIM_BOOL T38_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T48_;
			tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw T49_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T50_;
			T38_ = (NIM_BOOL)0;
			T38_ = !((((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)47)))&63U)))!=0));
			if (!(T38_)) goto LA39_;
			T38_ = !(fromDotExpr_p6);
LA39_: ;
			if (!T38_) goto LA40_;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			switch ((*s_p2).kind) {
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T44_;
				T44_ = NIM_NIL;
				T44_ = semTemplateExpr__sem_u535(c_p0, n_p1, s_p2, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T44_); goto LA42_;}
				eqsink___ast_u3261(&result, T44_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T46_;
				T46_ = NIM_NIL;
				T46_ = semMacroExpr__sem_u541(c_p0, n_p1, n_p1, s_p2, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T46_); goto LA42_;}
				eqsink___ast_u3261(&result, T46_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			}
			break;
			default:
			{
			}
			break;
			}
			colontmpD_ = owner__ast_u6254(s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			T48_ = NIM_NIL;
			T48_ = getModule__astalgo_u156(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T48_); goto LA42_;}
			add__renderer_u83((&(*c_p0).friendModules), T48_);
			T49_ = 0;
			T50_ = NIM_NIL;
			T50_ = semGenericStmt__sem_u12513(c_p0, result, T49_, ctx_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T50_); goto LA42_;}
			eqsink___ast_u3261(&result, T50_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			colontmpD__2 = pop__icZic_u3359((&(*c_p0).friendModules));
			(void)(colontmpD__2);
			{
				LA42_:;
			}
			{
				oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin42_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA36_;
LA40_: ;
		{
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T58_;
				if (!fromDotExpr_p6) goto LA56_;
				T58_ = NIM_NIL;
				T58_ = symChoice__sem_u10236(c_p0, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T58_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T58_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T61_;
					NI T63_;
					T61_ = (NIM_BOOL)0;
					T61_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
					if (!(T61_)) goto LA62_;
					T63_ = (NI)0;
					T63_ = len__ast_u3190(result);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T61_ = (T63_ == ((NI)1));
LA62_: ;
					if (!T61_) goto LA64_;
					transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)56));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA64_: ;
			}
			goto LA54_;
LA56_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T67_;
				T67_ = NIM_NIL;
				T67_ = symChoice__sem_u10236(c_p0, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)1), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T67_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T67_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T70_;
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2710__1;
					NIM_BOOL T72_;
					T70_ = (NIM_BOOL)0;
					T70_ = ((12 & flags_p4) == 4);
					if (!(T70_)) goto LA71_;
					xX60gensym2710__1 = (*s_p2).itemId;
					T72_ = (NIM_BOOL)0;
					T72_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2710__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2710__1.item))));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T70_ = !(T72_);
LA71_: ;
					if (!T70_) goto LA73_;
					{
						if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA77_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T83_;
							if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA81_;
							T83_ = NIM_NIL;
							T83_ = newOpenSym__ast_u5175(result);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T83_); goto BeforeRet_;}
							eqsink___ast_u3261(&result, T83_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						goto LA79_;
LA81_: ;
						{
							eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA79_: ;
					}
					goto LA75_;
LA77_: ;
					{
						(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
						eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA75_: ;
				}
LA73_: ;
			}
LA54_: ;
		}
LA36_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4):
	{
		{
			NIM_BOOL T89_;
			T89_ = (NIM_BOOL)0;
			T89_ = !(((*s_p2).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T89_)) goto LA90_;
			T89_ = ((*(*s_p2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
LA90_: ;
			if (!T89_) goto LA91_;
			{
				if (!!(((*(*s_p2).typ).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA95_;
				eqcopy___ast_u3255(&result, (*(*s_p2).typ).n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA93_;
LA95_: ;
			{
				NIM_BOOL T98_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T102_;
				T98_ = (NIM_BOOL)0;
				T98_ = (((NI)0) < (*c_p0).inGenericContext);
				if (!(T98_)) goto LA99_;
				T98_ = !(((flags_p4 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)3)))&7U)))!=0));
LA99_: ;
				if (!T98_) goto LA100_;
				T102_ = NIM_NIL;
				T102_ = newSymNodeTypeDesc__semfold_u820(s_p2, (*c_p0).Sup.idgen, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T102_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T102_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T105_;
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2721__1;
					NIM_BOOL T107_;
					T105_ = (NIM_BOOL)0;
					T105_ = ((12 & flags_p4) == 4);
					if (!(T105_)) goto LA106_;
					xX60gensym2721__1 = (*(*result)._kind_4.sym).itemId;
					T107_ = (NIM_BOOL)0;
					T107_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2721__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2721__1.item))));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T105_ = !(T107_);
LA106_: ;
					if (!T105_) goto LA108_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T114_;
						if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA112_;
						T114_ = NIM_NIL;
						T114_ = newOpenSym__ast_u5175(result);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T114_); goto BeforeRet_;}
						eqsink___ast_u3261(&result, T114_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					goto LA110_;
LA112_: ;
					{
						(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
						eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA110_: ;
				}
LA108_: ;
			}
			goto LA93_;
LA100_: ;
			{
				eqcopy___ast_u3255(&result, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA93_: ;
		}
		goto LA87_;
LA91_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T118_;
			T118_ = NIM_NIL;
			T118_ = newSymNodeTypeDesc__semfold_u820(s_p2, (*c_p0).Sup.idgen, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T118_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T118_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T121_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2727__1;
				NIM_BOOL T123_;
				T121_ = (NIM_BOOL)0;
				T121_ = ((12 & flags_p4) == 4);
				if (!(T121_)) goto LA122_;
				xX60gensym2727__1 = (*(*result)._kind_4.sym).itemId;
				T123_ = (NIM_BOOL)0;
				T123_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2727__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2727__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T121_ = !(T123_);
LA122_: ;
				if (!T121_) goto LA124_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T130_;
					if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA128_;
					T130_ = NIM_NIL;
					T130_ = newOpenSym__ast_u5175(result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T130_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T130_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA126_;
LA128_: ;
				{
					(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA126_: ;
			}
LA124_: ;
		}
LA87_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
	{
		{
			NIM_BOOL T136_;
			tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T138_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T177_;
			T136_ = (NIM_BOOL)0;
			T136_ = !(((*s_p2).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T136_)) goto LA137_;
			T138_ = 0;
			T136_ = (((*(*s_p2).typ).flags & 100663296) == T138_);
LA137_: ;
			if (!T136_) goto LA139_;
			{
				if (!isAmbiguous_p5) goto LA143_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T149_;
					if (!fromDotExpr_p6) goto LA147_;
					T149_ = NIM_NIL;
					T149_ = symChoice__sem_u10236(c_p0, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T149_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T149_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						NIM_BOOL T152_;
						NI T154_;
						T152_ = (NIM_BOOL)0;
						T152_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
						if (!(T152_)) goto LA153_;
						T154_ = (NI)0;
						T154_ = len__ast_u3190(result);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T152_ = (T154_ == ((NI)1));
LA153_: ;
						if (!T152_) goto LA155_;
						transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)56));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA155_: ;
				}
				goto LA145_;
LA147_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T158_;
					T158_ = NIM_NIL;
					T158_ = symChoice__sem_u10236(c_p0, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)1), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T158_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T158_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						NIM_BOOL T161_;
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2737__1;
						NIM_BOOL T163_;
						T161_ = (NIM_BOOL)0;
						T161_ = ((12 & flags_p4) == 4);
						if (!(T161_)) goto LA162_;
						xX60gensym2737__1 = (*s_p2).itemId;
						T163_ = (NIM_BOOL)0;
						T163_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2737__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2737__1.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T161_ = !(T163_);
LA162_: ;
						if (!T161_) goto LA164_;
						{
							if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA168_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T174_;
								if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA172_;
								T174_ = NIM_NIL;
								T174_ = newOpenSym__ast_u5175(result);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T174_); goto BeforeRet_;}
								eqsink___ast_u3261(&result, T174_);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
							goto LA170_;
LA172_: ;
							{
								eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
LA170_: ;
						}
						goto LA166_;
LA168_: ;
						{
							(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
							eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA166_: ;
					}
LA164_: ;
				}
LA145_: ;
				goto BeforeRet_;
			}
LA143_: ;
			T177_ = NIM_NIL;
			T177_ = newSymNodeTypeDesc__semfold_u820(s_p2, (*c_p0).Sup.idgen, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T177_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T177_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T180_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2744__1;
				NIM_BOOL T182_;
				T180_ = (NIM_BOOL)0;
				T180_ = ((12 & flags_p4) == 4);
				if (!(T180_)) goto LA181_;
				xX60gensym2744__1 = (*(*result)._kind_4.sym).itemId;
				T182_ = (NIM_BOOL)0;
				T182_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2744__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2744__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T180_ = !(T182_);
LA181_: ;
				if (!T180_) goto LA183_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T189_;
					if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA187_;
					T189_ = NIM_NIL;
					T189_ = newOpenSym__ast_u5175(result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T189_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T189_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA185_;
LA187_: ;
				{
					(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA185_: ;
			}
LA183_: ;
		}
		goto LA134_;
LA139_: ;
		{
			NIM_BOOL T192_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T196_;
			T192_ = (NIM_BOOL)0;
			T192_ = (((NI)0) < (*c_p0).inGenericContext);
			if (!(T192_)) goto LA193_;
			T192_ = !(((flags_p4 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)3)))&7U)))!=0));
LA193_: ;
			if (!T192_) goto LA194_;
			T196_ = NIM_NIL;
			T196_ = newSymNodeTypeDesc__semfold_u820(s_p2, (*c_p0).Sup.idgen, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T196_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T196_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T199_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2752__1;
				NIM_BOOL T201_;
				T199_ = (NIM_BOOL)0;
				T199_ = ((12 & flags_p4) == 4);
				if (!(T199_)) goto LA200_;
				xX60gensym2752__1 = (*(*result)._kind_4.sym).itemId;
				T201_ = (NIM_BOOL)0;
				T201_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2752__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2752__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T199_ = !(T201_);
LA200_: ;
				if (!T199_) goto LA202_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T208_;
					if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA206_;
					T208_ = NIM_NIL;
					T208_ = newOpenSym__ast_u5175(result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T208_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T208_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA204_;
LA206_: ;
				{
					(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA204_: ;
			}
LA202_: ;
		}
		goto LA134_;
LA194_: ;
		{
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA134_: ;
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T212_;
		T212_ = NIM_NIL;
		T212_ = newSymNode__ast_u5171(s_p2, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T212_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T212_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T215_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2759__1;
			NIM_BOOL T217_;
			T215_ = (NIM_BOOL)0;
			T215_ = ((12 & flags_p4) == 4);
			if (!(T215_)) goto LA216_;
			xX60gensym2759__1 = (*(*result)._kind_4.sym).itemId;
			T217_ = (NIM_BOOL)0;
			T217_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2759__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2759__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T215_ = !(T217_);
LA216_: ;
			if (!T215_) goto LA218_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T224_;
				if (!(((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA222_;
				T224_ = NIM_NIL;
				T224_ = newOpenSym__ast_u5175(result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T224_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T224_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA220_;
LA222_: ;
			{
				(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
				eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA220_: ;
		}
LA218_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lookup__sem_u13559)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	NIM_BOOL amb_1;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	ident_1 = NIM_NIL;
	s_1 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	ident_1 = considerQuotedIdent__lookups_u31(c_p0, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	amb_1 = NIM_FALSE;
	s_1 = searchInScopes__lookups_u2425(c_p0, ident_1, (&amb_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T6_;
		if (!(s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = strTableGet__astalgo_u2726((*c_p0).pureEnumFields, ident_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T6_); goto LA1_;}
		eqsink___ast_u4583(&s_1, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		if (!(s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA9_;
		{
			NIM_BOOL T13_;
			NIM_BOOL T14_;
			T13_ = (NIM_BOOL)0;
			T14_ = (NIM_BOOL)0;
			T14_ = contains__astalgo_u2846((&(*ctx_p3).toMixin), (*ident_1).id);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T13_ = !(T14_);
			if (!(T13_)) goto LA15_;
			T13_ = !(((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)2)))&7U)))!=0));
LA15_: ;
			if (!T13_) goto LA16_;
			errorUndeclaredIdentifier__lookups_u5145(c_p0, (*n_p1).info, (*ident_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_358);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA16_: ;
	}
	goto LA7_;
LA9_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sX60gensym2769__1;
		sX60gensym2769__1 = NIM_NIL;
		{
			NIM_BOOL T22_;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2768__1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
			T22_ = (NIM_BOOL)0;
			T22_ = ((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)0)))&7U)))!=0);
			if (T22_) goto LA23_;
			xX60gensym2768__1 = (*s_1).itemId;
			T22_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2768__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2768__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
LA23_: ;
			if (!T22_) goto LA24_;
			T26_ = NIM_NIL;
			T26_ = symChoice__sem_u10236(c_p0, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto LA19_;}
			eqsink___ast_u3261(&result, T26_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		}
		goto LA20_;
LA24_: ;
		{
			NIM_BOOL T28_;
			NIM_BOOL T30_;
			NIM_BOOL T31_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
			eqcopy___ast_u4577(&sX60gensym2769__1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			T28_ = (NIM_BOOL)0;
			T28_ = contains__astalgo_u2846((&(*ctx_p3).toMixin), (*(*sX60gensym2769__1).name).id);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			if (T28_) goto LA29_;
			T30_ = (NIM_BOOL)0;
			T31_ = (NIM_BOOL)0;
			T31_ = ((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)3)))&7U)))!=0);
			if (!(T31_)) goto LA32_;
			T31_ = ((*sX60gensym2769__1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA32_: ;
			T30_ = T31_;
			if (!(T30_)) goto LA33_;
			T30_ = ((1568832 &((NU32)1<<((NU)(((*sX60gensym2769__1).kind))&31U)))!=0);
LA33_: ;
			T28_ = T30_;
LA29_: ;
			if (!T28_) goto LA34_;
			T36_ = NIM_NIL;
			T36_ = symChoice__sem_u10236(c_p0, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA19_;}
			eqsink___ast_u3261(&result, T36_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		}
		goto LA20_;
LA34_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
			T38_ = NIM_NIL;
			T38_ = semGenericStmtSymbol__sem_u12529(c_p0, n_p1, s_1, ctx_p3, flags_p2, amb_1, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA19_;}
			eqsink___ast_u3261(&result, T38_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		}
LA20_: ;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(sX60gensym2769__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(ident_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newDot__sem_u13793)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), (*n_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, b_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fuzzyLookup__sem_u13797)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3, NIM_BOOL* isMacro_p4, NIM_BOOL inCall_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ colontmpD_;
	tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ colontmpD__2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ luf_1;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin61_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ));
	s_1 = NIM_NIL;
	{
		if (!!(((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)2)))&7U)))!=0))) goto LA4_;
		colontmpD_ = 6;
		luf_1 = colontmpD_;
	}
	goto LA2_;
LA4_: ;
	{
		colontmpD__2 = 4;
		luf_1 = colontmpD__2;
	}
LA2_: ;
	(*c_p0).isAmbiguous = NIM_FALSE;
	s_1 = qualifiedLookUp__lookups_u5229(c_p0, n_p1, luf_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA9_;
		(*isMacro_p4) = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
		result = semGenericStmtSymbol__sem_u12529(c_p0, n_p1, s_1, ctx_p3, flags_p2, (*c_p0).isAmbiguous, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA7_;
LA9_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
		tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__3;
		tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__4;
		tySequence__ZCZaCk14bTmSb6LMW9aWPVA candidates_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
		tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKinds_1;
		n_2 = NIM_NIL;
		ident_1 = NIM_NIL;
		nimZeroMem((void*)(&colontmpD__3), sizeof(tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q));
		nimZeroMem((void*)(&colontmpD__4), sizeof(tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q));
		candidates_1.len = 0; candidates_1.p = NIM_NIL;
		T13_ = NIM_NIL;
		T13_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA12_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqcopy___ast_u3255(&n_2, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		ident_1 = considerQuotedIdent__lookups_u31(c_p0, n_2, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			if (!inCall_p5) goto LA16_;
			colontmpD__3 = 520192;
			symKinds_1 = colontmpD__3;
		}
		goto LA14_;
LA16_: ;
		{
			colontmpD__4 = 520320;
			symKinds_1 = colontmpD__4;
		}
LA14_: ;
		candidates_1 = selectFromScopesElseAll__lookups_u2523(c_p0, ident_1, symKinds_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			NI T21_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sX60gensym2790__1;
			T21_ = candidates_1.len;
			if (!(((NI)0) < T21_)) goto LA22_;
			s_2 = NIM_NIL;
			sX60gensym2790__1 = NIM_NIL;
			eqcopy___ast_u4577(&s_2, candidates_1.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			(*isMacro_p4) = ((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
			{
				NIM_BOOL T27_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2788__1;
				T27_ = (NIM_BOOL)0;
				T27_ = ((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)0)))&7U)))!=0);
				if (T27_) goto LA28_;
				xX60gensym2788__1 = (*s_2).itemId;
				T27_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2788__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2788__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
LA28_: ;
				if (!T27_) goto LA29_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
					NIM_BOOL ambig_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T44_;
					if (!((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7))) goto LA33_;
					colontmpD__5 = NIM_NIL;
					ambig_1 = NIM_FALSE;
					{
						NI T38_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s2_1;
						T38_ = candidates_1.len;
						if (!(((NI)1) < T38_)) goto LA39_;
						s2_1 = NIM_NIL;
						s2_1 = searchInScopes__lookups_u2425(c_p0, ident_1, (&ambig_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						{
							LA41_:;
						}
						{
							oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(s2_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							*nimErr_ = oldNimErrFin41_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					}
LA39_: ;
					colontmpD__5 = semGenericStmtSymbol__sem_u12529(c_p0, n_2, s_2, ctx_p3, flags_p2, ambig_1, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					T44_ = NIM_NIL;
					T44_ = newDot__sem_u13793(result, colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T44_); goto LA35_;}
					eqsink___ast_u3261(&result, T44_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					{
						LA35_:;
					}
					{
						oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						*nimErr_ = oldNimErrFin35_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				}
				goto LA31_;
LA33_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T49_;
					colontmpD__6 = NIM_NIL;
					colontmpD__6 = symChoice__sem_u10236(c_p0, n_2, s_2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T49_ = NIM_NIL;
					T49_ = newDot__sem_u13793(result, colontmpD__6);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T49_); goto LA48_;}
					eqsink___ast_u3261(&result, T49_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					{
						LA48_:;
					}
					{
						oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						*nimErr_ = oldNimErrFin48_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				}
LA31_: ;
			}
			goto LA25_;
LA29_: ;
			{
				NIM_BOOL T53_;
				NIM_BOOL T55_;
				NIM_BOOL T56_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T62_;
				eqcopy___ast_u4577(&sX60gensym2790__1, s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				T53_ = (NIM_BOOL)0;
				T53_ = contains__astalgo_u2846((&(*ctx_p3).toMixin), (*(*sX60gensym2790__1).name).id);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				if (T53_) goto LA54_;
				T55_ = (NIM_BOOL)0;
				T56_ = (NIM_BOOL)0;
				T56_ = ((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)3)))&7U)))!=0);
				if (!(T56_)) goto LA57_;
				T56_ = ((*sX60gensym2790__1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA57_: ;
				T55_ = T56_;
				if (!(T55_)) goto LA58_;
				T55_ = ((1568832 &((NU32)1<<((NU)(((*sX60gensym2790__1).kind))&31U)))!=0);
LA58_: ;
				T53_ = T55_;
LA54_: ;
				if (!T53_) goto LA59_;
				colontmpD__7 = NIM_NIL;
				colontmpD__7 = symChoice__sem_u10236(c_p0, n_2, s_2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				T62_ = NIM_NIL;
				T62_ = newDot__sem_u13793(result, colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T62_); goto LA61_;}
				eqsink___ast_u3261(&result, T62_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				{
					LA61_:;
				}
				{
					oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__7);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					*nimErr_ = oldNimErrFin61_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			}
			goto LA25_;
LA59_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* syms_1;
				NIM_BOOL ambig_2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T77_;
				syms_1 = NIM_NIL;
				ambig_2 = NIM_FALSE;
				{
					NIM_BOOL T69_;
					NI T71_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
					T69_ = (NIM_BOOL)0;
					T69_ = ((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
					if (!(T69_)) goto LA70_;
					T71_ = candidates_1.len;
					T69_ = (((NI)1) < T71_);
LA70_: ;
					if (!T69_) goto LA72_;
					colontmpD__8 = NIM_NIL;
					colontmpD__8 = searchInScopes__lookups_u2425(c_p0, ident_1, (&ambig_2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
					(void)(colontmpD__8);
					{
						LA74_:;
					}
					{
						oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD__8);
						if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						*nimErr_ = oldNimErrFin74_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
				}
LA72_: ;
				syms_1 = semGenericStmtSymbol__sem_u12529(c_p0, n_2, s_2, ctx_p3, flags_p2, ambig_2, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
				T77_ = NIM_NIL;
				T77_ = newDot__sem_u13793(result, syms_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T77_); goto LA66_;}
				eqsink___ast_u3261(&result, T77_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
				{
					LA66_:;
				}
				{
					oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(syms_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					*nimErr_ = oldNimErrFin66_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			}
LA25_: ;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(sX60gensym2790__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA22_: ;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4848(candidates_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		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_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMixinStmt__sem_u10382)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* toMixin_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		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_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
				if (!(i_2 < colontmp_)) goto LA3;
				colontmpD_ = NIM_NIL;
				x_1 = NIM_NIL;
				i_1 = i_2;
				colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				incl__pureZcollectionsZintsets_u366(toMixin_p2, (*colontmpD_).id);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				x_1 = symChoice__sem_u10236(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				add__ast_u3215(result, x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___idents_u155(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBindStmt__sem_u10302)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* toBind_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		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* a_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
				if (!(i_2 < colontmp_)) goto LA3;
				a_1 = NIM_NIL;
				s_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				s_1 = qualifiedLookUp__lookups_u5229(c_p0, a_1, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* sc_1;
					if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA7_;
					sc_1 = NIM_NIL;
					sc_1 = symChoice__sem_u10236(c_p0, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2248__1;
						if (!((*sc_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA12_;
						xX60gensym2248__1 = (*(*sc_1)._kind_4.sym).itemId;
						incl__pureZcollectionsZintsets_u366(toBind_p2, (NI)((NI)((NU32)(((NI) (xX60gensym2248__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2248__1.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						add__ast_u3215(result, sc_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
					goto LA10_;
LA12_: ;
					{
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
							x_1 = NIM_NIL;
							x_1 = 0;
							{
								NI i_3;
								NI colontmp__2;
								NI i_4;
								i_3 = (NI)0;
								colontmp__2 = (NI)0;
								colontmp__2 = safeLen__ast_u3197(sc_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
								i_4 = ((NI)0);
								{
									while (1) {
										tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2250__1;
										if (!(i_4 < colontmp__2)) goto LA18;
										i_3 = i_4;
										eqcopy___ast_u3255(&x_1, (*sc_1)._kind_6.sons.p->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
										xX60gensym2250__1 = (*(*x_1)._kind_4.sym).itemId;
										incl__pureZcollectionsZintsets_u366(toBind_p2, (NI)((NI)((NU32)(((NI) (xX60gensym2250__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2250__1.item))));
										if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
										add__ast_u3215(result, x_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
										i_4 += ((NI)1);
									} LA18: ;
								}
							}
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						}
					}
LA10_: ;
					{
						LA9_:;
					}
					{
						oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(sc_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						*nimErr_ = oldNimErrFin9_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA5_;
LA7_: ;
				{
					illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA5_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmtScope__sem_u12518)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = semGenericStmt__sem_u12513(c_p0, n_p1, flags_p2, ctx_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getIdentNode__sem_u12495)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
	{
		result = getIdentNode__sem_u12495(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		result = getIdentNode__sem_u12495(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addTempDecl__sem_u14025)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = getIdentNode__sem_u12495(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0), colontmpD_, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addPrelimDecl__lookups_u3792(c_p0, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		NIM_BOOL T14_;
		tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T16_;
		NIM_BOOL T25_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T28_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T14_ = (NIM_BOOL)0;
		T14_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
		if (!(T14_)) goto LA15_;
		T16_ = 0;
		T14_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T16_));
LA15_: ;
		T13_ = T14_;
		if (!(T13_)) goto LA17_;
		T13_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA17_: ;
		T12_ = T13_;
		if (!(T12_)) goto LA18_;
		colontmpD__2 = getModule__modulegraphs_u14809((*c_p0).graph, (*n_p1).info.fileIndex);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA18_: ;
		T11_ = T12_;
		if (!(T11_)) goto LA19_;
		T11_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA19_: ;
		T10_ = T11_;
		if (!(T10_)) goto LA20_;
		T10_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA20_: ;
		T9_ = T10_;
		if (!(T9_)) goto LA21_;
		T9_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA21_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA22_;
		T8_ = (((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA22_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA23_;
		T7_ = !((kind_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || kind_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA23_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA24_;
		T25_ = (NIM_BOOL)0;
		T25_ = ((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T25_) goto LA26_;
		T25_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA26_: ;
		T6_ = T25_;
LA24_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA27_;
		T28_ = 0;
		T5_ = ((192 & (*s_1).flags) == T28_);
LA27_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA29_;
		T4_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA29_: ;
		if (!T4_) goto LA30_;
		nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*n_p1).info, s_1, kind_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA30_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addTempDeclToIdents__sem_u14086)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2, NIM_BOOL inCall_p3) {
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		{
			if (!inCall_p3) goto LA4_;
			addTempDecl__sem_u14025(c_p0, n_p1, kind_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
			s_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 LA8_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA11;
						i_1 = i_2;
						eqcopy___ast_u3255(&s_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						addTempDeclToIdents__sem_u14086(c_p0, s_1, kind_p2, NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						i_2 += ((NI)1);
					} LA11: ;
				}
			}
			{
				LA8_:;
			}
			{
				oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin8_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	default:
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_2;
			s_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(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA19;
						i_3 = i_4;
						eqcopy___ast_u3255(&s_2, (*n_p1)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						addTempDeclToIdents__sem_u14086(c_p0, s_2, kind_p2, inCall_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						i_4 += ((NI)1);
					} LA19: ;
				}
			}
			{
				LA16_:;
			}
			{
				oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin16_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmt__sem_u12513)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_p2, tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* ctx_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin70_;
NIM_BOOL oldNimErrFin46_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin122_;
NIM_BOOL oldNimErrFin131_;
NIM_BOOL oldNimErrFin142_;
NIM_BOOL oldNimErrFin151_;
NIM_BOOL oldNimErrFin140_;
NIM_BOOL oldNimErrFin175_;
NIM_BOOL oldNimErrFin187_;
NIM_BOOL oldNimErrFin200_;
NIM_BOOL oldNimErrFin195_;
NIM_BOOL oldNimErrFin227_;
NIM_BOOL oldNimErrFin214_;
NIM_BOOL oldNimErrFin244_;
NIM_BOOL oldNimErrFin267_;
NIM_BOOL oldNimErrFin257_;
NIM_BOOL oldNimErrFin299_;
NIM_BOOL oldNimErrFin286_;
NIM_BOOL oldNimErrFin321_;
NIM_BOOL oldNimErrFin309_;
NIM_BOOL oldNimErrFin331_;
NIM_BOOL oldNimErrFin359_;
NIM_BOOL oldNimErrFin346_;
NIM_BOOL oldNimErrFin382_;
NIM_BOOL oldNimErrFin406_;
NIM_BOOL oldNimErrFin393_;
NIM_BOOL oldNimErrFin418_;
NIM_BOOL oldNimErrFin443_;
NIM_BOOL oldNimErrFin430_;
NIM_BOOL oldNimErrFin452_;
NIM_BOOL oldNimErrFin484_;
NIM_BOOL oldNimErrFin469_;
NIM_BOOL oldNimErrFin500_;
NIM_BOOL oldNimErrFin519_;
NIM_BOOL oldNimErrFin495_;
NIM_BOOL oldNimErrFin544_;
NIM_BOOL oldNimErrFin570_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
		T2_ = NIM_NIL;
		T2_ = lookup__sem_u13559(c_p0, n_p1, flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T2_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = !((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T5_)) goto LA6_;
			T5_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA6_: ;
			if (!T5_) goto LA7_;
			(*(*result)._kind_4.sym).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
			markOwnerModuleAsUsed__sigmatch_u106(c_p0, (*result)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		NIM_BOOL dummy_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
		dummy_1 = NIM_FALSE;
		T10_ = NIM_NIL;
		T10_ = fuzzyLookup__sem_u13797(c_p0, n_p1, flags_p2, ctx_p3, (&dummy_1), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_1;
		a_1 = NIM_NIL;
		b_1 = NIM_NIL;
		eqcopy___ast_u4577(&a_1, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		b_1 = getGenSym__semdata_u2268(c_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!((b_1 == a_1))) goto LA14_;
			eqsink___ast_u4583(&(*n_p1)._kind_4.sym, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqwasMoved___ast_u4571(&b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
		eqdestroy___ast_u4574(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)24):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)55):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
		T18_ = NIM_NIL;
		T18_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (flags_p2 | 1), ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
		T20_ = NIM_NIL;
		T20_ = semMixinStmt__sem_u10382(c_p0, n_p1, (&(*ctx_p3).toMixin));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T20_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
		T22_ = NIM_NIL;
		T22_ = semBindStmt__sem_u10302(c_p0, n_p1, (&(*ctx_p3).toBind));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T22_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fn_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw colontmpD__2;
		tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw colontmpD__3;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T25_;
		NIM_BOOL ambig_1;
		NI first_1;
		NIM_BOOL mixinContext_1;
		tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw flags_2;
		fn_1 = NIM_NIL;
		s_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw));
		nimZeroMem((void*)(&colontmpD__3), sizeof(tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw));
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		eqcopy___ast_u3255(&fn_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		(*c_p0).isAmbiguous = NIM_FALSE;
		T25_ = 0;
		s_1 = qualifiedLookUp__lookups_u5229(c_p0, fn_1, T25_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		ambig_1 = (*c_p0).isAmbiguous;
		{
			NIM_BOOL T28_;
			NIM_BOOL T29_;
			NIM_BOOL T30_;
			tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw T32_;
			NIM_BOOL T35_;
			NimStringV2 colontmpD__4;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T39_;
			T28_ = (NIM_BOOL)0;
			T29_ = (NIM_BOOL)0;
			T30_ = (NIM_BOOL)0;
			T30_ = (s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
			if (!(T30_)) goto LA31_;
			T32_ = 0;
			T30_ = ((12 & flags_p2) == T32_);
LA31_: ;
			T29_ = T30_;
			if (!(T29_)) goto LA33_;
			T29_ = ((*fn_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*fn_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53));
LA33_: ;
			T28_ = T29_;
			if (!(T28_)) goto LA34_;
			colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, fn_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T35_ = (NIM_BOOL)0;
			T35_ = contains__astalgo_u2846((&(*ctx_p3).toMixin), (*colontmpD_).id);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T28_ = !(T35_);
LA34_: ;
			if (!T28_) goto LA36_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			T39_ = 0;
			colontmpD__4 = renderTree__renderer_u59(fn_1, T39_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			errorUndeclaredIdentifier__lookups_u5145(c_p0, (*n_p1).info, colontmpD__4, TM__rF9caJawfOjYTjsgLVUSGFA_359);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			{
				LA38_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
LA36_: ;
		first_1 = ((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)3)))&7U)))!=0);
		mixinContext_1 = NIM_FALSE;
		{
			tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg colontmpD__5;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sX60gensym2831__1;
			tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg colontmpD__6;
			tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg colontmpD__7;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* sc_1;
			tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg whichChoice_1;
			if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA44_;
			colontmpD__5 = (tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0;
			sX60gensym2831__1 = NIM_NIL;
			colontmpD__6 = (tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0;
			colontmpD__7 = (tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0;
			sc_1 = NIM_NIL;
			(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
			mixinContext_1 = ((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)1) || (*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)2) || (*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)3) || (*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)4) || (*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)139));
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2830__1;
				NIM_BOOL T49_;
				xX60gensym2830__1 = (*s_1).itemId;
				T49_ = (NIM_BOOL)0;
				T49_ = contains__astalgo_u2846((&(*ctx_p3).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2830__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2830__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				if (!T49_) goto LA50_;
				colontmpD__5 = ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0);
				whichChoice_1 = colontmpD__5;
			}
			goto LA47_;
LA50_: ;
			{
				NIM_BOOL T53_;
				NIM_BOOL T55_;
				NIM_BOOL T56_;
				eqcopy___ast_u4577(&sX60gensym2831__1, s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				T53_ = (NIM_BOOL)0;
				T53_ = contains__astalgo_u2846((&(*ctx_p3).toMixin), (*(*sX60gensym2831__1).name).id);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				if (T53_) goto LA54_;
				T55_ = (NIM_BOOL)0;
				T56_ = (NIM_BOOL)0;
				T56_ = ((flags_p2 &((NU8)1<<((NU)((((tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw)3)))&7U)))!=0);
				if (!(T56_)) goto LA57_;
				T56_ = ((*sX60gensym2831__1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA57_: ;
				T55_ = T56_;
				if (!(T55_)) goto LA58_;
				T55_ = ((1568832 &((NU32)1<<((NU)(((*sX60gensym2831__1).kind))&31U)))!=0);
LA58_: ;
				T53_ = T55_;
LA54_: ;
				if (!T53_) goto LA59_;
				colontmpD__6 = ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2);
				whichChoice_1 = colontmpD__6;
			}
			goto LA47_;
LA59_: ;
			{
				colontmpD__7 = ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)1);
				whichChoice_1 = colontmpD__7;
			}
LA47_: ;
			sc_1 = symChoice__sem_u10236(c_p0, fn_1, s_1, whichChoice_1, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
			switch ((*s_1).kind) {
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
			{
				{
					NIM_BOOL T65_;
					NI T67_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T76_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T77_;
					T65_ = (NIM_BOOL)0;
					T65_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)61)))&63U)))!=0);
					if (!(T65_)) goto LA66_;
					T67_ = (NI)0;
					T67_ = safeLen__ast_u3197(sc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
					T65_ = (T67_ <= ((NI)1));
LA66_: ;
					if (!T65_) goto LA68_;
					colontmpD__8 = NIM_NIL;
					colontmpD__9 = NIM_NIL;
					switch ((*s_1).kind) {
					case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T72_;
						T72_ = NIM_NIL;
						T72_ = semMacroExpr__sem_u541(c_p0, n_p1, n_p1, s_1, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T72_); goto LA70_;}
						eqsink___ast_u3261(&result, T72_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
					}
					break;
					case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T74_;
						T74_ = NIM_NIL;
						T74_ = semTemplateExpr__sem_u535(c_p0, n_p1, s_1, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T74_); goto LA70_;}
						eqsink___ast_u3261(&result, T74_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
					}
					break;
					default:
					{
					}
					break;
					}
					colontmpD__8 = owner__ast_u6254(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
					T76_ = NIM_NIL;
					T76_ = getModule__astalgo_u156(colontmpD__8);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T76_); goto LA70_;}
					add__renderer_u83((&(*c_p0).friendModules), T76_);
					T77_ = NIM_NIL;
					T77_ = semGenericStmt__sem_u12513(c_p0, result, flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T77_); goto LA70_;}
					eqsink___ast_u3261(&result, T77_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
					colontmpD__9 = pop__icZic_u3359((&(*c_p0).friendModules));
					(void)(colontmpD__9);
					{
						LA70_:;
					}
					{
						oldNimErrFin70_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD__9);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						eqdestroy___ast_u4574(colontmpD__8);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						*nimErr_ = oldNimErrFin70_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				}
				goto LA63_;
LA68_: ;
				{
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], sc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
					eqwasMoved___ast_u3249(&sc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
					eqcopy___ast_u3255(&result, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				}
LA63_: ;
				mixinContext_1 = NIM_TRUE;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
			{
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6):
			{
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], sc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				eqwasMoved___ast_u3249(&sc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				first_1 = ((NI)1);
				{
					if (!((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)268))) goto LA85_;
					first_1 = safeLen__ast_u3197(result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				}
LA85_: ;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T88_;
				T88_ = NIM_NIL;
				T88_ = newSymNodeTypeDesc__semfold_u820(s_1, (*c_p0).Sup.idgen, (*fn_1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T88_); goto LA46_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T88_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				first_1 = ((NI)1);
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
			{
				{
					NIM_BOOL T92_;
					T92_ = (NIM_BOOL)0;
					T92_ = !(((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T92_)) goto LA93_;
					T92_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12)));
LA93_: ;
					if (!T92_) goto LA94_;
					{
						if (!ambig_1) goto LA98_;
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], sc_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						eqwasMoved___ast_u3249(&sc_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
					}
					goto LA96_;
LA98_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T101_;
						T101_ = NIM_NIL;
						T101_ = newSymNodeTypeDesc__semfold_u820(s_1, (*c_p0).Sup.idgen, (*fn_1).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T101_); goto LA46_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T101_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
					}
LA96_: ;
					first_1 = ((NI)1);
				}
LA94_: ;
			}
			break;
			default:
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T103_;
				T103_ = NIM_NIL;
				T103_ = newSymNode__ast_u5171(s_1, (*fn_1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T103_); goto LA46_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T103_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				first_1 = ((NI)1);
			}
			break;
			}
			{
				LA46_:;
			}
			{
				oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(sc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				eqdestroy___ast_u4574(sX60gensym2831__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				*nimErr_ = oldNimErrFin46_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
		goto LA42_;
LA44_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T109_;
			if (!((*fn_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA107_;
			T109_ = NIM_NIL;
			T109_ = fuzzyLookup__sem_u13797(c_p0, fn_1, flags_p2, ctx_p3, (&mixinContext_1), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T109_); goto LA24_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T109_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			first_1 = ((NI)1);
		}
		goto LA42_;
LA107_: ;
LA42_: ;
		{
			if (!mixinContext_1) goto LA112_;
			colontmpD__2 = (flags_p2 | 4);
			flags_2 = colontmpD__2;
		}
		goto LA110_;
LA112_: ;
		{
			colontmpD__3 = flags_p2;
			flags_2 = colontmpD__3;
		}
LA110_: ;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3197(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			i_2 = first_1;
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T118_;
					if (!(i_2 < colontmp_)) goto LA117;
					i_1 = i_2;
					T118_ = NIM_NIL;
					T118_ = semGenericStmt__sem_u12513(c_p0, (*result)._kind_6.sons.p->data[i_1], flags_2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T118_); goto LA24_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T118_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					i_2 += ((NI)1);
				} LA117: ;
			}
		}
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(fn_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40):
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__10;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T123_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T127_;
		colontmpD__10 = NIM_NIL;
		colontmpD__11 = NIM_NIL;
		T123_ = NIM_NIL;
		T123_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T123_); goto LA122_;}
		eqsink___ast_u3261(&result, T123_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
		colontmpD__10 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_361);
		if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
		colontmpD__11 = newIdentNode__ast_u5164(colontmpD__10, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
		add__ast_u3215(result, colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
		{
			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 LA122_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA126;
					i_3 = i_4;
					add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					i_4 += ((NI)1);
				} LA126: ;
			}
		}
		T127_ = NIM_NIL;
		T127_ = semGenericStmt__sem_u12513(c_p0, result, flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T127_); goto LA122_;}
		eqsink___ast_u3261(&result, T127_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
		{
			LA122_:;
		}
		{
			oldNimErrFin122_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin122_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__12;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T132_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T136_;
		colontmpD__12 = NIM_NIL;
		colontmpD__13 = NIM_NIL;
		T132_ = NIM_NIL;
		T132_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T132_); goto LA131_;}
		eqsink___ast_u3261(&result, T132_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
		colontmpD__12 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_362);
		if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
		colontmpD__13 = newIdentNode__ast_u5164(colontmpD__12, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
		add__ast_u3215(result, colontmpD__13);
		if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
			i_6 = ((NI)0);
			{
				while (1) {
					if (!(i_6 < colontmp__3)) goto LA135;
					i_5 = i_6;
					add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
					i_6 += ((NI)1);
				} LA135: ;
			}
		}
		T136_ = NIM_NIL;
		T136_ = semGenericStmt__sem_u12513(c_p0, result, flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T136_); goto LA131_;}
		eqsink___ast_u3261(&result, T136_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
		{
			LA131_:;
		}
		{
			oldNimErrFin131_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin131_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_2;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_1;
		a_2 = NIM_NIL;
		b_2 = NIM_NIL;
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
		eqcopy___ast_u3255(&a_2, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
		eqcopy___ast_u3255(&b_2, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
		k_1 = (*a_2).kind;
		switch (k_1) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40):
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__14;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T143_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T147_;
			colontmpD__14 = NIM_NIL;
			colontmpD__15 = NIM_NIL;
			T143_ = NIM_NIL;
			T143_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T143_); goto LA142_;}
			eqsink___ast_u3261(&result, T143_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			colontmpD__14 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_364);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			colontmpD__15 = newIdentNode__ast_u5164(colontmpD__14, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			add__ast_u3215(result, colontmpD__15);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			{
				NI i_7;
				NI colontmp__4;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = len__ast_u3190(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
				i_8 = ((NI)0);
				{
					while (1) {
						if (!(i_8 < colontmp__4)) goto LA146;
						i_7 = i_8;
						add__ast_u3215(result, (*a_2)._kind_6.sons.p->data[i_7]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
						i_8 += ((NI)1);
					} LA146: ;
				}
			}
			add__ast_u3215(result, b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			T147_ = NIM_NIL;
			T147_ = semGenericStmt__sem_u12513(c_p0, result, flags_p2, ctx_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T147_); goto LA142_;}
			eqsink___ast_u3261(&result, T147_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			{
				LA142_:;
			}
			{
				oldNimErrFin142_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__15);
				if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
				eqdestroy___idents_u155(colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
				*nimErr_ = oldNimErrFin142_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__16;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__17;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T152_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T156_;
			colontmpD__16 = NIM_NIL;
			colontmpD__17 = NIM_NIL;
			T152_ = NIM_NIL;
			T152_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T152_); goto LA151_;}
			eqsink___ast_u3261(&result, T152_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			colontmpD__16 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_366);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			colontmpD__17 = newIdentNode__ast_u5164(colontmpD__16, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			add__ast_u3215(result, colontmpD__17);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			{
				NI i_9;
				NI colontmp__5;
				NI i_10;
				i_9 = (NI)0;
				colontmp__5 = (NI)0;
				colontmp__5 = len__ast_u3190(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
				i_10 = ((NI)0);
				{
					while (1) {
						if (!(i_10 < colontmp__5)) goto LA155;
						i_9 = i_10;
						add__ast_u3215(result, (*a_2)._kind_6.sons.p->data[i_9]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
						i_10 += ((NI)1);
					} LA155: ;
				}
			}
			add__ast_u3215(result, b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			T156_ = NIM_NIL;
			T156_ = semGenericStmt__sem_u12513(c_p0, result, flags_p2, ctx_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T156_); goto LA151_;}
			eqsink___ast_u3261(&result, T156_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA151_;
			{
				LA151_:;
			}
			{
				oldNimErrFin151_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
				eqdestroy___idents_u155(colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
				*nimErr_ = oldNimErrFin151_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
		}
		break;
		default:
		{
			{
				NI i_11;
				NI colontmp__6;
				NI i_12;
				i_11 = (NI)0;
				colontmp__6 = (NI)0;
				colontmp__6 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
				i_12 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T163_;
						if (!(i_12 < colontmp__6)) goto LA162;
						i_11 = i_12;
						T163_ = NIM_NIL;
						T163_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[i_11], flags_p2, ctx_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T163_); goto LA140_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_11], T163_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA140_;
						i_12 += ((NI)1);
					} LA162: ;
				}
			}
		}
		break;
		}
		{
			LA140_:;
		}
		{
			oldNimErrFin140_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin140_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	{
		{
			NI i_13;
			NI colontmp__7;
			NI i_14;
			i_13 = (NI)0;
			colontmp__7 = (NI)0;
			colontmp__7 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_14 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T170_;
					if (!(i_14 < colontmp__7)) goto LA169;
					i_13 = i_14;
					T170_ = NIM_NIL;
					T170_ = semGenericStmtScope__sem_u12518(c_p0, (*n_p1)._kind_6.sons.p->data[i_13], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T170_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_13], T170_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_14 += ((NI)1);
				} LA169: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
	{
		{
			NI i_15;
			NI colontmp__8;
			NI i_16;
			i_15 = (NI)0;
			colontmp__8 = (NI)0;
			colontmp__8 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_16 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					if (!(i_16 < colontmp__8)) goto LA174;
					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 LA175_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T180_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T181_;
						if (!((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86))) goto LA178_;
						T180_ = NIM_NIL;
						T180_ = semGenericStmt__sem_u12513(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], flags_p2, ctx_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T180_); goto LA175_;}
						eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_15])._kind_6.sons.p->data[((NI)0)], T180_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
						T181_ = NIM_NIL;
						T181_ = semGenericStmt__sem_u12513(c_p0, (*it_1)._kind_6.sons.p->data[((NI)1)], (flags_p2 | 4), ctx_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T181_); goto LA175_;}
						eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_15])._kind_6.sons.p->data[((NI)1)], T181_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
					}
					goto LA176_;
LA178_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T183_;
						T183_ = NIM_NIL;
						T183_ = semGenericStmt__sem_u12513(c_p0, it_1, (flags_p2 | 4), ctx_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T183_); goto LA175_;}
						eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_15], T183_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
					}
LA176_: ;
					i_16 += ((NI)1);
					{
						LA175_:;
					}
					{
						oldNimErrFin175_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin175_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA174: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__18;
		colontmpD__18 = NIM_NIL;
		colontmpD__18 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
		{
			NI i_17;
			NI colontmp__9;
			NI i_18;
			i_17 = (NI)0;
			colontmp__9 = (NI)0;
			colontmp__9 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
			i_18 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T191_;
					if (!(i_18 < colontmp__9)) goto LA190;
					i_17 = i_18;
					T191_ = NIM_NIL;
					T191_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[i_17], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T191_); goto LA187_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_17], T191_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
					i_18 += ((NI)1);
				} LA190: ;
			}
		}
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
		{
			LA187_:;
		}
		{
			oldNimErrFin187_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___lookups_u74(colontmpD__18);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin187_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__19;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T196_;
		colontmpD__19 = NIM_NIL;
		colontmpD__19 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA195_;
		T196_ = NIM_NIL;
		T196_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T196_); goto LA195_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T196_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA195_;
		{
			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 LA195_;
			i_20 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_3;
					NI T206_;
					NI T207_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T208_;
					if (!(i_20 < colontmp__10)) goto LA199;
					a_3 = NIM_NIL;
					i_19 = i_20;
					eqcopy___ast_u3255(&a_3, (*n_p1)._kind_6.sons.p->data[i_19]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					checkMinSonsLen__semdata_u4675(a_3, ((NI)1), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					{
						NI j_1;
						NI colontmp__11;
						NI T202_;
						NI i_21;
						j_1 = (NI)0;
						colontmp__11 = (NI)0;
						T202_ = (NI)0;
						T202_ = len__ast_u3190(a_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
						colontmp__11 = (NI)(T202_ - ((NI)1));
						i_21 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T205_;
								if (!(i_21 < colontmp__11)) goto LA204;
								j_1 = i_21;
								T205_ = NIM_NIL;
								T205_ = semGenericStmt__sem_u12513(c_p0, (*a_3)._kind_6.sons.p->data[j_1], (flags_p2 | 4), ctx_p3);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T205_); goto LA200_;}
								eqsink___ast_u3261(&(*a_3)._kind_6.sons.p->data[j_1], T205_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
								addTempDeclToIdents__sem_u14086(c_p0, (*a_3)._kind_6.sons.p->data[j_1], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8), NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
								i_21 += ((NI)1);
							} LA204: ;
						}
					}
					T206_ = (NI)0;
					T206_ = len__ast_u3190(a_3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					T207_ = (NI)0;
					T207_ = len__ast_u3190(a_3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					T208_ = NIM_NIL;
					T208_ = semGenericStmtScope__sem_u12518(c_p0, (*a_3)._kind_6.sons.p->data[(NI)(T207_ - ((NI)1))], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T208_); goto LA200_;}
					eqsink___ast_u3261(&(*a_3)._kind_6.sons.p->data[(NI)(T206_ - ((NI)1))], T208_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					i_20 += ((NI)1);
					{
						LA200_:;
					}
					{
						oldNimErrFin200_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA195_;
						*nimErr_ = oldNimErrFin200_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA195_;
				} LA199: ;
			}
		}
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA195_;
		{
			LA195_:;
		}
		{
			oldNimErrFin195_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___lookups_u74(colontmpD__19);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin195_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__20;
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__21;
		NI T215_;
		NI T216_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T217_;
		NI T238_;
		NI T239_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T240_;
		colontmpD__20 = NIM_NIL;
		colontmpD__21 = NIM_NIL;
		colontmpD__20 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		T215_ = (NI)0;
		T215_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		T216_ = (NI)0;
		T216_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		T217_ = NIM_NIL;
		T217_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T216_ - ((NI)2))], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T217_); goto LA214_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T215_ - ((NI)2))], T217_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		{
			NI i_22;
			NI colontmp__12;
			NI T219_;
			NI i_23;
			i_22 = (NI)0;
			colontmp__12 = (NI)0;
			T219_ = (NI)0;
			T219_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
			colontmp__12 = (NI)(T219_ - ((NI)2));
			i_23 = ((NI)0);
			{
				while (1) {
					if (!(i_23 < colontmp__12)) goto LA221;
					i_22 = i_23;
					{
						if (!((*(*n_p1)._kind_6.sons.p->data[i_22]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA224_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_2;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp__13;
							s_2 = NIM_NIL;
							s_2 = 0;
							colontmp__13 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
							colontmp__13 = &(*n_p1)._kind_6.sons.p->data[i_22];
							{
								NI i_24;
								NI colontmp__14;
								NI i_25;
								i_24 = (NI)0;
								colontmp__14 = (NI)0;
								colontmp__14 = safeLen__ast_u3197((*colontmp__13));
								if (NIM_UNLIKELY(*nimErr_)) goto LA227_;
								i_25 = ((NI)0);
								{
									while (1) {
										if (!(i_25 < colontmp__14)) goto LA230;
										i_24 = i_25;
										eqcopy___ast_u3255(&s_2, (*(*colontmp__13))._kind_6.sons.p->data[i_24]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA227_;
										{
											if (!((*s_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA233_;
											addTempDecl__sem_u14025(c_p0, s_2, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21));
											if (NIM_UNLIKELY(*nimErr_)) goto LA227_;
										}
LA233_: ;
										i_25 += ((NI)1);
									} LA230: ;
								}
							}
							{
								LA227_:;
							}
							{
								oldNimErrFin227_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(s_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
								*nimErr_ = oldNimErrFin227_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
						}
					}
					goto LA222_;
LA224_: ;
					{
						addTempDecl__sem_u14025(c_p0, (*n_p1)._kind_6.sons.p->data[i_22], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21));
						if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
					}
LA222_: ;
					i_23 += ((NI)1);
				} LA221: ;
			}
		}
		colontmpD__21 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		T238_ = (NI)0;
		T238_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		T239_ = (NI)0;
		T239_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		T240_ = NIM_NIL;
		T240_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T239_ - ((NI)1))], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T240_); goto LA214_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T238_ - ((NI)1))], T240_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA214_;
		{
			LA214_:;
		}
		{
			oldNimErrFin214_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___lookups_u74(colontmpD__21);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___lookups_u74(colontmpD__20);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin214_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)129):
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__22;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T249_;
		colontmpD__22 = NIM_NIL;
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA244_;
		colontmpD__22 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA244_;
		{
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA247_;
			addTempDecl__sem_u14025(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)22));
			if (NIM_UNLIKELY(*nimErr_)) goto LA244_;
		}
LA247_: ;
		T249_ = NIM_NIL;
		T249_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T249_); goto LA244_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T249_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA244_;
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA244_;
		{
			LA244_:;
		}
		{
			oldNimErrFin244_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___lookups_u74(colontmpD__22);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin244_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)154):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T253_;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T253_ = NIM_NIL;
		T253_ = semGenericStmtScope__sem_u12518(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T253_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T253_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_26;
			NI colontmp__15;
			NI i_27;
			i_26 = (NI)0;
			colontmp__15 = (NI)0;
			colontmp__15 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_27 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_4;
					tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__23;
					NI T273_;
					NI T274_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T275_;
					if (!(i_27 < colontmp__15)) goto LA256;
					a_4 = NIM_NIL;
					colontmpD__23 = NIM_NIL;
					i_26 = i_27;
					eqcopy___ast_u3255(&a_4, (*n_p1)._kind_6.sons.p->data[i_26]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
					checkMinSonsLen__semdata_u4675(a_4, ((NI)1), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
					colontmpD__23 = openScope__lookups_u65(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
					{
						NI j_2;
						NI colontmp__16;
						NI T259_;
						NI i_28;
						j_2 = (NI)0;
						colontmp__16 = (NI)0;
						T259_ = (NI)0;
						T259_ = len__ast_u3190(a_4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
						colontmp__16 = (NI)(T259_ - ((NI)1));
						i_28 = ((NI)0);
						{
							while (1) {
								if (!(i_28 < colontmp__16)) goto LA261;
								j_2 = i_28;
								{
									NIM_BOOL T264_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__24;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T268_;
									T264_ = (NIM_BOOL)0;
									T264_ = isInfixAs__ast_u7333((*a_4)._kind_6.sons.p->data[j_2]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
									if (!T264_) goto LA265_;
									colontmpD__24 = NIM_NIL;
									colontmpD__24 = getIdentNode__sem_u12495(c_p0, (*(*a_4)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)2)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA267_;
									addTempDecl__sem_u14025(c_p0, colontmpD__24, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
									if (NIM_UNLIKELY(*nimErr_)) goto LA267_;
									T268_ = NIM_NIL;
									T268_ = semGenericStmt__sem_u12513(c_p0, (*(*a_4)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)1)], (flags_p2 | 2), ctx_p3);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T268_); goto LA267_;}
									eqsink___ast_u3261(&(*(*a_4)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)1)], T268_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA267_;
									{
										LA267_:;
									}
									{
										oldNimErrFin267_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__24);
										if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
										*nimErr_ = oldNimErrFin267_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								}
								goto LA262_;
LA265_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T272_;
									T272_ = NIM_NIL;
									T272_ = semGenericStmt__sem_u12513(c_p0, (*a_4)._kind_6.sons.p->data[j_2], (flags_p2 | 2), ctx_p3);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T272_); goto LA257_;}
									eqsink___ast_u3261(&(*a_4)._kind_6.sons.p->data[j_2], T272_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								}
LA262_: ;
								i_28 += ((NI)1);
							} LA261: ;
						}
					}
					T273_ = (NI)0;
					T273_ = len__ast_u3190(a_4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
					T274_ = (NI)0;
					T274_ = len__ast_u3190(a_4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
					T275_ = NIM_NIL;
					T275_ = semGenericStmtScope__sem_u12518(c_p0, (*a_4)._kind_6.sons.p->data[(NI)(T274_ - ((NI)1))], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T275_); goto LA257_;}
					eqsink___ast_u3261(&(*a_4)._kind_6.sons.p->data[(NI)(T273_ - ((NI)1))], T275_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
					closeScope__lookups_u102(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
					i_27 += ((NI)1);
					{
						LA257_:;
					}
					{
						oldNimErrFin257_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___lookups_u74(colontmpD__23);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(a_4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin257_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA256: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
	{
		tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__25;
		tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__26;
		tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__27;
		tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q varKind_1;
		colontmpD__25 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
		colontmpD__26 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
		colontmpD__27 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
		switch ((*n_p1).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
		{
			colontmpD__25 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8);
			varKind_1 = colontmpD__25;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
		{
			colontmpD__26 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9);
			varKind_1 = colontmpD__26;
		}
		break;
		default:
		{
			colontmpD__27 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10);
			varKind_1 = colontmpD__27;
		}
		break;
		}
		{
			NI i_29;
			NI colontmp__17;
			NI i_30;
			i_29 = (NI)0;
			colontmp__17 = (NI)0;
			colontmp__17 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_30 = ((NI)0);
			{
				while (1) {
					if (!(i_30 < colontmp__17)) goto LA284;
					i_29 = i_30;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_5;
						a_5 = NIM_NIL;
						eqcopy___ast_u3255(&a_5, (*n_p1)._kind_6.sons.p->data[i_29]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
						switch ((*a_5).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
						{
							eqdestroy___ast_u3252(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA285;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
						{
							NI T289_;
							NI T290_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T291_;
							NI T292_;
							NI T293_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T294_;
							checkMinSonsLen__semdata_u4675(a_5, ((NI)3), (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
							T289_ = (NI)0;
							T289_ = len__ast_u3190(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
							T290_ = (NI)0;
							T290_ = len__ast_u3190(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
							T291_ = NIM_NIL;
							T291_ = semGenericStmt__sem_u12513(c_p0, (*a_5)._kind_6.sons.p->data[(NI)(T290_ - ((NI)2))], (flags_p2 | 2), ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T291_); goto LA286_;}
							eqsink___ast_u3261(&(*a_5)._kind_6.sons.p->data[(NI)(T289_ - ((NI)2))], T291_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
							T292_ = (NI)0;
							T292_ = len__ast_u3190(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
							T293_ = (NI)0;
							T293_ = len__ast_u3190(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
							T294_ = NIM_NIL;
							T294_ = semGenericStmt__sem_u12513(c_p0, (*a_5)._kind_6.sons.p->data[(NI)(T293_ - ((NI)1))], flags_p2, ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T294_); goto LA286_;}
							eqsink___ast_u3261(&(*a_5)._kind_6.sons.p->data[(NI)(T292_ - ((NI)1))], T294_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
							{
								NI j_3;
								NI colontmp__18;
								NI T296_;
								NI i_31;
								j_3 = (NI)0;
								colontmp__18 = (NI)0;
								T296_ = (NI)0;
								T296_ = len__ast_u3190(a_5);
								if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
								colontmp__18 = (NI)(T296_ - ((NI)2));
								i_31 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__28;
										if (!(i_31 < colontmp__18)) goto LA298;
										colontmpD__28 = NIM_NIL;
										j_3 = i_31;
										colontmpD__28 = getIdentNode__sem_u12495(c_p0, (*a_5)._kind_6.sons.p->data[j_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA299_;
										addTempDecl__sem_u14025(c_p0, colontmpD__28, varKind_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA299_;
										i_31 += ((NI)1);
										{
											LA299_:;
										}
										{
											oldNimErrFin299_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__28);
											if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
											*nimErr_ = oldNimErrFin299_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
									} LA298: ;
								}
							}
						}
						break;
						default:
						{
							illFormedAst__semdata_u4665(a_5, (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
						}
						break;
						}
						{
							LA286_:;
						}
						{
							oldNimErrFin286_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin286_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA285: ;
					i_30 += ((NI)1);
				} LA284: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75):
	{
		{
			NI i_32;
			NI colontmp__19;
			NI i_33;
			i_32 = (NI)0;
			colontmp__19 = (NI)0;
			colontmp__19 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_33 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_6;
					NI T314_;
					NI T315_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T316_;
					if (!(i_33 < colontmp__19)) goto LA308;
					a_6 = NIM_NIL;
					i_32 = i_33;
					eqcopy___ast_u3255(&a_6, (*n_p1)._kind_6.sons.p->data[i_32]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
					{
						if (!!(((*a_6).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35)))) goto LA312_;
						illFormedAst__semdata_u4665(a_6, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
					}
LA312_: ;
					checkMinSonsLen__semdata_u4675(a_6, ((NI)3), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
					T314_ = (NI)0;
					T314_ = len__ast_u3190(a_6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
					T315_ = (NI)0;
					T315_ = len__ast_u3190(a_6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
					T316_ = NIM_NIL;
					T316_ = semGenericStmt__sem_u12513(c_p0, (*a_6)._kind_6.sons.p->data[(NI)(T315_ - ((NI)2))], (flags_p2 | 2), ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T316_); goto LA309_;}
					eqsink___ast_u3261(&(*a_6)._kind_6.sons.p->data[(NI)(T314_ - ((NI)2))], T316_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
					{
						NI j_4;
						NI colontmp__20;
						NI T318_;
						NI i_34;
						j_4 = (NI)0;
						colontmp__20 = (NI)0;
						T318_ = (NI)0;
						T318_ = len__ast_u3190(a_6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
						colontmp__20 = (NI)(T318_ - ((NI)2));
						i_34 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__29;
								if (!(i_34 < colontmp__20)) goto LA320;
								colontmpD__29 = NIM_NIL;
								j_4 = i_34;
								colontmpD__29 = getIdentNode__sem_u12495(c_p0, (*a_6)._kind_6.sons.p->data[j_4]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA321_;
								addTempDecl__sem_u14025(c_p0, colontmpD__29, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
								if (NIM_UNLIKELY(*nimErr_)) goto LA321_;
								i_34 += ((NI)1);
								{
									LA321_:;
								}
								{
									oldNimErrFin321_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__29);
									if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
									*nimErr_ = oldNimErrFin321_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA309_;
							} LA320: ;
						}
					}
					i_33 += ((NI)1);
					{
						LA309_:;
					}
					{
						oldNimErrFin309_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_6);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin309_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA308: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	{
		{
			NI i_35;
			NI colontmp__21;
			NI i_36;
			i_35 = (NI)0;
			colontmp__21 = (NI)0;
			colontmp__21 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_36 = ((NI)0);
			{
				while (1) {
					if (!(i_36 < colontmp__21)) goto LA329;
					i_35 = i_36;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_7;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__30;
						a_7 = NIM_NIL;
						colontmpD__30 = NIM_NIL;
						eqcopy___ast_u3255(&a_7, (*n_p1)._kind_6.sons.p->data[i_35]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
						{
							if (!((*a_7).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA334_;
							eqdestroy___ast_u3252(colontmpD__30);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(a_7);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA330;
						}
LA334_: ;
						{
							if (!!(((*a_7).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103)))) goto LA338_;
							illFormedAst__semdata_u4665(a_7, (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
						}
LA338_: ;
						checkSonsLen__semdata_u4671(a_7, ((NI)3), (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
						colontmpD__30 = getIdentNode__sem_u12495(c_p0, (*a_7)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
						addTempDecl__sem_u14025(c_p0, colontmpD__30, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
						if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
						{
							LA331_:;
						}
						{
							oldNimErrFin331_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__30);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(a_7);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin331_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA330: ;
					i_36 += ((NI)1);
				} LA329: ;
			}
		}
		{
			NI i_37;
			NI colontmp__22;
			NI i_38;
			i_37 = (NI)0;
			colontmp__22 = (NI)0;
			colontmp__22 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_38 = ((NI)0);
			{
				while (1) {
					if (!(i_38 < colontmp__22)) goto LA344;
					i_37 = i_38;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_8;
						a_8 = NIM_NIL;
						eqcopy___ast_u3255(&a_8, (*n_p1)._kind_6.sons.p->data[i_37]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
						{
							if (!((*a_8).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA349_;
							eqdestroy___ast_u3252(a_8);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA345;
						}
LA349_: ;
						{
							if (!!(((*a_8).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103)))) goto LA353_;
							illFormedAst__semdata_u4665(a_8, (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
						}
LA353_: ;
						checkSonsLen__semdata_u4671(a_8, ((NI)3), (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
						{
							tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__31;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T360_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T361_;
							if (!!(((*(*a_8)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA357_;
							colontmpD__31 = NIM_NIL;
							colontmpD__31 = openScope__lookups_u65(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
							T360_ = NIM_NIL;
							T360_ = semGenericStmt__sem_u12513(c_p0, (*a_8)._kind_6.sons.p->data[((NI)1)], flags_p2, ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T360_); goto LA359_;}
							eqsink___ast_u3261(&(*a_8)._kind_6.sons.p->data[((NI)1)], T360_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
							T361_ = NIM_NIL;
							T361_ = semGenericStmt__sem_u12513(c_p0, (*a_8)._kind_6.sons.p->data[((NI)2)], (flags_p2 | 2), ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T361_); goto LA359_;}
							eqsink___ast_u3261(&(*a_8)._kind_6.sons.p->data[((NI)2)], T361_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
							closeScope__lookups_u102(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA359_;
							{
								LA359_:;
							}
							{
								oldNimErrFin359_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___lookups_u74(colontmpD__31);
								if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
								*nimErr_ = oldNimErrFin359_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
						}
						goto LA355_;
LA357_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T365_;
							T365_ = NIM_NIL;
							T365_ = semGenericStmt__sem_u12513(c_p0, (*a_8)._kind_6.sons.p->data[((NI)2)], (flags_p2 | 2), ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T365_); goto LA346_;}
							eqsink___ast_u3261(&(*a_8)._kind_6.sons.p->data[((NI)2)], T365_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
						}
LA355_: ;
						{
							LA346_:;
						}
						{
							oldNimErrFin346_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_8);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin346_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA345: ;
					i_38 += ((NI)1);
				} LA344: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150):
	{
		{
			NI T371_;
			T371_ = (NI)0;
			T371_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)0) < T371_)) goto LA372_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T378_;
				if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA376_;
				T378_ = NIM_NIL;
				T378_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (flags_p2 | 2), ctx_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T378_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T378_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA376_: ;
			{
				NI i_39;
				NI colontmp__23;
				NI i_40;
				i_39 = (NI)0;
				colontmp__23 = (NI)0;
				colontmp__23 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_40 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_9;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__32;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__33;
						if (!(i_40 < colontmp__23)) goto LA381;
						a_9 = NIM_NIL;
						colontmpD__32 = NIM_NIL;
						colontmpD__33 = NIM_NIL;
						i_39 = i_40;
						a_9 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
						switch ((*(*n_p1)._kind_6.sons.p->data[i_39]).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)151):
						{
							eqcopy___ast_u3255(&a_9, (*(*n_p1)._kind_6.sons.p->data[i_39])._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA382_;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
						{
							eqcopy___ast_u3255(&a_9, (*n_p1)._kind_6.sons.p->data[i_39]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA382_;
						}
						break;
						default:
						{
							illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA382_;
						}
						break;
						}
						colontmpD__32 = getIdentNode__sem_u12495(c_p0, a_9);
						if (NIM_UNLIKELY(*nimErr_)) goto LA382_;
						colontmpD__33 = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0), colontmpD__32, c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA382_;
						addDecl__lookups_u3789(c_p0, colontmpD__33);
						if (NIM_UNLIKELY(*nimErr_)) goto LA382_;
						i_40 += ((NI)1);
						{
							LA382_:;
						}
						{
							oldNimErrFin382_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(colontmpD__33);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(colontmpD__32);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(a_9);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin382_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA381: ;
				}
			}
		}
LA372_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)134):
	{
		{
			NI i_41;
			NI colontmp__24;
			NI i_42;
			i_41 = (NI)0;
			colontmp__24 = (NI)0;
			colontmp__24 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_42 = ((NI)0);
			{
				while (1) {
					if (!(i_42 < colontmp__24)) goto LA391;
					i_41 = i_42;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_10;
						a_10 = NIM_NIL;
						eqcopy___ast_u3255(&a_10, (*n_p1)._kind_6.sons.p->data[i_41]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
						switch ((*a_10).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
						{
							eqdestroy___ast_u3252(a_10);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA392;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
						{
							NI T396_;
							NI T397_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T398_;
							NI T399_;
							NI T400_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T401_;
							checkMinSonsLen__semdata_u4675(a_10, ((NI)3), (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
							T396_ = (NI)0;
							T396_ = len__ast_u3190(a_10);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
							T397_ = (NI)0;
							T397_ = len__ast_u3190(a_10);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
							T398_ = NIM_NIL;
							T398_ = semGenericStmt__sem_u12513(c_p0, (*a_10)._kind_6.sons.p->data[(NI)(T397_ - ((NI)2))], (flags_p2 | 2), ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T398_); goto LA393_;}
							eqsink___ast_u3261(&(*a_10)._kind_6.sons.p->data[(NI)(T396_ - ((NI)2))], T398_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
							T399_ = (NI)0;
							T399_ = len__ast_u3190(a_10);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
							T400_ = (NI)0;
							T400_ = len__ast_u3190(a_10);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
							T401_ = NIM_NIL;
							T401_ = semGenericStmt__sem_u12513(c_p0, (*a_10)._kind_6.sons.p->data[(NI)(T400_ - ((NI)1))], flags_p2, ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T401_); goto LA393_;}
							eqsink___ast_u3261(&(*a_10)._kind_6.sons.p->data[(NI)(T399_ - ((NI)1))], T401_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
							{
								NI j_5;
								NI colontmp__25;
								NI T403_;
								NI i_43;
								j_5 = (NI)0;
								colontmp__25 = (NI)0;
								T403_ = (NI)0;
								T403_ = len__ast_u3190(a_10);
								if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
								colontmp__25 = (NI)(T403_ - ((NI)2));
								i_43 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__34;
										if (!(i_43 < colontmp__25)) goto LA405;
										colontmpD__34 = NIM_NIL;
										j_5 = i_43;
										colontmpD__34 = getIdentNode__sem_u12495(c_p0, (*a_10)._kind_6.sons.p->data[j_5]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
										addTempDecl__sem_u14025(c_p0, colontmpD__34, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19));
										if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
										i_43 += ((NI)1);
										{
											LA406_:;
										}
										{
											oldNimErrFin406_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__34);
											if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
											*nimErr_ = oldNimErrFin406_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
									} LA405: ;
								}
							}
						}
						break;
						default:
						{
							illFormedAst__semdata_u4665(a_10, (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
						}
						break;
						}
						{
							LA393_:;
						}
						{
							oldNimErrFin393_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_10);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin393_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA392: ;
					i_42 += ((NI)1);
				} LA391: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133):
	{
		{
			NI T415_;
			tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__35;
			T415_ = (NI)0;
			T415_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)0) < T415_)) goto LA416_;
			colontmpD__35 = NIM_NIL;
			colontmpD__35 = openScope__lookups_u65(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA418_;
			{
				NI i_44;
				NI colontmp__26;
				NI i_45;
				i_44 = (NI)0;
				colontmp__26 = (NI)0;
				colontmp__26 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA418_;
				i_45 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T422_;
						if (!(i_45 < colontmp__26)) goto LA421;
						i_44 = i_45;
						T422_ = NIM_NIL;
						T422_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[i_44], flags_p2, ctx_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T422_); goto LA418_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_44], T422_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA418_;
						i_45 += ((NI)1);
					} LA421: ;
				}
			}
			closeScope__lookups_u102(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA418_;
			{
				LA418_:;
			}
			{
				oldNimErrFin418_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___lookups_u74(colontmpD__35);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin418_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA416_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			NI i_46;
			NI colontmp__27;
			NI i_47;
			i_46 = (NI)0;
			colontmp__27 = (NI)0;
			colontmp__27 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_47 = ((NI)0);
			{
				while (1) {
					if (!(i_47 < colontmp__27)) goto LA428;
					i_46 = i_47;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_11;
						a_11 = NIM_NIL;
						eqcopy___ast_u3255(&a_11, (*n_p1)._kind_6.sons.p->data[i_46]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
						switch ((*a_11).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
						{
							eqdestroy___ast_u3252(a_11);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA429;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
						{
							NI T433_;
							NI T434_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T435_;
							NI T436_;
							NI T437_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T438_;
							checkMinSonsLen__semdata_u4675(a_11, ((NI)3), (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
							T433_ = (NI)0;
							T433_ = len__ast_u3190(a_11);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
							T434_ = (NI)0;
							T434_ = len__ast_u3190(a_11);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
							T435_ = NIM_NIL;
							T435_ = semGenericStmt__sem_u12513(c_p0, (*a_11)._kind_6.sons.p->data[(NI)(T434_ - ((NI)2))], (flags_p2 | 2), ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T435_); goto LA430_;}
							eqsink___ast_u3261(&(*a_11)._kind_6.sons.p->data[(NI)(T433_ - ((NI)2))], T435_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
							T436_ = (NI)0;
							T436_ = len__ast_u3190(a_11);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
							T437_ = (NI)0;
							T437_ = len__ast_u3190(a_11);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
							T438_ = NIM_NIL;
							T438_ = semGenericStmt__sem_u12513(c_p0, (*a_11)._kind_6.sons.p->data[(NI)(T437_ - ((NI)1))], flags_p2, ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T438_); goto LA430_;}
							eqsink___ast_u3261(&(*a_11)._kind_6.sons.p->data[(NI)(T436_ - ((NI)1))], T438_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
							{
								NI j_6;
								NI colontmp__28;
								NI T440_;
								NI i_48;
								j_6 = (NI)0;
								colontmp__28 = (NI)0;
								T440_ = (NI)0;
								T440_ = len__ast_u3190(a_11);
								if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
								colontmp__28 = (NI)(T440_ - ((NI)2));
								i_48 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__36;
										if (!(i_48 < colontmp__28)) goto LA442;
										colontmpD__36 = NIM_NIL;
										j_6 = i_48;
										colontmpD__36 = getIdentNode__sem_u12495(c_p0, (*a_11)._kind_6.sons.p->data[j_6]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA443_;
										addTempDecl__sem_u14025(c_p0, colontmpD__36, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19));
										if (NIM_UNLIKELY(*nimErr_)) goto LA443_;
										i_48 += ((NI)1);
										{
											LA443_:;
										}
										{
											oldNimErrFin443_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__36);
											if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
											*nimErr_ = oldNimErrFin443_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
									} LA442: ;
								}
							}
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)140):
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T447_;
							T447_ = NIM_NIL;
							T447_ = semGenericStmt__sem_u12513(c_p0, a_11, flags_p2, ctx_p3);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T447_); goto LA430_;}
							eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_46], T447_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
						}
						break;
						default:
						{
							illFormedAst__semdata_u4665(a_11, (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA430_;
						}
						break;
						}
						{
							LA430_:;
						}
						{
							oldNimErrFin430_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_11);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin430_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA429: ;
					i_47 += ((NI)1);
				} LA428: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__37;
		NI T453_;
		NI T454_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T455_;
		NI T456_;
		NI T457_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T458_;
		colontmpD__37 = NIM_NIL;
		checkSonsLen__semdata_u4671((*n_p1)._kind_6.sons.p->data[((NI)0)], ((NI)3), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		T453_ = (NI)0;
		T453_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		T454_ = (NI)0;
		T454_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		T455_ = NIM_NIL;
		T455_ = semGenericStmt__sem_u12513(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[(NI)(T454_ - ((NI)2))], (flags_p2 | 2), ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T455_); goto LA452_;}
		eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[(NI)(T453_ - ((NI)2))], T455_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		T456_ = (NI)0;
		T456_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		T457_ = (NI)0;
		T457_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		T458_ = NIM_NIL;
		T458_ = semGenericStmt__sem_u12513(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[(NI)(T457_ - ((NI)1))], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T458_); goto LA452_;}
		eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[(NI)(T456_ - ((NI)1))], T458_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		colontmpD__37 = getIdentNode__sem_u12495(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		addTempDecl__sem_u14025(c_p0, colontmpD__37, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19));
		if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
		{
			NI i_49;
			NI colontmp__29;
			NI i_50;
			i_49 = (NI)0;
			colontmp__29 = (NI)0;
			colontmp__29 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
			i_50 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T462_;
					if (!(i_50 < colontmp__29)) goto LA461;
					i_49 = i_50;
					T462_ = NIM_NIL;
					T462_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[i_49], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T462_); goto LA452_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_49], T462_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA452_;
					i_50 += ((NI)1);
				} LA461: ;
			}
		}
		{
			LA452_:;
		}
		{
			oldNimErrFin452_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__37);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin452_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76):
	{
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_51;
			NI colontmp__30;
			NI i_52;
			i_51 = (NI)0;
			colontmp__30 = (NI)0;
			colontmp__30 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_52 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_12;
					NI T474_;
					NI T475_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T476_;
					NI T477_;
					NI T478_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T479_;
					if (!(i_52 < colontmp__30)) goto LA468;
					a_12 = NIM_NIL;
					i_51 = i_52;
					eqcopy___ast_u3255(&a_12, (*n_p1)._kind_6.sons.p->data[i_51]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					{
						if (!!(((*a_12).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35)))) goto LA472_;
						illFormedAst__semdata_u4665(a_12, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					}
LA472_: ;
					checkMinSonsLen__semdata_u4675(a_12, ((NI)3), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					T474_ = (NI)0;
					T474_ = len__ast_u3190(a_12);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					T475_ = (NI)0;
					T475_ = len__ast_u3190(a_12);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					T476_ = NIM_NIL;
					T476_ = semGenericStmt__sem_u12513(c_p0, (*a_12)._kind_6.sons.p->data[(NI)(T475_ - ((NI)2))], (flags_p2 | 2), ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T476_); goto LA469_;}
					eqsink___ast_u3261(&(*a_12)._kind_6.sons.p->data[(NI)(T474_ - ((NI)2))], T476_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					T477_ = (NI)0;
					T477_ = len__ast_u3190(a_12);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					T478_ = (NI)0;
					T478_ = len__ast_u3190(a_12);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					T479_ = NIM_NIL;
					T479_ = semGenericStmt__sem_u12513(c_p0, (*a_12)._kind_6.sons.p->data[(NI)(T478_ - ((NI)1))], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T479_); goto LA469_;}
					eqsink___ast_u3261(&(*a_12)._kind_6.sons.p->data[(NI)(T477_ - ((NI)1))], T479_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
					{
						NI j_7;
						NI colontmp__31;
						NI T481_;
						NI i_53;
						j_7 = (NI)0;
						colontmp__31 = (NI)0;
						T481_ = (NI)0;
						T481_ = len__ast_u3190(a_12);
						if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
						colontmp__31 = (NI)(T481_ - ((NI)2));
						i_53 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__38;
								if (!(i_53 < colontmp__31)) goto LA483;
								colontmpD__38 = NIM_NIL;
								j_7 = i_53;
								colontmpD__38 = getIdentNode__sem_u12495(c_p0, (*a_12)._kind_6.sons.p->data[j_7]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA484_;
								addTempDecl__sem_u14025(c_p0, colontmpD__38, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
								if (NIM_UNLIKELY(*nimErr_)) goto LA484_;
								i_53 += ((NI)1);
								{
									LA484_:;
								}
								{
									oldNimErrFin484_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__38);
									if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
									*nimErr_ = oldNimErrFin484_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA469_;
							} LA483: ;
						}
					}
					i_52 += ((NI)1);
					{
						LA469_:;
					}
					{
						oldNimErrFin469_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_12);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin469_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA468: ;
			}
		}
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T493_;
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA491_;
			T493_ = NIM_NIL;
			T493_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (flags_p2 | 2), ctx_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T493_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T493_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA491_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__39;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_1;
		tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw colontmpD__40;
		tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw colontmpD__41;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T503_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T514_;
		tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw bodyFlags_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T535_;
		colontmpD__39 = NIM_NIL;
		body_1 = NIM_NIL;
		nimZeroMem((void*)(&colontmpD__40), sizeof(tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw));
		nimZeroMem((void*)(&colontmpD__41), sizeof(tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw));
		checkSonsLen__semdata_u4671(n_p1, ((NI)7), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__42;
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA498_;
			colontmpD__42 = NIM_NIL;
			colontmpD__42 = getIdentNode__sem_u12495(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA500_;
			addTempDecl__sem_u14025(c_p0, colontmpD__42, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12));
			if (NIM_UNLIKELY(*nimErr_)) goto LA500_;
			{
				LA500_:;
			}
			{
				oldNimErrFin500_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__42);
				if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
				*nimErr_ = oldNimErrFin500_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		}
LA498_: ;
		colontmpD__39 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		T503_ = NIM_NIL;
		T503_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T503_); goto LA495_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)2)], T503_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T513_;
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)3)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA506_;
			{
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__43;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__44;
				tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T512_;
				if (!!(((*(*(*n_p1)._kind_6.sons.p->data[((NI)3)])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA510_;
				colontmpD__43 = NIM_NIL;
				colontmpD__44 = NIM_NIL;
				colontmpD__43 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_367);
				if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
				T512_ = 0;
				colontmpD__44 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0), colontmpD__43, (*c_p0).Sup.idgen, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), (*n_p1).info, T512_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
				addPrelimDecl__lookups_u3792(c_p0, colontmpD__44);
				if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
				eqdestroy___ast_u4574(colontmpD__44);
				if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
				eqdestroy___idents_u155(colontmpD__43);
				if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
			}
LA510_: ;
			T513_ = NIM_NIL;
			T513_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)3)], flags_p2, ctx_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T513_); goto LA495_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)3)], T513_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		}
LA506_: ;
		T514_ = NIM_NIL;
		T514_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)4)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T514_); goto LA495_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)4)], T514_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_3;
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA517_;
			s_3 = NIM_NIL;
			eqcopy___ast_u4577(&s_3, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA519_;
			{
				NIM_BOOL T522_;
				T522_ = (NIM_BOOL)0;
				T522_ = (((*s_3).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0);
				if (!(T522_)) goto LA523_;
				T522_ = ((*s_3).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA523_: ;
				if (!T522_) goto LA524_;
				eqcopy___ast_u3255(&body_1, (*n_p1)._kind_6.sons.p->data[((NI)6)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA519_;
			}
			goto LA520_;
LA524_: ;
			{
				body_1 = getBody__modulegraphs_u17880((*c_p0).graph, s_3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA519_;
			}
LA520_: ;
			{
				LA519_:;
			}
			{
				oldNimErrFin519_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(s_3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
				*nimErr_ = oldNimErrFin519_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		}
		goto LA515_;
LA517_: ;
		{
			eqcopy___ast_u3255(&body_1, (*n_p1)._kind_6.sons.p->data[((NI)6)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		}
LA515_: ;
		{
			if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83))) goto LA532_;
			colontmpD__40 = (flags_p2 | 4);
			bodyFlags_1 = colontmpD__40;
		}
		goto LA530_;
LA532_: ;
		{
			colontmpD__41 = flags_p2;
			bodyFlags_1 = colontmpD__41;
		}
LA530_: ;
		T535_ = NIM_NIL;
		T535_ = semGenericStmtScope__sem_u12518(c_p0, body_1, bodyFlags_1, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T535_); goto LA495_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)6)], T535_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA495_;
		{
			LA495_:;
		}
		{
			oldNimErrFin495_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(body_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___lookups_u74(colontmpD__39);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin495_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T539_;
		T539_ = NIM_NIL;
		T539_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T539_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T539_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	{
		{
			NI i_54;
			NI colontmp__32;
			NI i_55;
			i_54 = (NI)0;
			colontmp__32 = (NI)0;
			colontmp__32 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_55 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
					tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw prag_1;
					if (!(i_55 < colontmp__32)) goto LA543;
					x_1 = NIM_NIL;
					i_54 = i_55;
					eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[i_54]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
					prag_1 = whichPragma__trees_u218(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
					{
						NI start_1;
						if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28))) goto LA547_;
						start_1 = !((prag_1 == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0)));
						{
							NI j_8;
							NI colontmp__33;
							NI i_56;
							j_8 = (NI)0;
							colontmp__33 = (NI)0;
							colontmp__33 = len__ast_u3190(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
							i_56 = start_1;
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T552_;
									if (!(i_56 < colontmp__33)) goto LA551;
									j_8 = i_56;
									T552_ = NIM_NIL;
									T552_ = semGenericStmt__sem_u12513(c_p0, (*x_1)._kind_6.sons.p->data[j_8], (flags_p2 | 4), ctx_p3);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T552_); goto LA544_;}
									eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[j_8], T552_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
									i_56 += ((NI)1);
								} LA551: ;
							}
						}
					}
					goto LA545_;
LA547_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T556_;
						if (!(prag_1 == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0))) goto LA554_;
						T556_ = NIM_NIL;
						T556_ = semGenericStmt__sem_u12513(c_p0, x_1, (flags_p2 | 4), ctx_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T556_); goto LA544_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_54], T556_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA544_;
					}
					goto LA545_;
LA554_: ;
LA545_: ;
					i_55 += ((NI)1);
					{
						LA544_:;
					}
					{
						oldNimErrFin544_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin544_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA543: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T560_;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T560_ = NIM_NIL;
		T560_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], flags_p2, ctx_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T560_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T560_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		{
			NI i_57;
			NI colontmp__34;
			NI i_58;
			i_57 = (NI)0;
			colontmp__34 = (NI)0;
			colontmp__34 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_58 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T565_;
					if (!(i_58 < colontmp__34)) goto LA564;
					i_57 = i_58;
					T565_ = NIM_NIL;
					T565_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[i_57], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T565_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_57], T565_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_58 += ((NI)1);
				} LA564: ;
			}
		}
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__45;
			NI fmoduleId_1;
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym3098__1;
			NIM_BOOL isVisable_1;
			if (!((*(*result)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA568_;
			colontmpD__45 = NIM_NIL;
			colontmpD__45 = getModule__astalgo_u156((*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA570_;
			xX60gensym3098__1 = (*colontmpD__45).itemId;
			fmoduleId_1 = (NI)((NI)((NU32)(((NI) (xX60gensym3098__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym3098__1.item)));
			isVisable_1 = NIM_FALSE;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** module_1;
				NI i_59;
				NI L_1;
				NI T572_;
				module_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
				i_59 = ((NI)0);
				T572_ = (*c_p0).friendModules.len;
				L_1 = T572_;
				{
					while (1) {
						if (!(i_59 < L_1)) goto LA574;
						module_1 = &(*c_p0).friendModules.p->data[i_59];
						{
							tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym3100__1;
							xX60gensym3100__1 = (*(*module_1)).itemId;
							if (!((NI)((NI)((NU32)(((NI) (xX60gensym3100__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym3100__1.item))) == fmoduleId_1)) goto LA577_;
							isVisable_1 = NIM_TRUE;
							goto LA571;
						}
LA577_: ;
						i_59 += ((NI)1);
					} LA574: ;
				}
			} LA571: ;
			{
				if (!isVisable_1) goto LA581_;
				{
					NI i_60;
					NI colontmp__35;
					NI i_61;
					i_60 = (NI)0;
					colontmp__35 = (NI)0;
					colontmp__35 = len__ast_u3190(result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA570_;
					i_61 = ((NI)1);
					{
						while (1) {
							if (!(i_61 < colontmp__35)) goto LA585;
							i_60 = i_61;
							{
								if (!((*(*result)._kind_6.sons.p->data[i_60]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA588_;
								(*(*(*result)._kind_6.sons.p->data[i_60])._kind_6.sons.p->data[((NI)1)]).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
							}
LA588_: ;
							i_61 += ((NI)1);
						} LA585: ;
					}
				}
			}
LA581_: ;
			{
				LA570_:;
			}
			{
				oldNimErrFin570_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__45);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin570_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA568_: ;
	}
	break;
	default:
	{
		{
			NI i_62;
			NI colontmp__36;
			NI i_63;
			i_62 = (NI)0;
			colontmp__36 = (NI)0;
			colontmp__36 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_63 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T596_;
					if (!(i_63 < colontmp__36)) goto LA595;
					i_62 = i_63;
					T596_ = NIM_NIL;
					T596_ = semGenericStmt__sem_u12513(c_p0, (*n_p1)._kind_6.sons.p->data[i_62], flags_p2, ctx_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T596_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_62], T596_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_63 += ((NI)1);
				} LA595: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u14839)(tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).bracketExpr);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*(*dest_p0).bracketExpr)));
		nimRawDispose((*dest_p0).bracketExpr, ((NI)8));
	}
LA4_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).toBind.data);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).toBind.head);
		if (!T8_) goto LA9_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).toBind.head)));
		nimRawDispose((*dest_p0).toBind.head, ((NI)4));
	}
LA9_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).toMixin.data);
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).toMixin.head);
		if (!T13_) goto LA14_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).toMixin.head)));
		nimRawDispose((*dest_p0).toMixin.head, ((NI)4));
	}
LA14_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericStmt__sem_u690)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w ctx_1;
	tySet_tyEnum_TSemGenericFlag__whL9bSfnX5Px3YUEH7o7Zyw T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w));
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w));
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toMixin));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toBind));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	result = semGenericStmt__sem_u12513(c_p0, n_p1, T2_, (&ctx_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sem_u14839((&ctx_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semWhen__sem_u531)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL semCheck_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_1;
	NIM_BOOL whenNimvm_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin21_;
	NIM_BOOL cannotResolve_1;
NIM_BOOL oldNimErrFin68_;
NIM_BOOL oldNimErrFin60_;
NIM_BOOL oldNimErrFin94_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin146_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg));
	typ_1 = NIM_NIL;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		if (!semCheck_p2) goto LA4_;
		colontmpD_ = 256;
		flags_1 = colontmpD_;
	}
	goto LA2_;
LA4_: ;
	{
		colontmpD__2 = 0;
		flags_1 = colontmpD__2;
	}
LA2_: ;
	whenNimvm_1 = NIM_FALSE;
	T7_ = NIM_NIL;
	T7_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) nimNewObj(sizeof(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg), NIM_ALIGNOF(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg));
	(*T7_).kind = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6);
	typ_1 = T7_;
	{
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T12_;
		NI T13_;
		NIM_BOOL T16_;
		NI T17_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* exprNode_1;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T12_ = dotdot___stdZstrbasics_u49(((NI)1), ((NI)2));
		T13_ = (NI)0;
		T13_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = contains__pureZtimes_u3356(T12_, T13_);
		if (!(T11_)) goto LA14_;
		T11_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86));
LA14_: ;
		T10_ = T11_;
		if (!(T10_)) goto LA15_;
		T16_ = (NIM_BOOL)0;
		T17_ = (NI)0;
		T17_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T16_ = (T17_ == ((NI)1));
		if (T16_) goto LA18_;
		T16_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88));
LA18_: ;
		T10_ = T16_;
LA15_: ;
		if (!T10_) goto LA19_;
		exprNode_1 = NIM_NIL;
		eqcopy___ast_u3255(&exprNode_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			if (!((*exprNode_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165))) goto LA24_;
			eqcopy___ast_u3255(&exprNode_1, (*exprNode_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		}
LA24_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			if (!((*exprNode_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA28_;
			colontmpD__3 = NIM_NIL;
			colontmpD__3 = lookUp__lookups_u5157(c_p0, exprNode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			whenNimvm_1 = ((*colontmpD__3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)263));
			{
				LA30_:;
			}
			{
				oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
				*nimErr_ = oldNimErrFin30_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		}
		goto LA26_;
LA28_: ;
		{
			if (!((*exprNode_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA34_;
			whenNimvm_1 = ((*(*exprNode_1)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)263));
		}
		goto LA26_;
LA34_: ;
LA26_: ;
		{
			if (!whenNimvm_1) goto LA38_;
			(*n_p1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)8))) & 31);
		}
LA38_: ;
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(exprNode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA19_: ;
	cannotResolve_1 = NIM_FALSE;
	{
		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)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				if (!(i_2 < colontmp_)) goto LA44;
				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 LA45_;
				switch ((*it_1).kind) {
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49):
				{
					checkSonsLen__semdata_u4671(it_1, ((NI)2), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					{
						if (!whenNimvm_1) goto LA49_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T55_;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T56_;
							if (!semCheck_p2) goto LA53_;
							T55_ = NIM_NIL;
							T55_ = semExpr__sem_u58(c_p0, (*it_1)._kind_6.sons.p->data[((NI)1)], flags_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T55_); goto LA45_;}
							eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)1)], T55_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							T56_ = NIM_NIL;
							T56_ = commonType__sem_u256(c_p0, typ_1, (*(*it_1)._kind_6.sons.p->data[((NI)1)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T56_); goto LA45_;}
							eqsink___ast_u3387(&typ_1, T56_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						}
LA53_: ;
						eqcopy___ast_u3255(&result, n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					}
					goto LA47_;
LA49_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
						tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T61_;
						if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA58_;
						e_1 = NIM_NIL;
						T61_ = 0;
						e_1 = semExprWithType__sem_u63(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], T61_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T66_;
							if (!((*(*e_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA64_;
							T66_ = NIM_NIL;
							T66_ = makeStaticExpr__semdata_u4441(c_p0, e_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T66_); goto LA60_;}
							eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T66_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
							cannotResolve_1 = NIM_TRUE;
						}
						goto LA62_;
LA64_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T69_;
							val_1 = NIM_NIL;
							T69_ = NIM_NIL;
							T69_ = forceBool__sem_u4381(c_p0, e_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T69_); goto LA68_;}
							eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T69_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
							val_1 = getConstExpr__semfold_u68((*c_p0).module, (*it_1)._kind_6.sons.p->data[((NI)0)], (*c_p0).Sup.idgen, (*c_p0).graph);
							if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
							{
								NIM_BOOL T72_;
								T72_ = (NIM_BOOL)0;
								T72_ = (val_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
								if (T72_) goto LA73_;
								T72_ = !(((*val_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)));
LA73_: ;
								if (!T72_) goto LA74_;
								cannotResolve_1 = NIM_TRUE;
							}
							goto LA70_;
LA74_: ;
							{
								NIM_BOOL T77_;
								NIM_BOOL T78_;
								T77_ = (NIM_BOOL)0;
								T78_ = (NIM_BOOL)0;
								T78_ = !(cannotResolve_1);
								if (!(T78_)) goto LA79_;
								T78_ = !(((*val_1)._kind_1.intVal == IL64(0)));
LA79_: ;
								T77_ = T78_;
								if (!(T77_)) goto LA80_;
								T77_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA80_: ;
								if (!T77_) goto LA81_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T87_;
									if (!semCheck_p2) goto LA85_;
									T87_ = NIM_NIL;
									T87_ = semExpr__sem_u58(c_p0, (*it_1)._kind_6.sons.p->data[((NI)1)], flags_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T87_); goto LA68_;}
									eqsink___ast_u3261(&result, T87_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
								}
								goto LA83_;
LA85_: ;
								{
									eqcopy___ast_u3255(&result, (*it_1)._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
								}
LA83_: ;
								eqdestroy___ast_u3252(val_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
								eqdestroy___ast_u3252(e_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
								eqdestroy___ast_u3252(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___ast_u3378(typ_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
							goto LA70_;
LA81_: ;
LA70_: ;
							{
								LA68_:;
							}
							{
								oldNimErrFin68_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(val_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
								*nimErr_ = oldNimErrFin68_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
						}
LA62_: ;
						{
							LA60_:;
						}
						{
							oldNimErrFin60_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(e_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							*nimErr_ = oldNimErrFin60_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					}
					goto LA47_;
LA58_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_2;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
						e_2 = NIM_NIL;
						colontmpD__4 = NIM_NIL;
						colontmpD__4 = semConstExpr__sem_u631(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
						e_2 = forceBool__sem_u4381(c_p0, colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
						{
							if (!!(((*e_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)))) goto LA97_;
						}
						goto LA95_;
LA97_: ;
						{
							NIM_BOOL T100_;
							T100_ = (NIM_BOOL)0;
							T100_ = !(((*e_2)._kind_1.intVal == IL64(0)));
							if (!(T100_)) goto LA101_;
							T100_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA101_: ;
							if (!T100_) goto LA102_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T108_;
								if (!semCheck_p2) goto LA106_;
								T108_ = NIM_NIL;
								T108_ = semExpr__sem_u58(c_p0, (*it_1)._kind_6.sons.p->data[((NI)1)], flags_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T108_); goto LA94_;}
								eqsink___ast_u3261(&result, T108_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
							}
							goto LA104_;
LA106_: ;
							{
								eqcopy___ast_u3255(&result, (*it_1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
							}
LA104_: ;
							eqdestroy___ast_u3252(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							eqdestroy___ast_u3252(e_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3378(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
						goto LA95_;
LA102_: ;
LA95_: ;
						{
							LA94_:;
						}
						{
							oldNimErrFin94_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							eqdestroy___ast_u3252(e_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							*nimErr_ = oldNimErrFin94_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					}
LA47_: ;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)50):
				{
					checkSonsLen__semdata_u4671(it_1, ((NI)1), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					{
						if (!cannotResolve_1) goto LA115_;
					}
					goto LA113_;
LA115_: ;
					{
						NIM_BOOL T118_;
						T118_ = (NIM_BOOL)0;
						T118_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
						if (T118_) goto LA119_;
						T118_ = whenNimvm_1;
LA119_: ;
						if (!T118_) goto LA120_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T126_;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T127_;
							if (!semCheck_p2) goto LA124_;
							T126_ = NIM_NIL;
							T126_ = semExpr__sem_u58(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], flags_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T126_); goto LA45_;}
							eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T126_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							T127_ = NIM_NIL;
							T127_ = commonType__sem_u256(c_p0, typ_1, (*(*it_1)._kind_6.sons.p->data[((NI)0)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T127_); goto LA45_;}
							eqsink___ast_u3387(&typ_1, T127_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							{
								NIM_BOOL T130_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T134_;
								T130_ = (NIM_BOOL)0;
								T130_ = !((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
								if (!(T130_)) goto LA131_;
								T130_ = !(((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6)));
LA131_: ;
								if (!T130_) goto LA132_;
								T134_ = NIM_NIL;
								T134_ = fitNode__sem_u79(c_p0, typ_1, (*it_1)._kind_6.sons.p->data[((NI)0)], (*(*it_1)._kind_6.sons.p->data[((NI)0)]).info);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T134_); goto LA45_;}
								eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T134_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							}
LA132_: ;
						}
LA124_: ;
						{
							if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA137_;
							eqcopy___ast_u3255(&result, (*it_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						}
LA137_: ;
					}
					goto LA113_;
LA120_: ;
LA113_: ;
				}
				break;
				default:
				{
					illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				}
				break;
				}
				i_2 += ((NI)1);
				{
					LA45_:;
				}
				{
					oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin45_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA44: ;
		}
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T147_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T148_;
		if (!cannotResolve_1) goto LA144_;
		colontmpD__5 = NIM_NIL;
		T147_ = NIM_NIL;
		T147_ = semGenericStmt__sem_u690(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T147_); goto LA146_;}
		eqsink___ast_u3261(&result, T147_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
		colontmpD__5 = copyTree__ast_u6891(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
		T148_ = NIM_NIL;
		T148_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T148_); goto LA146_;}
		eqsink___ast_u3387(&(*result).typField, T148_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
		eqdestroy___ast_u3252(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA146_:;
		}
		{
			oldNimErrFin146_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin146_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA144_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T155_;
		if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA153_;
		T155_ = NIM_NIL;
		T155_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T155_); goto LA1_;}
		eqsink___ast_u3261(&result, T155_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA153_: ;
	{
		if (!whenNimvm_1) goto LA158_;
		eqsink___ast_u3387(&(*result).typField, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NI T162_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			tyArray__TAsXwXSUBvAawE1kIQ5ziQ T165_;
			T162_ = (NI)0;
			T162_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T162_ == ((NI)1))) goto LA163_;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			nimZeroMem((void*)T165_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
			colontmpD__6 = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T165_[0] = colontmpD__6;
			colontmpD__7 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88), T165_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			add__ast_u3215(result, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA163_: ;
	}
LA158_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semTypeIdent__sem_u9287)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin71_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		result = getGenSym__semdata_u2268(c_p0, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T6_;
		T6_ = 0;
		result = pickSym__lookups_u6216(c_p0, n_p1, 152, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T11_;
			if (!(result == 0)) goto LA9_;
			T11_ = NIM_NIL;
			T11_ = qualifiedLookUp__lookups_u5229(c_p0, n_p1, 3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T11_); goto BeforeRet_;}
			eqsink___ast_u4583(&result, T11_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA9_: ;
		{
			if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA14_;
			markUsed__sigmatch_u100(c_p0, (*n_p1).info, result, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T18_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T23_;
				T18_ = (NIM_BOOL)0;
				T18_ = ((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
				if (!(T18_)) goto LA19_;
				T18_ = !((((*result).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)47)))&63U)))!=0));
LA19_: ;
				if (!T18_) goto LA20_;
				t_1 = NIM_NIL;
				t_1 = semTypeExpr__sem_u8938(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				T23_ = NIM_NIL;
				T23_ = symFromType__semdata_u4633(c_p0, t_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T23_); goto LA22_;}
				eqsink___ast_u4583(&result, T23_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					LA22_:;
				}
				{
					oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin22_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA20_: ;
			{
				NIM_BOOL T28_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T49_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T50_;
				T28_ = (NIM_BOOL)0;
				T28_ = ((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
				if (!(T28_)) goto LA29_;
				T28_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA29_: ;
				if (!T28_) goto LA30_;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* bound_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
					if (!(((NI)0) < (*c_p0).inGenericInst)) goto LA34_;
					bound_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					colontmpD_ = elementType__ast_u5331((*result).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
					eqcopy___ast_u4577(&bound_1, (*colontmpD_).sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
					{
						NIM_BOOL T39_;
						T39_ = (NIM_BOOL)0;
						T39_ = !((bound_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T39_)) goto LA40_;
						colontmpD__2 = elementType__ast_u5331((*result).typ);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						T39_ = ((*bound_1).typ == colontmpD__2);
LA40_: ;
						if (!T39_) goto LA41_;
						result = bound_1;
						eqwasMoved___ast_u4571(&bound_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3378(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(bound_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA41_: ;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u4574(bound_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
					{
						LA36_:;
					}
					{
						oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(bound_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin36_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA34_: ;
				{
					if (!((*(*result).typ).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA47_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_368, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_369, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					result = errorSym__lookups_u2620(c_p0, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA47_: ;
				T49_ = NIM_NIL;
				T49_ = copySym__ast_u6250((*(*result).typ).sym, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T49_); goto BeforeRet_;}
				eqsink___ast_u4583(&result, T49_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T50_ = NIM_NIL;
				T50_ = exactReplica__ast_u6243((*result).typ);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T50_); goto BeforeRet_;}
				eqsink___ast_u3387(&(*result).typ, T50_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*(*result).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9))) & 63);
			}
LA30_: ;
			{
				if (!((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4))) goto LA53_;
				{
					NIM_BOOL T57_;
					NIM_BOOL T58_;
					NI T60_;
					T57_ = (NIM_BOOL)0;
					T58_ = (NIM_BOOL)0;
					T58_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
					if (!(T58_)) goto LA59_;
					T60_ = (NI)0;
					T60_ = len__ast_u5502((*result).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T58_ = (T60_ == ((NI)0));
LA59_: ;
					T57_ = T58_;
					if (!(T57_)) goto LA61_;
					T57_ = (((*(*result).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30)))&63U)))!=0);
LA61_: ;
					if (!T57_) goto LA62_;
					transitionGenericParamToType__ast_u6843(result);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					(*(*result).typ).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30))) & 63));
					goto BeforeRet_;
				}
				goto LA55_;
LA62_: ;
				{
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_370, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_371, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					result = errorSym__lookups_u2620(c_p0, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA55_: ;
			}
LA53_: ;
			{
				NIM_BOOL T67_;
				tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w ov_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* amb_1;
				T67_ = (NIM_BOOL)0;
				T67_ = !(((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7)));
				if (!(T67_)) goto LA68_;
				T67_ = !(((*result).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)24) || (*result).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)17) || (*result).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18)));
LA68_: ;
				if (!T67_) goto LA69_;
				nimZeroMem((void*)(&ov_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
				amb_1 = NIM_NIL;
				nimZeroMem((void*)(&ov_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
				amb_1 = initOverloadIter__lookups_u5784((&ov_1), c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				{
					while (1) {
						NIM_BOOL T74_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T76_;
						T74_ = (NIM_BOOL)0;
						T74_ = !((amb_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T74_)) goto LA75_;
						T74_ = !(((*amb_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7)));
LA75_: ;
						if (!T74_) goto LA73;
						T76_ = NIM_NIL;
						T76_ = nextOverloadIter__lookups_u5989((&ov_1), c_p0, n_p1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T76_); goto LA71_;}
						eqsink___ast_u4583(&amb_1, T76_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
					} LA73: ;
				}
				{
					if (!!((amb_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA79_;
					eqsink___ast_u4583(&result, amb_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
					eqwasMoved___ast_u4571(&amb_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				}
				goto LA77_;
LA79_: ;
				{
					{
						if (!!(((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0)))) goto LA84_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_372, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_373, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
					}
LA84_: ;
					result = errorSym__lookups_u2620(c_p0, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
					eqdestroy___ast_u4574(amb_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___lookups_u6249((&ov_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA77_: ;
				{
					LA71_:;
				}
				{
					oldNimErrFin71_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(amb_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___lookups_u6249((&ov_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin71_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA69_: ;
			{
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA oldInfo_1;
				if (!!(((*(*result).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12)))) goto LA90_;
				oldInfo_1 = (*n_p1).info;
				reset__sem_u9387((&(*n_p1)));
				transitionNoneToSym__ast_u6838(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqcopy___ast_u4577(&(*n_p1)._kind_4.sym, result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*n_p1).info = oldInfo_1;
				eqcopy___ast_u3381(&(*n_p1).typField, (*result).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA90_: ;
		}
		goto LA12_;
LA14_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T93_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_375, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_376, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T93_ = NIM_NIL;
			T93_ = errorSym__lookups_u2620(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T93_); goto BeforeRet_;}
			eqsink___ast_u4583(&result, T93_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, symFromExpectedTypeNode__sem_u9197)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4))) goto LA3_;
		result = symFromType__semdata_u4633(c_p0, (*n_p1).typField, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_377, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_378, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = errorSym__lookups_u2620(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semArrayIndexConst__sem_u6527)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	x_1 = NIM_NIL;
	x_1 = semConstExpr__sem_u631(c_p0, e_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		if (!((*x_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6) && (*x_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA4_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = skipTypes__ast_u5379((*x_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = makeRangeType__semdata_u4597(c_p0, IL64(0), (NI64)((*x_1)._kind_1.intVal - IL64(1)), info_p2, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = skipTypes__ast_u5379((*x_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semArrayIndex__sem_u6537)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin83_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isRange__trees_u189(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		result = semRangeAux__sem_u6378(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
		if (!(T8_)) goto LA9_;
		T8_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA9_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA10_;
		T7_ = eqStrings((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__rF9caJawfOjYTjsgLVUSGFA_380);
LA10_: ;
		if (!T7_) goto LA11_;
		result = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA11_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
		e_1 = NIM_NIL;
		e_1 = semExprWithType__sem_u63(c_p0, n_p1, 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			if (!((*(*e_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA17_;
			result = makeRangeWithStaticExpr__semdata_u4545(c_p0, (*(*e_1).typField).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
		goto LA15_;
LA17_: ;
		{
			if (!((*e_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6) && (*e_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA20_;
			{
				if (!((*e_1)._kind_1.intVal < IL64(0))) goto LA24_;
				{
					NimStringV2 colontmpD_;
					NimStringV2 colontmpD__2;
					NimStringV2 T31_;
					if (!((*e_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6) && (*e_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)10))) goto LA28_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					T31_.len = 0; T31_.p = NIM_NIL;
					colontmpD_ = dollar___systemZdollars_u29((*e_1)._kind_1.intVal);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					T31_ = rawNewString(colontmpD_.len + 40);
appendString((&T31_), TM__rF9caJawfOjYTjsgLVUSGFA_382);
appendString((&T31_), colontmpD_);
					colontmpD__2 = T31_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_383, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
					{
						LA30_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__2);
						eqdestroy___system_u2691(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				}
				goto LA26_;
LA28_: ;
				{
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					NimStringV2 T36_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					T36_.len = 0; T36_.p = NIM_NIL;
					colontmpD__3 = dollar___systemZdollars_u54(((NU64) ((*e_1)._kind_1.intVal)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					T36_ = rawNewString(colontmpD__3.len + 75);
appendString((&T36_), TM__rF9caJawfOjYTjsgLVUSGFA_385);
appendString((&T36_), colontmpD__3);
					colontmpD__4 = T36_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_386, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					{
						LA35_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__4);
						eqdestroy___system_u2691(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				}
LA26_: ;
			}
LA24_: ;
			result = makeRangeType__semdata_u4597(c_p0, IL64(0), (NI64)((*e_1)._kind_1.intVal - IL64(1)), (*n_p1).info, (*e_1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
		goto LA15_;
LA20_: ;
		{
			NIM_BOOL T40_;
			NIM_BOOL T42_;
			T40_ = (NIM_BOOL)0;
			T40_ = ((*e_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T40_)) goto LA41_;
			T42_ = (NIM_BOOL)0;
			T42_ = ((*(*e_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
			if (T42_) goto LA43_;
			T42_ = ((*(*e_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA43_: ;
			T40_ = T42_;
LA41_: ;
			if (!T40_) goto LA44_;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
				if (!((*(*e_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA48_;
				colontmpD__5 = NIM_NIL;
				colontmpD__6 = NIM_NIL;
				{
					if (!!(((*(*e_1)._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA53_;
					result = semArrayIndex__sem_u6537(c_p0, (*(*e_1)._kind_4.sym).ast);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					eqdestroy___ast_u3378(colontmpD__6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					eqdestroy___ast_u3378(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					eqdestroy___ast_u3252(e_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA53_: ;
				{
					NIM_BOOL T57_;
					NIM_BOOL T59_;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__7;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__8;
					NimStringV2 colontmpD__9;
					NimStringV2 colontmpD__10;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
					T57_ = (NIM_BOOL)0;
					colontmpD__5 = skipModifier__ast_u5338((*e_1).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					T57_ = !(((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12)));
					if (!(T57_)) goto LA58_;
					colontmpD__6 = skipModifier__ast_u5338((*e_1).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					T59_ = (NIM_BOOL)0;
					T59_ = isOrdinalType__types_u283(colontmpD__6, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					T57_ = !(T59_);
LA58_: ;
					if (!T57_) goto LA60_;
					nimZeroMem((void*)(&colontmpD__7), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
					nimZeroMem((void*)(&colontmpD__8), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
					colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
					colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
					{
						NI T65_;
						T65_ = (NI)0;
						T65_ = safeLen__ast_u3197(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
						if (!(((NI)1) < T65_)) goto LA66_;
						colontmpD__7 = (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info;
						info_1 = colontmpD__7;
					}
					goto LA63_;
LA66_: ;
					{
						colontmpD__8 = (*n_p1).info;
						info_1 = colontmpD__8;
					}
LA63_: ;
					colontmpD__9 = typeToString__types_u54((*e_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
					colontmpD__10 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_388, colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, info_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__10, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_389, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
					{
						LA62_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__10);
						eqdestroy___system_u2691(colontmpD__9);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				}
LA60_: ;
				result = makeRangeWithStaticExpr__semdata_u4545(c_p0, e_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				{
					if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA73_;
					(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9))) & 63);
				}
LA73_: ;
				{
					LA50_:;
				}
				{
					oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					eqdestroy___ast_u3378(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					*nimErr_ = oldNimErrFin50_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			}
			goto LA46_;
LA48_: ;
			{
				result = skipTypes__ast_u5379((*e_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)47))) & 63);
			}
LA46_: ;
		}
		goto LA15_;
LA44_: ;
		{
			NIM_BOOL T79_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__11;
			T79_ = (NIM_BOOL)0;
			T79_ = ((*e_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) && (*e_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32) || (*e_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
			if (!(T79_)) goto LA80_;
			T79_ = hasUnresolvedArgs__sem_u152(c_p0, e_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
LA80_: ;
			if (!T79_) goto LA81_;
			colontmpD__11 = NIM_NIL;
			{
				NIM_BOOL T86_;
				NimStringV2 colontmpD__12;
				NimStringV2 colontmpD__13;
				colontmpD__11 = skipTypes__ast_u5379((*e_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_390);
				if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
				T86_ = (NIM_BOOL)0;
				T86_ = isOrdinalType__types_u283(colontmpD__11, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
				if (!!(T86_)) goto LA87_;
				colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
				colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
				colontmpD__12 = typeToString__types_u54((*e_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
				colontmpD__13 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_391, colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__13, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_392, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
				{
					LA89_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__13);
					eqdestroy___system_u2691(colontmpD__12);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
			}
LA87_: ;
			result = makeRangeWithStaticExpr__semdata_u4545(c_p0, e_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
			{
				LA83_:;
			}
			{
				oldNimErrFin83_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				*nimErr_ = oldNimErrFin83_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
		goto LA15_;
LA81_: ;
		{
			if (!((*e_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA95_;
			result = skipTypes__ast_u5379((*e_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
		goto LA15_;
LA95_: ;
		{
			result = semArrayIndexConst__sem_u6527(c_p0, e_1, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA15_: ;
		{
			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_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, setSon__ast_u5964)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1) {
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg T1_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_.len = 1; T1_.p = (tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content*) newSeqPayload(1, sizeof(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*), NIM_ALIGNOF(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*));
	blitTmp_1 = son_p1;
	T1_.p->data[0] = blitTmp_1;
	eqsink___ast_u3320((&(*dest_p0).sons), T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newOrPrevType__sem_u4448)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p1, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
		T3_ = (NIM_BOOL)0;
		T3_ = reusePrev__sem_u4425(prev_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		eqcopy___ast_u3381(&result, prev_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		blitTmp_1 = son_p3;
		setSon__ast_u5964(result, blitTmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30))) goto LA8_;
			(*result).kind = kind_p0;
		}
LA8_: ;
	}
	goto LA1_;
LA4_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_2;
		blitTmp_2 = son_p3;
		result = newTypeS__semdata_u4368(kind_p0, c_p2, blitTmp_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semArray__sem_u6607)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	base_1 = NIM_NIL;
	{
		NI T4_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* indx_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* indxB_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_ == ((NI)3))) goto LA5_;
		indx_1 = NIM_NIL;
		indxB_1 = NIM_NIL;
		indx_1 = semArrayIndex__sem_u6537(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		eqcopy___ast_u3381(&indxB_1, indx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T12_;
			if (!((*indxB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11) || (*indxB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4) || (*indxB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46))) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = skipModifier__ast_u5338(indxB_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T12_); goto LA7_;}
			eqsink___ast_u3387(&indxB_1, T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA10_: ;
		{
			NIM_BOOL T15_;
			T15_ = (NIM_BOOL)0;
			T15_ = !(((*indxB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*indxB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*indxB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61)));
			if (!(T15_)) goto LA16_;
			T15_ = !((((*indxB_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0));
LA16_: ;
			if (!T15_) goto LA17_;
			{
				NIM_BOOL T21_;
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				T21_ = (NIM_BOOL)0;
				T21_ = isOrdinalType__types_u283(indxB_1, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				if (!!(T21_)) goto LA22_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD_ = typeToString__types_u54(indxB_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_393, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_394, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				{
					LA24_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			}
			goto LA19_;
LA22_: ;
			{
				NIM_BOOL T28_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				T28_ = (NIM_BOOL)0;
				T28_ = enumHasHoles__types_u271(indxB_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				if (!T28_) goto LA29_;
				colontmpD__3 = NIM_NIL;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				colontmpD__3 = skipTypes__ast_u5379(indxB_1, TM__rF9caJawfOjYTjsgLVUSGFA_146);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				colontmpD__4 = typeToString__types_u54(colontmpD__3, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_395, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_396, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				{
					LA31_:;
				}
				{
					oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___ast_u3378(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					*nimErr_ = oldNimErrFin31_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			}
			goto LA19_;
LA29_: ;
			{
				NIM_BOOL T35_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T37_;
				NimStringV2 colontmpD__6;
				NimStringV2 colontmpD__7;
				T35_ = (NIM_BOOL)0;
				T35_ = !(((*indxB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20)));
				if (!(T35_)) goto LA36_;
				T37_ = lengthOrd__types_u1491((*(*c_p0).graph).config, indxB_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				T35_ = lt___int128_u959(IL64(65535), T37_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
LA36_: ;
				if (!T35_) goto LA38_;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				colontmpD__6 = typeToString__types_u54(indxB_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_398, colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_399, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				{
					LA40_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__7);
					eqdestroy___system_u2691(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			}
			goto LA19_;
LA38_: ;
LA19_: ;
		}
LA17_: ;
		base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		blitTmp_1 = indx_1;
		eqwasMoved___ast_u3375(&indx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		result = newOrPrevType__sem_u4448(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16), prev_p2, c_p0, blitTmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		addSonSkipIntLit__magicsys_u135(result, base_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(indxB_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(indx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA5_: ;
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_401, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_402, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semContainerArg__sem_u6241)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 kindStr_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result_p3) {
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)2))) goto LA4_;
		base_1 = NIM_NIL;
		base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			if (!((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63))) goto LA9_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD_ = typeToString__types_u54(base_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_404, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_405, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				LA11_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA9_: ;
		addSonSkipIntLit__magicsys_u135(result_p3, base_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NimStringV2 colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_407, kindStr_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_408, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		colontmpD__4 = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		addSonSkipIntLit__magicsys_u135(result_p3, colontmpD__4, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		{
			LA17_:;
		}
		{
			oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__3);
			*nimErr_ = oldNimErrFin17_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semContainer__sem_u6251)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, NimStringV2 kindStr_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p4) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newOrPrevType__sem_u4458(kind_p2, prev_p4, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	semContainerArg__sem_u6241(c_p0, n_p1, kindStr_p3, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semRange__sem_u6485)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)2))) goto LA4_;
		{
			NIM_BOOL T8_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T11_;
			T8_ = (NIM_BOOL)0;
			T8_ = isRange__trees_u189((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T8_) goto LA9_;
			T11_ = NIM_NIL;
			T11_ = semRangeAux__sem_u6378(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T11_); goto BeforeRet_;}
			eqsink___ast_u3387(&result, T11_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T14_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
				T14_ = (NIM_BOOL)0;
				T14_ = isDefined__options_u959((*(*c_p0).graph).config, TM__rF9caJawfOjYTjsgLVUSGFA_413);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!!(T14_)) goto LA15_;
				n_2 = NIM_NIL;
				eqcopy___ast_u3255(&n_2, (*result).n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T19_;
					T19_ = (NIM_BOOL)0;
					T19_ = ((*(*n_2)._kind_6.sons.p->data[((NI)0)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*n_2)._kind_6.sons.p->data[((NI)0)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
					if (!(T19_)) goto LA20_;
					T19_ = (IL64(0) < (*(*n_2)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal);
LA20_: ;
					if (!T19_) goto LA21_;
					(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18))) & 63);
				}
				goto LA17_;
LA21_: ;
				{
					NIM_BOOL T24_;
					T24_ = (NIM_BOOL)0;
					T24_ = ((*(*n_2)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*n_2)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
					if (!(T24_)) goto LA25_;
					T24_ = ((*(*n_2)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal < IL64(0));
LA25_: ;
					if (!T24_) goto LA26_;
					(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18))) & 63);
				}
				goto LA17_;
LA26_: ;
				{
					NIM_BOOL T29_;
					T29_ = (NIM_BOOL)0;
					T29_ = ((*(*n_2)._kind_6.sons.p->data[((NI)0)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) && (*(*n_2)._kind_6.sons.p->data[((NI)0)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18));
					if (!(T29_)) goto LA30_;
					T29_ = (0.0 < (*(*n_2)._kind_6.sons.p->data[((NI)0)])._kind_2.floatVal);
LA30_: ;
					if (!T29_) goto LA31_;
					(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18))) & 63);
				}
				goto LA17_;
LA31_: ;
				{
					NIM_BOOL T34_;
					T34_ = (NIM_BOOL)0;
					T34_ = ((*(*n_2)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) && (*(*n_2)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18));
					if (!(T34_)) goto LA35_;
					T34_ = ((*(*n_2)._kind_6.sons.p->data[((NI)1)])._kind_2.floatVal < 0.0);
LA35_: ;
					if (!T34_) goto LA36_;
					(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18))) & 63);
				}
				goto LA17_;
LA36_: ;
LA17_: ;
				eqdestroy___ast_u3252(n_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA15_: ;
		}
		goto LA6_;
LA9_: ;
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T47_;
			colontmpD_ = NIM_NIL;
			{
				NIM_BOOL T42_;
				T42_ = (NIM_BOOL)0;
				T42_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
				if (!(T42_)) goto LA43_;
				colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
				T42_ = eqStrings((*colontmpD_).s, TM__rF9caJawfOjYTjsgLVUSGFA_414);
LA43_: ;
				if (!T42_) goto LA44_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_416, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_417, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			}
			goto LA40_;
LA44_: ;
			{
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_419, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_420, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			}
LA40_: ;
			T47_ = NIM_NIL;
			T47_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T47_); goto LA39_;}
			eqsink___ast_u3387(&result, T47_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			{
				LA39_:;
			}
			{
				oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin39_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA6_: ;
	}
	goto LA1_;
LA4_: ;
	{
		NimStringV2 colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T52_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_421, TM__rF9caJawfOjYTjsgLVUSGFA_423);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_424, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		T52_ = NIM_NIL;
		T52_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T52_); goto LA51_;}
		eqsink___ast_u3387(&result, T52_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		{
			LA51_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semSet__sem_u6215)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		NI T4_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (T4_ == ((NI)2));
		if (!(T3_)) goto LA5_;
		T3_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA5_: ;
		if (!T3_) goto LA6_;
		base_1 = NIM_NIL;
		base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		addSonSkipIntLit__magicsys_u135(result, base_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T13_;
			if (!((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11) || (*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4) || (*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = skipModifier__ast_u5338(base_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T13_); goto LA8_;}
			eqsink___ast_u3387(&base_1, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA11_: ;
		{
			if (!!(((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9)))) goto LA16_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				if (!((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30))) goto LA20_;
				colontmpD_ = eqdup___ast_u3258(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				add__ast_u3225((&(*c_p0).skipTypes), colontmpD_);
			}
			goto LA18_;
LA20_: ;
			{
				NIM_BOOL T23_;
				NimStringV2 colontmpD__2;
				NimStringV2 colontmpD__3;
				T23_ = (NIM_BOOL)0;
				T23_ = isOrdinalType__types_u283(base_1, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				if (!!(T23_)) goto LA24_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__2 = typeToString__types_u54(base_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_425, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_426, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				{
					LA26_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__3);
					eqdestroy___system_u2691(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
			goto LA18_;
LA24_: ;
			{
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T30_;
				NIM_BOOL T31_;
				T30_ = lengthOrd__types_u1491((*(*c_p0).graph).config, base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				T31_ = (NIM_BOOL)0;
				T31_ = lt___int128_u959(IL64(65536), T30_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				if (!T31_) goto LA32_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_428, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_429, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
			goto LA18_;
LA32_: ;
LA18_: ;
		}
LA16_: ;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA6_: ;
	{
		NimStringV2 colontmpD__4;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_430, TM__rF9caJawfOjYTjsgLVUSGFA_432);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_433, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		colontmpD__5 = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		addSonSkipIntLit__magicsys_u135(result, colontmpD__5, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		{
			LA37_:;
		}
		{
			oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__4);
			*nimErr_ = oldNimErrFin37_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semOrdinal__sem_u6641)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)15), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)2))) goto LA4_;
		base_1 = NIM_NIL;
		base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			if (!!(((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12)))) goto LA9_;
			{
				NIM_BOOL T13_;
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				T13_ = (NIM_BOOL)0;
				T13_ = isOrdinalType__types_u283(base_1, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				if (!!(T13_)) goto LA14_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD_ = typeToString__types_u54(base_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
				colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_434, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_435, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
				{
					LA16_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			}
LA14_: ;
		}
LA9_: ;
		addSonSkipIntLit__magicsys_u135(result, base_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NimStringV2 colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T23_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_436, TM__rF9caJawfOjYTjsgLVUSGFA_438);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_439, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		T23_ = NIM_NIL;
		T23_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T23_); goto LA22_;}
		eqsink___ast_u3387(&result, T23_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		{
			LA22_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semIterableType__sem_u6635)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)64), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)2))) goto LA4_;
		base_1 = NIM_NIL;
		base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		addSonSkipIntLit__magicsys_u135(result, base_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NimStringV2 colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T11_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_440, TM__rF9caJawfOjYTjsgLVUSGFA_442);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_443, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		T11_ = NIM_NIL;
		T11_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T11_); goto LA10_;}
		eqsink___ast_u3387(&result, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semVarargs__sem_u6258)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		NI T4_;
		NI T6_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (T4_ == ((NI)2));
		if (T3_) goto LA5_;
		T6_ = (NI)0;
		T6_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (T6_ == ((NI)3));
LA5_: ;
		if (!T3_) goto LA7_;
		base_1 = NIM_NIL;
		base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		addSonSkipIntLit__magicsys_u135(result, base_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			NI T12_;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
			T12_ = (NI)0;
			T12_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			if (!(T12_ == ((NI)3))) goto LA13_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			T16_ = NIM_NIL;
			T16_ = newIdentNode__ast_u5164(colontmpD_, (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA15_;}
			eqsink___ast_u3261(&(*result).n, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				*nimErr_ = oldNimErrFin15_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		}
LA13_: ;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA7_: ;
	{
		NimStringV2 colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_446, TM__rF9caJawfOjYTjsgLVUSGFA_448);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_449, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colontmpD__3 = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		addSonSkipIntLit__magicsys_u135(result, colontmpD__3, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__2);
			*nimErr_ = oldNimErrFin22_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTuple__sem_u6717)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA check_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
	NI counter_1;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	typ_1 = NIM_NIL;
	nimZeroMem((void*)(&check_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto LA1_;}
	eqsink___ast_u3261(&(*result).n, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&check_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	counter_1 = ((NI)0);
	{
		NI i_1;
		NI colontmp_;
		NI colontmp__2;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp__2 = (NI)0;
		colontmp_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
		colontmp__2 = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = colontmp_;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
				NIM_BOOL hasDefaultField_1;
				NI T11_;
				if (!(i_2 < colontmp__2)) goto LA5;
				a_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				{
					if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35)))) goto LA9_;
					illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA9_: ;
				checkMinSonsLen__semdata_u4675(a_1, ((NI)3), (*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T11_ = (NI)0;
				T11_ = len__ast_u3190(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				hasDefaultField_1 = !(((*(*a_1)._kind_6.sons.p->data[(NI)(T11_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T16_;
					if (!hasDefaultField_1) goto LA14_;
					T16_ = NIM_NIL;
					{
						NI T19_;
						NI T22_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T23_;
						T19_ = (NI)0;
						T19_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!!(((*(*a_1)._kind_6.sons.p->data[(NI)(T19_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA20_;
						T22_ = (NI)0;
						T22_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T23_ = NIM_NIL;
						T23_ = semTypeNode__sem_u89(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T22_ - ((NI)2))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T23_); goto LA6_;}
						eqsink___ast_u3387(&typ_1, T23_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
					goto LA17_;
LA20_: ;
					{
						eqsink___ast_u3387(&typ_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA17_: ;
					{
						NI T29_;
						NI T30_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
						if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA27_;
						T29_ = (NI)0;
						T29_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T30_ = (NI)0;
						T30_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T31_ = NIM_NIL;
						T31_ = semExprWithType__sem_u63(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T30_ - ((NI)1))], 33555456, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto LA6_;}
						eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[(NI)(T29_ - ((NI)1))], T31_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NI T36_;
							if (!(typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA34_;
							T36_ = (NI)0;
							T36_ = len__ast_u3190(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							eqcopy___ast_u3381(&typ_1, (*(*a_1)._kind_6.sons.p->data[(NI)(T36_ - ((NI)1))]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA34_: ;
					}
					goto LA25_;
LA27_: ;
					{
						NI T38_;
						NI T39_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T40_;
						T38_ = (NI)0;
						T38_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						fitDefaultNode__sem_u6331(c_p0, &(*a_1)._kind_6.sons.p->data[(NI)(T38_ - ((NI)1))], typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T39_ = (NI)0;
						T39_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T40_ = NIM_NIL;
						T40_ = skipIntLit__magicsys_u120((*(*a_1)._kind_6.sons.p->data[(NI)(T39_ - ((NI)1))]).typField, (*c_p0).Sup.idgen);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T40_); goto LA6_;}
						eqsink___ast_u3387(&typ_1, T40_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA25_: ;
				}
				goto LA12_;
LA14_: ;
				{
					NI T42_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
					NI T46_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T47_;
					T42_ = (NI)0;
					T42_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					if (!!(((*(*a_1)._kind_6.sons.p->data[(NI)(T42_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA43_;
					colontmpD_ = NIM_NIL;
					T46_ = (NI)0;
					T46_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					T47_ = NIM_NIL;
					T47_ = semTypeNode__sem_u89(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T46_ - ((NI)2))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T47_); goto LA45_;}
					eqsink___ast_u3387(&typ_1, T47_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					{
						NIM_BOOL T50_;
						NI T54_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T55_;
						T50_ = (NIM_BOOL)0;
						T50_ = isDefined__options_u959((*(*c_p0).graph).config, TM__rF9caJawfOjYTjsgLVUSGFA_465);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						if (!(T50_)) goto LA51_;
						colontmpD_ = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						T50_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20));
LA51_: ;
						if (!T50_) goto LA52_;
						T54_ = (NI)0;
						T54_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						T55_ = NIM_NIL;
						T55_ = firstRange__sem_u6658((*(*c_p0).graph).config, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T55_); goto LA45_;}
						eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[(NI)(T54_ - ((NI)1))], T55_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						hasDefaultField_1 = NIM_TRUE;
					}
LA52_: ;
					{
						LA45_:;
					}
					{
						oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						*nimErr_ = oldNimErrFin45_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
				goto LA12_;
LA43_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T59_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_466, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_467, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T59_ = NIM_NIL;
					T59_ = errorType__semdata_u4564(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T59_); goto LA6_;}
					eqsink___ast_u3387(&typ_1, T59_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA12_: ;
				{
					NI j_1;
					NI colontmp__3;
					NI T61_;
					NI i_3;
					j_1 = (NI)0;
					colontmp__3 = (NI)0;
					T61_ = (NI)0;
					T61_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					colontmp__3 = (NI)(T61_ - ((NI)2));
					i_3 = ((NI)0);
					{
						while (1) {
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
							if (!(i_3 < colontmp__3)) goto LA63;
							field_1 = NIM_NIL;
							colontmpD__2 = NIM_NIL;
							j_1 = i_3;
							field_1 = newSymG__sem_u441(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19), (*a_1)._kind_6.sons.p->data[j_1], c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
							eqcopy___ast_u3381(&(*field_1).typ, typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
							(*field_1).position = counter_1;
							counter_1 += ((NI)1);
							{
								NIM_BOOL T67_;
								NimStringV2 colontmpD__3;
								NimStringV2 T71_;
								T67_ = (NIM_BOOL)0;
								T67_ = containsOrIncl__astyaml_u223((&check_1), (*(*field_1).name).id);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								if (!T67_) goto LA68_;
								colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
								T71_.len = 0; T71_.p = NIM_NIL;
								T71_ = rawNewString((*(*field_1).name).s.len + 23);
appendString((&T71_), TM__rF9caJawfOjYTjsgLVUSGFA_468);
appendString((&T71_), (*(*field_1).name).s);
appendString((&T71_), TM__rF9caJawfOjYTjsgLVUSGFA_469);
								colontmpD__3 = T71_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[j_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_470, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
								{
									LA70_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__3);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
							}
							goto LA65_;
LA68_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fSym_1;
								fSym_1 = NIM_NIL;
								fSym_1 = newSymNode__ast_u5168(field_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								{
									NI T79_;
									if (!hasDefaultField_1) goto LA77_;
									T79_ = (NI)0;
									T79_ = len__ast_u3190(a_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
									eqcopy___ast_u3255(&(*(*fSym_1)._kind_4.sym).ast, (*a_1)._kind_6.sons.p->data[(NI)(T79_ - ((NI)1))]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
									(*(*(*fSym_1)._kind_4.sym).ast).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)24))) & 31);
								}
LA77_: ;
								add__ast_u3215((*result).n, fSym_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								addSonSkipIntLit__magicsys_u135(result, typ_1, (*c_p0).Sup.idgen);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								eqdestroy___ast_u3252(fSym_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
							}
LA65_: ;
							{
								NIM_BOOL T82_;
								NIM_BOOL T83_;
								NIM_BOOL T84_;
								NIM_BOOL T85_;
								NIM_BOOL T86_;
								NIM_BOOL T87_;
								NIM_BOOL T88_;
								NIM_BOOL T89_;
								NIM_BOOL T90_;
								NIM_BOOL T91_;
								NIM_BOOL T92_;
								tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T94_;
								NIM_BOOL T103_;
								tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T106_;
								T82_ = (NIM_BOOL)0;
								T83_ = (NIM_BOOL)0;
								T84_ = (NIM_BOOL)0;
								T85_ = (NIM_BOOL)0;
								T86_ = (NIM_BOOL)0;
								T87_ = (NIM_BOOL)0;
								T88_ = (NIM_BOOL)0;
								T89_ = (NIM_BOOL)0;
								T90_ = (NIM_BOOL)0;
								T91_ = (NIM_BOOL)0;
								T92_ = (NIM_BOOL)0;
								T92_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
								if (!(T92_)) goto LA93_;
								T94_ = 0;
								T92_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T94_));
LA93_: ;
								T91_ = T92_;
								if (!(T91_)) goto LA95_;
								T91_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA95_: ;
								T90_ = T91_;
								if (!(T90_)) goto LA96_;
								colontmpD__2 = getModule__modulegraphs_u14809((*c_p0).graph, (*(*a_1)._kind_6.sons.p->data[j_1]).info.fileIndex);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
								T90_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
LA96_: ;
								T89_ = T90_;
								if (!(T89_)) goto LA97_;
								T89_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA97_: ;
								T88_ = T89_;
								if (!(T88_)) goto LA98_;
								T88_ = !(((*field_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA98_: ;
								T87_ = T88_;
								if (!(T87_)) goto LA99_;
								T87_ = !(((*field_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA99_: ;
								T86_ = T87_;
								if (!(T86_)) goto LA100_;
								T86_ = (((NU8)((*(*field_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*field_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA100_: ;
								T85_ = T86_;
								if (!(T85_)) goto LA101_;
								T85_ = !(((*field_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*field_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA101_: ;
								T84_ = T85_;
								if (!(T84_)) goto LA102_;
								T103_ = (NIM_BOOL)0;
								T103_ = ((*field_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (T103_) goto LA104_;
								T103_ = !(((*(*field_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA104_: ;
								T84_ = T103_;
LA102_: ;
								T83_ = T84_;
								if (!(T83_)) goto LA105_;
								T106_ = 0;
								T83_ = ((192 & (*field_1).flags) == T106_);
LA105_: ;
								T82_ = T83_;
								if (!(T82_)) goto LA107_;
								T82_ = !((((*field_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA107_: ;
								if (!T82_) goto LA108_;
								nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[j_1]).info, field_1, (*field_1).kind);
								if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
							}
LA108_: ;
							i_3 += ((NI)1);
							{
								LA64_:;
							}
							{
								oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								eqdestroy___ast_u4574(field_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								*nimErr_ = oldNimErrFin64_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						} LA63: ;
					}
				}
				i_2 += ((NI)1);
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	{
		NI T116_;
		T116_ = (NI)0;
		T116_ = len__ast_u3190((*result).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T116_ == ((NI)0))) goto LA117_;
		eqsink___ast_u3261(&(*result).n, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA117_: ;
	{
		NIM_BOOL T121_;
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		T121_ = (NIM_BOOL)0;
		T121_ = isRecursiveStructuralType__types_u4096(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T121_) goto LA122_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__4 = typeToString__types_u54(result, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
		colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_472, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_473, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
		{
			LA124_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA122_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&check_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semGenericParamInInvocation__sem_u8697)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = semTypeNode__sem_u89(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = makeTypeDesc__semdata_u4621(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T1_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*n_p1).typField, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericInvocationWithForward__sem_u8727)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NI T8_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T5_)) goto LA6_;
		T5_ = !(((*(*n_p0)._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T8_ = (NI)0;
		T8_ = len__ast_u3190((*(*n_p0)._kind_4.sym).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T4_ = (((NI)1) < T8_);
LA7_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA9_;
		T3_ = ((*(*(*(*n_p0)._kind_4.sym).ast)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133));
LA9_: ;
		if (!T3_) goto LA10_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp_;
			NI T14_;
			p_1 = NIM_NIL;
			colontmp_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			T14_ = (NI)0;
			T14_ = len__ast_u3190((*(*(*n_p0)._kind_4.sym).ast)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			colontmp_ = &(*(*(*(*n_p0)._kind_4.sym).ast)._kind_6.sons.p->data[((NI)2)])._kind_6.sons.p->data[(NI)(T14_ - ((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 LA13_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp__2)) goto LA17;
						i_1 = i_2;
						eqcopy___ast_u3255(&p_1, (*(*colontmp_))._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						{
							NIM_BOOL T20_;
							NIM_BOOL T21_;
							NIM_BOOL T22_;
							NIM_BOOL T23_;
							T20_ = (NIM_BOOL)0;
							T21_ = (NIM_BOOL)0;
							T22_ = (NIM_BOOL)0;
							T23_ = (NIM_BOOL)0;
							T23_ = ((*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35));
							if (!(T23_)) goto LA24_;
							T23_ = !(((*(*p_1)._kind_6.sons.p->data[((NI)1)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA24_: ;
							T22_ = T23_;
							if (!(T22_)) goto LA25_;
							T22_ = ((*(*(*p_1)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9));
LA25_: ;
							T21_ = T22_;
							if (!(T21_)) goto LA26_;
							T21_ = ((*(*(*p_1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA26_: ;
							T20_ = T21_;
							if (!(T20_)) goto LA27_;
							T20_ = ((*(*(*(*p_1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30));
LA27_: ;
							if (!T20_) goto LA28_;
							result = NIM_TRUE;
							eqdestroy___ast_u3252(p_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA28_: ;
						i_2 += ((NI)1);
					} LA17: ;
				}
			}
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(p_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA10_: ;
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, instGenericContainer__sem_u1274)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* header_p2, NIM_BOOL allowMetaTypes_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ cl_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* colontmpD__2;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__3;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* genericTyp_1;
	tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA T9_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&cl_1), sizeof(tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ));
	colontmpD__3 = NIM_NIL;
	genericTyp_1 = NIM_NIL;
	{
		NimStringV2 argX60gensym189__1;
		if (!!(((*header_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9)))) goto LA4_;
		argX60gensym189__1.len = 0; argX60gensym189__1.p = NIM_NIL;
		argX60gensym189__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_492);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym189__1, TM__rF9caJawfOjYTjsgLVUSGFA_492);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym189__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	nimZeroMem((void*)(&cl_1), sizeof(tyObject_TReplTypeVars__nNYOjqMFSTdqmL8P8nxCxQ));
	cl_1.symMap = initIdTable__semdata_u1096();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	cl_1.localCache = initIdTable__layeredtable_u16();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&cl_1.typeMap), sizeof(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A));
	colontmpD_ = eqdup___lineinfos_u2037(info_p1);
	cl_1.info = colontmpD_;
	colontmpD__2 = eqdup___semdata_u4222(c_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	cl_1.c = colontmpD__2;
	cl_1.allowMetaTypes = allowMetaTypes_p3;
	T9_ = initIdTable__layeredtable_u16();
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___layeredtable_u149(T9_); goto LA1_;}
	eqsink___layeredtable_u158((&cl_1.typeMap.topLayer), T9_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	genericTyp_1 = base__ast_u5351(header_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* genParam_1;
		NI i_1;
		genParam_1 = NIM_NIL;
		i_1 = (NI)0;
		{
			NI i_2;
			NI colontmp_;
			NI T13_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			T13_ = (*genericTyp_1).sons.len;
			colontmp_ = (NI)(T13_ - ((NI)1));
			i_3 = ((NI)0);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
					if (!(i_3 < colontmp_)) goto LA15;
					param_1 = NIM_NIL;
					i_2 = i_3;
					i_1 = i_2;
					eqcopy___ast_u3381(&genParam_1, (*genericTyp_1).sons.p->data[i_2]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					param_1 = 0;
					{
						tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T21_;
						if (!((*genParam_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA19_;
						T21_ = 0;
						param_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10), (*(*genParam_1).sym).name, (*c_p0).Sup.idgen, (*genericTyp_1).sym, (*(*genParam_1).sym).info, T21_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						eqcopy___ast_u3255(&(*param_1).ast, (*(*header_p2).sons.p->data[(NI)(i_1 + ((NI)1))]).n);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						eqcopy___ast_u3381(&(*param_1).typ, (*header_p2).sons.p->data[(NI)(i_1 + ((NI)1))]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					}
					goto LA17_;
LA19_: ;
					{
						tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T23_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T24_;
						T23_ = 0;
						param_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), (*(*genParam_1).sym).name, (*c_p0).Sup.idgen, (*genericTyp_1).sym, (*(*genParam_1).sym).info, T23_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						T24_ = NIM_NIL;
						T24_ = makeTypeDesc__semdata_u4621(c_p0, (*header_p2).sons.p->data[(NI)(i_1 + ((NI)1))]);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T24_); goto LA16_;}
						eqsink___ast_u3387(&(*param_1).typ, T24_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					}
LA17_: ;
					(*param_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
					addDecl__lookups_u3789(c_p0, param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					i_3 += ((NI)1);
					{
						LA16_:;
					}
					{
						oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						*nimErr_ = oldNimErrFin16_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				} LA15: ;
			}
		}
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(genParam_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	result = replaceTypeVarsT__semtypinst_u125((&cl_1), header_p2, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(genericTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___semtypinst_u1585((&cl_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, trySemObjectTypeForInheritedGenericInst__sem_u8701)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2) {
	NIM_BOOL result;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA check_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* realBase_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newf_1;
	NI pos_1;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&check_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	realBase_1 = NIM_NIL;
	base_1 = NIM_NIL;
	newf_1 = NIM_NIL;
	initIntSet__pureZcollectionsZintsets_u598((&check_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pos_1 = ((NI)0);
	realBase_1 = baseClass__ast_u5348(t_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	base_1 = skipTypesOrNil__ast_u6606(realBase_1, TM__rF9caJawfOjYTjsgLVUSGFA_185);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = NIM_TRUE;
	{
		NimStringV2 colontmpD_;
		if (!(base_1 == 0)) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_496, TM__rF9caJawfOjYTjsgLVUSGFA_498);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_499, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* concreteBase_1;
		concreteBase_1 = NIM_NIL;
		concreteBase_1 = skipGenericInvocation__sem_u7655(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
			if (!(T13_)) goto LA14_;
			T13_ = !((((*concreteBase_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2)))&63U)))!=0));
LA14_: ;
			if (!T13_) goto LA15_;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = tryAddInheritedFields__sem_u7666(c_p0, (&check_1), (&pos_1), concreteBase_1, n_p1, NIM_FALSE, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				if (!!(T19_)) goto LA20_;
				result = NIM_FALSE;
				eqdestroy___ast_u3378(concreteBase_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(newf_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(realBase_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___pureZcollectionsZintsets_u230((&check_1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA20_: ;
		}
		goto LA11_;
LA15_: ;
		{
			{
				if (!!(((*concreteBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50)))) goto LA25_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_501, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_502, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
LA25_: ;
		}
LA11_: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(concreteBase_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	newf_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	semRecordNodeAux__sem_u7047(c_p0, (*t_p2).n, (&check_1), (&pos_1), newf_1, t_p2, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(newf_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(realBase_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&check_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semGeneric__sem_u8763)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tx_1;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin68_;
NIM_BOOL oldNimErrFin117_;
NIM_BOOL oldNimErrFin152_;
NIM_BOOL oldNimErrFin89_;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	tx_1 = NIM_NIL;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T7_;
		if (!((*s_p2).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA4_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T7_[0] = (*(*s_p2).name).s;
		colontmpD__2 = toHumanStr__ast_u7574((*s_p2).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_[1] = colontmpD__2;
		colontmpD__3 = percent___sem_u8773(T7_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_479, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p3, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___ast_u3378(tx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	t_1 = skipTypes__ast_u5379((*s_p2).typ, TM__rF9caJawfOjYTjsgLVUSGFA_480);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T12_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T16_;
		T12_ = (NIM_BOOL)0;
		T12_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54));
		if (!(T12_)) goto LA13_;
		colontmpD_ = base__ast_u5351(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
LA13_: ;
		if (!T12_) goto LA14_;
		T16_ = NIM_NIL;
		T16_ = base__ast_u5351(t_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T16_); goto LA1_;}
		eqsink___ast_u3387(&t_1, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9), prev_p3, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addSonSkipIntLit__magicsys_u135(result, t_1, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30))) goto LA19_;
		{
			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_TType__8qAQZfpTDk89aeclTNn4d9cg* elem_1;
					if (!(i_2 < colontmp_)) goto LA23;
					elem_1 = NIM_NIL;
					i_1 = i_2;
					elem_1 = semGenericParamInInvocation__sem_u8697(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					{
						if (!(elem_1 == 0)) goto LA27_;
						{
							NimStringV2 argX60gensym1787__1;
							if (!NIM_TRUE) goto LA31_;
							argX60gensym1787__1.len = 0; argX60gensym1787__1.p = NIM_NIL;
							argX60gensym1787__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_481);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym1787__1, TM__rF9caJawfOjYTjsgLVUSGFA_481);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							{
								LA33_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym1787__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						}
LA31_: ;
						rawAddSon__ast_u6706(result, elem_1, NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					}
					goto LA25_;
LA27_: ;
					{
						{
							if (!NIM_TRUE) goto LA39_;
							addSonSkipIntLit__magicsys_u135(result, elem_1, (*c_p0).Sup.idgen);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						}
						goto LA37_;
LA39_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
							colontmpD__4 = NIM_NIL;
							colontmpD__4 = makeRangeWithStaticExpr__semdata_u4545(c_p0, (*elem_1).n);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							rawAddSon__ast_u6706(result, colontmpD__4, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							{
								LA42_:;
							}
							{
								oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
								*nimErr_ = oldNimErrFin42_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						}
LA37_: ;
					}
LA25_: ;
					i_2 += ((NI)1);
					{
						LA24_:;
					}
					{
						oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(elem_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin24_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA23: ;
			}
		}
		eqdestroy___ast_u3378(tx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA17_;
LA19_: ;
	{
		NimStringV2 colontmpD__5;
		if (!!(((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10)))) goto LA48_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_483, (*(*s_p2).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_484, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p3, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___ast_u3378(tx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA50_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA17_;
LA48_: ;
	{
		tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g m_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* rType_1;
		NI colontmpD__7;
		NI colontmpD__8;
		NIM_BOOL isConcrete_1;
		NI mIndex_1;
		nimZeroMem((void*)(&m_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
		colontmpD__6 = NIM_NIL;
		rType_1 = NIM_NIL;
		colontmpD__7 = (NI)0;
		colontmpD__8 = (NI)0;
		newCandidate__sigmatch_u456(c_p0, t_1, (&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		m_1.isNoCall = NIM_TRUE;
		colontmpD__6 = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		matches__sigmatch_u5087(c_p0, n_p1, colontmpD__6, (&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		{
			NimStringV2 err_1;
			NimStringV2 colontmpD__9;
			NimStringV2 colontmpD__10;
			NimStringV2 colontmpD__11;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T60_;
			if (!!((m_1.state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1)))) goto LA57_;
			err_1.len = 0; err_1.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;
			err_1 = TM__rF9caJawfOjYTjsgLVUSGFA_486;
			addTypeHeader__types_u209((&err_1), (*(*c_p0).graph).config, t_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)7), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			colontmpD__9 = describeArgs__sigmatch_u673(c_p0, n_p1, ((NI)1), ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			T60_[0] = colontmpD__9;
			colontmpD__10 = describeArgs__sigmatch_u673(c_p0, (*t_1).n, ((NI)0), ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			T60_[1] = colontmpD__10;
			colontmpD__11 = percent___sem_u8817(T60_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			prepareAdd((&err_1), colontmpD__11.len + 0);
appendString((&err_1), colontmpD__11);
			{
				NIM_BOOL T63_;
				NI T65_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nArg_1;
				T63_ = (NIM_BOOL)0;
				T63_ = (m_1.firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)3));
				if (!(T63_)) goto LA64_;
				T65_ = (NI)0;
				T65_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
				T63_ = (m_1.firstMismatch.arg < T65_);
LA64_: ;
				if (!T63_) goto LA66_;
				nArg_1 = NIM_NIL;
				eqcopy___ast_u3255(&nArg_1, (*n_p1)._kind_6.sons.p->data[m_1.firstMismatch.arg]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
				{
					NimStringV2 colontmpD__12;
					if (!((*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA71_;
					colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
					prepareAdd((&err_1), 1);
appendString((&err_1), TM__rF9caJawfOjYTjsgLVUSGFA_488);
					colontmpD__12 = ambiguousIdentifierMsg__lookups_u5104(nArg_1, ((NI)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
					prepareAdd((&err_1), colontmpD__12.len + 0);
appendString((&err_1), colontmpD__12);
					{
						LA73_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__12);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
				}
LA71_: ;
				{
					LA68_:;
				}
				{
					oldNimErrFin68_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(nArg_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
					*nimErr_ = oldNimErrFin68_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			}
LA66_: ;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), err_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_489, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p3, c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			eqdestroy___system_u2691(colontmpD__11);
			eqdestroy___system_u2691(colontmpD__10);
			eqdestroy___system_u2691(colontmpD__9);
			eqdestroy___system_u2691(err_1);
			eqdestroy___ast_u3378(rType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___sigmatch_u162((&m_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(tx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA59_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__11);
				eqdestroy___system_u2691(colontmpD__10);
				eqdestroy___system_u2691(colontmpD__9);
				eqdestroy___system_u2691(err_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		}
LA57_: ;
		isConcrete_1 = NIM_TRUE;
		eqcopy___ast_u3381(&rType_1, (*(*m_1.call)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		{
			NI T84_;
			if (!!((rType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA82_;
			T84_ = (NI)0;
			T84_ = len__ast_u5502(rType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
			colontmpD__7 = (NI)(T84_ - ((NI)1));
			mIndex_1 = colontmpD__7;
		}
		goto LA80_;
LA82_: ;
		{
			colontmpD__8 = ((NI)-1);
			mIndex_1 = colontmpD__8;
		}
LA80_: ;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(m_1.call);
			if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					if (!(i_4 < colontmp__2)) goto LA88;
					typ_1 = NIM_NIL;
					i_3 = i_4;
					eqcopy___ast_u3381(&typ_1, (*(*m_1.call)._kind_6.sons.p->data[i_3]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
					{
						NIM_BOOL T92_;
						NIM_BOOL T93_;
						NIM_BOOL T94_;
						T92_ = (NIM_BOOL)0;
						T93_ = (NIM_BOOL)0;
						T94_ = (NIM_BOOL)0;
						T94_ = ((*(*m_1.call)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T94_)) goto LA95_;
						T94_ = ((*(*(*m_1.call)._kind_6.sons.p->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA95_: ;
						T93_ = T94_;
						if (!(T93_)) goto LA96_;
						T93_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA96_: ;
						T92_ = T93_;
						if (!(T92_)) goto LA97_;
						T92_ = containsGenericType__types_u3448(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
LA97_: ;
						if (!T92_) goto LA98_;
						isConcrete_1 = NIM_FALSE;
						{
							if (!(typ_1 == 0)) goto LA102_;
							{
								NimStringV2 argX60gensym1809__1;
								if (!NIM_TRUE) goto LA106_;
								argX60gensym1809__1.len = 0; argX60gensym1809__1.p = NIM_NIL;
								argX60gensym1809__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_481);
								if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
								internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym1809__1, TM__rF9caJawfOjYTjsgLVUSGFA_481);
								if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
								{
									LA108_:;
								}
								{
									eqdestroy___system_u2691(argX60gensym1809__1);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
							}
LA106_: ;
							rawAddSon__ast_u6706(result, typ_1, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
						}
						goto LA100_;
LA102_: ;
						{
							{
								if (!NIM_TRUE) goto LA114_;
								addSonSkipIntLit__magicsys_u135(result, typ_1, (*c_p0).Sup.idgen);
								if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
							}
							goto LA112_;
LA114_: ;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__13;
								colontmpD__13 = NIM_NIL;
								colontmpD__13 = makeRangeWithStaticExpr__semdata_u4545(c_p0, (*typ_1).n);
								if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
								rawAddSon__ast_u6706(result, colontmpD__13, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
								{
									LA117_:;
								}
								{
									oldNimErrFin117_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__13);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									*nimErr_ = oldNimErrFin117_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
							}
LA112_: ;
						}
LA100_: ;
					}
					goto LA90_;
LA98_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T121_;
						NIM_BOOL skip_1;
						T121_ = NIM_NIL;
						T121_ = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_46);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T121_); goto LA89_;}
						eqsink___ast_u3387(&typ_1, T121_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
						{
							NIM_BOOL T124_;
							T124_ = (NIM_BOOL)0;
							T124_ = containsGenericType__types_u3448(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
							if (!T124_) goto LA125_;
							isConcrete_1 = NIM_FALSE;
						}
LA125_: ;
						skip_1 = NIM_TRUE;
						{
							NIM_BOOL T129_;
							NIM_BOOL T130_;
							T129_ = (NIM_BOOL)0;
							T130_ = (NIM_BOOL)0;
							T130_ = ((NI)(i_3 - ((NI)1)) <= mIndex_1);
							if (!(T130_)) goto LA131_;
							T130_ = (((*(*rType_1).sons.p->data[(NI)(i_3 - ((NI)1))]).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)47)))&63U)))!=0);
LA131_: ;
							T129_ = T130_;
							if (!(T129_)) goto LA132_;
							T129_ = isIntLit__types_u179(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
LA132_: ;
							if (!T129_) goto LA133_;
							skip_1 = NIM_FALSE;
						}
LA133_: ;
						{
							if (!(typ_1 == 0)) goto LA137_;
							{
								NimStringV2 argX60gensym1816__1;
								if (!NIM_TRUE) goto LA141_;
								argX60gensym1816__1.len = 0; argX60gensym1816__1.p = NIM_NIL;
								argX60gensym1816__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_481);
								if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
								internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym1816__1, TM__rF9caJawfOjYTjsgLVUSGFA_481);
								if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
								{
									LA143_:;
								}
								{
									eqdestroy___system_u2691(argX60gensym1816__1);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
							}
LA141_: ;
							rawAddSon__ast_u6706(result, typ_1, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
						}
						goto LA135_;
LA137_: ;
						{
							{
								if (!skip_1) goto LA149_;
								addSonSkipIntLit__magicsys_u135(result, typ_1, (*c_p0).Sup.idgen);
								if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
							}
							goto LA147_;
LA149_: ;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__14;
								colontmpD__14 = NIM_NIL;
								colontmpD__14 = makeRangeWithStaticExpr__semdata_u4545(c_p0, (*typ_1).n);
								if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
								rawAddSon__ast_u6706(result, colontmpD__14, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
								{
									LA152_:;
								}
								{
									oldNimErrFin152_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__14);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									*nimErr_ = oldNimErrFin152_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
							}
LA147_: ;
						}
LA135_: ;
					}
LA90_: ;
					i_4 += ((NI)1);
					{
						LA89_:;
					}
					{
						oldNimErrFin89_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
						*nimErr_ = oldNimErrFin89_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
				} LA88: ;
			}
		}
		{
			if (!isConcrete_1) goto LA159_;
			{
				NIM_BOOL T163_;
				NimStringV2 colontmpD__15;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T168_;
				T163_ = (NIM_BOOL)0;
				T163_ = ((*s_p2).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (!(T163_)) goto LA164_;
				T163_ = !(((*(*s_p2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54)));
LA164_: ;
				if (!T163_) goto LA165_;
				colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
				colontmpD__15 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_490, (*(*s_p2).name).s);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__15, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_491, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				T168_ = NIM_NIL;
				T168_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p3, c_p0);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T168_); goto LA167_;}
				eqsink___ast_u3387(&result, T168_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
				{
					LA167_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__15);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
			}
			goto LA161_;
LA165_: ;
			{
				NIM_BOOL T172_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__16;
				T172_ = (NIM_BOOL)0;
				T172_ = containsGenericInvocationWithForward__sem_u8727((*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
				if (!T172_) goto LA173_;
				colontmpD__16 = eqdup___ast_u3258(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
				add__ast_u3225((&(*c_p0).skipTypes), colontmpD__16);
			}
			goto LA161_;
LA173_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T176_;
				T176_ = NIM_NIL;
				T176_ = instGenericContainer__sem_u1274(c_p0, (*n_p1).info, result, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T176_); goto LA54_;}
				eqsink___ast_u3387(&result, T176_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
			}
LA161_: ;
		}
LA159_: ;
		{
			LA54_:;
		}
		{
			oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(rType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___sigmatch_u162((&m_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin54_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA17_: ;
	tx_1 = skipTypes__ast_u6591(result, TM__rF9caJawfOjYTjsgLVUSGFA_493, ((NI)50));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T181_;
		NimStringV2 colontmpD__17;
		NimStringV2 colontmpD__18;
		T181_ = (NIM_BOOL)0;
		T181_ = (tx_1 == 0);
		if (T181_) goto LA182_;
		T181_ = isRecursiveStructuralType__types_u4096(tx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA182_: ;
		if (!T181_) goto LA183_;
		colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
		colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
		colontmpD__17 = typeToString__types_u54((*result).sons.p->data[((NI)0)], ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA185_;
		colontmpD__18 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_494, colontmpD__17);
		if (NIM_UNLIKELY(*nimErr_)) goto LA185_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__18, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_495, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA185_;
		result = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA185_;
		eqdestroy___system_u2691(colontmpD__18);
		eqdestroy___system_u2691(colontmpD__17);
		eqdestroy___ast_u3378(tx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA185_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__18);
			eqdestroy___system_u2691(colontmpD__17);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA183_: ;
	{
		NIM_BOOL T190_;
		NI position_1;
		T190_ = (NIM_BOOL)0;
		T190_ = !((tx_1 == result));
		if (!(T190_)) goto LA191_;
		T190_ = ((*tx_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA191_: ;
		if (!T190_) goto LA192_;
		{
			if (!!(((*tx_1).sons.p->data[((NI)0)] == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA196_;
			{
				NIM_BOOL T200_;
				T200_ = (NIM_BOOL)0;
				T200_ = trySemObjectTypeForInheritedGenericInst__sem_u8701(c_p0, n_p1, tx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!!(T200_)) goto LA201_;
				result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p3, c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(tx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA201_: ;
		}
LA196_: ;
		position_1 = ((NI)0);
		recomputeFieldPositions__semtypinst_u1654(tx_1, (*tx_1).n, (&position_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA192_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(tx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_u7641)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	result = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConceptBody__sem_u4397)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w ctx_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w));
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_GenericCtx__NPufI3dwopzvMYH8HDoW3w));
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toMixin));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toBind));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = semGenericStmt__sem_u12513(c_p0, n_p1, 8, (&ctx_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sem_u14839((&ctx_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeClass__sem_u8989)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* inherited_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* candidateTypeSlot_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T8_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin24_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T67_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	pragmas_1 = NIM_NIL;
	inherited_1 = NIM_NIL;
	owner_1 = NIM_NIL;
	candidateTypeSlot_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		NIM_BOOL T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
		T4_ = (NIM_BOOL)0;
		T4_ = isNewStyleConcept__ast_u7641(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62), prev_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
		T7_ = NIM_NIL;
		T7_ = semConceptDeclaration__concepts_u39(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA1_;}
		eqsink___ast_u3261(&(*result).n, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___lookups_u74(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(candidateTypeSlot_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(owner_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(inherited_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	pragmas_1 = (*n_p1)._kind_6.sons.p->data[((NI)1)];
	eqcopy___ast_u3255(&inherited_1, (*n_p1)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	owner_1 = getCurrOwner__semdata_u425(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T8_ = NIM_NIL;
	T8_ = errorType__semdata_u4564(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T8_); goto LA1_;}
	candidateTypeSlot_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4), c_p0, T8_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = eqdup___ast_u3384(candidateTypeSlot_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newOrPrevType__sem_u4448(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52), prev_p2, c_p0, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
	eqcopy___ast_u3255(&(*result).n, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*inherited_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA11_;
		{
			tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_2;
			NI i_1;
			NI L_1;
			NI T15_;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			n_2 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			eqcopy___ast_u3699((&colontmp_), (*inherited_1)._kind_6.sons);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			i_1 = ((NI)0);
			T15_ = colontmp_.len;
			L_1 = T15_;
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					if (!(i_1 < L_1)) goto LA17;
					typ_1 = NIM_NIL;
					n_2 = &colontmp_.p->data[i_1];
					typ_1 = semTypeNode__sem_u89(c_p0, (*n_2), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					add__ast_u3881(result, typ_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					i_1 += ((NI)1);
					{
						LA18_:;
					}
					{
						oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						*nimErr_ = oldNimErrFin18_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				} LA17: ;
			}
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3696(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	}
LA11_: ;
	colontmpD__2 = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* param_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp__2;
		param_1 = NIM_NIL;
		colontmp__2 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		colontmp__2 = &(*n_p1)._kind_6.sons.p->data[((NI)0)];
		{
			NI i_2;
			NI colontmp__3;
			NI i_3;
			i_2 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = safeLen__ast_u3197((*colontmp__2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			i_3 = ((NI)0);
			{
				while (1) {
					if (!(i_3 < colontmp__3)) goto LA27;
					i_2 = i_3;
					eqcopy___ast_u3255(&param_1, (*(*colontmp__2))._kind_6.sons.p->data[i_2]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dummyName_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dummyType_1;
						tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__3;
						tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__4;
						tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__5;
						tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__6;
						tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__7;
						tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__8;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dummyParam_1;
						tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__9;
						tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__10;
						tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg modifier_1;
						tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q T56_;
						tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T62_;
						dummyName_1 = NIM_NIL;
						dummyType_1 = NIM_NIL;
						colontmpD__3 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
						colontmpD__4 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
						colontmpD__5 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
						colontmpD__6 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
						colontmpD__7 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
						colontmpD__8 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
						dummyParam_1 = NIM_NIL;
						colontmpD__9 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
						colontmpD__10 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
						dummyName_1 = 0;
						dummyType_1 = 0;
						switch ((*param_1).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143):
						{
							colontmpD__3 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23);
							modifier_1 = colontmpD__3;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141):
						{
							colontmpD__4 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22);
							modifier_1 = colontmpD__4;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142):
						{
							colontmpD__5 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21);
							modifier_1 = colontmpD__5;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)137):
						{
							colontmpD__6 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60);
							modifier_1 = colontmpD__6;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
						{
							colontmpD__7 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8);
							modifier_1 = colontmpD__7;
						}
						break;
						default:
						{
							colontmpD__8 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0);
							modifier_1 = colontmpD__8;
						}
						break;
						}
						{
							if (!!((modifier_1 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0)))) goto LA38_;
							eqcopy___ast_u3255(&dummyName_1, (*param_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							dummyType_1 = makeTypeWithModifier__semdata_u4382(c_p0, modifier_1, candidateTypeSlot_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							{
								if (!(modifier_1 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA42_;
								(*dummyType_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)28))) & 63);
								(*dummyType_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
							}
LA42_: ;
						}
						goto LA36_;
LA38_: ;
						{
							eqcopy___ast_u3255(&dummyName_1, param_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							eqcopy___ast_u3381(&dummyType_1, candidateTypeSlot_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						}
LA36_: ;
						{
							if (!((*dummyName_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA47_;
							eqdestroy___ast_u4574(dummyParam_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							eqdestroy___ast_u3378(dummyType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							eqdestroy___ast_u3252(dummyName_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							goto LA28;
						}
LA47_: ;
						{
							NimStringV2 argX60gensym1855__1;
							if (!!(((*dummyName_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2)))) goto LA51_;
							argX60gensym1855__1.len = 0; argX60gensym1855__1.p = NIM_NIL;
							argX60gensym1855__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_515);
							if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
							internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym1855__1, TM__rF9caJawfOjYTjsgLVUSGFA_515);
							if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
							{
								LA53_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym1855__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						}
LA51_: ;
						T56_ = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
						{
							if (!(modifier_1 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA59_;
							colontmpD__9 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7);
							T56_ = colontmpD__9;
						}
						goto LA57_;
LA59_: ;
						{
							colontmpD__10 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8);
							T56_ = colontmpD__10;
						}
LA57_: ;
						T62_ = 0;
						dummyParam_1 = newSym__ast_u4205(T56_, (*dummyName_1)._kind_5.ident, (*c_p0).Sup.idgen, owner_1, (*param_1).info, T62_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						eqsink___ast_u3387(&(*dummyParam_1).typ, dummyType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						eqwasMoved___ast_u3375(&dummyType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						(*dummyParam_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
						addDecl__lookups_u3789(c_p0, dummyParam_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						{
							LA29_:;
						}
						{
							oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(dummyParam_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							eqdestroy___ast_u3378(dummyType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							eqdestroy___ast_u3252(dummyName_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							*nimErr_ = oldNimErrFin29_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					} LA28: ;
					i_3 += ((NI)1);
				} LA27: ;
			}
		}
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(param_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	T67_ = NIM_NIL;
	T67_ = semConceptBody__sem_u4397(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)3)]);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T67_); goto LA1_;}
	eqsink___ast_u3261(&(*(*result).n)._kind_6.sons.p->data[((NI)3)], T67_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(candidateTypeSlot_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(owner_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(inherited_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isSelf__semdata_u4610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
	if (!(T1_)) goto LA2_;
	T1_ = (((*t_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)23)))&63U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semVarOutType__sem_u6264)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2, tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)1))) goto LA4_;
		base_1 = NIM_NIL;
		result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23), prev_p2, c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		(*result).flags = flags_p3;
		base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T9_;
			NIM_BOOL T11_;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
			if (!(T9_)) goto LA10_;
			T11_ = (NIM_BOOL)0;
			T11_ = isSelf__semdata_u4610(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T9_ = !(T11_);
LA10_: ;
			if (!T9_) goto LA12_;
			eqcopy___ast_u3381(&base_1, (*base_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA12_: ;
		{
			if (!((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23))) goto LA16_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_516, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_517, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqcopy___ast_u3381(&base_1, (*base_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA16_: ;
		addSonSkipIntLit__magicsys_u135(result, base_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		result = newConstraint__sem_u4467(c_p0, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semDistinct__sem_u6373)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_ == ((NI)0))) goto LA5_;
		result = newConstraint__sem_u4467(c_p0, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addSonSkipIntLitChecked__sem_u6366(c_p0, result, colontmpD_, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T9_;
		T9_ = (NI)0;
		T9_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((NI)1) < T9_)) goto LA10_;
		eqcopy___ast_u3255(&(*result).n, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semOpAux__sem_u97)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin12_;
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)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
				if (!(i_2 < colontmp_)) goto LA3;
				a_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					NIM_BOOL T7_;
					NI T9_;
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
					T7_ = (NIM_BOOL)0;
					T7_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33));
					if (!(T7_)) goto LA8_;
					T9_ = (NI)0;
					T9_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T7_ = (T9_ == ((NI)2));
LA8_: ;
					if (!T7_) goto LA10_;
					colontmpD_ = NIM_NIL;
					info_1 = (*(*a_1)._kind_6.sons.p->data[((NI)0)]).info;
					colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, (*a_1)._kind_6.sons.p->data[((NI)0)], a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T13_ = NIM_NIL;
					T13_ = newIdentNode__ast_u5164(colontmpD_, info_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA12_;}
					eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[((NI)0)], T13_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T14_ = NIM_NIL;
					T14_ = semExprWithType__sem_u63(c_p0, (*a_1)._kind_6.sons.p->data[((NI)1)], 33555456, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA12_;}
					eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[((NI)1)], T14_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					eqcopy___ast_u3381(&(*a_1).typField, (*(*a_1)._kind_6.sons.p->data[((NI)1)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___idents_u155(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA5_;
LA10_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
					T18_ = NIM_NIL;
					T18_ = semExprWithType__sem_u63(c_p0, a_1, 33555456, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto LA4_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T18_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA5_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__hMc5eJjVGjq6i857yHjTtg, initCandidateSymbols__sem_u1712)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headSymbol_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initialBinding_p2, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p3, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* best_p4, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* alt_p5, tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w* o_p6, NIM_BOOL diagnostics_p7) {
	tySequence__hMc5eJjVGjq6i857yHjTtg result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* symx_1;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	symx_1 = NIM_NIL;
	result.len = 0; result.p = (tySequence__hMc5eJjVGjq6i857yHjTtg_Content*) newSeqPayload(0, sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ), NIM_ALIGNOF(tyTuple__Wipq1508vNWp3jwczem6TQ));
	symx_1 = initOverloadIter__lookups_u5784(o_p6, c_p0, headSymbol_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T28_;
			if (!!((symx_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				tyTuple__Wipq1508vNWp3jwczem6TQ T8_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
				NI T9_;
				if (!((filter_p3 &((NU32)1<<((NU)(((*symx_1).kind))&31U)))!=0)) goto LA6_;
				nimZeroMem((void*)(&T8_), sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ));
				blitTmp_1 = symx_1;
				eqwasMoved___ast_u4571(&symx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T8_.Field0 = blitTmp_1;
				T9_ = (NI)0;
				T9_ = lastOverloadScope__lookups_u5931((&(*o_p6)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T8_.Field1 = T9_;
				add__sem_u1737((&result), T8_);
			}
			goto LA4_;
LA6_: ;
			{
				if (!((*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4))) goto LA11_;
				{
					tySequence__ZCZaCk14bTmSb6LMW9aWPVA colontmp_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** paramSym_1;
					NI i_1;
					NI L_1;
					NI T15_;
					colontmp_.len = 0; colontmp_.p = NIM_NIL;
					paramSym_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
					colontmp_.len = 0; colontmp_.p = NIM_NIL;
					colontmp_ = searchScopesAll__lookups_u2515(c_p0, (*symx_1).name, 1024);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					i_1 = ((NI)0);
					T15_ = colontmp_.len;
					L_1 = T15_;
					{
						while (1) {
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramTyp_1;
							if (!(i_1 < L_1)) goto LA17;
							paramTyp_1 = NIM_NIL;
							paramSym_1 = &colontmp_.p->data[i_1];
							eqcopy___ast_u3381(&paramTyp_1, (*(*paramSym_1)).typ);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							{
								NIM_BOOL T20_;
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
								tyTuple__Wipq1508vNWp3jwczem6TQ T24_;
								NI T25_;
								T20_ = (NIM_BOOL)0;
								T20_ = ((*(*paramTyp_1).n).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
								if (!(T20_)) goto LA21_;
								T20_ = ((filter_p3 &((NU32)1<<((NU)(((*(*(*paramTyp_1).n)._kind_4.sym).kind))&31U)))!=0);
LA21_: ;
								if (!T20_) goto LA22_;
								nimZeroMem((void*)(&T24_), sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ));
								colontmpD_ = eqdup___ast_u4580((*(*paramTyp_1).n)._kind_4.sym);
								if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
								T24_.Field0 = colontmpD_;
								T25_ = (NI)0;
								T25_ = lastOverloadScope__lookups_u5931((&(*o_p6)));
								if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
								T24_.Field1 = T25_;
								add__sem_u1737((&result), T24_);
							}
LA22_: ;
							i_1 += ((NI)1);
							eqdestroy___ast_u3378(paramTyp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						} LA17: ;
					}
					{
						LA14_:;
					}
					{
						oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4848(colontmp_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin14_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
			}
			goto LA4_;
LA11_: ;
LA4_: ;
			T28_ = NIM_NIL;
			T28_ = nextOverloadIter__lookups_u5989(o_p6, c_p0, headSymbol_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T28_); goto LA1_;}
			eqsink___ast_u4583(&symx_1, T28_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	}
	{
		NI T31_;
		tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g T34_;
		tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g T35_;
		T31_ = result.len;
		if (!(((NI)0) < T31_)) goto LA32_;
		nimZeroMem((void*)(&T34_), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
		initCandidate__sigmatch_u415(c_p0, result.p->data[((NI)0)].Field0, initialBinding_p2, result.p->data[((NI)0)].Field1, diagnostics_p7, (&T34_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___sigmatch_u171((&(*best_p4)), (&T34_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		nimZeroMem((void*)(&T35_), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
		initCandidate__sigmatch_u415(c_p0, result.p->data[((NI)0)].Field0, initialBinding_p2, result.p->data[((NI)0)].Field1, diagnostics_p7, (&T35_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___sigmatch_u171((&(*alt_p5)), (&T35_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*best_p4).state = ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)2);
	}
LA32_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(symx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___ast_u617)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA a_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA b_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (a_p0.item == b_p1.item);
	if (!(T1_)) goto LA2_;
	T1_ = (a_p0.module == b_p1.module);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAttachableRoutineTo__sem_u1786)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p1) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = NIM_FALSE;
	{
		colontmpD_ = owner__ast_u6246(arg_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__2 = owner__ast_u6254(prc_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((colontmpD_ == colontmpD__2))) goto LA4_;
		result = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u5502((*prc_p0).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA8;
				i_1 = i_2;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
					t_1 = NIM_NIL;
					{
						NIM_BOOL T13_;
						T13_ = (NIM_BOOL)0;
						T13_ = ((*(*(*(*prc_p0).typ).n)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T13_)) goto LA14_;
						T13_ = !(((*(*(*(*(*prc_p0).typ).n)._kind_6.sons.p->data[i_1])._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA14_: ;
						if (!T13_) goto LA15_;
						eqdestroy___ast_u3378(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA9;
					}
LA15_: ;
					t_1 = nominalRoot__types_u4251((*(*prc_p0).typ).sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					{
						NIM_BOOL T19_;
						T19_ = (NIM_BOOL)0;
						T19_ = !((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
						if (!(T19_)) goto LA20_;
						T19_ = eqeq___ast_u617((*t_1).itemId, (*arg_p1).itemId);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
LA20_: ;
						if (!T19_) goto LA21_;
						result = NIM_TRUE;
						eqdestroy___ast_u3378(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA21_: ;
					{
						LA10_:;
					}
					{
						oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin10_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA9: ;
				i_2 += ((NI)1);
			} LA8: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addTypeBoundSymbols__sem_u1818)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p2, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p3, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p4, tySequence__hMc5eJjVGjq6i857yHjTtg* syms_p5) {
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		if (!!((arg_p1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA3_;
		t_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		t_1 = nominalRoot__types_u4251(arg_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NIM_BOOL T8_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_1;
			tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ iter_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
			T8_ = (NIM_BOOL)0;
			T8_ = !((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T8_)) goto LA9_;
			colontmpD_ = owner__ast_u6246(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T8_ = ((*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6));
LA9_: ;
			if (!T8_) goto LA10_;
			module_1 = NIM_NIL;
			nimZeroMem((void*)(&iter_1), sizeof(tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ));
			s_1 = NIM_NIL;
			module_1 = owner__ast_u6246(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			nimZeroMem((void*)(&iter_1), sizeof(tyObject_ModuleIter__BjSuRc9aFArudmeEMVvMToQ));
			s_1 = initModuleIter__modulegraphs_u3177((&iter_1), graph_p0, module_1, name_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T25_;
					if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA14;
					{
						NIM_BOOL T17_;
						NIM_BOOL T18_;
						tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym310__1;
						NIM_BOOL T21_;
						tyTuple__Wipq1508vNWp3jwczem6TQ T24_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
						T17_ = (NIM_BOOL)0;
						T18_ = (NIM_BOOL)0;
						T18_ = ((filter_p3 &((NU32)1<<((NU)(((*s_1).kind))&31U)))!=0);
						if (!(T18_)) goto LA19_;
						T18_ = isAttachableRoutineTo__sem_u1786(s_1, t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
LA19_: ;
						T17_ = T18_;
						if (!(T17_)) goto LA20_;
						xX60gensym310__1 = (*s_1).itemId;
						T21_ = (NIM_BOOL)0;
						T21_ = containsOrIncl__astyaml_u223(marker_p4, (NI)((NI)((NU32)(((NI) (xX60gensym310__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym310__1.item))));
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						T17_ = !(T21_);
LA20_: ;
						if (!T17_) goto LA22_;
						nimZeroMem((void*)(&T24_), sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ));
						blitTmp_1 = s_1;
						eqwasMoved___ast_u4571(&s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						T24_.Field0 = blitTmp_1;
						T24_.Field1 = ((NI)-2);
						add__sem_u1737((&(*syms_p5)), T24_);
					}
LA22_: ;
					T25_ = NIM_NIL;
					T25_ = nextModuleIter__modulegraphs_u3222((&iter_1), graph_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T25_); goto LA12_;}
					eqsink___ast_u4583(&s_1, T25_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				} LA14: ;
			}
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				eqdestroy___modulegraphs_u3435((&iter_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				eqdestroy___ast_u4574(module_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA10_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isPossibleMacroPragma__sem_u15720)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T2_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
	T2_ = whichPragma__trees_u218(it_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (T2_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0));
	if (!(T1_)) goto LA3_;
	T1_ = ((*key_p2).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) && (*key_p2).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*key_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45) || (*key_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53) || (*key_p2).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) && (*key_p2).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*key_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165));
LA3_: ;
	result = T1_;
	{
		if (!result) goto LA6_;
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			if (!!(((*key_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45)))) goto LA10_;
			ident_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			ident_1 = considerQuotedIdent__lookups_u31(c_p0, key_p2, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD_ = strTableGet__astalgo_u2726((*c_p0).userPragmas, ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			result = (colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___idents_u155(ident_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA10_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
			tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T20_;
			NIM_BOOL T21_;
			if (!result) goto LA17_;
			sym_1 = NIM_NIL;
			T20_ = 0;
			sym_1 = qualifiedLookUp__lookups_u5229(c_p0, key_p2, T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			T21_ = (NIM_BOOL)0;
			T21_ = (sym_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
			if (T21_) goto LA22_;
			T21_ = !((((*sym_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)57)))&63U)))!=0));
LA22_: ;
			result = T21_;
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(sym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA17_: ;
	}
LA6_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyExcept__sem_u15755)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI j_1;
		NI colontmp_;
		NI i_2;
		j_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				j_1 = i_2;
				{
					if (!!((j_1 == i_p1))) goto LA6_;
					add__ast_u3215(result, (*n_p0)._kind_6.sons.p->data[j_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA6_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProcAnnotation__sem_u11784)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prc_p1, tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	n_1 = NIM_NIL;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	eqcopy___ast_u3255(&n_1, (*prc_p1)._kind_6.sons.p->data[((NI)4)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = (n_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (T4_) goto LA5_;
		T4_ = ((*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA5_: ;
		if (!T4_) goto LA6_;
		eqdestroy___ast_u3252(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA10;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
					it_1 = NIM_NIL;
					key_1 = NIM_NIL;
					eqcopy___ast_u3255(&it_1, (*n_1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T13_ = NIM_NIL;
					{
						NIM_BOOL T16_;
						NI T18_;
						T16_ = (NIM_BOOL)0;
						T16_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28));
						if (!(T16_)) goto LA17_;
						T18_ = (NI)0;
						T18_ = len__ast_u3190(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						T16_ = (((NI)1) <= T18_);
LA17_: ;
						if (!T16_) goto LA19_;
						eqcopy___ast_u3255(&key_1, (*it_1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					}
					goto LA14_;
LA19_: ;
					{
						eqcopy___ast_u3255(&key_1, it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					}
LA14_: ;
					{
						NIM_BOOL T24_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_1;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
						T24_ = (NIM_BOOL)0;
						T24_ = isPossibleMacroPragma__sem_u15720(c_p0, it_1, key_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						if (!T24_) goto LA25_;
						x_1 = NIM_NIL;
						r_1 = NIM_NIL;
						m_1 = NIM_NIL;
						x_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*key_1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						add__ast_u3215(x_1, key_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						{
							NIM_BOOL T30_;
							NI T32_;
							T30_ = (NIM_BOOL)0;
							T30_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28));
							if (!(T30_)) goto LA31_;
							T32_ = (NI)0;
							T32_ = len__ast_u3190(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T30_ = (((NI)1) < T32_);
LA31_: ;
							if (!T30_) goto LA33_;
							{
								NI i_3;
								NI colontmp__2;
								NI i_4;
								i_3 = (NI)0;
								colontmp__2 = (NI)0;
								colontmp__2 = len__ast_u3190(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
								i_4 = ((NI)1);
								{
									while (1) {
										if (!(i_4 < colontmp__2)) goto LA37;
										i_3 = i_4;
										add__ast_u3215(x_1, (*it_1)._kind_6.sons.p->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
										i_4 += ((NI)1);
									} LA37: ;
								}
							}
						}
LA33_: ;
						T38_ = NIM_NIL;
						T38_ = copyExcept__sem_u15755(n_1, i_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA27_;}
						eqsink___ast_u3261(&(*prc_p1)._kind_6.sons.p->data[((NI)4)], T38_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						{
							NIM_BOOL T41_;
							NI T43_;
							T41_ = (NIM_BOOL)0;
							T41_ = !(((*(*prc_p1)._kind_6.sons.p->data[((NI)4)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
							if (!(T41_)) goto LA42_;
							T43_ = (NI)0;
							T43_ = len__ast_u3190((*prc_p1)._kind_6.sons.p->data[((NI)4)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T41_ = (T43_ == ((NI)0));
LA42_: ;
							if (!T41_) goto LA44_;
							eqcopy___ast_u3255(&(*prc_p1)._kind_6.sons.p->data[((NI)4)], (*(*c_p0).graph).emptyNode);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
LA44_: ;
						add__ast_u3215(x_1, prc_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						r_1 = semOverloadedCall__sem_u4008(c_p0, x_1, x_1, 393216, 524288, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						{
							if (!(r_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA48_;
							eqcopy___ast_u3255(&(*prc_p1)._kind_6.sons.p->data[((NI)4)], n_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							eqdestroy___ast_u4574(m_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(key_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							goto LA11;
						}
LA48_: ;
						{
							if (!!(((*(*r_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA52_;
							failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_521);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
LA52_: ;
						eqcopy___ast_u4577(&m_1, (*(*r_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						switch ((*m_1).kind) {
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
						{
							tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T55_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T56_;
							T55_ = 0;
							T56_ = NIM_NIL;
							T56_ = semMacroExpr__sem_u541(c_p0, r_1, r_1, m_1, T55_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T56_); goto LA27_;}
							eqsink___ast_u3261(&result, T56_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
						break;
						case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
						{
							tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T58_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T59_;
							T58_ = 0;
							T59_ = NIM_NIL;
							T59_ = semTemplateExpr__sem_u535(c_p0, r_1, m_1, T58_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T59_); goto LA27_;}
							eqsink___ast_u3261(&result, T59_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
						break;
						default:
						{
							eqcopy___ast_u3255(&(*prc_p1)._kind_6.sons.p->data[((NI)4)], n_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							eqdestroy___ast_u4574(m_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(key_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							goto LA11;
						}
						break;
						}
						{
							if (!!(!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))))) goto LA63_;
							failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_523);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
LA63_: ;
						eqdestroy___ast_u4574(m_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						eqdestroy___ast_u3252(r_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						eqdestroy___ast_u3252(key_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(n_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
						{
							LA27_:;
						}
						{
							oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(m_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							*nimErr_ = oldNimErrFin27_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					}
LA25_: ;
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(key_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA11: ;
				i_2 += ((NI)1);
			} LA10: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__sem_u4358)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
	{
		{
			NI T4_;
			T4_ = (NI)0;
			T4_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)1) < T4_)) goto LA5_;
			result = getLineInfo__sem_u4358((*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA2_;
LA5_: ;
		{
			result = (*n_p0).info;
		}
LA2_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		{
			NI T11_;
			T11_ = (NI)0;
			T11_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)0) < T11_)) goto LA12_;
			result = getLineInfo__sem_u4358((*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA9_;
LA12_: ;
		{
			result = (*n_p0).info;
		}
LA9_: ;
	}
	break;
	default:
	{
		result = (*n_p0).info;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, semIdentDef__sem_u15470)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2, NIM_BOOL reportToNimsuggest_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isTopLevel__semdata_u4679(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		result = semIdentWithPragma__sem_u472(c_p0, kind_p2, n_p1, 2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
	}
	goto LA1_;
LA4_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T8_;
		colontmpD_ = NIM_NIL;
		T8_ = 0;
		result = semIdentWithPragma__sem_u472(c_p0, kind_p2, n_p1, T8_, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			colontmpD_ = owner__ast_u6254(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			if (!((*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6))) goto LA11_;
			(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
		}
LA11_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	(*result).options = (*(*(*c_p0).graph).config).options;
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
		tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T19_;
		if (!reportToNimsuggest_p3) goto LA17_;
		info_1 = getLineInfo__sem_u4358(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T19_ = NIM_NIL;
		T19_ = (*c_p0).graph;
		suggestSym__sigmatch_u6643(T19_, info_1, result, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA17_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semGenericConstraints__sem_u9828)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = eqdup___ast_u3384(x_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12), c_p0, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semGenericParamList__sem_u9832)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin90_;
NIM_BOOL oldNimErrFin130_;
NIM_BOOL oldNimErrFin134_;
NIM_BOOL oldNimErrFin84_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75)))) goto LA3_;
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA3_: ;
	{
		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* a_1;
				if (!(i_2 < colontmp_)) goto LA7;
				a_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				switch ((*a_1).kind) {
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
					colontmpD_ = NIM_NIL;
					{
						if (!!((father_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA13_;
						addSonSkipIntLit__magicsys_u135(father_p2, (*(*a_1)._kind_4.sym).typ, (*c_p0).Sup.idgen);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA13_: ;
					{
						if (!!((((*(*a_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA17_;
						addDecl__lookups_u3789(c_p0, (*a_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA17_: ;
					colontmpD_ = newSymNode__ast_u5168((*a_1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					add__ast_u3215(result, colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					{
						LA10_:;
					}
					{
						oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						*nimErr_ = oldNimErrFin10_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					NI T23_;
					NI T24_;
					def_1 = NIM_NIL;
					constraint_1 = NIM_NIL;
					typ_1 = NIM_NIL;
					T23_ = (NI)0;
					T23_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					eqcopy___ast_u3255(&def_1, (*a_1)._kind_6.sons.p->data[(NI)(T23_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					T24_ = (NI)0;
					T24_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					eqcopy___ast_u3255(&constraint_1, (*a_1)._kind_6.sons.p->data[(NI)(T24_ - ((NI)2))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					typ_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T29_;
						if (!!(((*constraint_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA27_;
						T29_ = NIM_NIL;
						T29_ = semTypeNode__sem_u89(c_p0, constraint_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T29_); goto LA22_;}
						eqsink___ast_u3387(&typ_1, T29_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						{
							NIM_BOOL T32_;
							NI T34_;
							T32_ = (NIM_BOOL)0;
							T32_ = !(((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60)));
							if (T32_) goto LA33_;
							T34_ = (NI)0;
							T34_ = len__ast_u5502(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							T32_ = (T34_ == ((NI)0));
LA33_: ;
							if (!T32_) goto LA35_;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
								if (!((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA39_;
								colontmpD__2 = NIM_NIL;
								{
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T45_;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T46_;
									colontmpD__2 = elementType__ast_u5331(typ_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
									if (!((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))) goto LA43_;
									T45_ = NIM_NIL;
									T45_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T45_); goto LA22_;}
									T46_ = NIM_NIL;
									T46_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), c_p0, T45_);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T46_); goto LA22_;}
									eqsink___ast_u3387(&typ_1, T46_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
									(*typ_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
								}
LA43_: ;
								eqdestroy___ast_u3378(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							}
							goto LA37_;
LA39_: ;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T48_;
								T48_ = NIM_NIL;
								T48_ = semGenericConstraints__sem_u9828(c_p0, typ_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T48_); goto LA22_;}
								eqsink___ast_u3387(&typ_1, T48_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							}
LA37_: ;
						}
LA35_: ;
					}
LA27_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T53_;
						if (!!(((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA51_;
						T53_ = NIM_NIL;
						T53_ = semConstExpr__sem_u631(c_p0, def_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T53_); goto LA22_;}
						eqsink___ast_u3261(&def_1, T53_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						{
							if (!(typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA56_;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T62_;
								if (!!(((*(*def_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)))) goto LA60_;
								colontmpD__3 = eqdup___ast_u3384((*def_1).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								T62_ = NIM_NIL;
								T62_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60), c_p0, colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T62_); goto LA22_;}
								eqsink___ast_u3387(&typ_1, T62_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							}
LA60_: ;
						}
						goto LA54_;
LA56_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T64_;
							T64_ = NIM_NIL;
							T64_ = skipTypes__ast_u5379((*def_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T64_); goto LA22_;}
							eqsink___ast_u3387(&(*def_1).typField, T64_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							{
								NIM_BOOL T67_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T70_;
								T67_ = (NIM_BOOL)0;
								T67_ = containsGenericType__types_u3448((*def_1).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								if (!!(T67_)) goto LA68_;
								T70_ = NIM_NIL;
								T70_ = fitNode__sem_u79(c_p0, typ_1, def_1, (*def_1).info);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T70_); goto LA22_;}
								eqsink___ast_u3261(&def_1, T70_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							}
LA68_: ;
						}
LA54_: ;
					}
LA51_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T75_;
						if (!(typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA73_;
						T75_ = NIM_NIL;
						T75_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T75_); goto LA22_;}
						eqsink___ast_u3387(&typ_1, T75_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						{
							if (!(father_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA78_;
							(*typ_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30))) & 63);
						}
LA78_: ;
					}
LA73_: ;
					(*typ_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)25))) & 63);
					{
						NI j_1;
						NI colontmp__2;
						NI T81_;
						NI i_3;
						j_1 = (NI)0;
						colontmp__2 = (NI)0;
						T81_ = (NI)0;
						T81_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						colontmp__2 = (NI)(T81_ - ((NI)2));
						i_3 = ((NI)0);
						{
							while (1) {
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* finalType_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* paramName_1;
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
								tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A covarianceFlag_1;
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T123_;
								NI T145_;
								if (!(i_3 < colontmp__2)) goto LA83;
								finalType_1 = NIM_NIL;
								paramName_1 = NIM_NIL;
								s_1 = NIM_NIL;
								colontmpD__4 = NIM_NIL;
								j_1 = i_3;
								finalType_1 = 0;
								{
									if (!(j_1 == ((NI)0))) goto LA87_;
									eqcopy___ast_u3381(&finalType_1, typ_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
								goto LA85_;
LA87_: ;
								{
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
									colontmpD__5 = NIM_NIL;
									colontmpD__5 = owner__ast_u6246(typ_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									finalType_1 = copyType__ast_u6238(typ_1, (*c_p0).Sup.idgen, colontmpD__5);
									if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									copyTypeProps__modulegraphs_u10674((*c_p0).graph, ((NI) ((*(*c_p0).Sup.idgen).module)), finalType_1, typ_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									{
										LA90_:;
									}
									{
										oldNimErrFin90_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u4574(colontmpD__5);
										if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
										*nimErr_ = oldNimErrFin90_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
LA85_: ;
								eqcopy___ast_u3255(&paramName_1, (*a_1)._kind_6.sons.p->data[j_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								covarianceFlag_1 = ((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9);
								{
									NI T95_;
									tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T113_;
									T95_ = (NI)0;
									T95_ = safeLen__ast_u3197(paramName_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
									if (!(T95_ == ((NI)2))) goto LA96_;
									{
										NIM_BOOL T100_;
										T100_ = (NIM_BOOL)0;
										T100_ = NIM_TRUE;
										if (T100_) goto LA101_;
										T100_ = eqStrings((*(*(*paramName_1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__rF9caJawfOjYTjsgLVUSGFA_527);
LA101_: ;
										if (!T100_) goto LA102_;
										{
											NIM_BOOL T106_;
											NimStringV2 colontmpD__6;
											NimStringV2 colontmpD__7;
											T106_ = (NIM_BOOL)0;
											T106_ = (father_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
											if (T106_) goto LA107_;
											T106_ = !((((*(*father_p2).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0));
LA107_: ;
											if (!T106_) goto LA108_;
											colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
											colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
											colontmpD__6 = dollar___renderer_u2166((*paramName_1)._kind_6.sons.p->data[((NI)0)]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
											colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_529, colontmpD__6);
											if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
											liMessage__msgs_u1227((*(*c_p0).graph).config, (*paramName_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_530, NIM_FALSE, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
											{
												LA110_:;
											}
											{
												eqdestroy___system_u2691(colontmpD__7);
												eqdestroy___system_u2691(colontmpD__6);
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
										}
LA108_: ;
									}
LA102_: ;
									T113_ = (tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)0;
									{
										if (!eqStrings((*(*(*paramName_1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__rF9caJawfOjYTjsgLVUSGFA_531)) goto LA116_;
										covarianceFlag_1 = ((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)37);
									}
									goto LA114_;
LA116_: ;
									{
										covarianceFlag_1 = ((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)35);
									}
LA114_: ;
									{
										if (!!((father_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA121_;
										(*father_p2).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)35))) & 63);
									}
LA121_: ;
									eqcopy___ast_u3255(&paramName_1, (*paramName_1)._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
LA96_: ;
								T123_ = NIM_NIL;
								{
									NIM_BOOL T126_;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
									T126_ = (NIM_BOOL)0;
									T126_ = ((*finalType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
									if (T126_) goto LA127_;
									T126_ = (((*typ_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30)))&63U)))!=0);
LA127_: ;
									if (!T126_) goto LA128_;
									colontmpD__8 = NIM_NIL;
									colontmpD__8 = newSymG__sem_u441(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4), paramName_1, c_p0);
									if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
									s_1 = linkTo__ast_u4644(colontmpD__8, finalType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
									{
										LA130_:;
									}
									{
										oldNimErrFin130_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u4574(colontmpD__8);
										if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
										*nimErr_ = oldNimErrFin130_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
								goto LA124_;
LA128_: ;
								{
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
									colontmpD__9 = NIM_NIL;
									colontmpD__9 = newSymG__sem_u441(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), paramName_1, c_p0);
									if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
									s_1 = linkTo__ast_u4644(colontmpD__9, finalType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
									{
										LA134_:;
									}
									{
										oldNimErrFin134_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u4574(colontmpD__9);
										if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
										*nimErr_ = oldNimErrFin134_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
LA124_: ;
								{
									if (!!((covarianceFlag_1 == ((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))) goto LA139_;
									(*(*s_1).typ).flags |= ((NU64)1)<<(((covarianceFlag_1)) & 63);
								}
LA139_: ;
								{
									if (!!(((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA143_;
									eqcopy___ast_u3255(&(*s_1).ast, def_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
LA143_: ;
								T145_ = (NI)0;
								T145_ = len__ast_u3190(result);
								if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								(*s_1).position = T145_;
								{
									if (!!((father_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA148_;
									addSonSkipIntLit__magicsys_u135(father_p2, (*s_1).typ, (*c_p0).Sup.idgen);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
LA148_: ;
								{
									if (!!((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA152_;
									addDecl__lookups_u3789(c_p0, s_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								}
LA152_: ;
								colontmpD__4 = newSymNode__ast_u5168(s_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								add__ast_u3215(result, colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								i_3 += ((NI)1);
								{
									LA84_:;
								}
								{
									oldNimErrFin84_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
									eqdestroy___ast_u4574(s_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
									eqdestroy___ast_u3252(paramName_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
									eqdestroy___ast_u3378(finalType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
									*nimErr_ = oldNimErrFin84_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							} LA83: ;
						}
					}
					{
						LA22_:;
					}
					{
						oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						eqdestroy___ast_u3252(constraint_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
						*nimErr_ = oldNimErrFin22_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				}
				break;
				default:
				{
					illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				}
				break;
				}
				i_2 += ((NI)1);
				{
					LA8_:;
				}
				{
					oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin8_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA7: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setGenericParamsMisc__sem_u9966)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	orig_1 = NIM_NIL;
	eqcopy___ast_u3255(&orig_1, (*n_p1)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*orig_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) || (*orig_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75)))) goto LA4_;
		failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_525);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA8_;
		T10_ = NIM_NIL;
		T10_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)2)], T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA8_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
		T12_ = NIM_NIL;
		T12_ = semGenericParamList__sem_u9832(c_p0, orig_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)2)], T12_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		tyArray__al2p7ldDMvbBVYNFCuu4Rw T17_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)5)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA15_;
		nimZeroMem((void*)T17_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
		T17_[0] = (*(*c_p0).graph).emptyNode;
		T17_[1] = orig_1;
		T18_ = NIM_NIL;
		T18_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41), T17_, 2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)5)], T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA13_;
LA15_: ;
	{
		eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[((NI)5)])._kind_6.sons.p->data[((NI)1)], orig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&orig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(orig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newProcType__sem_u8225)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = lastOptionEntry__semdata_u451(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).callConv = (*colontmpD_).defaultCC;
	T1_ = NIM_NIL;
	T1_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), info_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*result).n, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rawAddSon__ast_u6706(result, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL), NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD__2 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), info_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215((*result).n, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___semdata_u611(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semParamType__sem_u8208)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** constraint_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40))) goto LA4_;
		result = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T6_ = NIM_NIL;
		T6_ = semNodeKindConstraints__parampatterns_u180(n_p1, (*(*c_p0).graph).config, ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto LA1_;}
		eqsink___ast_u3261(&(*constraint_p2), T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27));
		if (!(T9_)) goto LA10_;
		T9_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165));
LA10_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA11_;
		colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_ = eqStrings((*colontmpD_).s, TM__rF9caJawfOjYTjsgLVUSGFA_532);
LA11_: ;
		if (!T8_) goto LA12_;
		result = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T14_ = NIM_NIL;
		T14_ = semNodeKindConstraints__parampatterns_u180(n_p1, (*(*c_p0).graph).config, ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA1_;}
		eqsink___ast_u3261(&(*constraint_p2), T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA12_: ;
	{
		result = semTypeNode__sem_u89(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMagic__sem_u8230)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nPragmas_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nPragmas_1 = NIM_NIL;
	{
		if (!((*sym_p0).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA4_;
		result = NIM_FALSE;
		eqdestroy___ast_u3252(nPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&nPragmas_1, (*(*sym_p0).ast)._kind_6.sons.p->data[((NI)4)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = hasPragma__pragmas_u2487(nPragmas_1, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)75));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqdestroy___ast_u3252(nPragmas_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(nPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, addImplicitGeneric__sem_u7979)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeClass_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* typId_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p4, NimStringV2 paramName_p5) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* finalTypId_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* T6_;
NIM_BOOL oldNimErrFin27_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T31_;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T37_;
	NI T47_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	finalTypId_1 = NIM_NIL;
	owner_1 = NIM_NIL;
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		if (!(genericParams_p4 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA4_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(owner_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(finalTypId_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = NIM_NIL;
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = eqeq___idents_u366(typId_p2, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T9_)) goto LA10_;
		eqcopy___idents_u158(&finalTypId_1, typId_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA7_;
LA10_: ;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 T13_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T13_.len = 0; T13_.p = NIM_NIL;
		T13_ = rawNewString(paramName_p5.len + 5);
appendString((&T13_), paramName_p5);
appendString((&T13_), TM__rF9caJawfOjYTjsgLVUSGFA_563);
		colontmpD__3 = T13_;
		finalTypId_1 = getIdent__idents_u206((*c_p0).cache, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(colontmpD__3);
	}
LA7_: ;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(genericParams_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA16;
				i_1 = i_2;
				{
					if (!((*(*(*(*genericParams_p4)._kind_6.sons.p->data[i_1])._kind_4.sym).name).id == (*finalTypId_1).id)) goto LA19_;
					{
						NIM_BOOL T23_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
						T23_ = (NIM_BOOL)0;
						T23_ = ((*typeClass_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
						if (!(T23_)) goto LA24_;
						T23_ = !(((*(*(*genericParams_p4)._kind_6.sons.p->data[i_1]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60)));
LA24_: ;
						if (!T23_) goto LA25_;
						colontmpD__4 = NIM_NIL;
						colontmpD__4 = linkTo__ast_u4644((*(*genericParams_p4)._kind_6.sons.p->data[i_1])._kind_4.sym, typeClass_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						(*typeClass_p1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)26))) & 63);
						eqcopy___ast_u3381(&result, typeClass_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						eqdestroy___ast_u4574(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(owner_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___idents_u155(finalTypId_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
						{
							LA27_:;
						}
						{
							oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							*nimErr_ = oldNimErrFin27_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
					goto LA21_;
LA25_: ;
					{
						eqcopy___ast_u3381(&result, (*(*genericParams_p4)._kind_6.sons.p->data[i_1]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(owner_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___idents_u155(finalTypId_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA21_: ;
				}
LA19_: ;
				i_2 += ((NI)1);
			} LA16: ;
		}
	}
	T31_ = NIM_NIL;
	{
		if (!!(((*typeClass_p1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA34_;
		eqcopy___ast_u4577(&owner_1, (*typeClass_p1).sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA32_;
LA34_: ;
	{
		owner_1 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA32_: ;
	T37_ = 0;
	s_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), finalTypId_1, (*c_p0).Sup.idgen, owner_1, info_p3, T37_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((*owner_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)23)))&63U)))!=0)) goto LA40_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)23))) & 63);
	}
LA40_: ;
	{
		NIM_BOOL T44_;
		T44_ = (NIM_BOOL)0;
		T44_ = eqeq___idents_u366(typId_p2, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T44_) goto LA45_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60))) & 63);
	}
LA45_: ;
	colontmpD_ = linkTo__ast_u4644(s_1, typeClass_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*typeClass_p1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)26))) & 63);
	T47_ = (NI)0;
	T47_ = len__ast_u3190(genericParams_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*s_1).position = T47_;
	colontmpD__2 = newSymNode__ast_u5168(s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(genericParams_p4, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&result, typeClass_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addDecl__lookups_u3789(c_p0, s_1);
	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_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(owner_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(finalTypId_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, typeBodyImpl__ast_u5369)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, last__ast_u5278)(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(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, liftParamType__sem_u8031)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q procKind_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_p3, NimStringV2 paramName_p4, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p5, NIM_BOOL anon_p6) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* paramTypId_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* T6_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin56_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin86_;
NIM_BOOL oldNimErrFin94_;
NIM_BOOL oldNimErrFin105_;
NIM_BOOL oldNimErrFin113_;
NIM_BOOL oldNimErrFin98_;
NIM_BOOL oldNimErrFin144_;
NIM_BOOL oldNimErrFin130_;
NIM_BOOL oldNimErrFin157_;
NIM_BOOL oldNimErrFin169_;
NIM_BOOL oldNimErrFin164_;
NIM_BOOL oldNimErrFin187_;
NIM_BOOL oldNimErrFin152_;
NIM_BOOL oldNimErrFin201_;
NIM_BOOL oldNimErrFin216_;
NIM_BOOL oldNimErrFin197_;
NIM_BOOL oldNimErrFin223_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	paramTypId_1 = NIM_NIL;
	{
		if (!(paramType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA4_;
		eqdestroy___idents_u155(paramTypId_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = NIM_NIL;
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = !(anon_p6);
		if (!(T9_)) goto LA10_;
		T9_ = !(((*paramType_p3).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA10_: ;
		if (!T9_) goto LA11_;
		eqcopy___idents_u158(&paramTypId_1, (*(*paramType_p3).sym).name);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA7_;
LA11_: ;
	{
		paramTypId_1 = ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL);
	}
LA7_: ;
	switch ((*paramType_p3).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		result = addImplicitGeneric__sem_u7979(c_p0, colontmpD_, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL), info_p5, genericParams_p2, paramName_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin15_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lifted_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T30_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
		colontmpD__2 = NIM_NIL;
		lifted_1 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		base_1 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		{
			NIM_BOOL T22_;
			T22_ = (NIM_BOOL)0;
			colontmpD__2 = base__ast_u5351(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			T22_ = !(((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0)));
			if (!(T22_)) goto LA23_;
			T22_ = !(((*paramType_p3).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA23_: ;
			if (!T22_) goto LA24_;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(lifted_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(paramTypId_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA24_: ;
		{
			if (!(((*paramType_p3).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0)) goto LA28_;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(lifted_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(paramTypId_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA28_: ;
		colontmpD__3 = base__ast_u5351(paramType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		lifted_1 = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, colontmpD__3, paramName_p4, info_p5, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		T30_ = NIM_NIL;
		{
			if (!!((lifted_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA33_;
			base_1 = lifted_1;
			eqwasMoved___ast_u3375(&lifted_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		}
		goto LA31_;
LA33_: ;
		{
			base_1 = base__ast_u5351(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		}
LA31_: ;
		{
			NIM_BOOL T38_;
			NimStringV2 colontmpD__5;
			T38_ = (NIM_BOOL)0;
			T38_ = isMetaType__ast_u4607(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			if (!(T38_)) goto LA39_;
			T38_ = (procKind_p1 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA39_: ;
			if (!T38_) goto LA40_;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_565, paramName_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, info_p5, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_566, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			{
				LA42_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__5);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		}
LA40_: ;
		blitTmp_1 = base_1;
		eqwasMoved___ast_u3375(&base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		colontmpD__4 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60), c_p0, blitTmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		result = addImplicitGeneric__sem_u7979(c_p0, colontmpD__4, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			if (!!((result == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA47_;
			(*result).flags = ((*result).flags | 16777728);
		}
LA47_: ;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(lifted_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__7;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__8;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T68_;
			if (!!((((*paramType_p3).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0))) goto LA54_;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			colontmpD__8 = NIM_NIL;
			t_1 = NIM_NIL;
			{
				NIM_BOOL T59_;
				NIM_BOOL T60_;
				NIM_BOOL T62_;
				NIM_BOOL T64_;
				T59_ = (NIM_BOOL)0;
				T60_ = (NIM_BOOL)0;
				colontmpD__6 = base__ast_u5351(paramType_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				T60_ = ((*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0));
				if (!(T60_)) goto LA61_;
				T62_ = (NIM_BOOL)0;
				T62_ = eqeq___idents_u366(paramTypId_1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				T60_ = !(T62_);
LA61_: ;
				T59_ = T60_;
				if (!(T59_)) goto LA63_;
				T64_ = (NIM_BOOL)0;
				colontmpD__7 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_567);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				T64_ = ((*paramTypId_1).id == (*colontmpD__7).id);
				if (T64_) goto LA65_;
				colontmpD__8 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_568);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				T64_ = ((*paramTypId_1).id == (*colontmpD__8).id);
LA65_: ;
				T59_ = T64_;
LA63_: ;
				if (!T59_) goto LA66_;
				eqsink___idents_u164(&paramTypId_1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
			}
LA66_: ;
			T68_ = NIM_NIL;
			T68_ = base__ast_u5351(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T68_); goto LA56_;}
			t_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), c_p0, T68_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
			(*t_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
			result = addImplicitGeneric__sem_u7979(c_p0, t_1, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
			{
				LA56_:;
			}
			{
				oldNimErrFin56_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___idents_u155(colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___idents_u155(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin56_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA52_;
LA54_: ;
		{
			result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		}
LA52_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13):
	{
		{
			NI T75_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
			T75_ = (NI)0;
			T75_ = len__ast_u5502(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T75_ == ((NI)1))) goto LA76_;
			colontmpD__9 = NIM_NIL;
			colontmpD__9 = base__ast_u5351(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
			result = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, colontmpD__9, paramName_p4, info_p5, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
			{
				LA78_:;
			}
			{
				oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin78_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA73_;
LA76_: ;
		{
			result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		}
LA73_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u5502(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
					if (!(i_2 < colontmp_)) goto LA85;
					t_2 = NIM_NIL;
					i_1 = i_2;
					t_2 = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, (*paramType_p3).sons.p->data[i_1], paramName_p4, info_p5, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
					{
						if (!!((t_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA89_;
						eqsink___ast_u3387(&(*paramType_p3).sons.p->data[i_1], t_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
						eqwasMoved___ast_u3375(&t_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
						eqcopy___ast_u3381(&result, paramType_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
					}
LA89_: ;
					i_2 += ((NI)1);
					{
						LA86_:;
					}
					{
						oldNimErrFin86_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(t_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin86_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA85: ;
			}
		}
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
		colontmpD__10 = NIM_NIL;
		colontmpD__10 = base__ast_u5351(paramType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
		result = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, colontmpD__10, paramName_p4, info_p5, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
		{
			LA94_:;
		}
		{
			oldNimErrFin94_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin94_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__11;
		colontmpD__11 = NIM_NIL;
		{
			NIM_BOOL T101_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T106_;
			T101_ = (NIM_BOOL)0;
			T101_ = ((*paramType_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
			if (!(T101_)) goto LA102_;
			colontmpD__11 = elementType__ast_u5331(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
			T101_ = ((*colontmpD__11).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0));
LA102_: ;
			if (!T101_) goto LA103_;
			typ_1 = NIM_NIL;
			T106_ = NIM_NIL;
			T106_ = newTypeS__semdata_u4368((*paramType_p3).kind, c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T106_); goto LA105_;}
			typ_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51), c_p0, T106_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
			result = addImplicitGeneric__sem_u7979(c_p0, typ_1, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
			{
				LA105_:;
			}
			{
				oldNimErrFin105_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
				*nimErr_ = oldNimErrFin105_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
		}
		goto LA99_;
LA103_: ;
		{
			result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__ast_u5502(paramType_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
				i_4 = ((NI)0);
				{
					while (1) {
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lifted_2;
						if (!(i_4 < colontmp__2)) goto LA112;
						lifted_2 = NIM_NIL;
						i_3 = i_4;
						{
							NimStringV2 colontmpD__12;
							NimStringV2 colontmpD__13;
							if (!((*paramType_p3).sons.p->data[i_3] == paramType_p3)) goto LA116_;
							colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
							colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
							colontmpD__12 = typeToString__types_u54(paramType_p3, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
							if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
							colontmpD__13 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_569, colontmpD__12);
							if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, info_p5, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__13, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_570, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
							{
								LA118_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__13);
								eqdestroy___system_u2691(colontmpD__12);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
						}
LA116_: ;
						lifted_2 = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, (*paramType_p3).sons.p->data[i_3], paramName_p4, info_p5, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
						{
							if (!!((lifted_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA123_;
							eqsink___ast_u3387(&(*paramType_p3).sons.p->data[i_3], lifted_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
							eqwasMoved___ast_u3375(&lifted_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
							eqcopy___ast_u3381(&result, paramType_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
						}
LA123_: ;
						i_4 += ((NI)1);
						{
							LA113_:;
						}
						{
							oldNimErrFin113_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(lifted_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
							*nimErr_ = oldNimErrFin113_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
					} LA112: ;
				}
			}
		}
LA99_: ;
		{
			LA98_:;
		}
		{
			oldNimErrFin98_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin98_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__14;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T147_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T148_;
		colontmpD__14 = NIM_NIL;
		x_1 = NIM_NIL;
		result = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		rawAddSon__ast_u6706(result, paramType_p3, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		{
			NI i_5;
			NI colontmp__3;
			NI T132_;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			T132_ = (NI)0;
			T132_ = len__ast_u5502(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			colontmp__3 = (NI)(T132_ - ((NI)1));
			i_6 = ((NI)0);
			{
				while (1) {
					if (!(i_6 < colontmp__3)) goto LA134;
					i_5 = i_6;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* staticCopy_1;
						if (!((*(*paramType_p3).sons.p->data[i_5]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA137_;
						staticCopy_1 = NIM_NIL;
						staticCopy_1 = exactReplica__ast_u6243((*paramType_p3).sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
						(*staticCopy_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)27))) & 63);
						rawAddSon__ast_u6706(result, staticCopy_1, NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
						eqdestroy___ast_u3378(staticCopy_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					}
					goto LA135_;
LA137_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__15;
						colontmpD__15 = NIM_NIL;
						colontmpD__15 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
						rawAddSon__ast_u6706(result, colontmpD__15, NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
						eqdestroy___ast_u3378(colontmpD__15);
						if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					}
LA135_: ;
					i_6 += ((NI)1);
				} LA134: ;
			}
		}
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__16;
			colontmpD__14 = typeBodyImpl__ast_u5369(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			if (!((*colontmpD__14).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52))) goto LA142_;
			colontmpD__16 = NIM_NIL;
			(*result).kind = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53);
			colontmpD__16 = typeBodyImpl__ast_u5369(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA144_;
			rawAddSon__ast_u6706(result, colontmpD__16, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA144_;
			result = addImplicitGeneric__sem_u7979(c_p0, result, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA144_;
			eqdestroy___ast_u3378(colontmpD__16);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			eqdestroy___ast_u3378(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__14);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(paramTypId_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA144_:;
			}
			{
				oldNimErrFin144_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
				*nimErr_ = oldNimErrFin144_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		}
LA142_: ;
		x_1 = instGenericContainer__sem_u1274(c_p0, (*(*paramType_p3).sym).info, result, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		T147_ = NIM_NIL;
		T147_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T147_); goto LA130_;}
		eqsink___ast_u3387(&result, T147_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		rawAddSon__ast_u6706(result, paramType_p3, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		rawAddSon__ast_u6706(result, x_1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		T148_ = NIM_NIL;
		T148_ = addImplicitGeneric__sem_u7979(c_p0, result, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T148_); goto LA130_;}
		eqsink___ast_u3387(&result, T148_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		{
			LA130_:;
		}
		{
			oldNimErrFin130_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__14);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin130_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__17;
		colontmpD__17 = NIM_NIL;
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* cp_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__18;
			colontmpD__17 = skipModifier__ast_u5338(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			if (!((*colontmpD__17).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52))) goto LA155_;
			cp_1 = NIM_NIL;
			colontmpD__18 = NIM_NIL;
			colontmpD__18 = getCurrOwner__semdata_u425(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
			cp_1 = copyType__ast_u6238(paramType_p3, (*c_p0).Sup.idgen, colontmpD__18);
			if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
			copyTypeProps__modulegraphs_u10674((*c_p0).graph, ((NI) ((*(*c_p0).Sup.idgen).module)), cp_1, paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
			(*cp_1).kind = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53);
			result = addImplicitGeneric__sem_u7979(c_p0, cp_1, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
			eqdestroy___ast_u4574(colontmpD__18);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			eqdestroy___ast_u3378(cp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			eqdestroy___ast_u3378(colontmpD__17);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(paramTypId_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA157_:;
			}
			{
				oldNimErrFin157_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
				eqdestroy___ast_u3378(cp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
				*nimErr_ = oldNimErrFin157_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		}
LA155_: ;
		{
			NI i_7;
			NI colontmp__4;
			NI T161_;
			NI i_8;
			i_7 = (NI)0;
			colontmp__4 = (NI)0;
			T161_ = (NI)0;
			T161_ = len__ast_u5502(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			colontmp__4 = (NI)(T161_ - ((NI)1));
			i_8 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lifted_3;
					if (!(i_8 < colontmp__4)) goto LA163;
					lifted_3 = NIM_NIL;
					i_7 = i_8;
					lifted_3 = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, (*paramType_p3).sons.p->data[i_7], paramName_p4, info_p5, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__19;
						if (!!((lifted_3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA167_;
						colontmpD__19 = NIM_NIL;
						eqsink___ast_u3387(&(*paramType_p3).sons.p->data[i_7], lifted_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
						eqwasMoved___ast_u3375(&lifted_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
						eqcopy___ast_u3381(&result, paramType_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
						{
							NimStringV2 argX60gensym1571__1;
							colontmpD__19 = last__ast_u5278(result);
							if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
							if (!!((((*colontmpD__19).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)21)))&63U)))!=0))) goto LA172_;
							argX60gensym1571__1.len = 0; argX60gensym1571__1.p = NIM_NIL;
							argX60gensym1571__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_571);
							if (NIM_UNLIKELY(*nimErr_)) goto LA174_;
							internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym1571__1, TM__rF9caJawfOjYTjsgLVUSGFA_571);
							if (NIM_UNLIKELY(*nimErr_)) goto LA174_;
							{
								LA174_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym1571__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
						}
LA172_: ;
						{
							LA169_:;
						}
						{
							oldNimErrFin169_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD__19);
							if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
							*nimErr_ = oldNimErrFin169_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA164_;
					}
LA167_: ;
					i_8 += ((NI)1);
					{
						LA164_:;
					}
					{
						oldNimErrFin164_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(lifted_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
						*nimErr_ = oldNimErrFin164_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
				} LA163: ;
			}
		}
		{
			NIM_BOOL T183_;
			T183_ = (NIM_BOOL)0;
			T183_ = isConcept__types_u3409(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			if (!T183_) goto LA184_;
			result = addImplicitGeneric__sem_u7979(c_p0, paramType_p3, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			eqdestroy___ast_u3378(colontmpD__17);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(paramTypId_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA181_;
LA184_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* liftBody_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__20;
			liftBody_1 = NIM_NIL;
			colontmpD__20 = NIM_NIL;
			colontmpD__20 = skipModifier__ast_u5338(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
			liftBody_1 = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, colontmpD__20, paramName_p4, info_p5, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
			{
				if (!!((liftBody_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA190_;
				eqsink___ast_u3387(&result, liftBody_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
				eqwasMoved___ast_u3375(&liftBody_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
				(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)21))) & 63);
			}
LA190_: ;
			{
				LA187_:;
			}
			{
				oldNimErrFin187_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__20);
				if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
				eqdestroy___ast_u3378(liftBody_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
				*nimErr_ = oldNimErrFin187_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		}
LA181_: ;
		{
			LA152_:;
		}
		{
			oldNimErrFin152_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__17);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin152_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* body_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__21;
		body_1 = NIM_NIL;
		colontmpD__21 = NIM_NIL;
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		{
			NI i_9;
			NI colontmp__5;
			NI i_10;
			i_9 = (NI)0;
			colontmp__5 = (NI)0;
			colontmp__5 = len__ast_u5502(paramType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
			i_10 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lifted_4;
					if (!(i_10 < colontmp__5)) goto LA200;
					lifted_4 = NIM_NIL;
					i_9 = i_10;
					lifted_4 = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, (*paramType_p3).sons.p->data[i_9], paramName_p4, info_p5, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA201_;
					{
						if (!!((lifted_4 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA204_;
						eqsink___ast_u3387(&(*paramType_p3).sons.p->data[i_9], lifted_4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA201_;
						eqwasMoved___ast_u3375(&lifted_4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA201_;
					}
LA204_: ;
					i_10 += ((NI)1);
					{
						LA201_:;
					}
					{
						oldNimErrFin201_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(lifted_4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
						*nimErr_ = oldNimErrFin201_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
				} LA200: ;
			}
		}
		body_1 = base__ast_u5351(paramType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
		{
			if (!((*body_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30) || (*body_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50))) goto LA210_;
			eqdestroy___ast_u3378(colontmpD__21);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(body_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(paramTypId_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA210_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expanded_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T217_;
			colontmpD__21 = last__ast_u5278(body_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
			if (!((*colontmpD__21).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52))) goto LA214_;
			expanded_1 = NIM_NIL;
			expanded_1 = instGenericContainer__sem_u1274(c_p0, info_p5, paramType_p3, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA216_;
			T217_ = NIM_NIL;
			T217_ = liftParamType__sem_u8031(c_p0, procKind_p1, genericParams_p2, expanded_1, paramName_p4, info_p5, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T217_); goto LA216_;}
			eqsink___ast_u3387(&result, T217_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA216_;
			{
				LA216_:;
			}
			{
				oldNimErrFin216_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expanded_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
				*nimErr_ = oldNimErrFin216_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
		}
LA214_: ;
		{
			LA197_:;
		}
		{
			oldNimErrFin197_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__21);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(body_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin197_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)57):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)58):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__22;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__23;
		colontmpD__22 = NIM_NIL;
		colontmpD__23 = NIM_NIL;
		colontmpD__22 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
		colontmpD__23 = copyType__ast_u6238(paramType_p3, (*c_p0).Sup.idgen, colontmpD__22);
		if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
		result = addImplicitGeneric__sem_u7979(c_p0, colontmpD__23, paramTypId_1, info_p5, genericParams_p2, paramName_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
		{
			LA223_:;
		}
		{
			oldNimErrFin223_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__23);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__22);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin223_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12):
	{
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		markUsed__sigmatch_u100(c_p0, (*(*paramType_p3).sym).info, (*paramType_p3).sym, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!(((*paramType_p3).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30)))&63U)))!=0)) goto LA229_;
			(*paramType_p3).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30))) & 63));
			transitionGenericParamToType__ast_u6843((*paramType_p3).sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA229_: ;
	}
	break;
	default:
	{
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(paramTypId_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semProcTypeNode__sem_u8238)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p3, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p4, NIM_BOOL isType_p5) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA check_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* r_1;
	NI counter_1;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin90_;
NIM_BOOL oldNimErrFin75_;
NIM_BOOL oldNimErrFin212_;
NIM_BOOL oldNimErrFin181_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin343_;
NIM_BOOL oldNimErrFin307_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&check_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	r_1 = NIM_NIL;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newProcType__sem_u8225(c_p0, (*n_p1).info, prev_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&check_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	counter_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) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
					NIM_BOOL hasType_1;
					NI T17_;
					NIM_BOOL hasDefault_1;
					NI T18_;
					a_1 = NIM_NIL;
					typ_1 = NIM_NIL;
					def_1 = NIM_NIL;
					constraint_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35)))) goto LA9_;
						{
							NIM_BOOL T13_;
							T13_ = (NIM_BOOL)0;
							T13_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
							if (!(T13_)) goto LA14_;
							T13_ = (((*(*a_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2)))&63U)))!=0);
LA14_: ;
							if (!T13_) goto LA15_;
							eqdestroy___ast_u3378(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(constraint_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(def_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3378(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3252(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							goto LA5;
						}
LA15_: ;
						illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA9_: ;
					checkMinSonsLen__semdata_u4675(a_1, ((NI)3), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					typ_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
					def_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
					constraint_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
					T17_ = (NI)0;
					T17_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					hasType_1 = !(((*(*a_1)._kind_6.sons.p->data[(NI)(T17_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
					T18_ = (NI)0;
					T18_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					hasDefault_1 = !(((*(*a_1)._kind_6.sons.p->data[(NI)(T18_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
					{
						NIM_BOOL isGeneric_1;
						NIM_BOOL T23_;
						NI T25_;
						NI T26_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T27_;
						if (!hasType_1) goto LA21_;
						T23_ = (NIM_BOOL)0;
						T23_ = !((genericParams_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
						if (!(T23_)) goto LA24_;
						T25_ = (NI)0;
						T25_ = len__ast_u3190(genericParams_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T23_ = (((NI)0) < T25_);
LA24_: ;
						isGeneric_1 = T23_;
						(*c_p0).inGenericContext += isGeneric_1;
						T26_ = (NI)0;
						T26_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T27_ = NIM_NIL;
						T27_ = semParamType__sem_u8208(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T26_ - ((NI)2))], &constraint_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T27_); goto LA6_;}
						eqsink___ast_u3387(&typ_1, T27_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						(*c_p0).inGenericContext -= isGeneric_1;
						{
							NIM_BOOL T30_;
							NIM_BOOL T32_;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
							T30_ = (NIM_BOOL)0;
							T30_ = (kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13));
							if (!(T30_)) goto LA31_;
							T32_ = (NIM_BOOL)0;
							T32_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7));
							if (T32_) goto LA33_;
							T32_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6));
LA33_: ;
							T30_ = T32_;
LA31_: ;
							if (!T30_) goto LA34_;
							colontmpD__2 = NIM_NIL;
							{
								NIM_BOOL T39_;
								NimStringV2 colontmpD__3;
								NI T43_;
								NimStringV2 T44_;
								colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
								T39_ = (NIM_BOOL)0;
								T39_ = isMagic__sem_u8230(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
								if (!!(T39_)) goto LA40_;
								colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
								T43_ = (NI)0;
								T43_ = len__ast_u3190(a_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								T44_.len = 0; T44_.p = NIM_NIL;
								T44_ = rawNewString((*(*(*typ_1).sym).name).s.len + 57);
appendString((&T44_), TM__rF9caJawfOjYTjsgLVUSGFA_533);
appendString((&T44_), (*(*(*typ_1).sym).name).s);
appendString((&T44_), TM__rF9caJawfOjYTjsgLVUSGFA_535);
								colontmpD__3 = T44_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[(NI)(T43_ - ((NI)2))]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_536, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								{
									LA42_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__3);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
							}
LA40_: ;
							{
								LA36_:;
							}
							{
								oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								*nimErr_ = oldNimErrFin36_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA34_: ;
					}
LA21_: ;
					{
						NI T53_;
						if (!hasDefault_1) goto LA51_;
						T53_ = (NI)0;
						T53_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						eqcopy___ast_u3255(&def_1, (*a_1)._kind_6.sons.p->data[(NI)(T53_ - ((NI)1))]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NI T56_;
							NimStringV2 msg_1;
							NimStringV2 colontmpD__4;
							tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T71_;
							T56_ = (NI)0;
							T56_ = len__ast_u3190(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!(((NI)3) < T56_)) goto LA57_;
							msg_1.len = 0; msg_1.p = NIM_NIL;
							colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
							msg_1 = TM__rF9caJawfOjYTjsgLVUSGFA_537;
							{
								NI j_1;
								NI colontmp__2;
								NI T61_;
								NI i_3;
								j_1 = (NI)0;
								colontmp__2 = (NI)0;
								T61_ = (NI)0;
								T61_ = len__ast_u3190(a_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								colontmp__2 = (NI)(T61_ - ((NI)2));
								i_3 = ((NI)0);
								{
									while (1) {
										NimStringV2 colontmpD__5;
										if (!(i_3 < colontmp__2)) goto LA63;
										colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
										j_1 = i_3;
										{
											if (!!((msg_1.len == ((NI)0)))) goto LA67_;
											prepareAdd((&msg_1), 2);
appendString((&msg_1), TM__rF9caJawfOjYTjsgLVUSGFA_538);
										}
LA67_: ;
										colontmpD__5 = dollar___renderer_u2166((*a_1)._kind_6.sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
										prepareAdd((&msg_1), colontmpD__5.len + 0);
appendString((&msg_1), colontmpD__5);
										i_3 += ((NI)1);
										{
											LA64_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__5);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
									} LA63: ;
								}
							}
							prepareAdd((&msg_1), 25);
appendString((&msg_1), TM__rF9caJawfOjYTjsgLVUSGFA_540);
							T71_ = 0;
							colontmpD__4 = renderTree__renderer_u59(def_1, T71_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							prepareAdd((&msg_1), colontmpD__4.len + 0);
appendString((&msg_1), colontmpD__4);
							prepareAdd((&msg_1), 95);
appendString((&msg_1), TM__rF9caJawfOjYTjsgLVUSGFA_542);
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)80), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_543, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							{
								LA59_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__4);
								eqdestroy___system_u2691(msg_1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA57_: ;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
							NIM_BOOL canBeVoid_1;
							NIM_BOOL isGeneric_2;
							NIM_BOOL T99_;
							NI T101_;
							colontmpD__6 = NIM_NIL;
							canBeVoid_1 = NIM_FALSE;
							{
								if (!(kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA78_;
								{
									NIM_BOOL T82_;
									T82_ = (NIM_BOOL)0;
									T82_ = !((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
									if (!(T82_)) goto LA83_;
									T82_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6));
LA83_: ;
									if (!T82_) goto LA84_;
									eqdestroy___ast_u4574(colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									goto LA74;
								}
								goto LA80_;
LA84_: ;
								{
									NIM_BOOL T87_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T91_;
									T87_ = (NIM_BOOL)0;
									T87_ = hasUnresolvedArgs__sem_u152(c_p0, def_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
									if (!T87_) goto LA88_;
									colontmpD__7 = NIM_NIL;
									colontmpD__7 = copyTree__ast_u6891(def_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									T91_ = NIM_NIL;
									T91_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__7);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T91_); goto LA90_;}
									eqsink___ast_u3387(&(*def_1).typField, T91_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
									eqdestroy___ast_u3252(colontmpD__7);
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
									eqdestroy___ast_u4574(colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									goto LA74;
									{
										LA90_:;
									}
									{
										oldNimErrFin90_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__7);
										if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
										*nimErr_ = oldNimErrFin90_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
								}
								goto LA80_;
LA88_: ;
								{
									NIM_BOOL T95_;
									T95_ = (NIM_BOOL)0;
									T95_ = !((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
									if (!(T95_)) goto LA96_;
									T95_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7));
LA96_: ;
									if (!T95_) goto LA97_;
									canBeVoid_1 = NIM_TRUE;
								}
								goto LA80_;
LA97_: ;
LA80_: ;
							}
LA78_: ;
							T99_ = (NIM_BOOL)0;
							T99_ = !((genericParams_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
							if (!(T99_)) goto LA100_;
							T101_ = (NI)0;
							T101_ = len__ast_u3190(genericParams_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
							T99_ = (((NI)0) < T101_);
LA100_: ;
							isGeneric_2 = T99_;
							(*c_p0).inGenericContext += isGeneric_2;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T106_;
								if (!canBeVoid_1) goto LA104_;
								T106_ = NIM_NIL;
								T106_ = semExpr__sem_u58(c_p0, def_1, 33555456, typ_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T106_); goto LA75_;}
								eqsink___ast_u3261(&def_1, T106_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
							}
							goto LA102_;
LA104_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T108_;
								T108_ = NIM_NIL;
								T108_ = semExprWithType__sem_u63(c_p0, def_1, 33555456, typ_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T108_); goto LA75_;}
								eqsink___ast_u3261(&def_1, T108_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
							}
LA102_: ;
							(*c_p0).inGenericContext -= isGeneric_2;
							{
								NIM_BOOL T111_;
								colontmpD__6 = getCurrOwner__semdata_u425(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
								T111_ = (NIM_BOOL)0;
								T111_ = referencesAnotherParam__sem_u1333(def_1, colontmpD__6);
								if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
								if (!T111_) goto LA112_;
								(*def_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)19))) & 31);
							}
LA112_: ;
							{
								LA75_:;
							}
							{
								oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(colontmpD__6);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								*nimErr_ = oldNimErrFin75_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						} LA74: ;
						{
							if (!(typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA118_;
							eqcopy___ast_u3381(&typ_1, (*def_1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							{
								NIM_BOOL T122_;
								NimStringV2 colontmpD__8;
								NimStringV2 colontmpD__9;
								NimStringV2 T126_;
								T122_ = (NIM_BOOL)0;
								T122_ = isEmptyContainer__types_u3737(typ_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								if (!T122_) goto LA123_;
								colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
								colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
								T126_.len = 0; T126_.p = NIM_NIL;
								colontmpD__8 = dollar___renderer_u2166((*a_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
								T126_ = rawNewString(colontmpD__8.len + 37);
appendString((&T126_), TM__rF9caJawfOjYTjsgLVUSGFA_545);
appendString((&T126_), colontmpD__8);
appendString((&T126_), TM__rF9caJawfOjYTjsgLVUSGFA_546);
								colontmpD__9 = T126_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_547, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
								{
									LA125_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__9);
									eqdestroy___system_u2691(colontmpD__8);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							}
LA123_: ;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T133_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T134_;
								if (!((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA131_;
								T133_ = NIM_NIL;
								T133_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T133_); goto LA6_;}
								T134_ = NIM_NIL;
								T134_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), c_p0, T133_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T134_); goto LA6_;}
								eqsink___ast_u3387(&typ_1, T134_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								(*typ_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
							}
LA131_: ;
						}
						goto LA116_;
LA118_: ;
						{
							NIM_BOOL T136_;
							T136_ = (NIM_BOOL)0;
							T136_ = !(((*def_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
							if (!(T136_)) goto LA137_;
							T136_ = !(((*(*def_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61)));
LA137_: ;
							if (!T136_) goto LA138_;
							{
								NIM_BOOL T142_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T145_;
								T142_ = (NIM_BOOL)0;
								T142_ = containsGenericType__types_u3448(typ_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								if (!!(T142_)) goto LA143_;
								T145_ = NIM_NIL;
								T145_ = fitNode__sem_u79(c_p0, typ_1, def_1, (*def_1).info);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T145_); goto LA6_;}
								eqsink___ast_u3261(&def_1, T145_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							}
							goto LA140_;
LA143_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T149_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T150_;
								if (!((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA147_;
								T149_ = NIM_NIL;
								T149_ = semConstExpr__sem_u631(c_p0, def_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T149_); goto LA6_;}
								eqsink___ast_u3261(&def_1, T149_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								T150_ = NIM_NIL;
								T150_ = fitNode__sem_u79(c_p0, typ_1, def_1, (*def_1).info);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T150_); goto LA6_;}
								eqsink___ast_u3261(&def_1, T150_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							}
							goto LA140_;
LA147_: ;
LA140_: ;
						}
						goto LA116_;
LA138_: ;
LA116_: ;
					}
LA51_: ;
					{
						NIM_BOOL T153_;
						T153_ = (NIM_BOOL)0;
						T153_ = !(hasType_1);
						if (!(T153_)) goto LA154_;
						T153_ = !(hasDefault_1);
LA154_: ;
						if (!T153_) goto LA155_;
						{
							if (!isType_p5) goto LA159_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_549, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_550, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA159_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T165_;
							if (!(kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17))) goto LA163_;
							T165_ = NIM_NIL;
							T165_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T165_); goto LA6_;}
							eqsink___ast_u3387(&typ_1, T165_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA163_: ;
					}
					goto LA151_;
LA155_: ;
					{
						NIM_BOOL T167_;
						NimStringV2 colontmpD__10;
						NimStringV2 colontmpD__11;
						NI T171_;
						T167_ = (NIM_BOOL)0;
						T167_ = isRecursiveStructuralType__types_u4096(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!T167_) goto LA168_;
						colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
						colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
						T171_ = (NI)0;
						T171_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						colontmpD__10 = typeToString__types_u54(typ_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						colontmpD__11 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_551, colontmpD__10);
						if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[(NI)(T171_ - ((NI)2))]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_552, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
						{
							LA170_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__11);
							eqdestroy___system_u2691(colontmpD__10);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
					goto LA151_;
LA168_: ;
					{
						colontmpD_ = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63))) goto LA175_;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(constraint_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA5;
					}
					goto LA151_;
LA175_: ;
LA151_: ;
					{
						NI j_2;
						NI colontmp__3;
						NI T178_;
						NI i_4;
						j_2 = (NI)0;
						colontmp__3 = (NI)0;
						T178_ = (NI)0;
						T178_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						colontmp__3 = (NI)(T178_ - ((NI)2));
						i_4 = ((NI)0);
						{
							while (1) {
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* arg_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
								NimStringV2 nameForLift_1;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lifted_1;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* finalType_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__14;
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__15;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T182_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T229_;
								if (!(i_4 < colontmp__3)) goto LA180;
								arg_1 = NIM_NIL;
								colontmpD__12 = NIM_NIL;
								colontmpD__13 = NIM_NIL;
								nameForLift_1.len = 0; nameForLift_1.p = NIM_NIL;
								lifted_1 = NIM_NIL;
								finalType_1 = NIM_NIL;
								colontmpD__14 = NIM_NIL;
								colontmpD__15 = NIM_NIL;
								j_2 = i_4;
								T182_ = NIM_NIL;
								{
									if (!((*(*a_1)._kind_6.sons.p->data[j_2]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA185_;
									eqcopy___ast_u3255(&colontmpD__12, (*(*a_1)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
									T182_ = colontmpD__12;
								}
								goto LA183_;
LA185_: ;
								{
									eqcopy___ast_u3255(&colontmpD__13, (*a_1)._kind_6.sons.p->data[j_2]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
									T182_ = colontmpD__13;
								}
LA183_: ;
								arg_1 = newSymG__sem_u441(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3), T182_, c_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								{
									if (!((*(*arg_1).name).id == ((NI)74))) goto LA190_;
									(*arg_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63);
								}
								goto LA188_;
LA190_: ;
								{
									NIM_BOOL T193_;
									NimStringV2 colontmpD__16;
									NimStringV2 T197_;
									T193_ = (NIM_BOOL)0;
									T193_ = containsOrIncl__astyaml_u223((&check_1), (*(*arg_1).name).id);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
									if (!T193_) goto LA194_;
									colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
									T197_.len = 0; T197_.p = NIM_NIL;
									T197_ = rawNewString((*(*arg_1).name).s.len + 23);
appendString((&T197_), TM__rF9caJawfOjYTjsgLVUSGFA_553);
appendString((&T197_), (*(*arg_1).name).s);
appendString((&T197_), TM__rF9caJawfOjYTjsgLVUSGFA_554);
									colontmpD__16 = T197_;
									liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[j_2]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__16, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_555, NIM_FALSE, NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA196_;
									{
										LA196_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__16);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
								goto LA188_;
LA194_: ;
LA188_: ;
								{
									if (!((*(*a_1)._kind_6.sons.p->data[j_2]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA202_;
									pragma__pragmas_u120(c_p0, arg_1, (*(*a_1)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_556, NIM_FALSE, NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
LA202_: ;
								{
									NIM_BOOL T206_;
									NIM_BOOL T207_;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
									T206_ = (NIM_BOOL)0;
									T207_ = (NIM_BOOL)0;
									T207_ = !(hasType_1);
									if (!(T207_)) goto LA208_;
									T207_ = !(hasDefault_1);
LA208_: ;
									T206_ = T207_;
									if (!(T206_)) goto LA209_;
									T206_ = !((kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
LA209_: ;
									if (!T206_) goto LA210_;
									param_1 = NIM_NIL;
									param_1 = strTableGet__astalgo_u2726((*c_p0).signatures, (*arg_1).name);
									if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
									{
										if (!!((param_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA215_;
										eqcopy___ast_u3381(&typ_1, (*param_1).typ);
										if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
									}
									goto LA213_;
LA215_: ;
									{
										NimStringV2 colontmpD__17;
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T219_;
										colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
										colontmpD__17 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_558, (*(*arg_1).name).s);
										if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__17, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_559, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
										T219_ = NIM_NIL;
										T219_ = errorType__semdata_u4564(c_p0);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T219_); goto LA218_;}
										eqsink___ast_u3387(&typ_1, T219_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
										{
											LA218_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__17);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
									}
LA213_: ;
									{
										LA212_:;
									}
									{
										oldNimErrFin212_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u4574(param_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
										*nimErr_ = oldNimErrFin212_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
LA210_: ;
								eqcopy___system_u2694((&nameForLift_1), (*(*arg_1).name).s);
								{
									NimStringV2 colontmpD__18;
									NimStringV2 colontmpD__19;
									NimStringV2 T228_;
									tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym1670__1;
									if (!(((*arg_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0)) goto LA226_;
									colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
									colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
									T228_.len = 0; T228_.p = NIM_NIL;
									xX60gensym1670__1 = (*arg_1).itemId;
									colontmpD__18 = dollar___systemZdollars_u9((NI)((NI)((NU32)(((NI) (xX60gensym1670__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym1670__1.item))));
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
									T228_ = rawNewString(colontmpD__18.len + 7);
appendString((&T228_), TM__rF9caJawfOjYTjsgLVUSGFA_561);
appendString((&T228_), colontmpD__18);
									colontmpD__19 = T228_;
									prepareAdd((&nameForLift_1), colontmpD__19.len + 0);
appendString((&nameForLift_1), colontmpD__19);
									eqdestroy___system_u2691(colontmpD__19);
									eqdestroy___system_u2691(colontmpD__18);
								}
LA226_: ;
								lifted_1 = liftParamType__sem_u8031(c_p0, kind_p4, genericParams_p2, typ_1, nameForLift_1, (*arg_1).info, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								T229_ = NIM_NIL;
								{
									if (!!((lifted_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA232_;
									finalType_1 = lifted_1;
									eqwasMoved___ast_u3375(&lifted_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
								goto LA230_;
LA232_: ;
								{
									finalType_1 = skipIntLit__magicsys_u120(typ_1, (*c_p0).Sup.idgen);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
LA230_: ;
								eqcopy___ast_u3381(&(*arg_1).typ, finalType_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								(*arg_1).position = counter_1;
								{
									if (!!((constraint_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA237_;
									eqcopy___ast_u3255(&(*arg_1).constraint, constraint_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
LA237_: ;
								counter_1 += ((NI)1);
								{
									NIM_BOOL T241_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T245_;
									T241_ = (NIM_BOOL)0;
									T241_ = !((def_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
									if (!(T241_)) goto LA242_;
									T241_ = !(((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA242_: ;
									if (!T241_) goto LA243_;
									T245_ = NIM_NIL;
									T245_ = copyTree__ast_u6891(def_1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T245_); goto LA181_;}
									eqsink___ast_u3261(&(*arg_1).ast, T245_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
LA243_: ;
								colontmpD__14 = newSymNode__ast_u5168(arg_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								add__ast_u3215((*result).n, colontmpD__14);
								if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								rawAddSon__ast_u6706(result, finalType_1, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								addParamOrResult__sem_u1124(c_p0, arg_1, kind_p4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								{
									NIM_BOOL T248_;
									NIM_BOOL T249_;
									NIM_BOOL T250_;
									NIM_BOOL T251_;
									NIM_BOOL T252_;
									NIM_BOOL T253_;
									NIM_BOOL T254_;
									NIM_BOOL T255_;
									NIM_BOOL T256_;
									NIM_BOOL T257_;
									NIM_BOOL T258_;
									tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T260_;
									NIM_BOOL T269_;
									tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T272_;
									T248_ = (NIM_BOOL)0;
									T249_ = (NIM_BOOL)0;
									T250_ = (NIM_BOOL)0;
									T251_ = (NIM_BOOL)0;
									T252_ = (NIM_BOOL)0;
									T253_ = (NIM_BOOL)0;
									T254_ = (NIM_BOOL)0;
									T255_ = (NIM_BOOL)0;
									T256_ = (NIM_BOOL)0;
									T257_ = (NIM_BOOL)0;
									T258_ = (NIM_BOOL)0;
									T258_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
									if (!(T258_)) goto LA259_;
									T260_ = 0;
									T258_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T260_));
LA259_: ;
									T257_ = T258_;
									if (!(T257_)) goto LA261_;
									T257_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA261_: ;
									T256_ = T257_;
									if (!(T256_)) goto LA262_;
									colontmpD__15 = getModule__modulegraphs_u14809((*c_p0).graph, (*(*a_1)._kind_6.sons.p->data[j_2]).info.fileIndex);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
									T256_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__15);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
LA262_: ;
									T255_ = T256_;
									if (!(T255_)) goto LA263_;
									T255_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA263_: ;
									T254_ = T255_;
									if (!(T254_)) goto LA264_;
									T254_ = !(((*arg_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA264_: ;
									T253_ = T254_;
									if (!(T253_)) goto LA265_;
									T253_ = !(((*arg_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA265_: ;
									T252_ = T253_;
									if (!(T252_)) goto LA266_;
									T252_ = (((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*arg_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA266_: ;
									T251_ = T252_;
									if (!(T251_)) goto LA267_;
									T251_ = !(((*arg_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*arg_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA267_: ;
									T250_ = T251_;
									if (!(T250_)) goto LA268_;
									T269_ = (NIM_BOOL)0;
									T269_ = ((*arg_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
									if (T269_) goto LA270_;
									T269_ = !(((*(*arg_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA270_: ;
									T250_ = T269_;
LA268_: ;
									T249_ = T250_;
									if (!(T249_)) goto LA271_;
									T272_ = 0;
									T249_ = ((192 & (*arg_1).flags) == T272_);
LA271_: ;
									T248_ = T249_;
									if (!(T248_)) goto LA273_;
									T248_ = !((((*arg_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA273_: ;
									if (!T248_) goto LA274_;
									nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[j_2]).info, arg_1, (*arg_1).kind);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
LA274_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T280_;
									if (!((*(*a_1)._kind_6.sons.p->data[j_2]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA278_;
									T280_ = NIM_NIL;
									T280_ = newSymNode__ast_u5168(arg_1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T280_); goto LA181_;}
									eqsink___ast_u3261(&(*(*a_1)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)0)], T280_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
								goto LA276_;
LA278_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T282_;
									T282_ = NIM_NIL;
									T282_ = newSymNode__ast_u5168(arg_1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T282_); goto LA181_;}
									eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[j_2], T282_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
								}
LA276_: ;
								i_4 += ((NI)1);
								{
									LA181_:;
								}
								{
									oldNimErrFin181_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u4574(colontmpD__15);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___ast_u3252(colontmpD__14);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___ast_u3378(finalType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___ast_u3378(lifted_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___system_u2691(nameForLift_1);
									eqdestroy___ast_u3252(colontmpD__13);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___ast_u3252(colontmpD__12);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___ast_u4574(arg_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									*nimErr_ = oldNimErrFin181_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							} LA180: ;
						}
					}
					{
						LA6_:;
					}
					{
						oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(constraint_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin6_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA5: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	r_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		NIM_BOOL isGeneric_3;
		NIM_BOOL T291_;
		NI T293_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T294_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA289_;
		T291_ = (NIM_BOOL)0;
		T291_ = !((genericParams_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (!(T291_)) goto LA292_;
		T293_ = (NI)0;
		T293_ = len__ast_u3190(genericParams_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T291_ = (((NI)0) < T293_);
LA292_: ;
		isGeneric_3 = T291_;
		(*c_p0).inGenericContext += isGeneric_3;
		T294_ = NIM_NIL;
		T294_ = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T294_); goto LA1_;}
		eqsink___ast_u3387(&r_1, T294_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*c_p0).inGenericContext -= isGeneric_3;
	}
LA289_: ;
	{
		NIM_BOOL T297_;
		NIM_BOOL T298_;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
		T297_ = (NIM_BOOL)0;
		T298_ = (NIM_BOOL)0;
		T298_ = !((r_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T298_)) goto LA299_;
		T298_ = (kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA299_: ;
		T297_ = T298_;
		if (!(T297_)) goto LA300_;
		T297_ = ((*r_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7));
LA300_: ;
		if (!T297_) goto LA301_;
		info_1 = (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)24), TM__rF9caJawfOjYTjsgLVUSGFA_573, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_574, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3387(&r_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA301_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__20;
		if (!!((r_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA305_;
		colontmpD__20 = NIM_NIL;
		{
			NIM_BOOL T310_;
			NimStringV2 colontmpD__21;
			NimStringV2 colontmpD__22;
			T310_ = (NIM_BOOL)0;
			T310_ = isRecursiveStructuralType__types_u4096(r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
			if (!T310_) goto LA311_;
			colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
			colontmpD__22.len = 0; colontmpD__22.p = NIM_NIL;
			colontmpD__21 = typeToString__types_u54(r_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
			colontmpD__22 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_575, colontmpD__21);
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__22, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_576, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
			{
				LA313_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__22);
				eqdestroy___system_u2691(colontmpD__21);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
		}
		goto LA308_;
LA311_: ;
		{
			tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A oldFlags_1;
			colontmpD__20 = skipTypes__ast_u5379(r_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
			if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
			if (!!(((*colontmpD__20).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63)))) goto LA317_;
			{
				NIM_BOOL T321_;
				NimStringV2 colontmpD__23;
				NimStringV2 colontmpD__24;
				NimStringV2 T326_;
				T321_ = (NIM_BOOL)0;
				T321_ = !((kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)));
				if (!(T321_)) goto LA322_;
				T321_ = ((*r_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7) || (*r_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6));
LA322_: ;
				if (!T321_) goto LA323_;
				colontmpD__23.len = 0; colontmpD__23.p = NIM_NIL;
				colontmpD__24.len = 0; colontmpD__24.p = NIM_NIL;
				T326_.len = 0; T326_.p = NIM_NIL;
				colontmpD__23 = typeToString__types_u54(r_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA325_;
				T326_ = rawNewString(colontmpD__23.len + 53);
appendString((&T326_), TM__rF9caJawfOjYTjsgLVUSGFA_578);
appendString((&T326_), colontmpD__23);
appendString((&T326_), TM__rF9caJawfOjYTjsgLVUSGFA_580);
				colontmpD__24 = T326_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__24, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_581, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA325_;
				{
					LA325_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__24);
					eqdestroy___system_u2691(colontmpD__23);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
			}
			goto LA319_;
LA323_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__25;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T332_;
				if (!((*r_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59))) goto LA330_;
				colontmpD__25 = NIM_NIL;
				colontmpD__25 = owner__ast_u6246(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
				T332_ = NIM_NIL;
				T332_ = copyType__ast_u6238(r_1, (*c_p0).Sup.idgen, colontmpD__25);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T332_); goto LA307_;}
				eqsink___ast_u3387(&r_1, T332_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
				(*r_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)11))) & 63);
				eqdestroy___ast_u4574(colontmpD__25);
				if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
			}
			goto LA319_;
LA330_: ;
			{
				if (!((*r_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA334_;
			}
			goto LA319_;
LA334_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T350_;
				{
					NIM_BOOL T339_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lifted_2;
					T339_ = (NIM_BOOL)0;
					T339_ = ((*r_1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
					if (T339_) goto LA340_;
					T339_ = !((((*(*r_1).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA340_: ;
					if (!T339_) goto LA341_;
					lifted_2 = NIM_NIL;
					lifted_2 = liftParamType__sem_u8031(c_p0, kind_p4, genericParams_p2, r_1, TM__rF9caJawfOjYTjsgLVUSGFA_582, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
					{
						if (!!((lifted_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA346_;
						eqsink___ast_u3387(&r_1, lifted_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
						eqwasMoved___ast_u3375(&lifted_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA343_;
						(*r_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)11))) & 63);
					}
LA346_: ;
					{
						LA343_:;
					}
					{
						oldNimErrFin343_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(lifted_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
						*nimErr_ = oldNimErrFin343_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
				}
LA341_: ;
				T350_ = NIM_NIL;
				T350_ = skipIntLit__magicsys_u120(r_1, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T350_); goto LA307_;}
				eqsink___ast_u3387(&r_1, T350_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
				{
					if (!(kind_p4 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15))) goto LA353_;
					(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15))) & 63);
				}
LA353_: ;
			}
LA319_: ;
			eqcopy___ast_u3381(&(*result).sons.p->data[((NI)0)], r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
			oldFlags_1 = (*result).flags;
			propagateToOwner__ast_u6637(result, r_1, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
			{
				if (!!((oldFlags_1 == (*result).flags))) goto LA357_;
				{
					if (!!(((oldFlags_1 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)21)))&63U)))!=0))) goto LA361_;
					(*result).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)21))) & 63));
				}
LA361_: ;
			}
LA357_: ;
			eqsink___ast_u3387(&(*(*result).n).typField, r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
			eqwasMoved___ast_u3375(&r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA307_;
		}
		goto LA308_;
LA317_: ;
LA308_: ;
		{
			LA307_:;
		}
		{
			oldNimErrFin307_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__20);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin307_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA305_: ;
	{
		NIM_BOOL T367_;
		NI T369_;
		T367_ = (NIM_BOOL)0;
		T367_ = !((genericParams_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (!(T367_)) goto LA368_;
		T369_ = (NI)0;
		T369_ = len__ast_u3190(genericParams_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T367_ = (((NI)0) < T369_);
LA368_: ;
		if (!T367_) goto LA370_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
			n_2 = NIM_NIL;
			{
				NI i_5;
				NI colontmp__4;
				NI i_6;
				i_5 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = safeLen__ast_u3197(genericParams_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_6 = ((NI)0);
				{
					while (1) {
						if (!(i_6 < colontmp__4)) goto LA375;
						i_5 = i_6;
						eqcopy___ast_u3255(&n_2, (*genericParams_p2)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						{
							tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T378_;
							T378_ = 0;
							if (!((IL64(1152921504606846977) & (*(*n_2)._kind_4.sym).flags) == T378_)) goto LA379_;
							(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9))) & 63);
						}
LA379_: ;
						{
							if (!(((*(*(*n_2)._kind_4.sym).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30)))&63U)))!=0)) goto LA383_;
							transitionGenericParamToType__ast_u6843((*n_2)._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							(*(*(*n_2)._kind_4.sym).typ).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)30))) & 63));
						}
LA383_: ;
						i_6 += ((NI)1);
					} LA375: ;
				}
			}
			eqdestroy___ast_u3252(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	}
LA370_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(r_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&check_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semParamList__sem_u100)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = NIM_NIL;
	T1_ = semProcTypeNode__sem_u8238(c_p0, n_p1, genericParams_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL), (*s_p3).kind, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T1_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*s_p3).typ, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newParam__sem_u12059)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* x_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	x_1 = NIM_NIL;
	(*s_p2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
	x_1 = (*(*(*(*(*c_p0).owner).typ).n)._kind_6.sons.p->data[(NI)((*s_p2).position + ((NI)1))])._kind_4.sym;
	result = newSymNode__ast_u5171(x_1, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleSym__sem_u12072)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		if (!!((s_p2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3_;
		colontmpD_ = NIM_NIL;
		{
			NIM_BOOL T8_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
			T8_ = (NIM_BOOL)0;
			colontmpD_ = owner__ast_u6254(s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T8_ = (colontmpD_ == (*c_p0).owner);
			if (!(T8_)) goto LA9_;
			T8_ = ((*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA9_: ;
			if (!T8_) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = newParam__sem_u12059(c_p0, n_p1, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA5_;}
			eqsink___ast_u3261(&result, T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		goto LA6_;
LA10_: ;
		{
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2621__1;
			NIM_BOOL T14_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
			xX60gensym2621__1 = (*s_p2).itemId;
			T14_ = (NIM_BOOL)0;
			T14_ = contains__astalgo_u2846((&(*c_p0).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2621__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2621__1.item))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			if (!T14_) goto LA15_;
			T17_ = NIM_NIL;
			T17_ = symChoice__sem_u10236((*c_p0).c, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA5_;}
			eqsink___ast_u3261(&result, T17_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		goto LA6_;
LA15_: ;
		{
			NIM_BOOL T19_;
			NIM_BOOL T21_;
			NI T22_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T27_;
			T19_ = (NIM_BOOL)0;
			T19_ = ((*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
			if (!(T19_)) goto LA20_;
			T21_ = (NIM_BOOL)0;
			T22_ = (NI)0;
			T22_ = len__ast_u5502((*s_p2).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T21_ = (T22_ == ((NI)1));
			if (T21_) goto LA23_;
			T21_ = (((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)61)))&63U)))!=0);
LA23_: ;
			T19_ = T21_;
LA20_: ;
			if (!T19_) goto LA24_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = semTemplateExpr__sem_u535((*c_p0).c, n_p1, s_p2, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			T27_ = NIM_NIL;
			T27_ = semPatternBody__sem_u12053(c_p0, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T27_); goto LA26_;}
			eqsink___ast_u3261(&result, T27_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			{
				LA26_:;
			}
			{
				oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin26_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		goto LA6_;
LA24_: ;
		{
		}
LA6_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, expectParam__sem_u12199)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	T2_ = 0;
	s_1 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = !((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T6_)) goto LA7_;
		colontmpD_ = owner__ast_u6254(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T6_ = (colontmpD_ == (*c_p0).owner);
LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T5_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA8_: ;
		if (!T5_) goto LA9_;
		result = newParam__sem_u12059(c_p0, n_p1, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA9_: ;
	{
		liMessage__msgs_u1227((*(*(*c_p0).c).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_587, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_588, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPatternBody__sem_u12053)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin76_;
NIM_BOOL oldNimErrFin57_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin130_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
		s_1 = NIM_NIL;
		T3_ = 0;
		s_1 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T3_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		T4_ = NIM_NIL;
		T4_ = handleSym__sem_u12072(c_p0, n_p1, s_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto LA2_;}
		eqsink___ast_u3261(&result, T4_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
		tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* T8_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
		T8_ = NIM_NIL;
		T8_ = (*c_p0).c;
		T9_ = NIM_NIL;
		T9_ = semBindStmt__sem_u10302(T8_, n_p1, (&(*c_p0).toBind));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40):
	{
		{
			NI T14_;
			T14_ = (NI)0;
			T14_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!((T14_ == ((NI)2)))) goto LA15_;
			liMessage__msgs_u1227((*(*(*c_p0).c).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_584, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_585, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA12_;
LA15_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T21_;
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA18_;
			T20_ = NIM_NIL;
			T20_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T21_ = NIM_NIL;
			T21_ = expectParam__sem_u12199(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T21_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA12_;
LA18_: ;
		{
			NIM_BOOL T23_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* opr_1;
			T23_ = (NIM_BOOL)0;
			T23_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30));
			if (!(T23_)) goto LA24_;
			T23_ = ((*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA24_: ;
			if (!T23_) goto LA25_;
			opr_1 = NIM_NIL;
			opr_1 = (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)];
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
				if (!eqStrings((*(*opr_1)._kind_5.ident).s, TM__rF9caJawfOjYTjsgLVUSGFA_589)) goto LA29_;
				T31_ = NIM_NIL;
				T31_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T31_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T32_ = NIM_NIL;
				T32_ = expectParam__sem_u12199(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA27_;
LA29_: ;
			{
				liMessage__msgs_u1227((*(*(*c_p0).c).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_590, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_591, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA27_: ;
		}
		goto LA12_;
LA25_: ;
		{
			liMessage__msgs_u1227((*(*(*c_p0).c).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_592, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_593, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	{
		{
			NIM_BOOL T38_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T42_;
			T38_ = (NIM_BOOL)0;
			T38_ = stupidStmtListExpr__trees_u384(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T38_) goto LA39_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = lastSon__ast_u5208(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			T42_ = NIM_NIL;
			T42_ = semPatternBody__sem_u12053(c_p0, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T42_); goto LA41_;}
			eqsink___ast_u3261(&result, T42_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			{
				LA41_:;
			}
			{
				oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin41_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA36_;
LA39_: ;
		{
			{
				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* T49_;
						if (!(i_2 < colontmp_)) goto LA48;
						i_1 = i_2;
						T49_ = NIM_NIL;
						T49_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T49_); goto BeforeRet_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T49_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_2 += ((NI)1);
					} LA48: ;
				}
			}
		}
LA36_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_2;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T52_;
		s_2 = NIM_NIL;
		id_1 = NIM_NIL;
		id_2 = NIM_NIL;
		T52_ = 0;
		s_2 = qualifiedLookUp__lookups_u5229((*c_p0).c, (*n_p1)._kind_6.sons.p->data[((NI)0)], T52_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			if (!!((s_2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA55_;
			colontmpD__2 = NIM_NIL;
			{
				NIM_BOOL T60_;
				T60_ = (NIM_BOOL)0;
				colontmpD__2 = owner__ast_u6254(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				T60_ = (colontmpD__2 == (*c_p0).owner);
				if (!(T60_)) goto LA61_;
				T60_ = ((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA61_: ;
				if (!T60_) goto LA62_;
			}
			goto LA58_;
LA62_: ;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2659__1;
				NIM_BOOL T65_;
				xX60gensym2659__1 = (*s_2).itemId;
				T65_ = (NIM_BOOL)0;
				T65_ = contains__astalgo_u2846((&(*c_p0).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2659__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2659__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				if (!T65_) goto LA66_;
			}
			goto LA58_;
LA66_: ;
			{
				NIM_BOOL T69_;
				NIM_BOOL T71_;
				NI T72_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				T69_ = (NIM_BOOL)0;
				T69_ = ((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
				if (!(T69_)) goto LA70_;
				T71_ = (NIM_BOOL)0;
				T72_ = (NI)0;
				T72_ = len__ast_u5502((*s_2).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				T71_ = (T72_ == ((NI)1));
				if (T71_) goto LA73_;
				T71_ = (((*s_2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)61)))&63U)))!=0);
LA73_: ;
				T69_ = T71_;
LA70_: ;
				if (!T69_) goto LA74_;
				colontmpD__3 = NIM_NIL;
				colontmpD__3 = semTemplateExpr__sem_u535((*c_p0).c, n_p1, s_2, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
				result = semPatternBody__sem_u12053(c_p0, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
				eqdestroy___ast_u3252(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				eqdestroy___idents_u155(id_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___idents_u155(id_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
				{
					LA76_:;
				}
				{
					oldNimErrFin76_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
					*nimErr_ = oldNimErrFin76_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			}
			goto LA58_;
LA74_: ;
LA58_: ;
			{
				LA57_:;
			}
			{
				oldNimErrFin57_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				*nimErr_ = oldNimErrFin57_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		}
LA55_: ;
		{
			NIM_BOOL T83_;
			NIM_BOOL T85_;
			T83_ = (NIM_BOOL)0;
			T83_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
			if (!(T83_)) goto LA84_;
			id_1 = considerQuotedIdent__lookups_u31((*c_p0).c, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T85_ = (NIM_BOOL)0;
			T85_ = eqeq___idents_u366(id_1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T83_ = !(T85_);
LA84_: ;
			if (!T83_) goto LA86_;
			{
				NIM_BOOL T90_;
				NI T94_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T95_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T96_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T97_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T98_;
				T90_ = (NIM_BOOL)0;
				T90_ = eqStrings((*id_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_595);
				if (T90_) goto LA91_;
				T90_ = eqStrings((*id_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_597);
LA91_: ;
				if (!T90_) goto LA92_;
				T94_ = (NI)0;
				T94_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T95_ = NIM_NIL;
				T95_ = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)153), (*n_p1).info, T94_);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T95_); goto LA51_;}
				eqsink___ast_u3261(&result, T95_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T96_ = NIM_NIL;
				T96_ = newIdentNode__ast_u5164(id_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T96_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T96_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T97_ = NIM_NIL;
				T97_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T97_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T97_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T98_ = NIM_NIL;
				T98_ = expectParam__sem_u12199(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T98_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)2)], T98_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				eqdestroy___idents_u155(id_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___idents_u155(id_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA88_;
LA92_: ;
			{
				NI T102_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T103_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T104_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T105_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T106_;
				if (!eqStrings((*id_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_598)) goto LA100_;
				T102_ = (NI)0;
				T102_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T103_ = NIM_NIL;
				T103_ = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)153), (*n_p1).info, T102_);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T103_); goto LA51_;}
				eqsink___ast_u3261(&result, T103_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T104_ = NIM_NIL;
				T104_ = newIdentNode__ast_u5164(id_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T104_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T104_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T105_ = NIM_NIL;
				T105_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T105_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T105_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T106_ = NIM_NIL;
				T106_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T106_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)2)], T106_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				eqdestroy___idents_u155(id_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___idents_u155(id_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA88_;
LA100_: ;
LA88_: ;
		}
LA86_: ;
		{
			NIM_BOOL T109_;
			NIM_BOOL T111_;
			T109_ = (NIM_BOOL)0;
			T109_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30));
			if (!(T109_)) goto LA110_;
			id_2 = considerQuotedIdent__lookups_u31((*c_p0).c, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T111_ = (NIM_BOOL)0;
			T111_ = eqeq___idents_u366(id_2, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T109_ = !(T111_);
LA110_: ;
			if (!T109_) goto LA112_;
			{
				NI T118_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T119_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T120_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T121_;
				if (!eqStrings((*id_2).s, TM__rF9caJawfOjYTjsgLVUSGFA_600)) goto LA116_;
				T118_ = (NI)0;
				T118_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T119_ = NIM_NIL;
				T119_ = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)153), (*n_p1).info, T118_);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T119_); goto LA51_;}
				eqsink___ast_u3261(&result, T119_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T120_ = NIM_NIL;
				T120_ = newIdentNode__ast_u5164(id_2, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T120_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T120_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				T121_ = NIM_NIL;
				T121_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T121_); goto LA51_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T121_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				eqdestroy___idents_u155(id_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___idents_u155(id_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA116_: ;
		}
LA112_: ;
		{
			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 LA51_;
			i_4 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T125_;
					if (!(i_4 < colontmp__2)) goto LA124;
					i_3 = i_4;
					T125_ = NIM_NIL;
					T125_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T125_); goto LA51_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_3], T125_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
					i_4 += ((NI)1);
				} LA124: ;
			}
		}
		{
			LA51_:;
		}
		{
			oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(id_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(id_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(s_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin51_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		switch ((*n_p1).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_3;
			tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T131_;
			s_3 = NIM_NIL;
			T131_ = 0;
			s_3 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T131_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			{
				if (!!((s_3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA134_;
				{
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2683__1;
					NIM_BOOL T138_;
					xX60gensym2683__1 = (*s_3).itemId;
					T138_ = (NIM_BOOL)0;
					T138_ = contains__astalgo_u2846((&(*c_p0).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2683__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2683__1.item))));
					if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					if (!T138_) goto LA139_;
					result = symChoice__sem_u10236((*c_p0).c, n_p1, s_3, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					eqdestroy___ast_u4574(s_3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
				goto LA136_;
LA139_: ;
				{
					result = newIdentNode__ast_u5164((*s_3).name, (*n_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
					eqdestroy___ast_u4574(s_3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA136_: ;
			}
LA134_: ;
			{
				LA130_:;
			}
			{
				oldNimErrFin130_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(s_3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin130_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
		{
			{
				NI T147_;
				T147_ = (NI)0;
				T147_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T147_ == ((NI)1))) goto LA148_;
				result = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA148_: ;
		}
		break;
		default:
		{
		}
		break;
		}
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_6 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T154_;
					if (!(i_6 < colontmp__3)) goto LA153;
					i_5 = i_6;
					T154_ = NIM_NIL;
					T154_ = semPatternBody__sem_u12053(c_p0, (*n_p1)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T154_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_5], T154_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_6 += ((NI)1);
				} LA153: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	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_u3497(result, cell_1, (*((TNimTypeV2**) (p_p0))));
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u11990)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).owner);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3469((&(*(*dest_p0).owner)));
		nimRawDispose((*dest_p0).owner, ((NI)8));
	}
LA4_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).toInject.data);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).toInject.head);
		if (!T8_) goto LA9_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).toInject.head)));
		nimRawDispose((*dest_p0).toInject.head, ((NI)4));
	}
LA9_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).toMixin.data);
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).toMixin.head);
		if (!T13_) goto LA14_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).toMixin.head)));
		nimRawDispose((*dest_p0).toMixin.head, ((NI)4));
	}
LA14_: ;
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).toBind.data);
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).toBind.head);
		if (!T18_) goto LA19_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).toBind.head)));
		nimRawDispose((*dest_p0).toBind.head, ((NI)4));
	}
LA19_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = nimDecRefIsLastCyclicDyn((*dest_p0).c);
		if (!T23_) goto LA24_;
		nimDestroyAndDispose((*dest_p0).c);
	}
LA24_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPattern__sem_u10922)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ ctx_1;
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA T15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ));
	colontmpD__3 = NIM_NIL;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ));
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toBind));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toMixin));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toInject));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = eqdup___semdata_u4222(c_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	ctx_1.c = colontmpD__2;
	ctx_1.owner = getCurrOwner__semdata_u425(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = semPatternBody__sem_u12053((&ctx_1), n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = flattenStmts__trees_u359(colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126))) goto LA4_;
		{
			NI T8_;
			T8_ = (NI)0;
			T8_ = len__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T8_ == ((NI)1))) goto LA9_;
			eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA6_;
LA9_: ;
		{
			NI T12_;
			T12_ = (NI)0;
			T12_ = len__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T12_ == ((NI)0))) goto LA13_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_602, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_603, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA6_;
LA13_: ;
LA6_: ;
	}
LA4_: ;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
	nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
	T15_.sym = s_p2;
	addPattern__semdata_u4330(c_p0, T15_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u11990((&ctx_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addGenericParamListToScope__sem_u17226)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75)))) goto LA3_;
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		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* a_1;
				if (!(i_2 < colontmp_)) goto LA7;
				a_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA11_;
					addDecl__lookups_u3789(c_p0, (*a_1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				}
				goto LA9_;
LA11_: ;
				{
					illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				}
LA9_: ;
				i_2 += ((NI)1);
				{
					LA8_:;
				}
				{
					oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin8_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA7: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addParams__sem_u105)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2) {
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)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					if (!((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA6_;
					addParamOrResult__sem_u1124(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_4.sym, kind_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA4_;
LA6_: ;
				{
					illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA4_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, importantComments__options_u3569)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NIM_BOOL result;
	result = ((*conf_p0).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12) || (*conf_p0).cmd >= ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)14) && (*conf_p0).cmd <= ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)16) || (*conf_p0).cmd >= ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)21) && (*conf_p0).cmd <= ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)24));
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, genericHead__ast_u5376)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, canonType__sem_u18248)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*t_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24))) goto LA3_;
		eqcopy___ast_u3381(&result, (*(*c_p0).graph).sysTypes[(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24))- 0]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		eqcopy___ast_u3381(&result, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, checkedForDestructor__sem_u18271)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* root_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	root_1 = NIM_NIL;
	{
		if (!(((*t_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38)))&63U)))!=0)) goto LA4_;
		result = NIM_TRUE;
		eqdestroy___ast_u3378(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	root_1 = genericRoot__types_u4271(t_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = !((root_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T8_)) goto LA9_;
		T8_ = (((*root_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42)))&63U)))!=0);
LA9_: ;
		if (!T8_) goto LA10_;
		result = NIM_TRUE;
		eqdestroy___ast_u3378(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA10_: ;
	result = NIM_FALSE;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, prevDestructor__sem_u18256)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prevOp_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4) {
	NimStringV2 msg_1;
	NimStringV2 colontmpD_;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	msg_1.len = 0; msg_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	colontmpD_ = typeToString__types_u54(obj_p3, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = rawNewString(AttachedOpToStr__ast_u5487[(op_p1)- 0].len + colontmpD_.len + 27);
appendString((&T2_), TM__rF9caJawfOjYTjsgLVUSGFA_640);
appendString((&T2_), AttachedOpToStr__ast_u5487[(op_p1)- 0]);
appendString((&T2_), TM__rF9caJawfOjYTjsgLVUSGFA_642);
appendString((&T2_), colontmpD_);
	msg_1 = T2_;
	{
		if (!(prevOp_p2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA5_;
		prepareAdd((&msg_1), 49);
appendString((&msg_1), TM__rF9caJawfOjYTjsgLVUSGFA_644);
	}
	goto LA3_;
LA5_: ;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T11_;
		if (!!((((*prevOp_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35)))&63U)))!=0))) goto LA8_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T11_.len = 0; T11_.p = NIM_NIL;
		colontmpD__2 = dollar___msgs_u714((*(*c_p0).graph).config, (*prevOp_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		T11_ = rawNewString(colontmpD__2.len + 56);
appendString((&T11_), TM__rF9caJawfOjYTjsgLVUSGFA_646);
appendString((&T11_), colontmpD__2);
		colontmpD__3 = T11_;
		prepareAdd((&msg_1), colontmpD__3.len + 0);
appendString((&msg_1), colontmpD__3);
		{
			LA10_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA8_: ;
	{
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		NimStringV2 T16_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		T16_.len = 0; T16_.p = NIM_NIL;
		colontmpD__4 = dollar___msgs_u714((*(*c_p0).graph).config, (*prevOp_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_ = rawNewString(colontmpD__4.len + 33);
appendString((&T16_), TM__rF9caJawfOjYTjsgLVUSGFA_648);
appendString((&T16_), colontmpD__4);
		colontmpD__5 = T16_;
		prepareAdd((&msg_1), colontmpD__5.len + 0);
appendString((&msg_1), colontmpD__5);
		{
			LA15_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	liMessage__msgs_u1227((*(*c_p0).graph).config, info_p4, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_649, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(msg_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, bindTypeHook__sem_u18371)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	NIM_BOOL colontmpD_;
	NIM_BOOL colontmpD__2;
	NIM_BOOL colontmpD__3;
	NIM_BOOL colontmpD__4;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
	NIM_BOOL noError_1;
	NIM_BOOL cond_1;
NIM_BOOL oldNimErrFin57_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	t_1 = NIM_NIL;
	colontmpD_ = (NIM_BOOL)0;
	colontmpD__2 = (NIM_BOOL)0;
	colontmpD__3 = (NIM_BOOL)0;
	colontmpD__4 = (NIM_BOOL)0;
	colontmpD__5 = NIM_NIL;
	eqcopy___ast_u3381(&t_1, (*s_p1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	noError_1 = NIM_FALSE;
	switch (op_p3) {
	case ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI T5_;
		colontmpD__6 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NI)0;
		T5_ = len__ast_u5502(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (T5_ == ((NI)2));
		if (!(T4_)) goto LA6_;
		colontmpD__6 = returnType__ast_u5354(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (colontmpD__6 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA6_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA7_;
		colontmpD__7 = firstParamType__ast_u5363(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T3_ = ((*colontmpD__7).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA7_: ;
		colontmpD_ = T3_;
		eqdestroy___ast_u3378(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		cond_1 = colontmpD_;
	}
	break;
	case ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)5):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		NI T12_;
		colontmpD__8 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T12_ = (NI)0;
		T12_ = len__ast_u5502(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = (T12_ == ((NI)3));
		if (!(T11_)) goto LA13_;
		colontmpD__8 = returnType__ast_u5354(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = (colontmpD__8 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA13_: ;
		T10_ = T11_;
		if (!(T10_)) goto LA14_;
		colontmpD__9 = firstParamType__ast_u5363(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = ((*colontmpD__9).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA14_: ;
		T9_ = T10_;
		if (!(T9_)) goto LA15_;
		T9_ = ((*(*t_1).sons.p->data[((NI)2)]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26));
LA15_: ;
		colontmpD__2 = T9_;
		eqdestroy___ast_u3378(colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		cond_1 = colontmpD__2;
	}
	break;
	case ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1):
	{
		NIM_BOOL colontmpD__10;
		NIM_BOOL colontmpD__11;
		colontmpD__10 = (NIM_BOOL)0;
		colontmpD__11 = (NIM_BOOL)0;
		{
			NIM_BOOL T19_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__12;
			NIM_BOOL T23_;
			NI T24_;
			T19_ = (NIM_BOOL)0;
			T19_ = ((*(*(*c_p0).graph).config).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)3));
			if (T19_) goto LA20_;
			T19_ = ((*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5));
LA20_: ;
			if (!T19_) goto LA21_;
			colontmpD__12 = NIM_NIL;
			T23_ = (NIM_BOOL)0;
			T24_ = (NI)0;
			T24_ = len__ast_u5502(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T23_ = (T24_ == ((NI)2));
			if (!(T23_)) goto LA25_;
			colontmpD__12 = returnType__ast_u5354(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T23_ = (colontmpD__12 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA25_: ;
			colontmpD__10 = T23_;
			eqdestroy___ast_u3378(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmpD__3 = colontmpD__10;
		}
		goto LA17_;
LA21_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__13;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__14;
			NIM_BOOL T27_;
			NIM_BOOL T28_;
			NI T29_;
			colontmpD__13 = NIM_NIL;
			colontmpD__14 = NIM_NIL;
			T27_ = (NIM_BOOL)0;
			T28_ = (NIM_BOOL)0;
			T29_ = (NI)0;
			T29_ = len__ast_u5502(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T28_ = (T29_ == ((NI)2));
			if (!(T28_)) goto LA30_;
			colontmpD__13 = returnType__ast_u5354(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T28_ = (colontmpD__13 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA30_: ;
			T27_ = T28_;
			if (!(T27_)) goto LA31_;
			colontmpD__14 = firstParamType__ast_u5363(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T27_ = ((*colontmpD__14).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA31_: ;
			colontmpD__11 = T27_;
			eqdestroy___ast_u3378(colontmpD__14);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmpD__3 = colontmpD__11;
		}
LA17_: ;
		cond_1 = colontmpD__3;
	}
	break;
	default:
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__15;
		NIM_BOOL T33_;
		NI T34_;
		colontmpD__15 = NIM_NIL;
		T33_ = (NIM_BOOL)0;
		T34_ = (NI)0;
		T34_ = len__ast_u5502(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T33_ = (((NI)2) <= T34_);
		if (!(T33_)) goto LA35_;
		colontmpD__15 = returnType__ast_u5354(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T33_ = (colontmpD__15 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA35_: ;
		colontmpD__4 = T33_;
		eqdestroy___ast_u3378(colontmpD__15);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		cond_1 = colontmpD__4;
	}
	break;
	}
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__16;
		if (!cond_1) goto LA38_;
		obj_1 = NIM_NIL;
		colontmpD__16 = NIM_NIL;
		colontmpD__16 = firstParamType__ast_u5363(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		obj_1 = skipTypes__ast_u5379(colontmpD__16, TM__rF9caJawfOjYTjsgLVUSGFA_638);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		{
			while (1) {
				(*obj_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T47_;
					if (!((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11))) goto LA45_;
					T47_ = NIM_NIL;
					T47_ = skipModifier__ast_u5338(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T47_); goto LA40_;}
					eqsink___ast_u3387(&obj_1, T47_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				}
				goto LA43_;
LA45_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T51_;
					if (!((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA49_;
					T51_ = NIM_NIL;
					T51_ = genericHead__ast_u5376(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T51_); goto LA40_;}
					eqsink___ast_u3387(&obj_1, T51_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				}
				goto LA43_;
LA49_: ;
				{
					goto LA41;
				}
LA43_: ;
			}
		} LA41: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ao_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__17;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__18;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__19;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T58_;
			if (!((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28))) goto LA55_;
			ao_1 = NIM_NIL;
			colontmpD__17 = NIM_NIL;
			colontmpD__18 = NIM_NIL;
			colontmpD__19 = NIM_NIL;
			T58_ = NIM_NIL;
			T58_ = canonType__sem_u18248(c_p0, obj_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T58_); goto LA57_;}
			eqsink___ast_u3387(&obj_1, T58_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			ao_1 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, obj_1, op_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			{
				if (!(ao_1 == s_p1)) goto LA61_;
			}
			goto LA59_;
LA61_: ;
			{
				NIM_BOOL T64_;
				NIM_BOOL T66_;
				T64_ = (NIM_BOOL)0;
				T64_ = (ao_1 == 0);
				if (!(T64_)) goto LA65_;
				T66_ = (NIM_BOOL)0;
				T66_ = checkedForDestructor__sem_u18271(obj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				T64_ = !(T66_);
LA65_: ;
				if (!T64_) goto LA67_;
				setAttachedOp__modulegraphs_u5617((*c_p0).graph, (*(*c_p0).module).position, obj_1, op_p3, s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			}
			goto LA59_;
LA67_: ;
			{
				prevDestructor__sem_u18256(c_p0, op_p3, ao_1, obj_1, (*n_p2).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			}
LA59_: ;
			noError_1 = NIM_TRUE;
			{
				NimStringV2 colontmpD__20;
				NimStringV2 colontmpD__21;
				NimStringV2 T75_;
				colontmpD__17 = owner__ast_u6246(obj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				colontmpD__18 = getModule__astalgo_u156(colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				colontmpD__19 = getModule__astalgo_u156(s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
				if (!!((colontmpD__18 == colontmpD__19))) goto LA72_;
				colontmpD__20.len = 0; colontmpD__20.p = NIM_NIL;
				colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
				T75_.len = 0; T75_.p = NIM_NIL;
				colontmpD__20 = typeToString__types_u54(obj_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
				T75_ = rawNewString((*(*s_p1).name).s.len + colontmpD__20.len + 79);
appendString((&T75_), TM__rF9caJawfOjYTjsgLVUSGFA_651);
appendString((&T75_), (*(*s_p1).name).s);
appendString((&T75_), TM__rF9caJawfOjYTjsgLVUSGFA_653);
appendString((&T75_), colontmpD__20);
appendString((&T75_), TM__rF9caJawfOjYTjsgLVUSGFA_654);
				colontmpD__21 = T75_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__21, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_655, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
				{
					LA74_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__21);
					eqdestroy___system_u2691(colontmpD__20);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			}
LA72_: ;
			{
				LA57_:;
			}
			{
				oldNimErrFin57_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__19);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				eqdestroy___ast_u4574(colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				eqdestroy___ast_u4574(colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				eqdestroy___ast_u4574(ao_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				*nimErr_ = oldNimErrFin57_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		}
LA55_: ;
		{
			LA40_:;
		}
		{
			oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__16);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(obj_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin40_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA38_: ;
	{
		NIM_BOOL T84_;
		T84_ = (NIM_BOOL)0;
		T84_ = !(noError_1);
		if (!(T84_)) goto LA85_;
		colontmpD__5 = owner__ast_u6254(s_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T84_ = !((((*colontmpD__5).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0));
LA85_: ;
		if (!T84_) goto LA86_;
		switch (op_p3) {
		case ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)5):
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_657, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_658, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		case ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1):
		{
			{
				NIM_BOOL T92_;
				T92_ = (NIM_BOOL)0;
				T92_ = ((*(*(*c_p0).graph).config).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)3));
				if (T92_) goto LA93_;
				T92_ = ((*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5));
LA93_: ;
				if (!T92_) goto LA94_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_660, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_661, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA90_;
LA94_: ;
			{
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_663, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_664, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA90_: ;
		}
		break;
		default:
		{
			NimStringV2 colontmpD__22;
			NimStringV2 T99_;
			colontmpD__22.len = 0; colontmpD__22.p = NIM_NIL;
			T99_.len = 0; T99_.p = NIM_NIL;
			T99_ = rawNewString((*(*s_p1).name).s.len + 50);
appendString((&T99_), TM__rF9caJawfOjYTjsgLVUSGFA_666);
appendString((&T99_), (*(*s_p1).name).s);
appendString((&T99_), TM__rF9caJawfOjYTjsgLVUSGFA_668);
			colontmpD__22 = T99_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__22, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_669, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
			{
				LA98_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__22);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		}
	}
LA86_: ;
	(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
	(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35))) & 63);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		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, bindDupHook__sem_u18303)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	NIM_BOOL noError_1;
	NIM_BOOL cond_1;
	NIM_BOOL T2_;
	NI T3_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	t_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	eqcopy___ast_u3381(&t_1, (*s_p1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	noError_1 = NIM_FALSE;
	T2_ = (NIM_BOOL)0;
	T3_ = (NI)0;
	T3_ = len__ast_u5502(t_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (T3_ == ((NI)2));
	if (!(T2_)) goto LA4_;
	colontmpD_ = returnType__ast_u5354(t_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = !((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA4_: ;
	cond_1 = T2_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* res_1;
		if (!cond_1) goto LA7_;
		obj_1 = NIM_NIL;
		res_1 = NIM_NIL;
		obj_1 = firstParamType__ast_u5363(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			while (1) {
				(*obj_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T16_;
					if (!((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11))) goto LA14_;
					T16_ = NIM_NIL;
					T16_ = skipModifier__ast_u5338(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T16_); goto LA9_;}
					eqsink___ast_u3387(&obj_1, T16_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				}
				goto LA12_;
LA14_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T20_;
					if (!((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA18_;
					T20_ = NIM_NIL;
					T20_ = genericHead__ast_u5376(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T20_); goto LA9_;}
					eqsink___ast_u3387(&obj_1, T20_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				}
				goto LA12_;
LA18_: ;
				{
					goto LA10;
				}
LA12_: ;
			}
		} LA10: ;
		res_1 = returnType__ast_u5354(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			while (1) {
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T28_;
					if (!((*res_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10) || (*res_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11))) goto LA26_;
					T28_ = NIM_NIL;
					T28_ = skipModifier__ast_u5338(res_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T28_); goto LA9_;}
					eqsink___ast_u3387(&res_1, T28_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				}
				goto LA24_;
LA26_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T32_;
					if (!((*res_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA30_;
					T32_ = NIM_NIL;
					T32_ = genericHead__ast_u5376(res_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T32_); goto LA9_;}
					eqsink___ast_u3387(&res_1, T32_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				}
				goto LA24_;
LA30_: ;
				{
					goto LA22;
				}
LA24_: ;
			}
		} LA22: ;
		{
			NIM_BOOL T36_;
			tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T38_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ao_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T42_;
			T36_ = (NIM_BOOL)0;
			T36_ = ((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
			if (!(T36_)) goto LA37_;
			T38_ = 0;
			T36_ = sameType__types_u1812(obj_1, res_1, T38_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
LA37_: ;
			if (!T36_) goto LA39_;
			ao_1 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			T42_ = NIM_NIL;
			T42_ = canonType__sem_u18248(c_p0, obj_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T42_); goto LA41_;}
			eqsink___ast_u3387(&obj_1, T42_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			ao_1 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, obj_1, op_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			{
				if (!(ao_1 == s_p1)) goto LA45_;
			}
			goto LA43_;
LA45_: ;
			{
				NIM_BOOL T48_;
				NIM_BOOL T50_;
				T48_ = (NIM_BOOL)0;
				T48_ = (ao_1 == 0);
				if (!(T48_)) goto LA49_;
				T50_ = (NIM_BOOL)0;
				T50_ = checkedForDestructor__sem_u18271(obj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				T48_ = !(T50_);
LA49_: ;
				if (!T48_) goto LA51_;
				setAttachedOp__modulegraphs_u5617((*c_p0).graph, (*(*c_p0).module).position, obj_1, op_p3, s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			}
			goto LA43_;
LA51_: ;
			{
				prevDestructor__sem_u18256(c_p0, op_p3, ao_1, obj_1, (*n_p2).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			}
LA43_: ;
			noError_1 = NIM_TRUE;
			{
				NimStringV2 colontmpD__6;
				NimStringV2 colontmpD__7;
				NimStringV2 T59_;
				colontmpD__3 = owner__ast_u6246(obj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				colontmpD__4 = getModule__astalgo_u156(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				colontmpD__5 = getModule__astalgo_u156(s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
				if (!!((colontmpD__4 == colontmpD__5))) goto LA56_;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				T59_.len = 0; T59_.p = NIM_NIL;
				colontmpD__6 = typeToString__types_u54(obj_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
				T59_ = rawNewString((*(*s_p1).name).s.len + colontmpD__6.len + 79);
appendString((&T59_), TM__rF9caJawfOjYTjsgLVUSGFA_699);
appendString((&T59_), (*(*s_p1).name).s);
appendString((&T59_), TM__rF9caJawfOjYTjsgLVUSGFA_700);
appendString((&T59_), colontmpD__6);
appendString((&T59_), TM__rF9caJawfOjYTjsgLVUSGFA_701);
				colontmpD__7 = T59_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_702, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
				{
					LA58_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__7);
					eqdestroy___system_u2691(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			}
LA56_: ;
			{
				LA41_:;
			}
			{
				oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___ast_u4574(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___ast_u4574(ao_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				*nimErr_ = oldNimErrFin41_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		}
LA39_: ;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(res_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(obj_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		NIM_BOOL T68_;
		T68_ = (NIM_BOOL)0;
		T68_ = !(noError_1);
		if (!(T68_)) goto LA69_;
		colontmpD__2 = owner__ast_u6254(s_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T68_ = !((((*colontmpD__2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0));
LA69_: ;
		if (!T68_) goto LA70_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_704, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_705, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA70_: ;
	(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
	(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35))) & 63);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		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, semOverride__sem_u18479)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	NimStringV2 name_1;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin131_;
NIM_BOOL oldNimErrFin99_;
NIM_BOOL oldNimErrFin81_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	name_1.len = 0; name_1.p = NIM_NIL;
	name_1 = nsuNormalize((*(*s_p1).name).s);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch (hashString(name_1) & 15) {
	case 0: 
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_623)) goto LA3_;
break;
	case 1: 
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_621)) goto LA2_;
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_631)) goto LA4_;
break;
	case 3: 
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_627)) goto LA4_;
break;
	case 4: 
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_633)) goto LA5_;
break;
	case 11: 
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_629)) goto LA4_;
break;
	case 12: 
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_635)) goto LA6_;
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_637)) goto LA7_;
break;
	case 13: 
if (eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_625)) goto LA3_;
break;
	}
	goto LA8_;
	LA2_: ;
	{
		bindTypeHook__sem_u18371(c_p0, s_p1, n_p2, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T20_;
			if (!!(((*s_p1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA13_;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
				if (!((*(*(*s_p1).ast)._kind_6.sons.p->data[((NI)4)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA17_;
				T19_ = NIM_NIL;
				T19_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90), (*s_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA1_;}
				eqsink___ast_u3261(&(*(*s_p1).ast)._kind_6.sons.p->data[((NI)4)], T19_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA17_: ;
			nimZeroMem((void*)T20_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_671);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmpD__2 = newIdentNode__ast_u5164(colontmpD_, (*s_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T20_[0] = colontmpD__2;
			colontmpD__3 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41), (*s_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T20_[1] = colontmpD__3;
			colontmpD__4 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T20_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			add__ast_u3215((*(*s_p1).ast)._kind_6.sons.p->data[((NI)4)], colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA13_: ;
	}
	goto LA9_;
	LA3_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
		colontmpD__5 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		colontmpD__8 = NIM_NIL;
		{
			NIM_BOOL T25_;
			NIM_BOOL T26_;
			NI T27_;
			tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T30_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__11;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__12;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__13;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__14;
			T25_ = (NIM_BOOL)0;
			T26_ = (NIM_BOOL)0;
			T27_ = (NI)0;
			T27_ = len__ast_u5502((*s_p1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			T26_ = (T27_ == ((NI)2));
			if (!(T26_)) goto LA28_;
			colontmpD__5 = firstParamType__ast_u5363((*s_p1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			colontmpD__6 = skipTypes__ast_u5379(colontmpD__5, TM__rF9caJawfOjYTjsgLVUSGFA_10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			T26_ = ((*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21));
LA28_: ;
			T25_ = T26_;
			if (!(T25_)) goto LA29_;
			colontmpD__7 = firstParamType__ast_u5363((*s_p1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			colontmpD__8 = returnType__ast_u5354((*s_p1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			T30_ = 0;
			T25_ = sameType__types_u1812(colontmpD__7, colontmpD__8, T30_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
LA29_: ;
			if (!T25_) goto LA31_;
			t_1 = NIM_NIL;
			colontmpD__9 = NIM_NIL;
			colontmpD__10 = NIM_NIL;
			colontmpD__11 = NIM_NIL;
			colontmpD__12 = NIM_NIL;
			colontmpD__13 = NIM_NIL;
			colontmpD__14 = NIM_NIL;
			colontmpD__9 = firstParamType__ast_u5363((*s_p1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__10 = skipTypes__ast_u5379(colontmpD__9, TM__rF9caJawfOjYTjsgLVUSGFA_10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__11 = elementType__ast_u5331(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			t_1 = skipTypes__ast_u5379(colontmpD__11, TM__rF9caJawfOjYTjsgLVUSGFA_10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				while (1) {
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T40_;
						if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10))) goto LA38_;
						T40_ = NIM_NIL;
						T40_ = typeBodyImpl__ast_u5369(t_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T40_); goto LA33_;}
						eqsink___ast_u3387(&t_1, T40_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
					goto LA36_;
LA38_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T44_;
						if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA42_;
						T44_ = NIM_NIL;
						T44_ = genericHead__ast_u5376(t_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T44_); goto LA33_;}
						eqsink___ast_u3387(&t_1, T44_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
					goto LA36_;
LA42_: ;
					{
						goto LA34;
					}
LA36_: ;
				}
			} LA34: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__15;
				if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28))) goto LA48_;
				colontmpD__15 = NIM_NIL;
				{
					colontmpD__15 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)6));
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					if (!(colontmpD__15 == 0)) goto LA53_;
					setAttachedOp__modulegraphs_u5617((*c_p0).graph, (*(*c_p0).module).position, t_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)6), s_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				}
				goto LA51_;
LA53_: ;
				{
					NimStringV2 colontmpD__16;
					NimStringV2 colontmpD__17;
					NimStringV2 T57_;
					colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
					colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
					T57_.len = 0; T57_.p = NIM_NIL;
					colontmpD__16 = typeToString__types_u54(t_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
					T57_ = rawNewString(colontmpD__16.len + 35);
appendString((&T57_), TM__rF9caJawfOjYTjsgLVUSGFA_673);
appendString((&T57_), colontmpD__16);
					colontmpD__17 = T57_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__17, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_674, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
					{
						LA56_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__17);
						eqdestroy___system_u2691(colontmpD__16);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				}
LA51_: ;
				{
					LA50_:;
				}
				{
					oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD__15);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					*nimErr_ = oldNimErrFin50_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
			goto LA46_;
LA48_: ;
			{
				NimStringV2 colontmpD__18;
				NimStringV2 colontmpD__19;
				NimStringV2 T64_;
				colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
				colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
				T64_.len = 0; T64_.p = NIM_NIL;
				colontmpD__18 = typeToString__types_u54(t_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
				T64_ = rawNewString(colontmpD__18.len + 27);
appendString((&T64_), TM__rF9caJawfOjYTjsgLVUSGFA_676);
appendString((&T64_), colontmpD__18);
				colontmpD__19 = T64_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__19, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_677, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
				{
					LA63_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__19);
					eqdestroy___system_u2691(colontmpD__18);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
LA46_: ;
			{
				NimStringV2 colontmpD__20;
				NimStringV2 colontmpD__21;
				NimStringV2 T72_;
				colontmpD__12 = owner__ast_u6246(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				colontmpD__13 = getModule__astalgo_u156(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				colontmpD__14 = getModule__astalgo_u156(s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				if (!!((colontmpD__13 == colontmpD__14))) goto LA69_;
				colontmpD__20.len = 0; colontmpD__20.p = NIM_NIL;
				colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
				T72_.len = 0; T72_.p = NIM_NIL;
				colontmpD__20 = typeToString__types_u54(t_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				T72_ = rawNewString(name_1.len + colontmpD__20.len + 79);
appendString((&T72_), TM__rF9caJawfOjYTjsgLVUSGFA_678);
appendString((&T72_), name_1);
appendString((&T72_), TM__rF9caJawfOjYTjsgLVUSGFA_679);
appendString((&T72_), colontmpD__20);
appendString((&T72_), TM__rF9caJawfOjYTjsgLVUSGFA_680);
				colontmpD__21 = T72_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__21, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_681, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				{
					LA71_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__21);
					eqdestroy___system_u2691(colontmpD__20);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
LA69_: ;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				eqdestroy___ast_u4574(colontmpD__13);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				eqdestroy___ast_u4574(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				eqdestroy___ast_u3378(colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				eqdestroy___ast_u3378(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				eqdestroy___ast_u3378(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				*nimErr_ = oldNimErrFin33_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		}
		goto LA23_;
LA31_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_683, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_684, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		}
LA23_: ;
		(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
		(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35))) & 63);
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin22_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA9_;
	LA4_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__22;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__23;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__24;
		t_2 = NIM_NIL;
		colontmpD__22 = NIM_NIL;
		colontmpD__23 = NIM_NIL;
		colontmpD__24 = NIM_NIL;
		{
			if (!((*s_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)7))) goto LA84_;
			eqdestroy___ast_u4574(colontmpD__24);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__23);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__22);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___system_u2691(name_1);
			goto BeforeRet_;
		}
LA84_: ;
		(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
		(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35))) & 63);
		{
			if (!eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_685)) goto LA88_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)24), TM__rF9caJawfOjYTjsgLVUSGFA_687, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_688, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
		}
LA88_: ;
		eqcopy___ast_u3381(&t_2, (*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
		{
			NIM_BOOL T92_;
			NIM_BOOL T93_;
			NI T94_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__25;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* objB_1;
			T92_ = (NIM_BOOL)0;
			T93_ = (NIM_BOOL)0;
			T94_ = (NI)0;
			T94_ = len__ast_u5502(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
			T93_ = (T94_ == ((NI)3));
			if (!(T93_)) goto LA95_;
			colontmpD__22 = returnType__ast_u5354(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
			T93_ = (colontmpD__22 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA95_: ;
			T92_ = T93_;
			if (!(T92_)) goto LA96_;
			colontmpD__23 = firstParamType__ast_u5363(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
			T92_ = ((*colontmpD__23).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA96_: ;
			if (!T92_) goto LA97_;
			obj_1 = NIM_NIL;
			colontmpD__25 = NIM_NIL;
			objB_1 = NIM_NIL;
			colontmpD__25 = firstParamType__ast_u5363(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			obj_1 = elementType__ast_u5331(colontmpD__25);
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			{
				while (1) {
					(*obj_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T106_;
						if (!((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10))) goto LA104_;
						T106_ = NIM_NIL;
						T106_ = skipModifier__ast_u5338(obj_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T106_); goto LA99_;}
						eqsink___ast_u3387(&obj_1, T106_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					}
					goto LA102_;
LA104_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T110_;
						if (!((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA108_;
						T110_ = NIM_NIL;
						T110_ = genericHead__ast_u5376(obj_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T110_); goto LA99_;}
						eqsink___ast_u3387(&obj_1, T110_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					}
					goto LA102_;
LA108_: ;
					{
						goto LA100;
					}
LA102_: ;
				}
			} LA100: ;
			eqcopy___ast_u3381(&objB_1, (*t_2).sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			{
				while (1) {
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T118_;
						if (!((*objB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10))) goto LA116_;
						T118_ = NIM_NIL;
						T118_ = skipModifier__ast_u5338(objB_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T118_); goto LA99_;}
						eqsink___ast_u3387(&objB_1, T118_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					}
					goto LA114_;
LA116_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T122_;
						if (!((*objB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9) || (*objB_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11))) goto LA120_;
						T122_ = NIM_NIL;
						T122_ = genericHead__ast_u5376(objB_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T122_); goto LA99_;}
						eqsink___ast_u3387(&objB_1, T122_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					}
					goto LA114_;
LA120_: ;
					{
						goto LA112;
					}
LA114_: ;
				}
			} LA112: ;
			{
				NIM_BOOL T126_;
				tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T128_;
				tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmpD__26;
				tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q colontmpD__27;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ao_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__28;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__29;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__30;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T132_;
				tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q k_1;
				T126_ = (NIM_BOOL)0;
				T126_ = ((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
				if (!(T126_)) goto LA127_;
				T128_ = 0;
				T126_ = sameType__types_u1812(obj_1, objB_1, T128_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
LA127_: ;
				if (!T126_) goto LA129_;
				colontmpD__26 = (tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0;
				colontmpD__27 = (tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0;
				ao_1 = NIM_NIL;
				colontmpD__28 = NIM_NIL;
				colontmpD__29 = NIM_NIL;
				colontmpD__30 = NIM_NIL;
				T132_ = NIM_NIL;
				T132_ = canonType__sem_u18248(c_p0, obj_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T132_); goto LA131_;}
				eqsink___ast_u3387(&obj_1, T132_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
				{
					NIM_BOOL T135_;
					T135_ = (NIM_BOOL)0;
					T135_ = eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_689);
					if (T135_) goto LA136_;
					T135_ = eqStrings(name_1, TM__rF9caJawfOjYTjsgLVUSGFA_690);
LA136_: ;
					if (!T135_) goto LA137_;
					colontmpD__26 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2);
					k_1 = colontmpD__26;
				}
				goto LA133_;
LA137_: ;
				{
					colontmpD__27 = ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)4);
					k_1 = colontmpD__27;
				}
LA133_: ;
				ao_1 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, obj_1, k_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
				{
					if (!(ao_1 == s_p1)) goto LA142_;
				}
				goto LA140_;
LA142_: ;
				{
					NIM_BOOL T145_;
					NIM_BOOL T147_;
					T145_ = (NIM_BOOL)0;
					T145_ = (ao_1 == 0);
					if (!(T145_)) goto LA146_;
					T147_ = (NIM_BOOL)0;
					T147_ = checkedForDestructor__sem_u18271(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
					T145_ = !(T147_);
LA146_: ;
					if (!T145_) goto LA148_;
					setAttachedOp__modulegraphs_u5617((*c_p0).graph, (*(*c_p0).module).position, obj_1, k_1, s_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
				}
				goto LA140_;
LA148_: ;
				{
					prevDestructor__sem_u18256(c_p0, k_1, ao_1, obj_1, (*n_p2).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
				}
LA140_: ;
				{
					NimStringV2 colontmpD__31;
					NimStringV2 colontmpD__32;
					NimStringV2 T156_;
					colontmpD__28 = owner__ast_u6246(obj_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
					colontmpD__29 = getModule__astalgo_u156(colontmpD__28);
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
					colontmpD__30 = getModule__astalgo_u156(s_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
					if (!!((colontmpD__29 == colontmpD__30))) goto LA153_;
					colontmpD__31.len = 0; colontmpD__31.p = NIM_NIL;
					colontmpD__32.len = 0; colontmpD__32.p = NIM_NIL;
					T156_.len = 0; T156_.p = NIM_NIL;
					colontmpD__31 = typeToString__types_u54(obj_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
					T156_ = rawNewString(name_1.len + colontmpD__31.len + 79);
appendString((&T156_), TM__rF9caJawfOjYTjsgLVUSGFA_691);
appendString((&T156_), name_1);
appendString((&T156_), TM__rF9caJawfOjYTjsgLVUSGFA_692);
appendString((&T156_), colontmpD__31);
appendString((&T156_), TM__rF9caJawfOjYTjsgLVUSGFA_693);
					colontmpD__32 = T156_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__32, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_694, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
					{
						LA155_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__32);
						eqdestroy___system_u2691(colontmpD__31);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
				}
LA153_: ;
				eqdestroy___ast_u4574(colontmpD__30);
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
				eqdestroy___ast_u4574(colontmpD__29);
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
				eqdestroy___ast_u4574(colontmpD__28);
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
				eqdestroy___ast_u4574(ao_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
				eqdestroy___ast_u3378(objB_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
				eqdestroy___ast_u3378(colontmpD__25);
				if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
				eqdestroy___ast_u3378(obj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
				eqdestroy___ast_u4574(colontmpD__24);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__23);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__22);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(t_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___system_u2691(name_1);
				goto BeforeRet_;
				{
					LA131_:;
				}
				{
					oldNimErrFin131_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD__30);
					if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					eqdestroy___ast_u4574(colontmpD__29);
					if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					eqdestroy___ast_u4574(colontmpD__28);
					if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					eqdestroy___ast_u4574(ao_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					*nimErr_ = oldNimErrFin131_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			}
LA129_: ;
			{
				LA99_:;
			}
			{
				oldNimErrFin99_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(objB_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
				eqdestroy___ast_u3378(colontmpD__25);
				if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
				eqdestroy___ast_u3378(obj_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
				*nimErr_ = oldNimErrFin99_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
		}
LA97_: ;
		{
			NimStringV2 colontmpD__33;
			NimStringV2 T168_;
			colontmpD__24 = owner__ast_u6254(s_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
			if (!!((((*colontmpD__24).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0))) goto LA165_;
			colontmpD__33.len = 0; colontmpD__33.p = NIM_NIL;
			T168_.len = 0; T168_.p = NIM_NIL;
			T168_ = rawNewString((*(*s_p1).name).s.len + 56);
appendString((&T168_), TM__rF9caJawfOjYTjsgLVUSGFA_695);
appendString((&T168_), (*(*s_p1).name).s);
appendString((&T168_), TM__rF9caJawfOjYTjsgLVUSGFA_697);
			colontmpD__33 = T168_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__33, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_698, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
			{
				LA167_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__33);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
		}
LA165_: ;
		{
			LA81_:;
		}
		{
			oldNimErrFin81_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__24);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__23);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__22);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin81_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA9_;
	LA5_: ;
	{
		{
			if (!!(((*s_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)153)))) goto LA176_;
			bindTypeHook__sem_u18371(c_p0, s_p1, n_p2, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)5));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA176_: ;
	}
	goto LA9_;
	LA6_: ;
	{
		{
			if (!!(((*s_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)150)))) goto LA181_;
			bindTypeHook__sem_u18371(c_p0, s_p1, n_p2, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA181_: ;
	}
	goto LA9_;
	LA7_: ;
	{
		{
			if (!!(((*s_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)151)))) goto LA186_;
			bindDupHook__sem_u18303(c_p0, s_p1, n_p2, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)3));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA186_: ;
	}
	goto LA9_;
	LA8_: ;
	{
		{
			if (!(((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35)))&63U)))!=0)) goto LA191_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_707, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_708, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA191_: ;
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(name_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, find__stdZenumutils_u56)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1) {
	NI result;
{	result = ((NI)0);
	{
		NimStringV2* i_1;
		NI i_2;
		i_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < a_p0Len_0)) goto LA3;
				i_1 = (&a_p0[i_2]);
				{
					if (!eqStrings((*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__stdZenumutils_u51)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1) {
	NIM_BOOL result;
	NI T1_;
{	T1_ = (NI)0;
	T1_ = find__stdZenumutils_u56(a_p0, a_p0Len_0, item_p1);
	result = (((NI)0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semCppMember__sem_u18647)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin115_;
NIM_BOOL oldNimErrFin109_;
NIM_BOOL oldNimErrFin99_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2 pragmaName_1;
		NIM_BOOL isVirtual_1;
		NIM_BOOL isCtor_1;
		NimStringV2 T5_;
		if (!!((((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0))) goto LA3_;
		pragmaName_1.len = 0; pragmaName_1.p = NIM_NIL;
		isVirtual_1 = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)50)))&63U)))!=0);
		isCtor_1 = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)29)))&63U)))!=0);
		T5_.len = 0; T5_.p = NIM_NIL;
		{
			if (!isVirtual_1) goto LA8_;
			pragmaName_1 = TM__rF9caJawfOjYTjsgLVUSGFA_725;
		}
		goto LA6_;
LA8_: ;
		{
			if (!isCtor_1) goto LA11_;
			pragmaName_1 = TM__rF9caJawfOjYTjsgLVUSGFA_727;
		}
		goto LA6_;
LA11_: ;
		{
			pragmaName_1 = TM__rF9caJawfOjYTjsgLVUSGFA_729;
		}
LA6_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			if (!((*(*(*c_p0).graph).config).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)2))) goto LA16_;
			typ_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			{
				NIM_BOOL T21_;
				NI T22_;
				NimStringV2 colontmpD__4;
				NimStringV2 T27_;
				T21_ = (NIM_BOOL)0;
				T22_ = (NI)0;
				T22_ = len__ast_u5502((*s_p1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				T21_ = (T22_ < ((NI)2));
				if (!(T21_)) goto LA23_;
				T21_ = !(isCtor_1);
LA23_: ;
				if (!T21_) goto LA24_;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				T27_.len = 0; T27_.p = NIM_NIL;
				T27_ = rawNewString(pragmaName_1.len + 33);
appendString((&T27_), pragmaName_1);
appendString((&T27_), TM__rF9caJawfOjYTjsgLVUSGFA_731);
				colontmpD__4 = T27_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_732, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				{
					LA26_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__4);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA24_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_1;
				son_1 = NIM_NIL;
				{
					NI i_1;
					NI colontmp_;
					NI T33_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					T33_ = (*(*s_p1).typ).sons.len;
					colontmp_ = T33_;
					i_2 = ((NI)0);
					{
						while (1) {
							if (!(i_2 < colontmp_)) goto LA35;
							i_1 = i_2;
							eqcopy___ast_u3381(&son_1, (*(*s_p1).typ).sons.p->data[i_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							{
								NIM_BOOL T38_;
								NimStringV2 colontmpD__5;
								NimStringV2 T43_;
								T38_ = (NIM_BOOL)0;
								T38_ = !((son_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
								if (!(T38_)) goto LA39_;
								T38_ = isMetaType__ast_u4607(son_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
LA39_: ;
								if (!T38_) goto LA40_;
								colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
								T43_.len = 0; T43_.p = NIM_NIL;
								T43_ = rawNewString(pragmaName_1.len + 32);
appendString((&T43_), pragmaName_1);
appendString((&T43_), TM__rF9caJawfOjYTjsgLVUSGFA_734);
								colontmpD__5 = T43_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_735, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								{
									LA42_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__5);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							}
LA40_: ;
							i_2 += ((NI)1);
						} LA35: ;
					}
				}
				{
					LA31_:;
				}
				{
					oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(son_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					*nimErr_ = oldNimErrFin31_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
			{
				if (!isCtor_1) goto LA50_;
				typ_1 = returnType__ast_u5354((*s_p1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				{
					NIM_BOOL T54_;
					T54_ = (NIM_BOOL)0;
					T54_ = (typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (T54_) goto LA55_;
					T54_ = !(((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)));
LA55_: ;
					if (!T54_) goto LA56_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_737, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_738, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				}
LA56_: ;
				{
					if (!(((*(*typ_1).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0)) goto LA60_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_740, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_741, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				}
LA60_: ;
			}
			goto LA48_;
LA50_: ;
			{
				typ_1 = firstParamType__ast_u5363((*s_p1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA48_: ;
			{
				NIM_BOOL T65_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T69_;
				T65_ = (NIM_BOOL)0;
				T65_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21));
				if (!(T65_)) goto LA66_;
				T65_ = !(isCtor_1);
LA66_: ;
				if (!T65_) goto LA67_;
				T69_ = NIM_NIL;
				T69_ = elementType__ast_u5331(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T69_); goto LA18_;}
				eqsink___ast_u3387(&typ_1, T69_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA67_: ;
			{
				NimStringV2 colontmpD__6;
				NimStringV2 T75_;
				if (!!(((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)))) goto LA72_;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				T75_.len = 0; T75_.p = NIM_NIL;
				T75_ = rawNewString(pragmaName_1.len + 45);
appendString((&T75_), pragmaName_1);
appendString((&T75_), TM__rF9caJawfOjYTjsgLVUSGFA_743);
				colontmpD__6 = T75_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_744, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
				{
					LA74_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA72_: ;
			{
				NIM_BOOL T80_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym4591__1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym4593__1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym4595__1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym4597__1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__7;
				tySequence__ZCZaCk14bTmSb6LMW9aWPVA T84_;
				tySequence__ZCZaCk14bTmSb6LMW9aWPVA* T85_;
				T80_ = (NIM_BOOL)0;
				colontmpD_ = owner__ast_u6246(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				xX60gensym4591__1 = (*colontmpD_).itemId;
				colontmpD__2 = owner__ast_u6254(s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				xX60gensym4593__1 = (*colontmpD__2).itemId;
				T80_ = ((NI)((NI)((NU32)(((NI) (xX60gensym4591__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym4591__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym4593__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym4593__1.item))));
				if (!(T80_)) goto LA81_;
				xX60gensym4595__1 = (*(*c_p0).module).itemId;
				colontmpD__3 = owner__ast_u6254(s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				xX60gensym4597__1 = (*colontmpD__3).itemId;
				T80_ = ((NI)((NI)((NU32)(((NI) (xX60gensym4595__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym4595__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym4597__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym4597__1.item))));
LA81_: ;
				if (!T80_) goto LA82_;
				T84_.len = 0; T84_.p = NIM_NIL;
				T84_.len = 0; T84_.p = (tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content*) newSeqPayload(0, sizeof(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*), NIM_ALIGNOF(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*));
				T85_ = (tySequence__ZCZaCk14bTmSb6LMW9aWPVA*)0;
				T85_ = mgetOrPut__sem_u18789((&(*(*c_p0).graph).memberProcsPerType), (*typ_1).itemId, T84_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				colontmpD__7 = eqdup___ast_u4580(s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				add__renderer_u83((&(*T85_)), colontmpD__7);
			}
			goto LA78_;
LA82_: ;
			{
				NimStringV2 colontmpD__8;
				NimStringV2 T88_;
				colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
				T88_.len = 0; T88_.p = NIM_NIL;
				T88_ = rawNewString(pragmaName_1.len + 106);
appendString((&T88_), pragmaName_1);
appendString((&T88_), TM__rF9caJawfOjYTjsgLVUSGFA_746);
				colontmpD__8 = T88_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_747, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA87_;
				{
					LA87_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__8);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA78_: ;
			{
				LA18_:;
			}
			{
				oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin18_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA14_;
LA16_: ;
		{
			NimStringV2 colontmpD__9;
			NimStringV2 T95_;
			colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
			T95_.len = 0; T95_.p = NIM_NIL;
			T95_ = rawNewString(pragmaName_1.len + 32);
appendString((&T95_), pragmaName_1);
appendString((&T95_), TM__rF9caJawfOjYTjsgLVUSGFA_749);
			colontmpD__9 = T95_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_750, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
			{
				LA94_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__9);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_2;
		typ_2 = NIM_NIL;
		typ_2 = returnType__ast_u5354((*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
		{
			NIM_BOOL T102_;
			NIM_BOOL T103_;
			NIM_BOOL T106_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initializerCall_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			tyArray__TAsXwXSUBvAawE1kIQ5ziQ T110_;
			NIM_BOOL isInitializer_1;
			NI T111_;
			T102_ = (NIM_BOOL)0;
			T103_ = (NIM_BOOL)0;
			T103_ = !((typ_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T103_)) goto LA104_;
			T103_ = ((*typ_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA104_: ;
			T102_ = T103_;
			if (!(T102_)) goto LA105_;
			T106_ = (NIM_BOOL)0;
			T106_ = contains__cgen_u4625((*(*c_p0).graph).initializersPerType, (*typ_2).itemId);
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			T102_ = !(T106_);
LA105_: ;
			if (!T102_) goto LA107_;
			initializerCall_1 = NIM_NIL;
			colontmpD__10 = NIM_NIL;
			nimZeroMem((void*)T110_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
			colontmpD__10 = newSymNode__ast_u5168(s_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
			T110_[0] = colontmpD__10;
			initializerCall_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), T110_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
			T111_ = (NI)0;
			T111_ = len__ast_u3190((*n_p2)._kind_6.sons.p->data[((NI)3)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
			isInitializer_1 = (((NI)1) < T111_);
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__ast_u3190((*n_p2)._kind_6.sons.p->data[((NI)3)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
				i_4 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_1;
						NI T116_;
						NI j_1;
						if (!(i_4 < colontmp__2)) goto LA114;
						p_1 = NIM_NIL;
						val_1 = NIM_NIL;
						i_3 = i_4;
						eqcopy___ast_u3255(&p_1, (*(*n_p2)._kind_6.sons.p->data[((NI)3)])._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						T116_ = (NI)0;
						T116_ = len__ast_u3190(p_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						eqcopy___ast_u3255(&val_1, (*p_1)._kind_6.sons.p->data[(NI)(T116_ - ((NI)1))]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						{
							if (!((*val_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA119_;
							isInitializer_1 = NIM_FALSE;
							eqdestroy___ast_u3252(val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
							eqdestroy___ast_u3252(p_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
							goto LA112;
						}
LA119_: ;
						j_1 = ((NI)0);
						{
							while (1) {
								NIM_BOOL T123_;
								T123_ = (NIM_BOOL)0;
								T123_ = ((*(*p_1)._kind_6.sons.p->data[j_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
								if (!(T123_)) goto LA124_;
								T123_ = ((*(*(*p_1)._kind_6.sons.p->data[j_1])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA124_: ;
								if (!T123_) goto LA122;
								add__ast_u3215(initializerCall_1, val_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
								j_1 += ((NI)1);
							} LA122: ;
						}
						i_4 += ((NI)1);
						{
							LA115_:;
						}
						{
							oldNimErrFin115_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
							eqdestroy___ast_u3252(p_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
							*nimErr_ = oldNimErrFin115_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
					} LA114: ;
				}
			} LA112: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
				if (!isInitializer_1) goto LA129_;
				blitTmp_1 = initializerCall_1;
				eqwasMoved___ast_u3249(&initializerCall_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
				X5BX5Deq___sem_u19938((&(*(*c_p0).graph).initializersPerType), (*typ_2).itemId, blitTmp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
			}
LA129_: ;
			{
				LA109_:;
			}
			{
				oldNimErrFin109_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
				eqdestroy___ast_u3252(initializerCall_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
				*nimErr_ = oldNimErrFin109_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
		}
LA107_: ;
		{
			LA99_:;
		}
		{
			oldNimErrFin99_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin99_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProcAux__sem_u18613)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		tyEnum_TCheckPointResult__79bKWAKrLRHiUZ6lV3lObBQ T3_;
		T3_ = (tyEnum_TCheckPointResult__79bKWAKrLRHiUZ6lV3lObBQ)0;
		T3_ = inCheckpoint__sigmatch_u6564((*n_p1).info, (*conf_p0).m.trackPos);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!((T3_ == ((tyEnum_TCheckPointResult__79bKWAKrLRHiUZ6lV3lObBQ)0)))) goto LA4_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
LA4_: ;
	{
		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 LA8;
				i_1 = i_2;
				{
					NIM_BOOL T11_;
					T11_ = (NIM_BOOL)0;
					T11_ = cursorInProcAux__sem_u18613(conf_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T11_) goto LA12_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
LA12_: ;
				i_2 += ((NI)1);
			} LA8: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProc__sem_u18627)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!((*n_p1).info.fileIndex == (*conf_p0).m.trackPos.fileIndex)) goto LA3_;
		result = cursorInProcAux__sem_u18613(conf_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_u7099)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = (((*s_p0).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2)))&63U)))!=0);
	if (T3_) goto LA4_;
	T3_ = isGenericRoutine__ast_u7081((*s_p0).ast);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasObjParam__sem_u18631)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	t_1 = NIM_NIL;
	result = NIM_FALSE;
	eqcopy___ast_u3381(&t_1, (*s_p0).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI col_1;
		NI colontmp_;
		NI i_1;
		col_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u5502(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_1 = ((NI)1);
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				if (!(i_1 < colontmp_)) goto LA4;
				colontmpD_ = NIM_NIL;
				col_1 = i_1;
				{
					colontmpD_ = skipTypes__ast_u5379((*t_1).sons.p->data[col_1], TM__rF9caJawfOjYTjsgLVUSGFA_185);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA8_;
					result = NIM_TRUE;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA8_: ;
				i_1 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				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_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semMethodPrototype__sem_u20953)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tt_1;
		NIM_BOOL foundObj_1;
		T3_ = (NIM_BOOL)0;
		T3_ = isGenericRoutine__ast_u7099(s_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		tt_1 = NIM_NIL;
		eqcopy___ast_u3381(&tt_1, (*s_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		foundObj_1 = NIM_FALSE;
		{
			NI col_1;
			NI colontmp_;
			NI i_1;
			col_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u5502(tt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			i_1 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
					if (!(i_1 < colontmp_)) goto LA9;
					t_1 = NIM_NIL;
					col_1 = i_1;
					eqcopy___ast_u3381(&t_1, (*tt_1).sons.p->data[col_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NIM_BOOL T12_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
						T12_ = (NIM_BOOL)0;
						T12_ = !((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
						if (!(T12_)) goto LA13_;
						T12_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9));
LA13_: ;
						if (!T12_) goto LA14_;
						x_1 = NIM_NIL;
						colontmpD_ = NIM_NIL;
						colontmpD_ = genericHead__ast_u5376(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						x_1 = skipTypes__ast_u5379(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_751);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NIM_BOOL T18_;
							NI T20_;
							NI T21_;
							T18_ = (NIM_BOOL)0;
							T18_ = ((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
							if (!(T18_)) goto LA19_;
							T20_ = (NI)0;
							T20_ = len__ast_u5502(t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							T21_ = (NI)0;
							T21_ = len__ast_u3190((*n_p2)._kind_6.sons.p->data[((NI)2)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							T18_ = ((NI)(T20_ - ((NI)1)) == T21_);
LA19_: ;
							if (!T18_) goto LA22_;
							foundObj_1 = NIM_TRUE;
							addMethodToGeneric__modulegraphs_u9475((*c_p0).graph, (*(*c_p0).module).position, x_1, col_1, s_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA22_: ;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						eqdestroy___ast_u3378(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA14_: ;
					i_1 += ((NI)1);
					eqdestroy___ast_u3378(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				} LA9: ;
			}
		}
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)24), TM__rF9caJawfOjYTjsgLVUSGFA_753, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_754, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(tt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		{
			NIM_BOOL T29_;
			T29_ = (NIM_BOOL)0;
			T29_ = hasObjParam__sem_u18631(s_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T29_) goto LA30_;
			methodDef__cgmeth_u202((*c_p0).graph, (*c_p0).Sup.idgen, s_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA27_;
LA30_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_756, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_757, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA27_: ;
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isClosureIterator__ast_u7426)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
	if (!(T2_)) goto LA3_;
	T2_ = (((*typ_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15)))&63U)))!=0);
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = ((*typ_p0).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOverloadedCallAnalyseEffects__sem_u24589)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T3_;
		T3_ = 0;
		if (!!(((flags_p3 & 30) == T3_))) goto LA4_;
		result = semOverloadedCall__sem_u4008(c_p0, n_p1, nOrig_p2, 520192, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		result = semOverloadedCall__sem_u4008(c_p0, n_p1, nOrig_p2, 487424, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callee_1;
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA9_;
		callee_1 = NIM_NIL;
		{
			if (!!(((*(*result)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA14_;
			{
				if (!!((((NI)0) < (*c_p0).inGenericContext))) goto LA18_;
				internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, TM__rF9caJawfOjYTjsgLVUSGFA_767, TM__rF9caJawfOjYTjsgLVUSGFA_768);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			}
LA18_: ;
			eqdestroy___ast_u4574(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA14_: ;
		eqcopy___ast_u4577(&callee_1, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		switch ((*callee_1).kind) {
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
		{
		}
		break;
		default:
		{
			{
				NIM_BOOL T24_;
				NIM_BOOL T25_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym5886__1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym5888__1;
				NIM_BOOL T28_;
				NimStringV2 colontmpD_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
				T24_ = (NIM_BOOL)0;
				T25_ = (NIM_BOOL)0;
				T25_ = ((*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
				if (!(T25_)) goto LA26_;
				xX60gensym5886__1 = (*callee_1).itemId;
				xX60gensym5888__1 = (*(*(*c_p0).p).owner).itemId;
				T25_ = ((NI)((NI)((NU32)(((NI) (xX60gensym5886__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym5886__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym5888__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym5888__1.item))));
LA26_: ;
				T24_ = T25_;
				if (!(T24_)) goto LA27_;
				T28_ = (NIM_BOOL)0;
				T28_ = isClosureIterator__ast_u7426((*(*(*c_p0).p).owner).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				T24_ = !(T28_);
LA27_: ;
				if (!T24_) goto LA29_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_770, (*(*callee_1).name).s);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_771, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				colontmpD__2 = errorSym__lookups_u2620(c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				T32_ = NIM_NIL;
				T32_ = newSymNode__ast_u5168(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA31_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				{
					LA31_:;
				}
				{
					oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					eqdestroy___system_u2691(colontmpD_);
					*nimErr_ = oldNimErrFin31_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			}
			goto LA22_;
LA29_: ;
			{
				if (!((*callee_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15))) goto LA36_;
				{
					NIM_BOOL T40_;
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T42_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					T40_ = (NIM_BOOL)0;
					T40_ = !(((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)64)));
					if (!(T40_)) goto LA41_;
					T42_ = 0;
					T40_ = !(((flags_p3 & 12) == T42_));
LA41_: ;
					if (!T40_) goto LA43_;
					typ_1 = NIM_NIL;
					typ_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)64), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					rawAddSon__ast_u6706(typ_1, (*result).typField, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					eqsink___ast_u3387(&(*result).typField, typ_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				}
LA43_: ;
			}
			goto LA22_;
LA36_: ;
LA22_: ;
		}
		break;
		}
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA9_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedParams__sem_u15639)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p1) {
	NIM_BOOL result;
	result = (((*(*n_p0).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, finishOperand__sem_u24654)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*a_p1).typField == 0)) goto LA3_;
		result = (*c_p0).semOperand(c_p0, a_p1, 1024);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		eqcopy___ast_u3255(&result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	{
		NIM_BOOL T8_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_1;
		NimStringV2 err_1;
		NimStringV2 T13_;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
		if (!(T8_)) goto LA9_;
		T8_ = hasUnresolvedParams__sem_u15639(result, 8192);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA9_: ;
		if (!T8_) goto LA10_;
		owner_1 = NIM_NIL;
		err_1.len = 0; err_1.p = NIM_NIL;
		owner_1 = owner__ast_u6246((*result).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		T13_.len = 0; T13_.p = NIM_NIL;
		{
			NIM_BOOL T16_;
			NimStringV2 colontmpD_;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T21_;
			T16_ = (NIM_BOOL)0;
			T16_ = !((owner_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T16_)) goto LA17_;
			T16_ = ((*owner_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*owner_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA17_: ;
			if (!T16_) goto LA18_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			T21_ = 0;
			colontmpD_ = renderTree__renderer_u59(a_p1, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			err_1 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_772, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				LA20_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		goto LA14_;
LA18_: ;
		{
			NimStringV2 colontmpD__2;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T26_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T26_ = 0;
			colontmpD__2 = renderTree__renderer_u59(a_p1, T26_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			err_1 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_774, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			{
				LA25_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA14_: ;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), err_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_775, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(err_1);
			eqdestroy___ast_u4574(owner_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA10_: ;
	considerGenSyms__semdata_u2285(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sem_u24680)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL isBracketExpr_p2) {
	NI start_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	start_1 = (NI)(((NI)1) + isBracketExpr_p2);
	{
		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 = start_1;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				T4_ = NIM_NIL;
				T4_ = finishOperand__sem_u24654(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T4_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, activate__sem_u117)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
}
static N_INLINE(NIM_BOOL, isArrayConstr__sem_u155)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41));
	if (!(T1_)) goto LA2_;
	colontmpD_ = skipTypes__ast_u5379((*n_p0).typField, TM__rF9caJawfOjYTjsgLVUSGFA_10);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16));
LA2_: ;
	result = T1_;
	eqdestroy___ast_u3378(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixAbstractType__sem_u23347)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin11_;
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)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				if (!(i_2 < colontmp_)) goto LA3;
				it_1 = NIM_NIL;
				colontmpD_ = 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_;
				{
					NIM_BOOL T7_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
					T7_ = (NIM_BOOL)0;
					T7_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59));
					if (!(T7_)) goto LA8_;
					colontmpD_ = skipTypes__ast_u5379((*it_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_776);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T7_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48)));
LA8_: ;
					if (!T7_) goto LA9_;
					colontmpD__2 = NIM_NIL;
					{
						NIM_BOOL T14_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_1;
						T14_ = (NIM_BOOL)0;
						colontmpD__2 = skipTypes__ast_u5379((*(*it_1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_776);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						T14_ = ((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5) || (*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18) || (*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19));
						if (T14_) goto LA15_;
						T14_ = isArrayConstr__sem_u155((*it_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
LA15_: ;
						if (!T14_) goto LA16_;
						s_1 = NIM_NIL;
						s_1 = skipTypes__ast_u5379((*it_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_777);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						{
							if (!!(((*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6)))) goto LA21_;
							changeType__sem_u84(c_p0, (*it_1)._kind_6.sons.p->data[((NI)1)], s_1, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						}
LA21_: ;
						eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[i_1], (*it_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						{
							LA18_:;
						}
						{
							oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							*nimErr_ = oldNimErrFin18_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					}
LA16_: ;
					{
						LA11_:;
					}
					{
						oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						*nimErr_ = oldNimErrFin11_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA9_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA, isAssignable__sem_u23377)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0;
	result = isAssignable__parampatterns_u315((*(*c_p0).p).owner, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAddr__sem_u23464)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
	tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA aa_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	x_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	x_1 = semExprWithType__sem_u63(c_p0, n_p1, T2_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA5_;
		(*(*x_1)._kind_4.sym).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)17))) & 63);
	}
LA5_: ;
	aa_1 = isAssignable__sem_u23377(c_p0, x_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T9_;
		NIM_BOOL T11_;
		T9_ = (NIM_BOOL)0;
		T9_ = !((aa_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1) || aa_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)2) || aa_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4) || aa_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5)));
		if (!(T9_)) goto LA10_;
		T11_ = (NIM_BOOL)0;
		T11_ = !((aa_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)3)));
		if (T11_) goto LA12_;
		T11_ = ((*c_p0).inUncheckedAssignSection <= ((NI)0));
LA12_: ;
		T9_ = T11_;
LA10_: ;
		if (!T9_) goto LA13_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_779, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_780, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	add__ast_u3215(result, x_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = skipTypes__ast_u5379((*x_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_782);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T15_ = NIM_NIL;
	T15_ = makePtrType__semdata_u4378(c_p0, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T15_); goto LA1_;}
	eqsink___ast_u3387(&(*result).typField, T15_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTypeOf__sem_u142)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NI64 m_1;
NIM_BOOL oldNimErrFin6_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typExpr_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T16_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin30_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T44_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	m_1 = IL64(1);
	{
		NI T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* mode_1;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)3))) goto LA4_;
		mode_1 = NIM_NIL;
		mode_1 = semConstExpr__sem_u631(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			if (!!(((*mode_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)))) goto LA9_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_783, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_784, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA7_;
LA9_: ;
		{
			m_1 = (*mode_1)._kind_1.intVal;
		}
LA7_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(mode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*c_p0).inTypeofContext += ((NI)1);
	typExpr_1 = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg));
	t_1 = NIM_NIL;
	{
		if (!(m_1 == IL64(1))) goto LA19_;
		colontmpD_ = 16;
		T16_ = colontmpD_;
	}
	goto LA17_;
LA19_: ;
	{
		colontmpD__2 = 0;
		T16_ = colontmpD__2;
	}
LA17_: ;
	typExpr_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], T16_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
	add__ast_u3215(result, typExpr_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
	{
		if (!((*(*typExpr_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA24_;
		(*(*typExpr_1).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
	}
LA24_: ;
	eqcopy___ast_u3381(&t_1, (*typExpr_1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
		if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA28_;
		base_1 = NIM_NIL;
		base_1 = skipTypes__ast_u5379(t_1, TM__rF9caJawfOjYTjsgLVUSGFA_45);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			NIM_BOOL T33_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T38_;
			T33_ = (NIM_BOOL)0;
			T33_ = (((NI)0) < (*c_p0).inGenericContext);
			if (!(T33_)) goto LA34_;
			T33_ = containsGenericType__types_u3448(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
LA34_: ;
			if (!T33_) goto LA35_;
			colontmpD__3 = NIM_NIL;
			colontmpD__3 = copyTree__ast_u6891(typExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			T38_ = NIM_NIL;
			T38_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T38_); goto LA37_;}
			eqsink___ast_u3387(&t_1, T38_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			(*t_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
			{
				LA37_:;
			}
			{
				oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				*nimErr_ = oldNimErrFin37_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
		goto LA31_;
LA35_: ;
		{
			eqsink___ast_u3387(&t_1, base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			eqwasMoved___ast_u3375(&base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		}
LA31_: ;
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(base_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
	}
LA28_: ;
	T44_ = NIM_NIL;
	T44_ = makeTypeDesc__semdata_u4621(c_p0, t_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T44_); goto LA15_;}
	eqsink___ast_u3387(&(*result).typField, T44_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
	{
		LA15_:;
	}
	{
		oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		eqdestroy___ast_u3252(typExpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		*nimErr_ = oldNimErrFin15_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
	{
		LA14_:;
	}
	{
		(*c_p0).inTypeofContext -= ((NI)1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDeref__sem_u25382)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	t_1 = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	T3_ = NIM_NIL;
	T3_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T2_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = getConstExpr__semfold_u68((*c_p0).module, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*c_p0).Sup.idgen, (*c_p0).graph);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA6_;
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
			if (!(T10_)) goto LA11_;
			T10_ = !(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0));
LA11_: ;
			if (!T10_) goto LA12_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_790, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_791, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA12_: ;
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	t_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_792);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA16_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_794, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_795, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA16_: ;
	switch ((*t_1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T19_;
		T19_ = NIM_NIL;
		T19_ = elementType__ast_u5331(t_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T19_); goto LA1_;}
		eqsink___ast_u3387(&(*n_p1).typField, T19_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T22_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		T22_ = NIM_NIL;
		T22_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T22_); goto LA21_;}
		eqsink___ast_u3387(&(*n_p1).typField, T22_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_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_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeDeref__sem_u15647)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	eqcopy___ast_u3381(&t_1, (*n_p0).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53));
		if (!(T3_)) goto LA4_;
		T3_ = (((*t_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)10)))&63U)))!=0);
LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = NIM_NIL;
		T7_ = last__ast_u5278(t_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T7_); goto BeforeRet_;}
		eqsink___ast_u3387(&t_1, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	T8_ = NIM_NIL;
	T8_ = skipTypes__ast_u5379(t_1, TM__rF9caJawfOjYTjsgLVUSGFA_162);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T8_); goto BeforeRet_;}
	eqsink___ast_u3387(&t_1, T8_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T14_;
		if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA11_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD_ = elementType__ast_u5331(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T13_ = NIM_NIL;
		T13_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65), (*n_p0).info, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmpD__2 = elementType__ast_u5331(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T14_ = NIM_NIL;
		T14_ = skipTypes__ast_u5379(colontmpD__2, TM__rF9caJawfOjYTjsgLVUSGFA_162);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T14_); goto BeforeRet_;}
		eqsink___ast_u3387(&t_1, T14_);
		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_;
	}
LA11_: ;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseTyp_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T18_;
			if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22))) goto LA16;
			a_1 = NIM_NIL;
			baseTyp_1 = NIM_NIL;
			a_1 = result;
			eqwasMoved___ast_u3249(&result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			baseTyp_1 = elementType__ast_u5331(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T17_ = NIM_NIL;
			T17_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65), (*n_p0).info, baseTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T17_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T18_ = NIM_NIL;
			T18_ = skipTypes__ast_u5379(baseTyp_1, TM__rF9caJawfOjYTjsgLVUSGFA_162);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T18_); goto BeforeRet_;}
			eqsink___ast_u3387(&t_1, T18_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(baseTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA16: ;
	}
	eqdestroy___ast_u3378(t_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSymGenericInstantiation__sem_u22003)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = symChoice__sem_u10236(c_p0, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setGenericParams__sem_u4086)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* expectedParams_p2) {
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)1);
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* constraint_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T5_;
				tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T14_;
				if (!(i_2 < colontmp_)) goto LA3;
				constraint_1 = NIM_NIL;
				e_1 = NIM_NIL;
				i_1 = i_2;
				T5_ = NIM_NIL;
				{
					NIM_BOOL T8_;
					NI T10_;
					T8_ = (NIM_BOOL)0;
					T8_ = !((expectedParams_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
					if (!(T8_)) goto LA9_;
					T10_ = (NI)0;
					T10_ = len__ast_u3190(expectedParams_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T8_ = (i_1 <= T10_);
LA9_: ;
					if (!T8_) goto LA11_;
					eqcopy___ast_u3381(&constraint_1, (*(*expectedParams_p2)._kind_6.sons.p->data[(NI)(i_1 - ((NI)1))]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA6_;
LA11_: ;
				{
					constraint_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
				}
LA6_: ;
				T14_ = 0;
				e_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], T14_, constraint_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T19_;
					if (!((*e_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA17_;
					T19_ = NIM_NIL;
					T19_ = errorType__semdata_u4564(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T19_); goto LA4_;}
					eqsink___ast_u3387(&(*(*n_p1)._kind_6.sons.p->data[i_1]).typField, T19_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA15_;
LA17_: ;
				{
					eqcopy___ast_u3381(&(*(*n_p1)._kind_6.sons.p->data[i_1]).typField, (*e_1).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA15_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(e_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(constraint_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, explicitGenericSym__sem_u4056)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySequence__9bnh9aVmYtKU19btQYqjGktpw* errors_p3, NIM_BOOL doError_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g m_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newInst_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&m_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	newInst_1 = NIM_NIL;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T7_;
		NimStringV2 T8_;
		if (!((*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17))) goto LA4_;
		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;
		T7_.len = 0; T7_.p = NIM_NIL;
		T8_.len = 0; T8_.p = NIM_NIL;
		{
			if (!((*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA11_;
			colontmpD_ = TM__rF9caJawfOjYTjsgLVUSGFA_802;
			T8_ = colontmpD_;
		}
		goto LA9_;
LA11_: ;
		{
			colontmpD__2 = TM__rF9caJawfOjYTjsgLVUSGFA_804;
			T8_ = colontmpD__2;
		}
LA9_: ;
		T7_ = rawNewString(T8_.len + 45);
appendString((&T7_), TM__rF9caJawfOjYTjsgLVUSGFA_800);
appendString((&T7_), T8_);
		colontmpD__3 = T7_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*n_p1).info, colontmpD__3, TM__rF9caJawfOjYTjsgLVUSGFA_805);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	newCandidate__sigmatch_u450(c_p0, s_p2, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), ((NI)-1), (&m_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	matchGenericParams__sigmatch_u332((&m_1), n_p1, s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((m_1.state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1)))) goto LA18_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
			tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw T24_;
			tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg blitTmp_1;
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ blitTmp_2;
			if (!doError_p4) goto LA22_;
			nimZeroMem((void*)(&T24_), sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
			nimZeroMem((void*)(&T24_), sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
			colontmpD__4 = eqdup___ast_u4580(s_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T24_.sym = colontmpD__4;
			nimZeroMem((void*)(&blitTmp_1), sizeof(tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg));
			blitTmp_1.kind = m_1.firstMismatch.kind;
			blitTmp_1.arg = m_1.firstMismatch.arg;
			blitTmp_1.formal = m_1.firstMismatch.formal;
			eqwasMoved___sigmatch_u132((&m_1.firstMismatch));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T24_.firstMismatch.kind = blitTmp_1.kind;
			T24_.firstMismatch.arg = blitTmp_1.arg;
			T24_.firstMismatch.formal = blitTmp_1.formal;
			blitTmp_2 = m_1.diagnostics;
			eqwasMoved___system_u5503((&m_1.diagnostics));
			T24_.diagnostics = blitTmp_2;
			add__sem_u2016((&(*errors_p3)), (&T24_));
		}
LA22_: ;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		eqdestroy___ast_u4574(newInst_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sigmatch_u162((&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA18_: ;
	newInst_1 = generateInstance__sem_u1531(c_p0, s_p2, m_1.bindings, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*newInst_1).typ).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9))) & 63));
	info_1 = getCallLineInfo__sem_u3546(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	markUsed__sigmatch_u100(c_p0, info_1, s_p2, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	markUsed__sigmatch_u100(c_p0, info_1, newInst_1, NIM_TRUE, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newSymNode__ast_u5171(newInst_1, info_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(newInst_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sigmatch_u162((&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, effectProblem__sem_u2162)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p1, NimStringV2* result_p2, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*f_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
		if (!(T3_)) goto LA4_;
		T3_ = ((*a_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = (((*f_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)7)))&63U)))!=0);
			if (!(T9_)) goto LA10_;
			T9_ = !((((*a_p1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)7)))&63U)))!=0));
LA10_: ;
			if (!T9_) goto LA11_;
			prepareAdd((&(*result_p2)), 103);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_872);
		}
		goto LA7_;
LA11_: ;
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = (((*f_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0);
			if (!(T14_)) goto LA15_;
			T14_ = !((((*a_p1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0));
LA15_: ;
			if (!T14_) goto LA16_;
			prepareAdd((&(*result_p2)), 116);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_874);
		}
		goto LA7_;
LA16_: ;
		{
			tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ T19_;
			T19_ = (tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)0;
			T19_ = compatibleEffects__types_u3554(f_p0, a_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			switch (T19_) {
			case ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)0):
			{
			}
			break;
			case ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)1):
			{
				prepareAdd((&(*result_p2)), 37);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_876);
			}
			break;
			case ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)2):
			{
				prepareAdd((&(*result_p2)), 110);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_878);
			}
			break;
			case ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)3):
			{
				prepareAdd((&(*result_p2)), 35);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_880);
			}
			break;
			case ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)4):
			{
				prepareAdd((&(*result_p2)), 106);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_882);
			}
			break;
			case ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)5):
			{
				prepareAdd((&(*result_p2)), 39);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_884);
			}
			break;
			case ((tyEnum_EffectsCompat__kgTSaXQprmltQ9a5JxdqZQQ)6):
			{
				prepareAdd((&(*result_p2)), 53);
appendString((&(*result_p2)), TM__rF9caJawfOjYTjsgLVUSGFA_886);
			}
			break;
			default: __builtin_unreachable();
			}
		}
LA7_: ;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ, presentFailedCandidates__sem_u2191)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_p2) {
	tyTuple__qxBv5lWlmtPRYLW2Idx1OQ result;
	NimStringV2 proto_1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ candidatesAll_1;
	NimStringV2 candidates_1;
	NimStringV2 colontmp_;
	tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_1;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin6_;
	NIM_BOOL filterOnlyFirst_1;
	NIM_BOOL maybeWrongSpace_1;
	NI skipped_1;
NIM_BOOL oldNimErrFin138_;
NIM_BOOL oldNimErrFin173_;
NIM_BOOL oldNimErrFin284_;
NIM_BOOL oldNimErrFin257_;
NIM_BOOL oldNimErrFin50_;
	NimStringV2 T336_;
	tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q colontmp__3;
	NimStringV2 blitTmp_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ));
	proto_1.len = 0; proto_1.p = NIM_NIL;
	candidatesAll_1.len = 0; candidatesAll_1.p = NIM_NIL;
	candidates_1.len = 0; candidates_1.p = NIM_NIL;
	colontmp_.len = 0; colontmp_.p = NIM_NIL;
	prefer_1 = ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0);
	proto_1 = describeArgs__sigmatch_u673(c_p0, n_p1, ((NI)1), ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw* err_1;
		NI i_1;
		NI L_1;
		NI T3_;
		err_1 = (tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw*)0;
		i_1 = ((NI)0);
		T3_ = errors_p2.len;
		L_1 = T3_;
		{
			while (1) {
				NimStringV2 errProto_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
				if (!(i_1 < L_1)) goto LA5;
				errProto_1.len = 0; errProto_1.p = NIM_NIL;
				n_2 = NIM_NIL;
				err_1 = (&errors_p2.p->data[i_1]);
				errProto_1 = TM__rF9caJawfOjYTjsgLVUSGFA_821;
				eqcopy___ast_u3255(&n_2, (*(*(*err_1).sym).typ).n);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				{
					NI i_2;
					NI colontmp__2;
					NI i_3;
					i_2 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = len__ast_u3190(n_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					i_3 = ((NI)1);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
							if (!(i_3 < colontmp__2)) goto LA9;
							p_1 = NIM_NIL;
							i_2 = i_3;
							eqcopy___ast_u3255(&p_1, (*n_2)._kind_6.sons.p->data[i_2]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							{
								NimStringV2 colontmpD_;
								if (!((*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA13_;
								colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
								colontmpD_ = typeToString__types_u54((*(*p_1)._kind_4.sym).typ, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
								if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
								prepareAdd((&errProto_1), colontmpD_.len + 0);
appendString((&errProto_1), colontmpD_);
								{
									NI T18_;
									T18_ = (NI)0;
									T18_ = len__ast_u3190(n_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
									if (!!((i_2 == (NI)(T18_ - ((NI)1))))) goto LA19_;
									prepareAdd((&errProto_1), 2);
appendString((&errProto_1), TM__rF9caJawfOjYTjsgLVUSGFA_822);
								}
LA19_: ;
								{
									LA15_:;
								}
								{
									eqdestroy___system_u2691(colontmpD_);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							}
LA13_: ;
							i_3 += ((NI)1);
							{
								LA10_:;
							}
							{
								oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(p_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								*nimErr_ = oldNimErrFin10_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						} LA9: ;
					}
				}
				{
					if (!eqStrings(errProto_1, proto_1)) goto LA27_;
					prefer_1 = ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)3);
					eqdestroy___ast_u3252(n_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___system_u2691(errProto_1);
					goto LA2;
				}
LA27_: ;
				i_1 += ((NI)1);
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(n_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___system_u2691(errProto_1);
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	} LA2: ;
	filterOnlyFirst_1 = NIM_FALSE;
	{
		NIM_BOOL T33_;
		T33_ = (NIM_BOOL)0;
		T33_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)37)))&63U)))!=0));
		if (!(T33_)) goto LA34_;
		T33_ = (((*(*(*c_p0).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)3)))&7U)))!=0);
LA34_: ;
		if (!T33_) goto LA35_;
		{
			tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw* err_2;
			NI i_4;
			NI L_2;
			NI T38_;
			err_2 = (tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw*)0;
			i_4 = ((NI)0);
			T38_ = errors_p2.len;
			L_2 = T38_;
			{
				while (1) {
					if (!(i_4 < L_2)) goto LA40;
					err_2 = (&errors_p2.p->data[i_4]);
					{
						if (!(((NI)1) < (*err_2).firstMismatch.arg)) goto LA43_;
						filterOnlyFirst_1 = NIM_TRUE;
						goto LA37;
					}
LA43_: ;
					i_4 += ((NI)1);
				} LA40: ;
			}
		} LA37: ;
	}
LA35_: ;
	maybeWrongSpace_1 = NIM_FALSE;
	candidatesAll_1.len = 0; candidatesAll_1.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
	candidates_1 = TM__rF9caJawfOjYTjsgLVUSGFA_823;
	skipped_1 = ((NI)0);
	{
		tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw* err_3;
		NI i_5;
		NI L_3;
		NI T46_;
		err_3 = (tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw*)0;
		i_5 = ((NI)0);
		T46_ = errors_p2.len;
		L_3 = T46_;
		{
			while (1) {
				if (!(i_5 < L_3)) goto LA48;
				err_3 = (&errors_p2.p->data[i_5]);
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* argList_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nArg_1;
					NimStringV2 nameParam_1;
					NimStringV2 colontmpD__2;
					NIM_BOOL isGenericMismatch_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T81_;
					NimStringV2 T88_;
					argList_1 = NIM_NIL;
					nArg_1 = NIM_NIL;
					nameParam_1.len = 0; nameParam_1.p = NIM_NIL;
					setLengthStrV2((&candidates_1), ((NI)0));
					{
						NIM_BOOL T53_;
						T53_ = (NIM_BOOL)0;
						T53_ = filterOnlyFirst_1;
						if (!(T53_)) goto LA54_;
						T53_ = ((*err_3).firstMismatch.arg == ((NI)1));
LA54_: ;
						if (!T53_) goto LA55_;
						skipped_1 += ((NI)1);
						eqdestroy___system_u2691(nameParam_1);
						eqdestroy___ast_u3252(nArg_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(argList_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA49;
					}
LA55_: ;
					{
						NimStringV2 colontmpD__3;
						NimStringV2 colontmpD__4;
						NimStringV2 T61_;
						if (!!((((*(*(*c_p0).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)3)))&7U)))!=0))) goto LA59_;
						colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
						colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
						T61_.len = 0; T61_.p = NIM_NIL;
						colontmpD__3 = dollar___systemZdollars_u9((*err_3).firstMismatch.arg);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						T61_ = rawNewString(colontmpD__3.len + 3);
appendString((&T61_), TM__rF9caJawfOjYTjsgLVUSGFA_825);
appendString((&T61_), colontmpD__3);
appendString((&T61_), TM__rF9caJawfOjYTjsgLVUSGFA_827);
						colontmpD__4 = T61_;
						prepareAdd((&candidates_1), colontmpD__4.len + 0);
appendString((&candidates_1), colontmpD__4);
						eqdestroy___system_u2691(colontmpD__4);
						eqdestroy___system_u2691(colontmpD__3);
					}
LA59_: ;
					{
						NIM_BOOL T64_;
						NimStringV2 colontmpD__5;
						T64_ = (NIM_BOOL)0;
						T64_ = ((*(*err_3).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*err_3).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*err_3).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*err_3).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*err_3).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*err_3).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*err_3).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
						if (!(T64_)) goto LA65_;
						T64_ = !(((*(*err_3).sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA65_: ;
						if (!T64_) goto LA66_;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						colontmpD__5 = renderTree__renderer_u59((*(*err_3).sym).ast, 22);
						if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
						prepareAdd((&candidates_1), colontmpD__5.len + 0);
appendString((&candidates_1), colontmpD__5);
						{
							LA68_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__5);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					goto LA62_;
LA66_: ;
					{
						NimStringV2 colontmpD__6;
						colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
						colontmpD__6 = getProcHeader__types_u219((*(*c_p0).graph).config, (*err_3).sym, prefer_1, NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
						prepareAdd((&candidates_1), colontmpD__6.len + 0);
appendString((&candidates_1), colontmpD__6);
						{
							LA72_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__6);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
LA62_: ;
					addDeclaredLocMaybe__astmsgs_u20((&candidates_1), (*(*c_p0).graph).config, (*err_3).sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_828);
					isGenericMismatch_1 = ((*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)8) || (*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)10) || (*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)9));
					eqcopy___ast_u3255(&argList_1, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					{
						NIM_BOOL T77_;
						T77_ = (NIM_BOOL)0;
						T77_ = isGenericMismatch_1;
						if (!(T77_)) goto LA78_;
						T77_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
LA78_: ;
						if (!T77_) goto LA79_;
						eqcopy___ast_u3255(&argList_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
LA79_: ;
					T81_ = NIM_NIL;
					{
						NI T84_;
						T84_ = (NI)0;
						T84_ = len__ast_u3190(argList_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						if (!((*err_3).firstMismatch.arg < T84_)) goto LA85_;
						eqcopy___ast_u3255(&nArg_1, (*argList_1)._kind_6.sons.p->data[(*err_3).firstMismatch.arg]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					goto LA82_;
LA85_: ;
					{
						nArg_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
					}
LA82_: ;
					T88_.len = 0; T88_.p = NIM_NIL;
					{
						if (!!(((*err_3).firstMismatch.formal == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA91_;
						eqcopy___system_u2694((&nameParam_1), (*(*(*err_3).firstMismatch.formal).name).s);
					}
					goto LA89_;
LA91_: ;
					{
						nameParam_1 = TM__rF9caJawfOjYTjsgLVUSGFA_829;
					}
LA89_: ;
					{
						NI T96_;
						T96_ = (NI)0;
						T96_ = len__ast_u3190(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						if (!(((NI)1) < T96_)) goto LA97_;
						{
							if (!!((((*(*(*c_p0).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)3)))&7U)))!=0))) goto LA101_;
							switch ((*err_3).firstMismatch.kind) {
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)2):
							{
								{
									if (!(nArg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA106_;
									prepareAdd((&candidates_1), 25);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_831);
								}
								goto LA104_;
LA106_: ;
								{
									NimStringV2 colontmpD__7;
									NimStringV2 colontmpD__8;
									NimStringV2 T110_;
									colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
									colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
									T110_.len = 0; T110_.p = NIM_NIL;
									colontmpD__7 = dollar___renderer_u2166((*nArg_1)._kind_6.sons.p->data[((NI)0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
									T110_ = rawNewString(colontmpD__7.len + 27);
appendString((&T110_), TM__rF9caJawfOjYTjsgLVUSGFA_833);
appendString((&T110_), colontmpD__7);
									colontmpD__8 = T110_;
									prepareAdd((&candidates_1), colontmpD__8.len + 0);
appendString((&candidates_1), colontmpD__8);
									{
										LA109_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__8);
										eqdestroy___system_u2691(colontmpD__7);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
								}
LA104_: ;
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_834);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)1):
							{
								NimStringV2 colontmpD__9;
								NimStringV2 colontmpD__10;
								NimStringV2 T115_;
								colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
								colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
								T115_.len = 0; T115_.p = NIM_NIL;
								colontmpD__9 = dollar___renderer_u2166((*nArg_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA114_;
								T115_ = rawNewString(colontmpD__9.len + 32);
appendString((&T115_), TM__rF9caJawfOjYTjsgLVUSGFA_836);
appendString((&T115_), colontmpD__9);
								colontmpD__10 = T115_;
								prepareAdd((&candidates_1), colontmpD__10.len + 0);
appendString((&candidates_1), colontmpD__10);
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_837);
								{
									LA114_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__10);
									eqdestroy___system_u2691(colontmpD__9);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)7):
							{
								prepareAdd((&candidates_1), 51);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_839);
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_840);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)6):
							{
								prepareAdd((&candidates_1), 22);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_842);
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_843);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)5):
							{
								NimStringV2 colontmpD__11;
								NimStringV2 T121_;
								colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
								T121_.len = 0; T121_.p = NIM_NIL;
								T121_ = rawNewString(nameParam_1.len + 21);
appendString((&T121_), TM__rF9caJawfOjYTjsgLVUSGFA_845);
appendString((&T121_), nameParam_1);
								colontmpD__11 = T121_;
								prepareAdd((&candidates_1), colontmpD__11.len + 0);
appendString((&candidates_1), colontmpD__11);
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_846);
								eqdestroy___system_u2691(colontmpD__11);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)10):
							{
								prepareAdd((&candidates_1), 27);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_848);
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_849);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)9):
							{
								NimStringV2 colontmpD__12;
								NimStringV2 T124_;
								colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
								T124_.len = 0; T124_.p = NIM_NIL;
								T124_ = rawNewString(nameParam_1.len + 29);
appendString((&T124_), TM__rF9caJawfOjYTjsgLVUSGFA_851);
appendString((&T124_), nameParam_1);
								colontmpD__12 = T124_;
								prepareAdd((&candidates_1), colontmpD__12.len + 0);
appendString((&candidates_1), colontmpD__12);
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_852);
								eqdestroy___system_u2691(colontmpD__12);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)4):
							{
								NimStringV2 colontmpD__13;
								colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
								{
									if (!!(!((nArg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))))) goto LA129_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_854);
									if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
								}
LA129_: ;
								{
									if (!!(!(((*err_3).firstMismatch.formal == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))))) goto LA133_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_856);
									if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
								}
LA133_: ;
								prepareAdd((&candidates_1), 14);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_858);
								colontmpD__13 = renderNotLValue__semdata_u7314(nArg_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
								prepareAdd((&candidates_1), colontmpD__13.len + 0);
appendString((&candidates_1), colontmpD__13);
								prepareAdd((&candidates_1), 25);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_860);
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_861);
								{
									LA126_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__13);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)3):
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* wanted_1;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* got_1;
								wanted_1 = NIM_NIL;
								got_1 = NIM_NIL;
								{
									if (!!(!((nArg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))))) goto LA141_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_863);
									if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
								}
LA141_: ;
								{
									NimStringV2 colontmpD__14;
									if (!((*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA145_;
									colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
									colontmpD__14 = ambiguousIdentifierMsg__lookups_u5104(nArg_1, ((NI)2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
									prepareAdd((&candidates_1), colontmpD__14.len + 0);
appendString((&candidates_1), colontmpD__14);
									{
										LA147_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__14);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
								}
LA145_: ;
								eqcopy___ast_u3381(&wanted_1, (*(*err_3).firstMismatch.formal).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
								{
									if (!!(!(((*err_3).firstMismatch.formal == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))))) goto LA152_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_865);
									if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
								}
LA152_: ;
								{
									if (!!(!((wanted_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))))) goto LA156_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_867);
									if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
								}
LA156_: ;
								eqcopy___ast_u3381(&got_1, (*nArg_1).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
								{
									NIM_BOOL T160_;
									NIM_BOOL T161_;
									NimStringV2 colontmpD__15;
									tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T167_;
									T160_ = (NIM_BOOL)0;
									T161_ = (NIM_BOOL)0;
									T161_ = !((got_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
									if (!(T161_)) goto LA162_;
									T161_ = ((*got_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA162_: ;
									T160_ = T161_;
									if (!(T160_)) goto LA163_;
									T160_ = ((*wanted_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA163_: ;
									if (!T160_) goto LA164_;
									colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
									prepareAdd((&candidates_1), 14);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_868);
									T167_ = 0;
									colontmpD__15 = renderTree__renderer_u59(nArg_1, T167_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
									prepareAdd((&candidates_1), colontmpD__15.len + 0);
appendString((&candidates_1), colontmpD__15);
									prepareAdd((&candidates_1), 14);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_870);
									addTypeDeclVerboseMaybe__types_u57((&candidates_1), (*(*c_p0).graph).config, got_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
									addPragmaAndCallConvMismatch__types_u3895((&candidates_1), wanted_1, got_1, (*(*c_p0).graph).config);
									if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
									effectProblem__sem_u2162(wanted_1, got_1, (&candidates_1), c_p0);
									if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
									prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_887);
									{
										LA166_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__15);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
								}
LA164_: ;
								{
									LA138_:;
								}
								{
									oldNimErrFin138_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(got_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
									eqdestroy___ast_u3378(wanted_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
									*nimErr_ = oldNimErrFin138_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)8):
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* wanted_2;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* got_2;
								NimStringV2 colontmpD__16;
								NI pos_1;
								tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T204_;
								arg_1 = NIM_NIL;
								wanted_2 = NIM_NIL;
								got_2 = NIM_NIL;
								colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
								pos_1 = (*err_3).firstMismatch.arg;
								{
									NIM_BOOL T176_;
									NI T178_;
									T176_ = (NIM_BOOL)0;
									T176_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
									if (!(T176_)) goto LA177_;
									T178_ = (NI)0;
									T178_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
									T176_ = (pos_1 < T178_);
LA177_: ;
									if (!!(T176_)) goto LA179_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_889);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA179_: ;
								eqcopy___ast_u3255(&arg_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[pos_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								{
									if (!!(!((arg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))))) goto LA183_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_891);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA183_: ;
								eqcopy___ast_u3381(&wanted_2, (*(*err_3).firstMismatch.formal).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								{
									NIM_BOOL T187_;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T191_;
									T187_ = (NIM_BOOL)0;
									T187_ = ((*wanted_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
									if (!(T187_)) goto LA188_;
									T187_ = genericParamHasConstraints__ast_u5654(wanted_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
LA188_: ;
									if (!T187_) goto LA189_;
									T191_ = NIM_NIL;
									T191_ = genericConstraint__ast_u5678(wanted_2);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T191_); goto LA173_;}
									eqsink___ast_u3387(&wanted_2, T191_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA189_: ;
								got_2 = skipTypes__ast_u5379((*arg_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
								if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								{
									if (!!(!(((*err_3).firstMismatch.formal == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))))) goto LA194_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_893);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA194_: ;
								{
									if (!!(!((wanted_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))))) goto LA198_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_895);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA198_: ;
								{
									if (!!(!((got_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))))) goto LA202_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_897);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA202_: ;
								prepareAdd((&candidates_1), 39);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_899);
								addTypeDeclVerboseMaybe__types_u57((&candidates_1), (*(*c_p0).graph).config, wanted_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								prepareAdd((&candidates_1), 10);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_901);
								T204_ = 0;
								colontmpD__16 = renderTree__renderer_u59(arg_1, T204_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								prepareAdd((&candidates_1), colontmpD__16.len + 0);
appendString((&candidates_1), colontmpD__16);
								prepareAdd((&candidates_1), 11);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_903);
								addTypeDeclVerboseMaybe__types_u57((&candidates_1), (*(*c_p0).graph).config, got_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								{
									NimStringV2 colontmpD__17;
									if (!((*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA207_;
									colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
									prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_904);
									colontmpD__17 = ambiguousIdentifierMsg__lookups_u5104(nArg_1, ((NI)2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA209_;
									prepareAdd((&candidates_1), colontmpD__17.len + 0);
appendString((&candidates_1), colontmpD__17);
									{
										LA209_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__17);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA207_: ;
								{
									NIM_BOOL T214_;
									NIM_BOOL T215_;
									T214_ = (NIM_BOOL)0;
									T215_ = (NIM_BOOL)0;
									T215_ = !((got_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
									if (!(T215_)) goto LA216_;
									T215_ = ((*got_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA216_: ;
									T214_ = T215_;
									if (!(T214_)) goto LA217_;
									T214_ = ((*wanted_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA217_: ;
									if (!T214_) goto LA218_;
									addPragmaAndCallConvMismatch__types_u3895((&candidates_1), wanted_2, got_2, (*(*c_p0).graph).config);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA218_: ;
								{
									if (!!((got_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA222_;
									effectProblem__sem_u2162(wanted_2, got_2, (&candidates_1), c_p0);
									if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
								}
LA222_: ;
								prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_905);
								{
									LA173_:;
								}
								{
									oldNimErrFin173_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___system_u2691(colontmpD__16);
									eqdestroy___ast_u3378(got_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
									eqdestroy___ast_u3378(wanted_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
									eqdestroy___ast_u3252(arg_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
									*nimErr_ = oldNimErrFin173_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)0):
							{
							}
							break;
							default: __builtin_unreachable();
							}
						}
						goto LA99_;
LA101_: ;
						{
							NimStringV2 colontmpD__18;
							NimStringV2 colontmpD__19;
							NimStringV2 T229_;
							colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
							colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
							T229_.len = 0; T229_.p = NIM_NIL;
							colontmpD__18 = dollar___systemZdollars_u9((*err_3).firstMismatch.arg);
							if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
							T229_ = rawNewString(colontmpD__18.len + 35);
appendString((&T229_), TM__rF9caJawfOjYTjsgLVUSGFA_907);
appendString((&T229_), colontmpD__18);
							colontmpD__19 = T229_;
							prepareAdd((&candidates_1), colontmpD__19.len + 0);
appendString((&candidates_1), colontmpD__19);
							{
								if (!((*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)8) || (*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)10) || (*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)9))) goto LA232_;
								prepareAdd((&candidates_1), 22);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_909);
							}
LA232_: ;
							switch ((*err_3).firstMismatch.kind) {
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)2):
							{
								{
									if (!(nArg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA237_;
									prepareAdd((&candidates_1), 26);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_911);
								}
								goto LA235_;
LA237_: ;
								{
									NimStringV2 colontmpD__20;
									NimStringV2 colontmpD__21;
									NimStringV2 T241_;
									colontmpD__20.len = 0; colontmpD__20.p = NIM_NIL;
									colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
									T241_.len = 0; T241_.p = NIM_NIL;
									colontmpD__20 = dollar___renderer_u2166((*nArg_1)._kind_6.sons.p->data[((NI)0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
									T241_ = rawNewString(colontmpD__20.len + 28);
appendString((&T241_), TM__rF9caJawfOjYTjsgLVUSGFA_913);
appendString((&T241_), colontmpD__20);
									colontmpD__21 = T241_;
									prepareAdd((&candidates_1), colontmpD__21.len + 0);
appendString((&candidates_1), colontmpD__21);
									{
										LA240_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__21);
										eqdestroy___system_u2691(colontmpD__20);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
								}
LA235_: ;
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)1):
							{
								NimStringV2 colontmpD__22;
								NimStringV2 colontmpD__23;
								NimStringV2 T246_;
								colontmpD__22.len = 0; colontmpD__22.p = NIM_NIL;
								colontmpD__23.len = 0; colontmpD__23.p = NIM_NIL;
								T246_.len = 0; T246_.p = NIM_NIL;
								colontmpD__22 = dollar___renderer_u2166((*nArg_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA245_;
								T246_ = rawNewString(colontmpD__22.len + 33);
appendString((&T246_), TM__rF9caJawfOjYTjsgLVUSGFA_915);
appendString((&T246_), colontmpD__22);
								colontmpD__23 = T246_;
								prepareAdd((&candidates_1), colontmpD__23.len + 0);
appendString((&candidates_1), colontmpD__23);
								{
									LA245_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__23);
									eqdestroy___system_u2691(colontmpD__22);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)7):
							{
								prepareAdd((&candidates_1), 52);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_917);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)6):
							{
								prepareAdd((&candidates_1), 23);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_919);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)5):
							{
								NimStringV2 colontmpD__24;
								NimStringV2 T252_;
								colontmpD__24.len = 0; colontmpD__24.p = NIM_NIL;
								T252_.len = 0; T252_.p = NIM_NIL;
								T252_ = rawNewString(nameParam_1.len + 22);
appendString((&T252_), TM__rF9caJawfOjYTjsgLVUSGFA_921);
appendString((&T252_), nameParam_1);
								colontmpD__24 = T252_;
								prepareAdd((&candidates_1), colontmpD__24.len + 0);
appendString((&candidates_1), colontmpD__24);
								eqdestroy___system_u2691(colontmpD__24);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)10):
							{
								prepareAdd((&candidates_1), 28);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_923);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)9):
							{
								NimStringV2 colontmpD__25;
								NimStringV2 T255_;
								colontmpD__25.len = 0; colontmpD__25.p = NIM_NIL;
								T255_.len = 0; T255_.p = NIM_NIL;
								T255_ = rawNewString(nameParam_1.len + 30);
appendString((&T255_), TM__rF9caJawfOjYTjsgLVUSGFA_925);
appendString((&T255_), nameParam_1);
								colontmpD__25 = T255_;
								prepareAdd((&candidates_1), colontmpD__25.len + 0);
appendString((&candidates_1), colontmpD__25);
								eqdestroy___system_u2691(colontmpD__25);
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)3):
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)8):
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)4):
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* wanted_3;
								NimStringV2 colontmpD__26;
								NimStringV2 T275_;
								wanted_3 = NIM_NIL;
								colontmpD__26.len = 0; colontmpD__26.p = NIM_NIL;
								{
									if (!!(!((nArg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))))) goto LA260_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_927);
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								}
LA260_: ;
								eqcopy___ast_u3381(&wanted_3, (*(*err_3).firstMismatch.formal).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								{
									NIM_BOOL T264_;
									NIM_BOOL T265_;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T270_;
									T264_ = (NIM_BOOL)0;
									T265_ = (NIM_BOOL)0;
									T265_ = isGenericMismatch_1;
									if (!(T265_)) goto LA266_;
									T265_ = ((*wanted_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
LA266_: ;
									T264_ = T265_;
									if (!(T264_)) goto LA267_;
									T264_ = genericParamHasConstraints__ast_u5654(wanted_3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
LA267_: ;
									if (!T264_) goto LA268_;
									T270_ = NIM_NIL;
									T270_ = genericConstraint__ast_u5678(wanted_3);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T270_); goto LA257_;}
									eqsink___ast_u3387(&wanted_3, T270_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								}
LA268_: ;
								{
									if (!!(!(((*err_3).firstMismatch.formal == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))))) goto LA273_;
									failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_929);
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								}
LA273_: ;
								T275_.len = 0; T275_.p = NIM_NIL;
								T275_ = rawNewString(nameParam_1.len + 23);
appendString((&T275_), TM__rF9caJawfOjYTjsgLVUSGFA_931);
appendString((&T275_), nameParam_1);
appendString((&T275_), TM__rF9caJawfOjYTjsgLVUSGFA_933);
								colontmpD__26 = T275_;
								prepareAdd((&candidates_1), colontmpD__26.len + 0);
appendString((&candidates_1), colontmpD__26);
								addTypeDeclVerboseMaybe__types_u57((&candidates_1), (*(*c_p0).graph).config, wanted_3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								prepareAdd((&candidates_1), 19);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_935);
								{
									NimStringV2 colontmpD__27;
									if (!((*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)4))) goto LA278_;
									colontmpD__27.len = 0; colontmpD__27.p = NIM_NIL;
									colontmpD__27 = renderNotLValue__semdata_u7314(nArg_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
									prepareAdd((&candidates_1), colontmpD__27.len + 0);
appendString((&candidates_1), colontmpD__27);
									prepareAdd((&candidates_1), 25);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_936);
									{
										LA280_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__27);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								}
								goto LA276_;
LA278_: ;
								{
									NimStringV2 colontmpD__28;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* got_3;
									tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T285_;
									colontmpD__28.len = 0; colontmpD__28.p = NIM_NIL;
									got_3 = NIM_NIL;
									T285_ = 0;
									colontmpD__28 = renderTree__renderer_u59(nArg_1, T285_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
									prepareAdd((&candidates_1), colontmpD__28.len + 0);
appendString((&candidates_1), colontmpD__28);
									prepareAdd((&candidates_1), 14);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_937);
									eqcopy___ast_u3381(&got_3, (*nArg_1).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
									{
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T290_;
										if (!isGenericMismatch_1) goto LA288_;
										T290_ = NIM_NIL;
										T290_ = skipTypes__ast_u5379(got_3, TM__rF9caJawfOjYTjsgLVUSGFA_46);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T290_); goto LA284_;}
										eqsink___ast_u3387(&got_3, T290_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
									}
LA288_: ;
									addTypeDeclVerboseMaybe__types_u57((&candidates_1), (*(*c_p0).graph).config, got_3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
									{
										NimStringV2 colontmpD__29;
										if (!((*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA293_;
										colontmpD__29.len = 0; colontmpD__29.p = NIM_NIL;
										prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_938);
										colontmpD__29 = ambiguousIdentifierMsg__lookups_u5104(nArg_1, ((NI)2));
										if (NIM_UNLIKELY(*nimErr_)) goto LA295_;
										prepareAdd((&candidates_1), colontmpD__29.len + 0);
appendString((&candidates_1), colontmpD__29);
										{
											LA295_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__29);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
									}
LA293_: ;
									{
										if (!!(!((wanted_3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))))) goto LA300_;
										failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_940);
										if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
									}
LA300_: ;
									{
										if (!!((got_3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA304_;
										{
											NIM_BOOL T308_;
											T308_ = (NIM_BOOL)0;
											T308_ = ((*got_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
											if (!(T308_)) goto LA309_;
											T308_ = ((*wanted_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA309_: ;
											if (!T308_) goto LA310_;
											addPragmaAndCallConvMismatch__types_u3895((&candidates_1), wanted_3, got_3, (*(*c_p0).graph).config);
											if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
										}
LA310_: ;
										effectProblem__sem_u2162(wanted_3, got_3, (&candidates_1), c_p0);
										if (NIM_UNLIKELY(*nimErr_)) goto LA284_;
									}
LA304_: ;
									{
										LA284_:;
									}
									{
										oldNimErrFin284_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3378(got_3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
										eqdestroy___system_u2691(colontmpD__28);
										*nimErr_ = oldNimErrFin284_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
								}
LA276_: ;
								{
									LA257_:;
								}
								{
									oldNimErrFin257_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___system_u2691(colontmpD__26);
									eqdestroy___ast_u3378(wanted_3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
									*nimErr_ = oldNimErrFin257_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA228_;
							}
							break;
							case ((tyEnum_MismatchKind__tCBkaULCeQ37WxmTYkr1fA)0):
							{
							}
							break;
							default: __builtin_unreachable();
							}
							prepareAdd((&candidates_1), 1);
appendString((&candidates_1), TM__rF9caJawfOjYTjsgLVUSGFA_941);
							{
								LA228_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__19);
								eqdestroy___system_u2691(colontmpD__18);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						}
LA99_: ;
						{
							NIM_BOOL T321_;
							NIM_BOOL T322_;
							NIM_BOOL T323_;
							T321_ = (NIM_BOOL)0;
							T322_ = (NIM_BOOL)0;
							T323_ = (NIM_BOOL)0;
							T323_ = ((*err_3).firstMismatch.arg == ((NI)1));
							if (!(T323_)) goto LA324_;
							T323_ = !((nArg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA324_: ;
							T322_ = T323_;
							if (!(T322_)) goto LA325_;
							T322_ = ((*nArg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160));
LA325_: ;
							T321_ = T322_;
							if (!(T321_)) goto LA326_;
							T321_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26));
LA326_: ;
							if (!T321_) goto LA327_;
							maybeWrongSpace_1 = NIM_TRUE;
						}
LA327_: ;
					}
LA97_: ;
					{
						NimStringV2* diag_1;
						NI i_6;
						NI L_4;
						NI T330_;
						diag_1 = (NimStringV2*)0;
						i_6 = ((NI)0);
						T330_ = (*err_3).diagnostics.len;
						L_4 = T330_;
						{
							while (1) {
								NimStringV2 colontmpD__30;
								NimStringV2 T333_;
								if (!(i_6 < L_4)) goto LA332;
								colontmpD__30.len = 0; colontmpD__30.p = NIM_NIL;
								diag_1 = (&(*err_3).diagnostics.p->data[i_6]);
								T333_.len = 0; T333_.p = NIM_NIL;
								T333_ = rawNewString((*diag_1).len + 1);
appendString((&T333_), (*diag_1));
appendString((&T333_), TM__rF9caJawfOjYTjsgLVUSGFA_942);
								colontmpD__30 = T333_;
								prepareAdd((&candidates_1), colontmpD__30.len + 0);
appendString((&candidates_1), colontmpD__30);
								i_6 += ((NI)1);
								eqdestroy___system_u2691(colontmpD__30);
							} LA332: ;
						}
					}
					colontmpD__2 = eqdup___system_u2697(candidates_1);
					add__stdZenumutils_u71((&candidatesAll_1), colontmpD__2);
					{
						LA50_:;
					}
					{
						oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___system_u2691(nameParam_1);
						eqdestroy___ast_u3252(nArg_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(argList_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin50_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA49: ;
				i_5 += ((NI)1);
			} LA48: ;
		}
	}
	sort__sem_u2516(((candidatesAll_1).p) ? (candidatesAll_1.p->data) : NIM_NIL, candidatesAll_1.len, ((tyEnum_SortOrder__wt7l6Gbd8C9c61b6I621QeA)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T336_.len = 0; T336_.p = NIM_NIL;
	T336_ = nsuJoinSep(((candidatesAll_1).p) ? (candidatesAll_1.p->data) : NIM_NIL, candidatesAll_1.len, TM__rF9caJawfOjYTjsgLVUSGFA_943);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T336_); goto LA1_;}
	eqsink___system_u2700((&candidates_1), T336_);
	{
		NimStringV2 colontmpD__31;
		NimStringV2 colontmpD__32;
		NimStringV2 T341_;
		if (!(((NI)0) < skipped_1)) goto LA339_;
		colontmpD__31.len = 0; colontmpD__31.p = NIM_NIL;
		colontmpD__32.len = 0; colontmpD__32.p = NIM_NIL;
		T341_.len = 0; T341_.p = NIM_NIL;
		colontmpD__31 = dollar___systemZdollars_u9(skipped_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T341_ = rawNewString(colontmpD__31.len + 97);
appendString((&T341_), colontmpD__31);
appendString((&T341_), TM__rF9caJawfOjYTjsgLVUSGFA_945);
		colontmpD__32 = T341_;
		prepareAdd((&candidates_1), colontmpD__32.len + 0);
appendString((&candidates_1), colontmpD__32);
		eqdestroy___system_u2691(colontmpD__32);
		eqdestroy___system_u2691(colontmpD__31);
	}
LA339_: ;
	{
		NimStringV2 colontmpD__33;
		NimStringV2 colontmpD__34;
		NimStringV2 T347_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T348_;
		if (!maybeWrongSpace_1) goto LA344_;
		colontmpD__33.len = 0; colontmpD__33.p = NIM_NIL;
		colontmpD__34.len = 0; colontmpD__34.p = NIM_NIL;
		T347_.len = 0; T347_.p = NIM_NIL;
		T348_ = 0;
		colontmpD__33 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)0)], T348_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
		T347_ = rawNewString(colontmpD__33.len + 40);
appendString((&T347_), TM__rF9caJawfOjYTjsgLVUSGFA_947);
appendString((&T347_), colontmpD__33);
appendString((&T347_), TM__rF9caJawfOjYTjsgLVUSGFA_949);
		colontmpD__34 = T347_;
		prepareAdd((&candidates_1), colontmpD__34.len + 0);
appendString((&candidates_1), colontmpD__34);
		{
			LA346_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__34);
			eqdestroy___system_u2691(colontmpD__33);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA344_: ;
	colontmp__3 = prefer_1;
	colontmp_ = candidates_1;
	eqwasMoved___system_u2688((&candidates_1));
	result.Field0 = colontmp__3;
	blitTmp_1 = colontmp_;
	eqwasMoved___system_u2688((&colontmp_));
	result.Field1 = blitTmp_1;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmp_);
		eqdestroy___system_u2691(candidates_1);
		eqdestroy___system_u5506(candidatesAll_1);
		eqdestroy___system_u2691(proto_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u2883)(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ dest_p0) {
	eqdestroy___system_u2691(dest_p0.Field1);
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, describeParamList__sem_u2908)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI startIdx_p2, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p3) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	colontmpD_ = dollar___renderer_u2166(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = rawNewString(colontmpD_.len + 12);
appendString((&T2_), TM__rF9caJawfOjYTjsgLVUSGFA_960);
appendString((&T2_), colontmpD_);
	result = T2_;
	{
		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 = startIdx_p2;
		{
			while (1) {
				NimStringV2 colontmpD__2;
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				NimStringV2 T7_;
				tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T8_;
				if (!(i_2 < colontmp_)) goto LA5;
				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;
				i_1 = i_2;
				T7_.len = 0; T7_.p = NIM_NIL;
				colontmpD__2 = dollar___systemZdollars_u9(i_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T8_ = 0;
				colontmpD__3 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[i_1], T8_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				T7_ = rawNewString(colontmpD__2.len + colontmpD__3.len + 8);
appendString((&T7_), TM__rF9caJawfOjYTjsgLVUSGFA_962);
appendString((&T7_), colontmpD__2);
appendString((&T7_), TM__rF9caJawfOjYTjsgLVUSGFA_963);
appendString((&T7_), colontmpD__3);
appendString((&T7_), TM__rF9caJawfOjYTjsgLVUSGFA_964);
				colontmpD__4 = T7_;
				prepareAdd((&result), colontmpD__4.len + 0);
appendString((&result), colontmpD__4);
				colontmpD__5 = describeArg__sigmatch_u618(c_p0, n_p1, i_1, startIdx_p2, prefer_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				prepareAdd((&result), colontmpD__5.len + 0);
appendString((&result), colontmpD__5);
				i_2 += ((NI)1);
				{
					LA6_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(colontmpD__3);
					eqdestroy___system_u2691(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	prepareAdd((&result), 1);
appendString((&result), TM__rF9caJawfOjYTjsgLVUSGFA_965);
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, notFoundError__sem_u2926)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_p2) {
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw T3_;
		T3_ = 0;
		if (!((*(*(*c_p0).graph).config).m.errorOutputs == T3_)) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_807, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_808, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw T10_;
		NimStringV2 ident_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
		NimStringV2 typeHint_1;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T23_;
		T8_ = (NIM_BOOL)0;
		T8_ = !((((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)11)))&31U)))!=0));
		if (!(T8_)) goto LA9_;
		T10_ = 0;
		T8_ = !(((1536 & (*n_p1).flags) == T10_));
LA9_: ;
		if (!T8_) goto LA11_;
		ident_1.len = 0; ident_1.p = NIM_NIL;
		colontmpD_ = NIM_NIL;
		sym_1 = NIM_NIL;
		typeHint_1.len = 0; typeHint_1.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		eqcopy___system_u2694((&ident_1), (*colontmpD_).s);
		sym_1 = typSym__astmsgs_u5((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		typeHint_1 = TM__rF9caJawfOjYTjsgLVUSGFA_809;
		{
			if (!(sym_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA16_;
		}
		goto LA14_;
LA16_: ;
		{
			NimStringV2 colontmpD__4;
			NimStringV2 T20_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			T20_.len = 0; T20_.p = NIM_NIL;
			colontmpD__4 = getProcHeader__types_u219((*(*c_p0).graph).config, sym_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			T20_ = rawNewString(colontmpD__4.len + 10);
appendString((&T20_), TM__rF9caJawfOjYTjsgLVUSGFA_811);
appendString((&T20_), colontmpD__4);
			eqsink___system_u2700((&typeHint_1), T20_);
			{
				LA19_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
LA14_: ;
		T23_.len = 0; T23_.p = NIM_NIL;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_813, ident_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		T23_ = rawNewString(colontmpD__2.len + typeHint_1.len + 0);
appendString((&T23_), colontmpD__2);
appendString((&T23_), typeHint_1);
		colontmpD__3 = T23_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_814, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(typeHint_1);
		eqdestroy___ast_u4574(sym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(ident_1);
		goto BeforeRet_;
		{
			LA13_:;
		}
		{
			oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(typeHint_1);
			eqdestroy___ast_u4574(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(ident_1);
			*nimErr_ = oldNimErrFin13_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA11_: ;
	{
		NI T28_;
		T28_ = errors_p2.len;
		if (!(T28_ == ((NI)0))) goto LA29_;
		{
			NimStringV2 ident_2;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
			NimStringV2 colontmpD__6;
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165))) goto LA33_;
			ident_2.len = 0; ident_2.p = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			colontmpD__5 = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			eqcopy___system_u2694((&ident_2), (*colontmpD__5).s);
			colontmpD__6 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_816, ident_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_817, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			{
				LA35_:;
			}
			{
				oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___system_u2691(colontmpD__6);
				eqdestroy___idents_u155(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___system_u2691(ident_2);
				*nimErr_ = oldNimErrFin35_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA31_;
LA33_: ;
		{
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T40_;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			T40_ = 0;
			colontmpD__7 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)0)], T40_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_819, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_820, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			{
				LA39_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA31_: ;
		goto BeforeRet_;
	}
LA29_: ;
	{
		tyTuple__qxBv5lWlmtPRYLW2Idx1OQ tmpTuple_1;
		NimStringV2 candidatesX60gensym454__1;
		NimStringV2 resultX60gensym454__1;
		NimStringV2 colontmpD__9;
		NimStringV2 colontmpD__10;
		NimStringV2 colontmpD__11;
		tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q preferX60gensym454__1;
		NimStringV2 T53_;
		if (!(((*(*(*c_p0).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)3)))&7U)))!=0)) goto LA45_;
		nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ));
		candidatesX60gensym454__1.len = 0; candidatesX60gensym454__1.p = NIM_NIL;
		resultX60gensym454__1.len = 0; resultX60gensym454__1.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;
		tmpTuple_1 = presentFailedCandidates__sem_u2191(c_p0, n_p1, errors_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
		preferX60gensym454__1 = tmpTuple_1.Field0;
		candidatesX60gensym454__1 = tmpTuple_1.Field1;
		eqwasMoved___system_u2688((&tmpTuple_1.Field1));
		resultX60gensym454__1 = TM__rF9caJawfOjYTjsgLVUSGFA_951;
		colontmpD__9 = describeArgs__sigmatch_u673(c_p0, n_p1, ((NI)1), preferX60gensym454__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
		prepareAdd((&resultX60gensym454__1), colontmpD__9.len + 0);
appendString((&resultX60gensym454__1), colontmpD__9);
		nimAddCharV1((&resultX60gensym454__1), 62);
		{
			NimStringV2 colontmpD__12;
			NimStringV2 T52_;
			if (!!((candidatesX60gensym454__1.len == 0))) goto LA50_;
			colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
			T52_.len = 0; T52_.p = NIM_NIL;
			T52_ = rawNewString(candidatesX60gensym454__1.len + 22);
appendString((&T52_), TM__rF9caJawfOjYTjsgLVUSGFA_953);
appendString((&T52_), candidatesX60gensym454__1);
			colontmpD__12 = T52_;
			prepareAdd((&resultX60gensym454__1), colontmpD__12.len + 0);
appendString((&resultX60gensym454__1), colontmpD__12);
			eqdestroy___system_u2691(colontmpD__12);
		}
LA50_: ;
		T53_.len = 0; T53_.p = NIM_NIL;
		colontmpD__10 = dollar___renderer_u2166(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
		T53_ = rawNewString(resultX60gensym454__1.len + colontmpD__10.len + 13);
appendString((&T53_), resultX60gensym454__1);
appendString((&T53_), TM__rF9caJawfOjYTjsgLVUSGFA_955);
appendString((&T53_), colontmpD__10);
		colontmpD__11 = T53_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_956, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
		{
			LA47_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__11);
			eqdestroy___system_u2691(colontmpD__10);
			eqdestroy___system_u2691(colontmpD__9);
			eqdestroy___system_u2691(resultX60gensym454__1);
			eqdestroy___system_u2691(candidatesX60gensym454__1);
			eqdestroy___sem_u2883(tmpTuple_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA43_;
LA45_: ;
	{
		tyTuple__qxBv5lWlmtPRYLW2Idx1OQ tmpTuple_2;
		NimStringV2 candidates_1;
		NimStringV2 result_1;
		NimStringV2 colontmpD__13;
		tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_1;
		nimZeroMem((void*)(&tmpTuple_2), sizeof(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ));
		candidates_1.len = 0; candidates_1.p = NIM_NIL;
		result_1.len = 0; result_1.p = NIM_NIL;
		colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
		tmpTuple_2 = presentFailedCandidates__sem_u2191(c_p0, n_p1, errors_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		prefer_1 = tmpTuple_2.Field0;
		candidates_1 = tmpTuple_2.Field1;
		eqwasMoved___system_u2688((&tmpTuple_2.Field1));
		result_1 = TM__rF9caJawfOjYTjsgLVUSGFA_958;
		colontmpD__13 = describeParamList__sem_u2908(c_p0, n_p1, ((NI)1), prefer_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		prepareAdd((&result_1), colontmpD__13.len + 0);
appendString((&result_1), colontmpD__13);
		{
			NimStringV2 colontmpD__14;
			NimStringV2 T62_;
			if (!!((candidates_1.len == 0))) goto LA60_;
			colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
			T62_.len = 0; T62_.p = NIM_NIL;
			T62_ = rawNewString(candidates_1.len + 49);
appendString((&T62_), TM__rF9caJawfOjYTjsgLVUSGFA_967);
appendString((&T62_), candidates_1);
			colontmpD__14 = T62_;
			prepareAdd((&result_1), colontmpD__14.len + 0);
appendString((&result_1), colontmpD__14);
			eqdestroy___system_u2691(colontmpD__14);
		}
LA60_: ;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), result_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_968, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		{
			LA57_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__13);
			eqdestroy___system_u2691(result_1);
			eqdestroy___system_u2691(candidates_1);
			eqdestroy___sem_u2883(tmpTuple_2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA43_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, explicitGenericInstError__sem_u4052)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T2_;
	tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	T2_ = getCallLineInfo__sem_u3546(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = 0;
	colontmpD_ = renderTree__renderer_u59(n_p1, T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_969, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	liMessage__msgs_u1227((*(*c_p0).graph).config, T2_, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_970, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, explicitGenericInstantiation__sem_u4105)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, NIM_BOOL doError_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_1;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_2 = NIM_NIL;
	a_1 = NIM_NIL;
	errors_1.len = 0; errors_1.p = NIM_NIL;
	setGenericParams__sem_u4086(c_p0, n_p1, (*(*s_p2).ast)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_2 = s_p2;
	eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	errors_1.len = 0; errors_1.p = (tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content*) newSeqPayload(0, sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw), NIM_ALIGNOF(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
	{
		if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA4_;
		result = explicitGenericSym__sem_u4056(c_p0, n_p1, s_2, (&errors_1), doError_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA8_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T16_;
				if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA12_;
				colontmpD_ = NIM_NIL;
				T15_ = NIM_NIL;
				T15_ = semGenericStmt__sem_u690(c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA14_;}
				eqsink___ast_u3261(&result, T15_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				colontmpD_ = copyTree__ast_u6891(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				T16_ = NIM_NIL;
				T16_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T16_); goto LA14_;}
				eqsink___ast_u3387(&(*result).typField, T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				{
					LA14_:;
				}
				{
					oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin14_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA10_;
LA12_: ;
			{
				if (!doError_p3) goto LA20_;
				notFoundError__sem_u2926(c_p0, n_p1, errors_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA10_;
LA20_: ;
LA10_: ;
		}
LA8_: ;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T25_;
		if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA23_;
		T25_ = getCallLineInfo__sem_u3546(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newNodeI__ast_u4091((*a_1).kind, T25_);
		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(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* candidate_1;
					if (!(i_2 < colontmp_)) goto LA28;
					candidate_1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u4577(&candidate_1, (*(*a_1)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
						if (!((*candidate_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*candidate_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*candidate_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*candidate_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*candidate_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15))) goto LA32_;
						x_1 = NIM_NIL;
						x_1 = explicitGenericSym__sem_u4056(c_p0, n_p1, candidate_1, (&errors_1), doError_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						{
							if (!!((x_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA37_;
							add__ast_u3215(result, x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						}
						goto LA35_;
LA37_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T43_;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T44_;
							if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA40_;
							colontmpD__2 = NIM_NIL;
							T43_ = NIM_NIL;
							T43_ = semGenericStmt__sem_u690(c_p0, n_p1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T43_); goto LA42_;}
							eqsink___ast_u3261(&result, T43_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							colontmpD__2 = copyTree__ast_u6891(result);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							T44_ = NIM_NIL;
							T44_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T44_); goto LA42_;}
							eqsink___ast_u3387(&(*result).typField, T44_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
							eqdestroy___ast_u3252(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							eqdestroy___ast_u4574(candidate_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___sem_u2755(errors_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
							{
								LA42_:;
							}
							{
								oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
								*nimErr_ = oldNimErrFin42_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						}
						goto LA35_;
LA40_: ;
LA35_: ;
						{
							LA34_:;
						}
						{
							oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							*nimErr_ = oldNimErrFin34_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
LA32_: ;
					i_2 += ((NI)1);
					{
						LA29_:;
					}
					{
						oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(candidate_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin29_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA28: ;
			}
		}
		{
			NI T53_;
			T53_ = (NI)0;
			T53_ = len__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T53_ == ((NI)0))) goto LA54_;
			eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!doError_p3) goto LA58_;
				notFoundError__sem_u2926(c_p0, n_p1, errors_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA58_: ;
		}
LA54_: ;
	}
	goto LA2_;
LA23_: ;
	{
		{
			if (!doError_p3) goto LA63_;
			result = explicitGenericInstError__sem_u4052(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA61_;
LA63_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA61_: ;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sem_u2755(errors_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_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, maybeInstantiateGeneric__sem_u25405)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, NIM_BOOL doError_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = explicitGenericInstantiation__sem_u4105(c_p0, n_p1, s_p2, doError_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
		if (!(result == n_p1)) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = copyTree__ast_u6891((*result)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T5_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSubscript__sem_u23536)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, NIM_BOOL afterOverloading_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arr_1;
NIM_BOOL oldNimErrFin7_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin68_;
NIM_BOOL oldNimErrFin73_;
NIM_BOOL oldNimErrFin141_;
NIM_BOOL oldNimErrFin103_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	arr_1 = NIM_NIL;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		NI T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_ == ((NI)1))) goto LA5_;
		x_1 = NIM_NIL;
		x_1 = semDeref__sem_u25382(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			if (!(x_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA10_;
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA10_: ;
		{
			if (!((*(*x_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA14_;
			result = x_1;
			eqwasMoved___ast_u3249(&x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA14_: ;
		T16_ = NIM_NIL;
		T16_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47), (*x_1).info, (*x_1).typField);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA7_;}
		eqsink___ast_u3261(&result, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, (*x_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(arr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T19_ = NIM_NIL;
	T19_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], 33587200, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T19_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	arr_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_796);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		if (!((*arr_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA22_;
		colontmpD_ = NIM_NIL;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T29_;
			colontmpD_ = base__ast_u5351(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))) goto LA27_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T29_ = NIM_NIL;
			T29_ = semStaticType__sem_u138(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T29_); goto LA24_;}
			eqsink___ast_u3387(&(*result).typField, T29_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA25_;
LA27_: ;
		{
			if (!!(((*arr_1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA31_;
			result = semSubscript__sem_u23536(c_p0, (*arr_1).n, flags_p2, afterOverloading_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA25_;
LA31_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T34_;
			T34_ = NIM_NIL;
			T34_ = base__ast_u5351(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T34_); goto LA24_;}
			eqsink___ast_u3387(&arr_1, T34_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
LA25_: ;
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA22_: ;
	switch ((*arr_1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)49):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T44_;
		colontmpD__2 = NIM_NIL;
		{
			NI T41_;
			T41_ = (NI)0;
			T41_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			if (!!((T41_ == ((NI)2)))) goto LA42_;
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA42_: ;
		T44_ = NIM_NIL;
		T44_ = makeDeref__sem_u15647((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T44_); goto LA38_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T44_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		{
			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 LA38_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
					if (!(i_2 < colontmp_)) goto LA47;
					i_1 = i_2;
					T48_ = NIM_NIL;
					T48_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], (flags_p2 & 1040), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA38_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T48_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					i_2 += ((NI)1);
				} LA47: ;
			}
		}
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* indexType_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
			if (!((*arr_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16))) goto LA51_;
			indexType_1 = NIM_NIL;
			arg_1 = NIM_NIL;
			eqcopy___ast_u3381(&indexType_1, (*arr_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			arg_1 = indexTypesMatch__sem_u129(c_p0, indexType_1, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T58_;
				if (!!((arg_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA56_;
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				eqwasMoved___ast_u3249(&arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				eqcopy___ast_u3255(&result, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				T58_ = NIM_NIL;
				T58_ = elemType__types_u254(arr_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T58_); goto LA53_;}
				eqsink___ast_u3387(&(*result).typField, T58_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			}
LA56_: ;
			{
				LA53_:;
			}
			{
				oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				eqdestroy___ast_u3378(indexType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				*nimErr_ = oldNimErrFin53_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		}
		goto LA49_;
LA51_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T64_;
			colontmpD__2 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			if (!((*colontmpD__2).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*colontmpD__2).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || (*colontmpD__2).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) && (*colontmpD__2).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44))) goto LA62_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			T64_ = NIM_NIL;
			T64_ = elemType__types_u254(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T64_); goto LA38_;}
			eqsink___ast_u3387(&(*result).typField, T64_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		}
		goto LA49_;
LA62_: ;
LA49_: ;
		{
			LA38_:;
		}
		{
			oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin38_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T69_;
		colontmpD__3 = NIM_NIL;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
		colontmpD__3 = semTypeNode__sem_u89(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
		T69_ = NIM_NIL;
		T69_ = makeTypeDesc__semdata_u4621(c_p0, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T69_); goto LA68_;}
		eqsink___ast_u3387(&(*result).typField, T69_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
		{
			LA68_:;
		}
		{
			oldNimErrFin68_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin68_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T79_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T80_;
		colontmpD__4 = NIM_NIL;
		{
			NI T76_;
			T76_ = (NI)0;
			T76_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			if (!!((T76_ == ((NI)2)))) goto LA77_;
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(arr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA77_: ;
		T79_ = NIM_NIL;
		T79_ = makeDeref__sem_u15647((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T79_); goto LA73_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T79_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		T80_ = NIM_NIL;
		T80_ = semConstExpr__sem_u631(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T80_); goto LA73_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T80_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg idx_1;
			colontmpD__4 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_797);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			if (!((*colontmpD__4).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*colontmpD__4).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35))) goto LA83_;
			idx_1 = getOrdValue__types_u167((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			{
				NIM_BOOL T87_;
				NI T89_;
				NI T92_;
				T87_ = (NIM_BOOL)0;
				T87_ = lteq___int128_u973(IL64(0), idx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				if (!(T87_)) goto LA88_;
				T89_ = (NI)0;
				T89_ = len__ast_u5502(arr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				T87_ = lt___int128_u933(idx_1, ((NI64) (T89_)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
LA88_: ;
				if (!T87_) goto LA90_;
				T92_ = (NI)0;
				T92_ = toInt__int128_u257(idx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				eqcopy___ast_u3381(&(*n_p1).typField, (*arr_1).sons.p->data[T92_]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			}
			goto LA85_;
LA90_: ;
			{
				NimStringV2 colontmpD__5;
				NimStringV2 colontmpD__6;
				NimStringV2 colontmpD__7;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T95_;
				NI T96_;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				colontmpD__5 = dollar___int128_u36(idx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
				T95_[0] = colontmpD__5;
				T96_ = (NI)0;
				T96_ = len__ast_u5502(arr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
				colontmpD__6 = dollar___systemZdollars_u9(T96_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
				T95_[1] = colontmpD__6;
				colontmpD__7 = percent___sem_u25475(T95_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_798, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
				{
					LA94_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__7);
					eqdestroy___system_u2691(colontmpD__6);
					eqdestroy___system_u2691(colontmpD__5);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			}
LA85_: ;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		}
		goto LA81_;
LA83_: ;
		{
			eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		}
LA81_: ;
		{
			LA73_:;
		}
		{
			oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin73_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T104_;
		s_1 = NIM_NIL;
		T104_ = NIM_NIL;
		{
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA107_;
			eqcopy___ast_u4577(&s_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		}
		goto LA105_;
LA107_: ;
		{
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) && (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165))) goto LA110_;
			eqcopy___ast_u4577(&s_1, (*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		}
		goto LA105_;
LA110_: ;
		{
			s_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		}
LA105_: ;
		{
			if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA115_;
			switch ((*s_1).kind) {
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T118_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T119_;
				T118_ = NIM_NIL;
				T118_ = semSymGenericInstantiation__sem_u22003(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], s_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T118_); goto LA103_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T118_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				T119_ = NIM_NIL;
				T119_ = maybeInstantiateGeneric__sem_u25405(c_p0, n_p1, s_1, afterOverloading_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T119_); goto LA103_;}
				eqsink___ast_u3261(&result, T119_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				{
					NIM_BOOL T122_;
					NIM_BOOL T124_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T128_;
					T122_ = (NIM_BOOL)0;
					T122_ = !((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
					if (!(T122_)) goto LA123_;
					T124_ = (NIM_BOOL)0;
					T124_ = ((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (T124_) goto LA125_;
					T124_ = !(((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61)));
LA125_: ;
					T122_ = T124_;
LA123_: ;
					if (!T122_) goto LA126_;
					T128_ = NIM_NIL;
					T128_ = semExpr__sem_u58(c_p0, result, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T128_); goto LA103_;}
					eqsink___ast_u3261(&result, T128_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				}
LA126_: ;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
			{
				{
					if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)16)))&31U)))!=0)) goto LA132_;
					eqcopy___ast_u3255(&result, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				}
				goto LA130_;
LA132_: ;
				{
					transitionSonsKind__ast_u6769(n_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)27));
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
					switch ((*s_1).kind) {
					case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T136_;
						T136_ = NIM_NIL;
						T136_ = semMacroExpr__sem_u541(c_p0, n_p1, n_p1, s_1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T136_); goto LA103_;}
						eqsink___ast_u3261(&result, T136_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
					}
					break;
					case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T138_;
						T138_ = NIM_NIL;
						T138_ = semTemplateExpr__sem_u535(c_p0, n_p1, s_1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T138_); goto LA103_;}
						eqsink___ast_u3261(&result, T138_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
					}
					break;
					default:
					{
					}
					break;
					}
				}
LA130_: ;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T142_;
				colontmpD__8 = NIM_NIL;
				colontmpD__8 = semTypeNode__sem_u89(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA141_;
				T142_ = NIM_NIL;
				T142_ = symNodeFromType__semdata_u4649(c_p0, colontmpD__8, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T142_); goto LA141_;}
				eqsink___ast_u3261(&result, T142_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA141_;
				{
					LA141_:;
				}
				{
					oldNimErrFin141_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__8);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
					*nimErr_ = oldNimErrFin141_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
			}
			break;
			default:
			{
			}
			break;
			}
		}
LA115_: ;
		{
			LA103_:;
		}
		{
			oldNimErrFin103_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin103_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(arr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, bracketNotFoundError__sem_u3357)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headSymbol_1;
	tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD_;
	tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__2;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g r_1;
NIM_BOOL oldNimErrFin3_;
	tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	errors_1.len = 0; errors_1.p = NIM_NIL;
	headSymbol_1 = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q));
	nimZeroMem((void*)(&r_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	errors_1.len = 0; errors_1.p = (tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content*) newSeqPayload(0, sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw), NIM_ALIGNOF(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
	eqcopy___ast_u3255(&headSymbol_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* choice_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* symx_1;
		choice_1 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		symx_1 = NIM_NIL;
		colontmpD__3 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		choice_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56), (*headSymbol_1).info, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		symx_1 = initOverloadIter__lookups_u5784((&o_1), c_p0, headSymbol_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T16_;
				if (!!((symx_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA5;
				{
					if (!((*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA8_;
					{
						tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw T14_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
						if (!((*symx_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5) || (*symx_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)6))) goto LA12_;
						nimZeroMem((void*)(&T14_), sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
						blitTmp_1 = symx_1;
						eqwasMoved___ast_u4571(&symx_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						T14_.sym = blitTmp_1;
						nimZeroMem((void*)(&T14_.firstMismatch), sizeof(tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg));
						T14_.diagnostics.len = 0; T14_.diagnostics.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
						T14_.enabled = NIM_FALSE;
						add__sem_u2016((&errors_1), (&T14_));
					}
					goto LA10_;
LA12_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
						colontmpD__4 = NIM_NIL;
						colontmpD__4 = newSymNode__ast_u5171(symx_1, (*headSymbol_1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						add__ast_u3215(choice_1, colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					}
LA10_: ;
				}
LA8_: ;
				T16_ = NIM_NIL;
				T16_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, headSymbol_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T16_); goto LA3_;}
				eqsink___ast_u4583(&symx_1, T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			} LA5: ;
		}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], choice_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		eqwasMoved___ast_u3249(&choice_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(symx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___lookups_u6249((&o_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(choice_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T21_;
		T21_ = 0;
		if (!!(((flags_p2 & 30) == T21_))) goto LA22_;
		colontmpD_ = 520192;
		filter_1 = colontmpD_;
	}
	goto LA19_;
LA22_: ;
	{
		colontmpD__2 = 487424;
		filter_1 = colontmpD__2;
	}
LA19_: ;
	resolveOverloads__sem_u3022(c_p0, n_p1, n_p1, filter_1, flags_p2, (&errors_1), NIM_TRUE, (&r_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T27_;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 T31_;
		T27_ = errors_1.len;
		if (!(T27_ == ((NI)0))) goto LA28_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		T31_.len = 0; T31_.p = NIM_NIL;
		colontmpD__5 = dollar___renderer_u2166(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		T31_ = rawNewString(colontmpD__5.len + 19);
appendString((&T31_), TM__rF9caJawfOjYTjsgLVUSGFA_973);
appendString((&T31_), colontmpD__5);
		colontmpD__6 = T31_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_974, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			LA30_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA25_;
LA28_: ;
	{
		notFoundError__sem_u2926(c_p0, n_p1, errors_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sigmatch_u162((&r_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(headSymbol_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u2755(errors_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrGet__sem_u23541)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		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)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	T4_ = NIM_NIL;
	T4_ = semSubscript__sem_u23536(c_p0, result, flags_p2, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T4_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T32_;
		if (!(result == 0)) goto LA7_;
		x_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		s_1 = NIM_NIL;
		x_1 = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_971);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T10_ = NIM_NIL;
		T10_ = newIdentNode__ast_u5164(colontmpD_, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto LA9_;}
		eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[((NI)0)], T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA13_;
			{
				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 LA9_;
				i_4 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
						if (!(i_4 < colontmp__2)) goto LA17;
						a_1 = NIM_NIL;
						i_3 = i_4;
						eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						{
							NIM_BOOL T21_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T27_;
							T21_ = (NIM_BOOL)0;
							T21_ = !(((*a_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
							if (!(T21_)) goto LA22_;
							T21_ = ((*(*a_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*(*a_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA22_: ;
							if (!T21_) goto LA23_;
							colontmpD__2 = NIM_NIL;
							T26_ = NIM_NIL;
							T26_ = semGenericStmt__sem_u690(c_p0, x_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto LA25_;}
							eqsink___ast_u3261(&result, T26_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							colontmpD__2 = copyTree__ast_u6891(result);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							T27_ = NIM_NIL;
							T27_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T27_); goto LA25_;}
							eqsink___ast_u3387(&(*result).typField, T27_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							(*(*result).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42))) & 63);
							eqdestroy___ast_u3252(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							eqdestroy___ast_u3252(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							eqdestroy___idents_u155(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
							{
								LA25_:;
							}
							{
								oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
								*nimErr_ = oldNimErrFin25_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						}
LA23_: ;
						i_4 += ((NI)1);
						{
							LA18_:;
						}
						{
							oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							*nimErr_ = oldNimErrFin18_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					} LA17: ;
				}
			}
		}
LA13_: ;
		T32_ = NIM_NIL;
		{
			NI T35_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T38_;
			T35_ = (NI)0;
			T35_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			if (!(((NI)1) < T35_)) goto LA36_;
			T38_ = NIM_NIL;
			{
				if (!((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA41_;
				s_1 = (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym;
			}
			goto LA39_;
LA41_: ;
			{
				NIM_BOOL T44_;
				NI T46_;
				T44_ = (NIM_BOOL)0;
				T44_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) && (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165));
				if (!(T44_)) goto LA45_;
				T46_ = (NI)0;
				T46_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				T44_ = !((T46_ == ((NI)0)));
LA45_: ;
				if (!T44_) goto LA47_;
				s_1 = (*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)])._kind_4.sym;
			}
			goto LA39_;
LA47_: ;
			{
				s_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
			}
LA39_: ;
		}
		goto LA33_;
LA36_: ;
		{
			s_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		}
LA33_: ;
		{
			NIM_BOOL T53_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T57_;
			T53_ = (NIM_BOOL)0;
			T53_ = !((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T53_)) goto LA54_;
			T53_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA54_: ;
			if (!T53_) goto LA55_;
			T57_ = NIM_NIL;
			T57_ = explicitGenericInstError__sem_u4052(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T57_); goto LA9_;}
			eqsink___ast_u3261(&result, T57_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		}
		goto LA51_;
LA55_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T59_;
			bracketNotFoundError__sem_u3357(c_p0, x_1, flags_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			T59_ = NIM_NIL;
			T59_ = errorNode__semdata_u4571(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T59_); goto LA9_;}
			eqsink___ast_u3261(&result, T59_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		}
LA51_: ;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA7_: ;
	}BeforeRet_: ;
	return result;
}
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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrPut__sem_u23594)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	b_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	b_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = skipHiddenAddr__ast_u7634((*n_p1)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(b_1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI colontmp_;
		NI T3_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmp_ = (NI)(T3_ - ((NI)1));
		i_2 = ((NI)2);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA5;
				i_1 = i_2;
				add__ast_u3215(b_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_2 += ((NI)1);
			} LA5: ;
		}
	}
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73), (*n_p1).info, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], b_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___ast_u3249(&b_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T6_ = NIM_NIL;
	T6_ = lastSon__ast_u5208(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto LA1_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T6_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T7_ = NIM_NIL;
	T7_ = semAsgn__sem_u23532(c_p0, result, ((tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA1_;}
	eqsink___ast_u3261(&result, T7_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAsgnOpr__sem_u23605)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4095(k_p2, (*n_p1).info, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)0)], (*n_p1)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)1)], (*n_p1)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = semAsgn__sem_u23532(c_p0, result, ((tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA)2));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semShallowCopy__sem_u23935)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)3))) goto LA4_;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T6_ = NIM_NIL;
		T6_ = semAsgn__sem_u23532(c_p0, result, ((tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA)0));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		result = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIsPartOf__sem_u23610)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyEnum_TAnalysisResult__Y9b4HDQn2qbT5xWKGFH75iQ r_1;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	r_1 = isPartOf__aliases_u120((*n_p1)._kind_6.sons.p->data[((NI)1)], (*n_p1)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = toInt128__types_u1207(r_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newIntNodeT__semfold_u44(T1_, n_p1, (*c_p0).Sup.idgen, (*c_p0).graph);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, toNode__sem_u23644)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), i_p1, t_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, buildBinaryPredicate__sem_u23669)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* context_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_p4) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newType__ast_u5900(kind_p0, (*c_p1).Sup.idgen, context_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rawAddSon__ast_u6706(result, a_p3, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rawAddSon__ast_u6706(result, b_p4, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(b_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(a_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, buildNotPredicate__sem_u23676)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* context_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	blitTmp_1 = a_p2;
	result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)58), (*c_p0).Sup.idgen, context_p1, blitTmp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getTypeDescNode__sem_u23662)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* resType_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	resType_1 = NIM_NIL;
	resType_1 = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), (*c_p0).Sup.idgen, sym_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rawAddSon__ast_u6706(resType_1, typ_p1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = toNode__sem_u23644(resType_1, info_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(resType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, firstGenericParam__ast_u5366)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, uninstantiate__sem_u23659)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = NIM_NIL;
	switch ((*t_p0).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
	{
		eqcopy___ast_u3381(&result, t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53):
	{
		result = base__ast_u5351(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = firstGenericParam__ast_u5366(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = uninstantiate__sem_u23659(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		eqcopy___ast_u3381(&result, t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalTypeTrait__sem_u23681)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* traitCall_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* operand_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* context_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* trait_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* operand_2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	NimStringV2 s_1;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin46_;
NIM_BOOL oldNimErrFin71_;
NIM_BOOL oldNimErrFin68_;
NIM_BOOL oldNimErrFin85_;
NIM_BOOL oldNimErrFin92_;
NIM_BOOL oldNimErrFin101_;
NIM_BOOL oldNimErrFin98_;
NIM_BOOL oldNimErrFin118_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	trait_1 = NIM_NIL;
	operand_2 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	s_1.len = 0; s_1.p = NIM_NIL;
	eqcopy___ast_u3255(&trait_1, (*traitCall_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 argX60gensym5483__1;
		if (!!(((*trait_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
		argX60gensym5483__1.len = 0; argX60gensym5483__1.p = NIM_NIL;
		argX60gensym5483__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_979);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym5483__1, TM__rF9caJawfOjYTjsgLVUSGFA_979);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym5483__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	operand_2 = skipTypes__ast_u5379(operand_p2, TM__rF9caJawfOjYTjsgLVUSGFA_980);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T11_;
		NIM_BOOL T13_;
		NI T14_;
		T11_ = (NIM_BOOL)0;
		T11_ = ((*operand_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
		if (T11_) goto LA12_;
		T13_ = (NIM_BOOL)0;
		T14_ = (NI)0;
		T14_ = len__ast_u3190(traitCall_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T13_ = (((NI)2) < T14_);
		if (!(T13_)) goto LA15_;
		colontmpD_ = skipTypes__ast_u5379((*(*traitCall_p1)._kind_6.sons.p->data[((NI)2)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T13_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
LA15_: ;
		T11_ = T13_;
LA12_: ;
		if (!T11_) goto LA16_;
		eqcopy___ast_u3255(&result, traitCall_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(s_1);
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(trait_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA16_: ;
	eqcopy___system_u2694((&s_1), (*(*(*trait_1)._kind_4.sym).name).s);
	switch (hashString(s_1) & 31) {
	case 0: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_993)) goto LA22_;
break;
	case 2: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1007)) goto LA29_;
break;
	case 5: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_987)) goto LA20_;
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_999)) goto LA25_;
break;
	case 8: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1001)) goto LA26_;
break;
	case 10: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_982)) goto LA18_;
break;
	case 11: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1013)) goto LA32_;
break;
	case 13: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1011)) goto LA31_;
break;
	case 16: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1009)) goto LA30_;
break;
	case 18: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_997)) goto LA24_;
break;
	case 19: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_983)) goto LA18_;
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_995)) goto LA23_;
break;
	case 20: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_991)) goto LA22_;
break;
	case 26: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1003)) goto LA27_;
break;
	case 28: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_989)) goto LA21_;
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1005)) goto LA28_;
break;
	case 30: 
if (eqStrings(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_985)) goto LA19_;
break;
	}
	goto LA33_;
	LA18_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T37_;
		colontmpD__2 = NIM_NIL;
		blitTmp_1 = operand_2;
		eqwasMoved___ast_u3375(&operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
		T37_ = NIM_NIL;
		T37_ = skipTypes__ast_u5379((*(*traitCall_p1)._kind_6.sons.p->data[((NI)2)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T37_); goto LA36_;}
		colontmpD__2 = buildBinaryPredicate__sem_u23669(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)57), c_p0, context_p3, blitTmp_1, T37_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
		result = toNode__sem_u23644(colontmpD__2, (*traitCall_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(s_1);
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(trait_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA36_:;
		}
		{
			oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin36_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA19_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T42_;
		colontmpD__3 = NIM_NIL;
		blitTmp_2 = operand_2;
		eqwasMoved___ast_u3375(&operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		T42_ = NIM_NIL;
		T42_ = skipTypes__ast_u5379((*(*traitCall_p1)._kind_6.sons.p->data[((NI)2)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T42_); goto LA41_;}
		colontmpD__3 = buildBinaryPredicate__sem_u23669(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56), c_p0, context_p3, blitTmp_2, T42_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		result = toNode__sem_u23644(colontmpD__3, (*traitCall_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(s_1);
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(trait_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA41_:;
		}
		{
			oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin41_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA20_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_3;
		colontmpD__4 = NIM_NIL;
		blitTmp_3 = operand_2;
		eqwasMoved___ast_u3375(&operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
		colontmpD__4 = buildNotPredicate__sem_u23676(c_p0, context_p3, blitTmp_3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
		result = toNode__sem_u23644(colontmpD__4, (*traitCall_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(s_1);
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(trait_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA46_:;
		}
		{
			oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin46_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA21_: ;
	{
		NimStringV2 colontmpD__5;
		tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T56_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		prefer_1 = ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)5);
		{
			NI T53_;
			NimStringV2 preferStr_1;
			T53_ = (NI)0;
			T53_ = len__ast_u3190(traitCall_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
			if (!(((NI)2) <= T53_)) goto LA54_;
			preferStr_1.len = 0; preferStr_1.p = NIM_NIL;
			preferStr_1 = (*(*traitCall_p1)._kind_6.sons.p->data[((NI)2)])._kind_3.strVal;
			prefer_1 = parseEnum__sem_u23732(preferStr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		}
LA54_: ;
		colontmpD__5 = typeToString__types_u54(operand_2, prefer_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		result = newStrNode__ast_u5422(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		T56_ = NIM_NIL;
		T56_ = getSysType__magicsys_u55((*c_p0).graph, (*(*traitCall_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T56_); goto LA50_;}
		eqsink___ast_u3387(&(*result).typField, T56_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		(*result).info = (*traitCall_p1).info;
		{
			LA50_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA22_: ;
	{
		NimStringV2 colontmpD__6;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T61_;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__6 = typeToString__types_u54(operand_2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)5));
		if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
		result = newStrNode__ast_u5422(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
		T61_ = NIM_NIL;
		T61_ = getSysType__magicsys_u55((*c_p0).graph, (*(*traitCall_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T61_); goto LA60_;}
		eqsink___ast_u3387(&(*result).typField, T61_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
		(*result).info = (*traitCall_p1).info;
		{
			LA60_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA23_: ;
	{
		NI T65_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T66_;
		T65_ = (NI)0;
		T65_ = len__ast_u5502(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) ((NI)(T65_ - ((*operand_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25))))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T66_ = NIM_NIL;
		T66_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31), (*c_p0).Sup.idgen, context_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T66_); goto LA1_;}
		eqsink___ast_u3387(&(*result).typField, T66_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*result).info = (*traitCall_p1).info;
	}
	goto LA34_;
	LA24_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_1;
		arg_1 = NIM_NIL;
		eqcopy___ast_u3381(&arg_1, operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
		switch ((*arg_1).kind) {
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
			colontmpD__7 = NIM_NIL;
			colontmpD__8 = NIM_NIL;
			colontmpD__7 = base__ast_u5351(arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
			colontmpD__8 = owner__ast_u6246(operand_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
			result = getTypeDescNode__sem_u23662(c_p0, colontmpD__7, colontmpD__8, (*traitCall_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
			eqdestroy___ast_u4574(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
			eqdestroy___ast_u3378(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
		}
		break;
		default:
		{
			NimStringV2 colontmpD__9;
			NimStringV2 colontmpD__10;
			NimStringV2 colontmpD__11;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__12;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T72_;
			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 = NIM_NIL;
			colontmpD__9 = toHumanStr__ast_u7604((*arg_1).kind);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			T72_[0] = colontmpD__9;
			colontmpD__10 = typeToString__types_u54(operand_2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			T72_[1] = colontmpD__10;
			colontmpD__11 = percent___sem_u23768(T72_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*traitCall_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1014, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			colontmpD__12 = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), (*c_p0).Sup.idgen, context_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			result = toNode__sem_u23644(colontmpD__12, (*traitCall_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			{
				LA71_:;
			}
			{
				oldNimErrFin71_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
				eqdestroy___system_u2691(colontmpD__11);
				eqdestroy___system_u2691(colontmpD__10);
				eqdestroy___system_u2691(colontmpD__9);
				*nimErr_ = oldNimErrFin71_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
		}
		break;
		}
		{
			LA68_:;
		}
		{
			oldNimErrFin68_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin68_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA25_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__13;
		colontmpD__13 = NIM_NIL;
		colontmpD__13 = uninstantiate__sem_u23659(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = toNode__sem_u23644(colontmpD__13, (*traitCall_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__13);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA26_: ;
	{
		NIM_BOOL T79_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T80_;
		T79_ = (NIM_BOOL)0;
		T79_ = supportsCopyMem__types_u4301(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T80_ = toInt128__types_u1207(T79_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newIntNodeT__semfold_u44(T80_, traitCall_p1, (*c_p0).Sup.idgen, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA27_: ;
	{
		NIM_BOOL T82_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T83_;
		T82_ = (NIM_BOOL)0;
		T82_ = requiresInit__typeallowed_u563(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T83_ = toInt128__types_u1207(!(T82_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newIntNodeT__semfold_u44(T83_, traitCall_p1, (*c_p0).Sup.idgen, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA28_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* operand_3;
		NIM_BOOL cond_1;
		NIM_BOOL T86_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T88_;
		operand_3 = NIM_NIL;
		operand_3 = skipTypes__ast_u5379(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_357);
		if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
		T86_ = (NIM_BOOL)0;
		T86_ = ((*operand_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
		if (!(T86_)) goto LA87_;
		T86_ = !(((*operand_3).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA87_: ;
		cond_1 = T86_;
		T88_ = toInt128__types_u1207(cond_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
		result = newIntNodeT__semfold_u44(T88_, traitCall_p1, (*c_p0).Sup.idgen, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
		{
			LA85_:;
		}
		{
			oldNimErrFin85_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(operand_3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin85_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA29_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* operand_4;
		NI T93_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T94_;
		operand_4 = NIM_NIL;
		operand_4 = skipTypes__ast_u5379(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_1015);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		T93_ = (NI)0;
		T93_ = len__ast_u5502(operand_4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		T94_ = toInt128__types_u1207(T93_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		result = newIntNodeT__semfold_u44(T94_, traitCall_p1, (*c_p0).Sup.idgen, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
		{
			LA92_:;
		}
		{
			oldNimErrFin92_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(operand_4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin92_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA30_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__14;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__15;
		NIM_BOOL rec_1;
		arg_2 = NIM_NIL;
		colontmpD__14 = NIM_NIL;
		colontmpD__15 = NIM_NIL;
		arg_2 = skipTypes__ast_u5379(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_357);
		if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
		colontmpD__14 = semConstExpr__sem_u631(c_p0, (*traitCall_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
		rec_1 = !(((*colontmpD__14)._kind_1.intVal == IL64(0)));
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__16;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T102_;
				if (!((*arg_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13))) goto LA100;
				colontmpD__16 = NIM_NIL;
				colontmpD__16 = base__ast_u5351(arg_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
				T102_ = NIM_NIL;
				T102_ = skipTypes__ast_u5379(colontmpD__16, TM__rF9caJawfOjYTjsgLVUSGFA_1016);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T102_); goto LA101_;}
				eqsink___ast_u3387(&arg_2, T102_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
				{
					if (!!(rec_1)) goto LA105_;
					eqdestroy___ast_u3378(colontmpD__16);
					if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
					goto LA99;
				}
LA105_: ;
				{
					LA101_:;
				}
				{
					oldNimErrFin101_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__16);
					if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
					*nimErr_ = oldNimErrFin101_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
			} LA100: ;
		} LA99: ;
		colontmpD__15 = owner__ast_u6246(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
		result = getTypeDescNode__sem_u23662(c_p0, arg_2, colontmpD__15, (*traitCall_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
		{
			LA98_:;
		}
		{
			oldNimErrFin98_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__15);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__14);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(arg_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin98_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA31_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_3;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__17;
		arg_3 = NIM_NIL;
		colontmpD__17 = NIM_NIL;
		arg_3 = skipTypes__ast_u5379(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_357);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T116_;
			if (!((*arg_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20))) goto LA114_;
			T116_ = NIM_NIL;
			T116_ = base__ast_u5351(arg_3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T116_); goto LA1_;}
			eqsink___ast_u3387(&arg_3, T116_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA114_: ;
		colontmpD__17 = owner__ast_u6246(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = getTypeDescNode__sem_u23662(c_p0, arg_3, colontmpD__17, (*traitCall_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD__17);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(arg_3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA32_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* operand_5;
		NIM_BOOL isCyclic_1;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T119_;
		operand_5 = NIM_NIL;
		operand_5 = skipTypes__ast_u5379(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_357);
		if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
		isCyclic_1 = canFormAcycle__types_u784((*c_p0).graph, operand_5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
		T119_ = toInt128__types_u1207(isCyclic_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
		result = newIntNodeT__semfold_u44(T119_, traitCall_p1, (*c_p0).Sup.idgen, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
		{
			LA118_:;
		}
		{
			oldNimErrFin118_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(operand_5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin118_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
	LA33_: ;
	{
		NimStringV2 colontmpD__18;
		NimStringV2 T124_;
		colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
		T124_.len = 0; T124_.p = NIM_NIL;
		T124_ = rawNewString(s_1.len + 15);
appendString((&T124_), TM__rF9caJawfOjYTjsgLVUSGFA_1018);
appendString((&T124_), s_1);
		colontmpD__18 = T124_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*traitCall_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__18, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1019, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*traitCall_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
		{
			LA123_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__18);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA34_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___system_u2691(s_1);
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(operand_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(trait_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTypeTraits__sem_u23844)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&t_1, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NimStringV2 argX60gensym5521__1;
		T4_ = (NIM_BOOL)0;
		T4_ = !((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		colontmpD_ = skipTypes__ast_u5379(t_1, TM__rF9caJawfOjYTjsgLVUSGFA_480);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA5_: ;
		if (!!(T4_)) goto LA6_;
		argX60gensym5521__1.len = 0; argX60gensym5521__1.p = NIM_NIL;
		argX60gensym5521__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_978);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym5521__1, TM__rF9caJawfOjYTjsgLVUSGFA_978);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym5521__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		NI T13_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		T13_ = (NI)0;
		T13_ = len__ast_u5502(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((NI)0) < T13_)) goto LA14_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		result = evalTypeTrait__sem_u23681(c_p0, n_p1, t_1, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		{
			LA16_:;
		}
		{
			oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin16_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA11_;
LA14_: ;
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		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(NI, expectIntLit__sem_u23623)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NI result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	x_1 = NIM_NIL;
	x_1 = (*c_p0).semConstExpr(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*x_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)10):
	{
		result = ((NI) ((*x_1)._kind_1.intVal));
	}
	break;
	default:
	{
		result = ((NI)0);
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1021, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1022, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, toLinenumber__msgs_u695)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p0) {
	NI result;
	result = ((NI) (info_p0.line));
	return result;
}
static N_INLINE(NI, toColumn__msgs_u698)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p0) {
	NI result;
	result = ((NI) (info_p0.col));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semInstantiationInfo__sem_u23630)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* filename_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* line_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* column_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
	NI idx_1;
	NI useFullPaths_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
	NimStringV2 T2_;
	NI T23_;
	NI T24_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T25_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T26_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T27_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	filename_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	line_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	column_1 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	colontmpD__5 = NIM_NIL;
	colontmpD__6 = NIM_NIL;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160), (*n_p1).info, (*n_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	idx_1 = expectIntLit__sem_u23623(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	useFullPaths_1 = expectIntLit__sem_u23623(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	info_1 = getInfoContext__msgs_u602((*(*c_p0).graph).config, idx_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	filename_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), (*n_p1).info, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_.len = 0; T2_.p = NIM_NIL;
	{
		NimStringV2 T7_;
		if (!!((useFullPaths_1 == ((NI)0)))) goto LA5_;
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = toFullPath__msgs_u624((*(*c_p0).graph).config, info_1.fileIndex);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T7_); goto LA1_;}
		eqsink___system_u2700((&(*filename_1)._kind_3.strVal), T7_);
	}
	goto LA3_;
LA5_: ;
	{
		NimStringV2 T9_;
		T9_.len = 0; T9_.p = NIM_NIL;
		{
			NIM_BOOL T12_;
			NimStringV2 T16_;
			T12_ = (NIM_BOOL)0;
			T12_ = (info_1.fileIndex < ((NI32)0));
			if (T12_) goto LA13_;
			T12_ = ((*(*c_p0).graph).config == ((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL));
LA13_: ;
			if (!T12_) goto LA14_;
			T16_.len = 0; T16_.p = NIM_NIL;
			{
				if (!(info_1.fileIndex == ((NI32)-3))) goto LA19_;
				eqsink___system_u2700((&(*filename_1)._kind_3.strVal), TM__rF9caJawfOjYTjsgLVUSGFA_1024);
			}
			goto LA17_;
LA19_: ;
			{
				eqsink___system_u2700((&(*filename_1)._kind_3.strVal), TM__rF9caJawfOjYTjsgLVUSGFA_1026);
			}
LA17_: ;
		}
		goto LA10_;
LA14_: ;
		{
			eqcopy___system_u2694((&(*filename_1)._kind_3.strVal), (*(*(*c_p0).graph).config).m.fileInfos.p->data[info_1.fileIndex].shortName);
		}
LA10_: ;
	}
LA3_: ;
	colontmpD__2 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	line_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), (*n_p1).info, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T23_ = (NI)0;
	T23_ = toLinenumber__msgs_u695(info_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*line_1)._kind_1.intVal = ((NI64) (T23_));
	colontmpD__3 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	column_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), (*n_p1).info, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T24_ = (NI)0;
	T24_ = toColumn__msgs_u698(info_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*column_1)._kind_1.intVal = ((NI64) (T24_));
	nimZeroMem((void*)T25_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	T25_[0] = (*(*(*n_p1).typField).n)._kind_6.sons.p->data[((NI)0)];
	T25_[1] = filename_1;
	colontmpD__4 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T25_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T26_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	T26_[0] = (*(*(*n_p1).typField).n)._kind_6.sons.p->data[((NI)1)];
	T26_[1] = line_1;
	colontmpD__5 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T26_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T27_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	T27_[0] = (*(*(*n_p1).typField).n)._kind_6.sons.p->data[((NI)2)];
	T27_[1] = column_1;
	colontmpD__6 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), T27_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__6);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(column_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(line_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(filename_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOrd__sem_u23861)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* parType_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	parType_1 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&parType_1, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = isOrdinalType__types_u283(parType_1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
	}
	goto LA2_;
LA5_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T9_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = typeToString__types_u54(parType_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1027, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1028, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T9_ = NIM_NIL;
		T9_ = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T9_); goto LA8_;}
		eqsink___ast_u3387(&(*result).typField, T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(parType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOf__sem_u23939)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL oldNimErrFin6_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T53_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* y_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T7_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)3))) goto LA4_;
		a_1 = NIM_NIL;
		b_1 = NIM_NIL;
		x_1 = NIM_NIL;
		y_1 = NIM_NIL;
		T7_ = 0;
		T8_ = NIM_NIL;
		T8_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], T7_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA6_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T9_ = NIM_NIL;
		T9_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA6_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)2)], T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		a_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_493);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		b_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_493);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		x_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1029);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		y_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1029);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = ((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
			if (T12_) goto LA13_;
			T12_ = !(((*y_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA13_: ;
			if (!T12_) goto LA14_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1031, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1032, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA10_;
LA14_: ;
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = !(((*b_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)));
			if (T17_) goto LA18_;
			T17_ = !(((*a_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)));
LA18_: ;
			if (!T17_) goto LA19_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1033, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1034, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA10_;
LA19_: ;
		{
			NI diff_1;
			diff_1 = inheritanceDiff__types_u2785(a_1, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				NimStringV2 colontmpD_;
				tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T27_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T28_;
				if (!(diff_1 <= ((NI)0))) goto LA24_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				T27_ = 0;
				colontmpD_ = renderTree__renderer_u59(n_p1, T27_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)105), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1035, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				(*result).info = (*n_p1).info;
				T28_ = NIM_NIL;
				T28_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T28_); goto LA26_;}
				eqsink___ast_u3387(&(*result).typField, T28_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				eqdestroy___system_u2691(colontmpD_);
				eqdestroy___ast_u3378(y_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
				{
					LA26_:;
				}
				{
					eqdestroy___system_u2691(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			}
			goto LA22_;
LA24_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
				if (!(diff_1 == ((NI)2147483647))) goto LA32_;
				colontmpD__2 = NIM_NIL;
				{
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					colontmpD__2 = commonSuperclass__types_u2847(a_1, b_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					if (!(colontmpD__2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA37_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					colontmpD__3 = typeToString__types_u54(a_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
					colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1037, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1038, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
					{
						LA39_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__4);
						eqdestroy___system_u2691(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
				}
				goto LA35_;
LA37_: ;
				{
					NimStringV2 colontmpD__5;
					tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T44_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T45_;
					colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
					T44_ = 0;
					colontmpD__5 = renderTree__renderer_u59(n_p1, T44_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)106), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1039, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					(*result).info = (*n_p1).info;
					T45_ = NIM_NIL;
					T45_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T45_); goto LA43_;}
					eqsink___ast_u3387(&(*result).typField, T45_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
					{
						LA43_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__5);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
				}
LA35_: ;
				{
					LA34_:;
				}
				{
					oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					*nimErr_ = oldNimErrFin34_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			}
			goto LA22_;
LA32_: ;
LA22_: ;
		}
LA10_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1041, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1042, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	T53_ = NIM_NIL;
	T53_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T53_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*n_p1).typField, T53_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, indexType__ast_u5345)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semLowHigh__sem_u22977)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		NimStringV2 colontmpD_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!((T3_ == ((NI)2)))) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1044, opToStr__sem_u22982[(m_p2)- 8]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1047, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		typ_1 = NIM_NIL;
		T11_ = NIM_NIL;
		T11_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA10_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		typ_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1048);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		switch ((*typ_1).kind) {
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T13_;
			T13_ = NIM_NIL;
			T13_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T13_); goto LA10_;}
			eqsink___ast_u3387(&(*n_p1).typField, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T15_;
			T15_ = NIM_NIL;
			T15_ = indexType__ast_u5345(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T15_); goto LA10_;}
			eqsink___ast_u3387(&(*n_p1).typField, T15_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				NIM_BOOL T18_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T22_;
				T18_ = (NIM_BOOL)0;
				T18_ = ((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20));
				if (!(T18_)) goto LA19_;
				T18_ = emptyRange__nimsets_u219((*(*(*n_p1).typField).n)._kind_6.sons.p->data[((NI)0)], (*(*(*n_p1).typField).n)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
LA19_: ;
				if (!T18_) goto LA20_;
				T22_ = NIM_NIL;
				T22_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T22_); goto LA10_;}
				eqsink___ast_u3387(&(*n_p1).typField, T22_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
LA20_: ;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T24_;
			T24_ = NIM_NIL;
			T24_ = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T24_); goto LA10_;}
			eqsink___ast_u3387(&(*n_p1).typField, T24_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T27_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = copyTree__ast_u6891(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			T27_ = NIM_NIL;
			T27_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T27_); goto LA26_;}
			eqsink___ast_u3387(&(*n_p1).typField, T27_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			{
				LA26_:;
			}
			{
				oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				*nimErr_ = oldNimErrFin26_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		break;
		default:
		{
			NimStringV2 colontmpD__3;
			NimStringV2 T32_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			T32_.len = 0; T32_.p = NIM_NIL;
			T32_ = rawNewString(opToStr__sem_u22982[(m_p2)- 8].len + 22);
appendString((&T32_), TM__rF9caJawfOjYTjsgLVUSGFA_1050);
appendString((&T32_), opToStr__sem_u22982[(m_p2)- 8]);
			colontmpD__3 = T32_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1051, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
			{
				LA31_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		break;
		}
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_u7159)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13));
	if (!(T3_)) goto LA4_;
	T3_ = (((*s_p0).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0);
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBindSym__sem_u23866)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* sl_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* isMixin_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* id_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	sl_1 = NIM_NIL;
	isMixin_1 = NIM_NIL;
	id_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	s_1 = NIM_NIL;
	result = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	sl_1 = semConstExpr__sem_u631(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*sl_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) || (*sl_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)21) || (*sl_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22)))) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1053, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1054, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = errorNode__semdata_u4571(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(isMixin_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(sl_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	isMixin_1 = semConstExpr__sem_u631(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = !(((*isMixin_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)));
		if (T9_) goto LA10_;
		T9_ = ((*isMixin_1)._kind_1.intVal < IL64(0));
LA10_: ;
		T8_ = T9_;
		if (T8_) goto LA11_;
		T8_ = (IL64(2) < (*isMixin_1)._kind_1.intVal);
LA11_: ;
		if (!T8_) goto LA12_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1055, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1056, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = errorNode__semdata_u4571(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(isMixin_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(sl_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA12_: ;
	colontmpD_ = getIdent__idents_u206((*c_p0).cache, (*sl_1)._kind_3.strVal);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	id_1 = newIdentNode__ast_u5164(colontmpD_, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = qualifiedLookUp__lookups_u5229(c_p0, id_1, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* sc_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA16_;
		sc_1 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		sc_1 = symChoice__sem_u10236(c_p0, id_1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg) ((*isMixin_1)._kind_1.intVal)), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = (((NI)0) < (*c_p0).inStaticContext);
			if (T21_) goto LA22_;
			colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			T21_ = isCompileTimeProc__ast_u7159(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
LA22_: ;
			if (!!(T21_)) goto LA23_;
			result = sc_1;
			eqwasMoved___ast_u3249(&sc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(sc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(id_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(isMixin_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(sl_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA23_: ;
		add__ast_u3215(result, sc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(sc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA14_;
LA16_: ;
	{
		errorUndeclaredIdentifier__lookups_u5145(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, (*sl_1)._kind_3.strVal, TM__rF9caJawfOjYTjsgLVUSGFA_1057);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(isMixin_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(sl_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u31762)(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).scope1);
		if (!T3_) goto LA4_;
		eqdestroy___semdata_u2873((&(*(*dest_p0).scope1)));
		nimRawDispose((*dest_p0).scope1, ((NI)4));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).c0);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).c0);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__sem_u31840)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___sem_u31762((&(*((tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, add__system_u3018)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0, void** c_p1, TNimTypeV2* t_p2) {
	void** colontmp_;
	TNimTypeV2* colontmp__2;
	{
		if (!((*s_p0).cap <= (*s_p0).len)) goto LA3_;
		resize__system_u3026(s_p0);
	}
LA3_: ;
	colontmp_ = c_p1;
	colontmp__2 = t_p2;
	(*s_p0).d[(*s_p0).len].Field0 = colontmp_;
	(*s_p0).d[(*s_p0).len].Field1 = colontmp__2;
	(*s_p0).len = pluspercent___system_u785((*s_p0).len, ((NI)1));
}
static N_INLINE(void, nimTraceRefDyn)(void* q_p0, void* env_p1) {
	void** p_1;
	p_1 = ((void**) (q_p0));
	{
		tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w* j_1;
		if (!!(((*p_1) == NIM_NIL))) goto LA3_;
		j_1 = ((tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w*) (env_p1));
		add__system_u3018((&(*j_1).traceStack), p_1, (*((TNimTypeV2**) ((*p_1)))));
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___sem_u31774)(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).c0, env_p1);
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p_p0, TNimTypeV2* desc_p1) {
	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_u3497(result, cell_1, desc_p1);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u31797)(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0, ((TNimTypeV2*) ((&NTIv2__0Mr1krfaaakTahpFDt9cyUg_))));
		if (!T3_) goto LA4_;
		eqdestroy___sem_u31762((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, opBindSym__sem_u23891)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, NI isMixin_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* info_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* id_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* tmpScope_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	id_1 = NIM_NIL;
	tmpScope_1 = NIM_NIL;
	s_1 = NIM_NIL;
	{
		if (!!(((*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) || (*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)21) || (*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22) || (*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2)))) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*info_p4).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1062, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1063, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = errorNode__semdata_u4571(c_p0, n_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(tmpScope_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = (isMixin_p3 < ((NI)0));
		if (T8_) goto LA9_;
		T8_ = (((NI)2) < isMixin_p3);
LA9_: ;
		if (!T8_) goto LA10_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*info_p4).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1064, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1065, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = errorNode__semdata_u4571(c_p0, n_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(tmpScope_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA10_: ;
	T12_ = NIM_NIL;
	{
		if (!((*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA15_;
		eqcopy___ast_u3255(&id_1, n_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA13_;
LA15_: ;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = getIdent__idents_u206((*c_p0).cache, (*n_p2)._kind_3.strVal);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		id_1 = newIdentNode__ast_u5164(colontmpD_, (*info_p4).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	eqcopy___lookups_u77(&tmpScope_1, (*c_p0).currentScope);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___lookups_u77(&(*c_p0).currentScope, scope_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = qualifiedLookUp__lookups_u5229(c_p0, id_1, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA20_;
		result = symChoice__sem_u10236(c_p0, id_1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg) (isMixin_p3)), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA18_;
LA20_: ;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T24_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		T24_.len = 0; T24_.p = NIM_NIL;
		{
			if (!((*n_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA27_;
			eqcopy___system_u2694((&colontmpD__2), (*(*n_p2)._kind_5.ident).s);
			T24_ = colontmpD__2;
		}
		goto LA25_;
LA27_: ;
		{
			eqcopy___system_u2694((&colontmpD__3), (*n_p2)._kind_3.strVal);
			T24_ = colontmpD__3;
		}
LA25_: ;
		errorUndeclaredIdentifier__lookups_u5145(c_p0, (*info_p4).info, T24_, TM__rF9caJawfOjYTjsgLVUSGFA_1066);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			LA23_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA18_: ;
	eqsink___lookups_u83(&(*c_p0).currentScope, tmpScope_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___lookups_u71(&tmpScope_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(tmpScope_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, bindSymWrapper__sem_u23930)(tyObject_VmArgs__PuiloXB3J4yNffJquqRVvg* a_p0, void* ClE_0) {
	tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* colonenvP__1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	NI64 T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenvP__1 = (tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg*) ClE_0;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD_ = getNode__vm_u375(a_p0, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NI64)0;
	T2_ = getInt__vm_u301(a_p0, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = getNode__vm_u375(a_p0, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = opBindSym__sem_u23891((*colonenvP__1).c0, (*colonenvP__1).scope1, colontmpD_, ((NI) (T2_)), colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setResult__vm_u274(a_p0, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDynamicBindSym__sem_u23921)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* colonenv__1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew* vm_1;
	RootObj* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idxNode_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg* T2_;
	NI idx_1;
	tyProc__c9bXGQkBnyyGGVw063jrwZw T13_;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colonenv__1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	vm_1 = NIM_NIL;
	idxNode_1 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	T2_ = NIM_NIL;
	T2_ = (tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg*) nimNewObj(sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg), NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___0Mr1krfaaakTahpFDt9cyUg));
	(*T2_).Sup.m_type = (&NTIv2__0Mr1krfaaakTahpFDt9cyUg_);
	colonenv__1 = T2_;
	eqcopy___semdata_u4218(&(*colonenv__1).c0, c_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((NI)0) < (*(*colonenv__1).c0).inStaticContext);
		if (T5_) goto LA6_;
		colontmpD_ = getCurrOwner__semdata_u425((*colonenv__1).c0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = isCompileTimeProc__ast_u7159(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA6_: ;
		if (!!(T5_)) goto LA7_;
		result = semBindSym__sem_u23866((*colonenv__1).c0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(idxNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___vmdef_u2206(vm_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u31797(colonenv__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	{
		if (!((*(*(*colonenv__1).c0).graph).vm == 0)) goto LA11_;
		setupGlobalCtx__vm_u14219((*(*colonenv__1).c0).module, (*(*colonenv__1).c0).graph, (*(*colonenv__1).c0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	colontmpD__2 = eqdup___ast_u4951((*(*(*colonenv__1).c0).graph).vm, NIM_TRUE);
	vm_1 = (*((tyObject_TCtx__FHLmhXedV9bg0OyLunsHRew**) (&(colontmpD__2))));
	eqcopy___lookups_u77(&(*colonenv__1).scope1, (*(*colonenv__1).c0).currentScope);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T13_), sizeof(tyProc__c9bXGQkBnyyGGVw063jrwZw));
	T13_.ClP_0 = bindSymWrapper__sem_u23930; T13_.ClE_0 = colonenv__1;
	idx_1 = registerCallback__vmdef_u2258(vm_1, TM__rF9caJawfOjYTjsgLVUSGFA_1060, T13_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T14_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	colontmpD__3 = getSysType__magicsys_u55((*(*colonenv__1).c0).graph, T14_, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	idxNode_1 = newIntTypeNode__ast_u5387(((NI64) (idx_1)), colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		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_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA18;
					i_1 = i_2;
					eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					add__ast_u3215(result, x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					i_2 += ((NI)1);
				} LA18: ;
			}
		}
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	add__ast_u3215(result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, idxNode_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(idxNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___vmdef_u2206(vm_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u31797(colonenv__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, addDefaultFieldForNew__sem_u23437)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	typ_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&typ_1, (*(*result)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* asgnExpr_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		tyArray__TAsXwXSUBvAawE1kIQ5ziQ T9_;
		T4_ = (NIM_BOOL)0;
		colontmpD_ = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
		if (!(T4_)) goto LA5_;
		colontmpD__2 = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = ((*(*colontmpD__2).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA5_: ;
		if (!T4_) goto LA6_;
		asgnExpr_1 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		t_1 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		nimZeroMem((void*)T9_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
		colontmpD__3 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*(*result)._kind_6.sons.p->data[((NI)1)]).info, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T9_[0] = colontmpD__3;
		asgnExpr_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38), T9_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		eqcopy___ast_u3381(&(*asgnExpr_1).typField, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		colontmpD__4 = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		eqcopy___ast_u3381(&t_1, (*colontmpD__4).sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			while (1) {
				tySequence__9ahcSjIErJohSBBFLwuF56Q colontmpD__5;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T17_;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				base_1 = NIM_NIL;
				colontmpD__5 = defaultFieldsForTheUninitialized__sem_u10014(c_p0, (*t_1).n, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				add__closureiters_u384((&(*asgnExpr_1)._kind_6.sons), ((colontmpD__5).p) ? (colontmpD__5.p->data) : NIM_NIL, colontmpD__5.len);
				base_1 = baseClass__ast_u5348(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				{
					if (!(base_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA15_;
					eqdestroy___ast_u3378(base_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					eqdestroy___ast_u3696(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					goto LA10;
				}
LA15_: ;
				T17_ = NIM_NIL;
				T17_ = skipTypes__ast_u5379(base_1, TM__rF9caJawfOjYTjsgLVUSGFA_185);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T17_); goto LA12_;}
				eqsink___ast_u3387(&t_1, T17_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				{
					LA12_:;
				}
				{
					oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(base_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					eqdestroy___ast_u3696(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					*nimErr_ = oldNimErrFin12_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
		} LA10: ;
		{
			NI T22_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T25_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
			T22_ = (*asgnExpr_1)._kind_6.sons.len;
			if (!(((NI)1) < T22_)) goto LA23_;
			nimZeroMem((void*)T25_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T25_[0] = (*result)._kind_6.sons.p->data[((NI)1)];
			T25_[1] = asgnExpr_1;
			T26_ = NIM_NIL;
			T26_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73), T25_, 2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto LA8_;}
			eqsink___ast_u3261(&result, T26_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA23_: ;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(asgnExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, whereToBindTypeHook__sem_u18287)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, t_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
				if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11))) goto LA5_;
				T7_ = NIM_NIL;
				T7_ = skipModifier__ast_u5338(result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T7_); goto BeforeRet_;}
				eqsink___ast_u3387(&result, T7_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA3_;
LA5_: ;
			{
				if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA9_;
				eqcopy___ast_u3381(&result, (*result).sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA3_;
LA9_: ;
			{
				goto LA1;
			}
LA3_: ;
		}
	} LA1: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T16_;
		if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28))) goto LA14_;
		T16_ = NIM_NIL;
		T16_ = canonType__sem_u18248(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T16_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA14_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, transform__sem_u24043)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* old_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* fresh_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* oldParam_p4, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newParam_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = shallowCopy__ast_u6876(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T3_;
		NIM_BOOL T4_;
		T3_ = 0;
		T4_ = (NIM_BOOL)0;
		T4_ = sameTypeOrNil__types_u1837((*n_p1).typField, old_p2, T3_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T4_) goto LA5_;
		eqcopy___ast_u3381(&(*result).typField, fresh_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T9_)) goto LA10_;
		T9_ = ((*n_p1)._kind_4.sym == oldParam_p4);
LA10_: ;
		if (!T9_) goto LA11_;
		eqcopy___ast_u4577(&(*result)._kind_4.sym, newParam_p5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA11_: ;
	{
		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) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
				if (!(i_2 < colontmp_)) goto LA15;
				i_1 = i_2;
				T16_ = NIM_NIL;
				T16_ = transform__sem_u24043(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], old_p2, fresh_p3, oldParam_p4, newParam_p5);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA15: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, turnFinalizerIntoDestructor__sem_u24038)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* orig_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* origParamType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* newParamType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* oldParam_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newParam_1;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	origParamType_1 = NIM_NIL;
	newParamType_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	oldParam_1 = NIM_NIL;
	newParam_1 = NIM_NIL;
	result = copySym__ast_u6250(orig_p1, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).info = info_p2;
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2))) & 63);
	setOwner__icZic_u12851(result, orig_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	origParamType_1 = firstParamType__ast_u5363((*orig_p1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = skipTypes__ast_u5379(origParamType_1, TM__rF9caJawfOjYTjsgLVUSGFA_493);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	newParamType_1 = makeVarType__magicsys_u140(result, colontmpD_, (*c_p0).Sup.idgen, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u4577(&oldParam_1, (*(*(*(*orig_p1).typ).n)._kind_6.sons.p->data[((NI)1)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	newParam_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3), (*oldParam_1).name, (*c_p0).Sup.idgen, result, (*result).info, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*newParam_1).typ, newParamType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = NIM_NIL;
	T3_ = transform__sem_u24043(c_p0, (*orig_p1).ast, origParamType_1, newParamType_1, oldParam_1, newParam_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA1_;}
	eqsink___ast_u3261(&(*result).ast, T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = NIM_NIL;
	T4_ = newProcType__ast_u7492((*result).info, (*c_p0).Sup.idgen, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T4_); goto LA1_;}
	eqsink___ast_u3387(&(*result).typ, T4_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addParam__ast_u7497((*result).typ, newParam_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(newParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(oldParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(newParamType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(origParamType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semNewFinalize__sem_u24184)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI T4_;
		NI T6_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = ((*(*n_p1)._kind_6.sons.p->data[(NI)(T4_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T3_)) goto LA5_;
		T6_ = (NI)0;
		T6_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = !(((*(*(*n_p1)._kind_6.sons.p->data[(NI)(T6_ - ((NI)1))])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*(*n_p1)._kind_6.sons.p->data[(NI)(T6_ - ((NI)1))])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13)));
LA5_: ;
		if (!T3_) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1073, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1074, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA7_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nfin_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fin_1;
		NI T13_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T14_;
		if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)46)))&63U)))!=0)) goto LA10_;
		nfin_1 = NIM_NIL;
		fin_1 = NIM_NIL;
		T13_ = (NI)0;
		T13_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		nfin_1 = skipConvCastAndClosure__astalgo_u60((*n_p1)._kind_6.sons.p->data[(NI)(T13_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		T14_ = NIM_NIL;
		switch ((*nfin_1).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
		{
			eqcopy___ast_u4577(&fin_1, (*nfin_1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
		{
			eqcopy___ast_u4577(&fin_1, (*(*nfin_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
		break;
		default:
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1075, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1076, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			fin_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		}
		break;
		}
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
			if (!!((fin_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA20_;
			t_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			{
				if (!!(((*fin_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*fin_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13)))) goto LA25_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1077, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1078, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			}
LA25_: ;
			colontmpD_ = firstParamType__ast_u5363((*fin_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			colontmpD__2 = skipTypes__ast_u5379(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_1079);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			t_1 = whereToBindTypeHook__sem_u18287(c_p0, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			{
				NIM_BOOL T29_;
				NIM_BOOL T30_;
				T29_ = (NIM_BOOL)0;
				T30_ = (NIM_BOOL)0;
				T30_ = !((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T30_)) goto LA31_;
				colontmpD__3 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				T30_ = !((colontmpD__3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA31_: ;
				T29_ = T30_;
				if (!(T29_)) goto LA32_;
				colontmpD__4 = getAttachedOp__modulegraphs_u4987((*c_p0).graph, t_1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				colontmpD__5 = owner__ast_u6254(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				T29_ = (colontmpD__5 == fin_1);
LA32_: ;
				if (!T29_) goto LA33_;
			}
			goto LA27_;
LA33_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
				colontmpD__6 = NIM_NIL;
				colontmpD__7 = NIM_NIL;
				{
					NIM_BOOL T39_;
					T39_ = (NIM_BOOL)0;
					T39_ = !(((*fin_1).instantiatedFrom == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
					if (!(T39_)) goto LA40_;
					colontmpD__6 = owner__ast_u6254(fin_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
					T39_ = !(((*fin_1).instantiatedFrom == colontmpD__6));
LA40_: ;
					if (!T39_) goto LA41_;
					setOwner__icZic_u12851(fin_1, (*fin_1).instantiatedFrom);
					if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				}
LA41_: ;
				{
					colontmpD__7 = skipTypes__ast_u5379((*(*fin_1).typ).sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_10);
					if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
					if (!!(((*colontmpD__7).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22)))) goto LA45_;
					bindTypeHook__sem_u18371(c_p0, fin_1, n_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				}
				goto LA43_;
LA45_: ;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* wrapperSym_1;
					NimStringV2 colontmpD__8;
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__9;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__10;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* selfSymNode_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__11;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* wrapper_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__14;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__16;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__17;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__18;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__19;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* transFormedSym_1;
					NimStringV2 T49_;
					tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T50_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T51_;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T52_;
					tyArray__al2p7ldDMvbBVYNFCuu4Rw T53_;
					tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T54_;
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T55_;
					wrapperSym_1 = NIM_NIL;
					colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
					colontmpD__9 = NIM_NIL;
					colontmpD__10 = NIM_NIL;
					selfSymNode_1 = NIM_NIL;
					colontmpD__11 = NIM_NIL;
					wrapper_1 = NIM_NIL;
					colontmpD__12 = NIM_NIL;
					colontmpD__13 = NIM_NIL;
					colontmpD__14 = NIM_NIL;
					colontmpD__15 = NIM_NIL;
					colontmpD__16 = NIM_NIL;
					colontmpD__17 = NIM_NIL;
					colontmpD__18 = NIM_NIL;
					colontmpD__19 = NIM_NIL;
					transFormedSym_1 = NIM_NIL;
					T49_.len = 0; T49_.p = NIM_NIL;
					T49_ = rawNewString((*(*fin_1).name).s.len + 16);
appendString((&T49_), (*(*fin_1).name).s);
appendString((&T49_), TM__rF9caJawfOjYTjsgLVUSGFA_1081);
					colontmpD__8 = T49_;
					colontmpD__9 = getIdent__idents_u206((*(*c_p0).graph).cache, colontmpD__8);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					colontmpD__10 = owner__ast_u6254(fin_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T50_ = 0;
					wrapperSym_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12), colontmpD__9, (*c_p0).Sup.idgen, colontmpD__10, (*fin_1).info, T50_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					colontmpD__11 = copySym__ast_u6250((*(*(*(*(*fin_1).ast)._kind_6.sons.p->data[((NI)3)])._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)])._kind_4.sym, (*c_p0).Sup.idgen);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					selfSymNode_1 = newSymNode__ast_u5168(colontmpD__11);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T51_ = NIM_NIL;
					T51_ = firstParamType__ast_u5363((*fin_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T51_); goto LA48_;}
					eqsink___ast_u3387(&(*selfSymNode_1).typField, T51_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					(*wrapperSym_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
					nimZeroMem((void*)T52_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					colontmpD__12 = newSymNode__ast_u5168(fin_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T52_[0] = colontmpD__12;
					T52_[1] = selfSymNode_1;
					colontmpD__13 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), T52_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					nimZeroMem((void*)T53_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
					T53_[0] = (*(*c_p0).graph).emptyNode;
					nimZeroMem((void*)T54_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
					T54_[0] = selfSymNode_1;
					colontmpD__14 = firstParamType__ast_u5363((*fin_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					colontmpD__15 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*(*(*(*(*fin_1).ast)._kind_6.sons.p->data[((NI)3)])._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]).info, colontmpD__14);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T54_[1] = colontmpD__15;
					T54_[2] = (*(*c_p0).graph).emptyNode;
					colontmpD__16 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T54_, 3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T53_[1] = colontmpD__16;
					colontmpD__17 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), T53_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					colontmpD__18 = newSymNode__ast_u5168(wrapperSym_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					colontmpD__19 = newProcNode__ast_u5430(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79), (*fin_1).info, colontmpD__13, colontmpD__17, colontmpD__18, (*(*fin_1).ast)._kind_6.sons.p->data[((NI)1)], (*(*fin_1).ast)._kind_6.sons.p->data[((NI)2)], (*(*fin_1).ast)._kind_6.sons.p->data[((NI)4)], (*(*fin_1).ast)._kind_6.sons.p->data[((NI)5)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					T55_ = 0;
					wrapper_1 = (*c_p0).semExpr(c_p0, colontmpD__19, T55_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					transFormedSym_1 = turnFinalizerIntoDestructor__sem_u24038(c_p0, wrapperSym_1, (*wrapper_1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					setOwner__icZic_u12851(transFormedSym_1, fin_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					{
						NIM_BOOL T58_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* origParamType_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* selfSymbolType_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__20;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* selfPtr_1;
						tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T62_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T63_;
						T58_ = (NIM_BOOL)0;
						T58_ = ((*(*(*c_p0).graph).config).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)2));
						if (T58_) goto LA59_;
						T58_ = (((*(*c_p0).module).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)32)))&63U)))!=0);
LA59_: ;
						if (!T58_) goto LA60_;
						origParamType_1 = NIM_NIL;
						selfSymbolType_1 = NIM_NIL;
						colontmpD__20 = NIM_NIL;
						selfPtr_1 = NIM_NIL;
						eqcopy___ast_u3381(&origParamType_1, (*(*(*(*transFormedSym_1).ast)._kind_6.sons.p->data[((NI)6)])._kind_6.sons.p->data[((NI)1)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						colontmpD__20 = skipTypes__ast_u5379(origParamType_1, TM__rF9caJawfOjYTjsgLVUSGFA_493);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						selfSymbolType_1 = makePtrType__semdata_u4378(c_p0, colontmpD__20);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						selfPtr_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64), (*(*(*(*transFormedSym_1).ast)._kind_6.sons.p->data[((NI)6)])._kind_6.sons.p->data[((NI)1)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						add__ast_u3215(selfPtr_1, (*(*(*transFormedSym_1).ast)._kind_6.sons.p->data[((NI)6)])._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqsink___ast_u3387(&(*selfPtr_1).typField, selfSymbolType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						T62_ = 0;
						T63_ = NIM_NIL;
						T63_ = (*c_p0).semExpr(c_p0, selfPtr_1, T62_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T63_); goto LA48_;}
						eqsink___ast_u3261(&(*(*(*transFormedSym_1).ast)._kind_6.sons.p->data[((NI)6)])._kind_6.sons.p->data[((NI)1)], T63_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqdestroy___ast_u3252(selfPtr_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqdestroy___ast_u3378(colontmpD__20);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqdestroy___ast_u3378(origParamType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					}
LA60_: ;
					bindTypeHook__sem_u18371(c_p0, transFormedSym_1, n_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
					{
						LA48_:;
					}
					{
						oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(transFormedSym_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(colontmpD__19);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(colontmpD__18);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(colontmpD__17);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(colontmpD__16);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(colontmpD__15);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3378(colontmpD__14);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(colontmpD__13);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(colontmpD__12);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(wrapper_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u4574(colontmpD__11);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u3252(selfSymNode_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___ast_u4574(colontmpD__10);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___idents_u155(colontmpD__9);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						eqdestroy___system_u2691(colontmpD__8);
						eqdestroy___ast_u4574(wrapperSym_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
						*nimErr_ = oldNimErrFin48_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				}
LA43_: ;
				{
					LA36_:;
				}
				{
					oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__7);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					eqdestroy___ast_u4574(colontmpD__6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					*nimErr_ = oldNimErrFin36_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			}
LA27_: ;
			{
				LA22_:;
			}
			{
				oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u4574(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u3378(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				*nimErr_ = oldNimErrFin22_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA20_: ;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(fin_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(nfin_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA10_: ;
LA1_: ;
	result = addDefaultFieldForNew__sem_u23437(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, unownedType__sem_u23984)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*t_p1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		tySequence__d8ZV4IMgHt9biik9cS9a0hrmg elems_1;
		NI T3_;
		NIM_BOOL someChange_1;
		elems_1.len = 0; elems_1.p = NIM_NIL;
		T3_ = (NI)0;
		T3_ = len__ast_u5502(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		elems_1 = newSeq__icZic_u16261((T3_));
		someChange_1 = NIM_FALSE;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u5502(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
					if (!(i_2 < colontmp_)) goto LA6;
					i_1 = i_2;
					T7_ = NIM_NIL;
					T7_ = unownedType__sem_u23984(c_p0, (*t_p1).sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T7_); goto LA2_;}
					eqsink___ast_u3387(&elems_1.p->data[i_1], T7_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
					{
						if (!!((elems_1.p->data[i_1] == (*t_p1).sons.p->data[i_1]))) goto LA10_;
						someChange_1 = NIM_TRUE;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA6: ;
			}
		}
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			if (!someChange_1) goto LA14_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = owner__ast_u6246(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18), (*c_p0).Sup.idgen, colontmpD_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** e_1;
				NI i_3;
				NI L_1;
				NI T17_;
				e_1 = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
				i_3 = ((NI)0);
				T17_ = elems_1.len;
				L_1 = T17_;
				{
					while (1) {
						if (!(i_3 < L_1)) goto LA19;
						e_1 = &elems_1.p->data[i_3];
						rawAddSon__ast_u6706(result, (*e_1), NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						i_3 += ((NI)1);
					} LA19: ;
				}
			}
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		goto LA12_;
LA14_: ;
		{
			eqcopy___ast_u3381(&result, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
LA12_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3311(elems_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45):
	{
		result = elementType__ast_u5331(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_1;
		NI T26_;
		b_1 = NIM_NIL;
		T26_ = (NI)0;
		T26_ = len__ast_u5502(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		b_1 = unownedType__sem_u23984(c_p0, (*t_p1).sons.p->data[(NI)(T26_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		{
			NI T29_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			NI T33_;
			T29_ = (NI)0;
			T29_ = len__ast_u5502(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			if (!!((b_1 == (*t_p1).sons.p->data[(NI)(T29_ - ((NI)1))]))) goto LA30_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = owner__ast_u6246(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			result = copyType__ast_u6238(t_p1, (*c_p0).Sup.idgen, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			copyTypeProps__modulegraphs_u10674((*c_p0).graph, ((NI) ((*(*c_p0).Sup.idgen).module)), result, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			T33_ = (NI)0;
			T33_ = len__ast_u5502(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			eqsink___ast_u3387(&(*result).sons.p->data[(NI)(T33_ - ((NI)1))], b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			eqwasMoved___ast_u3375(&b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			(*result).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4))) & 63));
			{
				LA32_:;
			}
			{
				oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				*nimErr_ = oldNimErrFin32_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		}
		goto LA27_;
LA30_: ;
		{
			eqcopy___ast_u3381(&result, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		}
LA27_: ;
		{
			LA25_:;
		}
		{
			oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin25_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		eqcopy___ast_u3381(&result, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semUnown__sem_u23980)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyTree__ast_u6891((*n_p1)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = unownedType__sem_u23984(c_p0, (*result).typField);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T1_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*result).typField, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semQuantifier__sem_u24076)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* args_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin6_;
	NI T58_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T59_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	args_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeIT__ast_u4112((*n_p1).kind, (*n_p1).info, (*n_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&args_1, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI colontmp_;
		NI T3_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(args_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmp_ = (NI)(T3_ - ((NI)2));
		res_1 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				NIM_BOOL valid_1;
				if (!(res_1 <= colontmp_)) goto LA5;
				it_1 = NIM_NIL;
				i_1 = ((NI) (res_1));
				eqcopy___ast_u3255(&it_1, (*args_1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				valid_1 = NIM_FALSE;
				{
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* op_1;
					if (!((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29))) goto LA9_;
					op_1 = NIM_NIL;
					op_1 = considerQuotedIdent__lookups_u31(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* domain_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
						tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T47_;
						if (!((*op_1).id == ((NI)31))) goto LA14_;
						v_1 = NIM_NIL;
						colontmpD__4 = NIM_NIL;
						domain_1 = NIM_NIL;
						colontmpD__5 = NIM_NIL;
						colontmpD__6 = NIM_NIL;
						v_1 = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21), (*it_1)._kind_6.sons.p->data[((NI)1)], c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							NIM_BOOL T19_;
							NIM_BOOL T20_;
							NIM_BOOL T21_;
							NIM_BOOL T22_;
							NIM_BOOL T23_;
							NIM_BOOL T24_;
							NIM_BOOL T25_;
							NIM_BOOL T26_;
							NIM_BOOL T27_;
							NIM_BOOL T28_;
							NIM_BOOL T29_;
							tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T31_;
							NIM_BOOL T40_;
							tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T43_;
							T19_ = (NIM_BOOL)0;
							T20_ = (NIM_BOOL)0;
							T21_ = (NIM_BOOL)0;
							T22_ = (NIM_BOOL)0;
							T23_ = (NIM_BOOL)0;
							T24_ = (NIM_BOOL)0;
							T25_ = (NIM_BOOL)0;
							T26_ = (NIM_BOOL)0;
							T27_ = (NIM_BOOL)0;
							T28_ = (NIM_BOOL)0;
							T29_ = (NIM_BOOL)0;
							T29_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
							if (!(T29_)) goto LA30_;
							T31_ = 0;
							T29_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T31_));
LA30_: ;
							T28_ = T29_;
							if (!(T28_)) goto LA32_;
							T28_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA32_: ;
							T27_ = T28_;
							if (!(T27_)) goto LA33_;
							colontmpD__4 = getModule__modulegraphs_u14809((*c_p0).graph, (*v_1).info.fileIndex);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							T27_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
LA33_: ;
							T26_ = T27_;
							if (!(T26_)) goto LA34_;
							T26_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA34_: ;
							T25_ = T26_;
							if (!(T25_)) goto LA35_;
							T25_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA35_: ;
							T24_ = T25_;
							if (!(T24_)) goto LA36_;
							T24_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA36_: ;
							T23_ = T24_;
							if (!(T23_)) goto LA37_;
							T23_ = (((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA37_: ;
							T22_ = T23_;
							if (!(T22_)) goto LA38_;
							T22_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA38_: ;
							T21_ = T22_;
							if (!(T21_)) goto LA39_;
							T40_ = (NIM_BOOL)0;
							T40_ = ((*v_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (T40_) goto LA41_;
							T40_ = !(((*(*v_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA41_: ;
							T21_ = T40_;
LA39_: ;
							T20_ = T21_;
							if (!(T20_)) goto LA42_;
							T43_ = 0;
							T20_ = ((192 & (*v_1).flags) == T43_);
LA42_: ;
							T19_ = T20_;
							if (!(T19_)) goto LA44_;
							T19_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA44_: ;
							if (!T19_) goto LA45_;
							nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*v_1).info, v_1, (*v_1).kind);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						}
LA45_: ;
						domain_1 = semExprWithType__sem_u63(c_p0, (*it_1)._kind_6.sons.p->data[((NI)2)], 2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						eqcopy___ast_u3381(&(*v_1).typ, (*domain_1).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						valid_1 = NIM_TRUE;
						addDecl__lookups_u3789(c_p0, v_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						nimZeroMem((void*)T47_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
						T47_[0] = (*it_1)._kind_6.sons.p->data[((NI)0)];
						colontmpD__5 = newSymNode__ast_u5168(v_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						T47_[1] = colontmpD__5;
						T47_[2] = domain_1;
						colontmpD__6 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), T47_, 3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						add__ast_u3215(result, colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							LA16_:;
						}
						{
							oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__6);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u3252(colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u3252(domain_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u4574(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u4574(v_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							*nimErr_ = oldNimErrFin16_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					}
LA14_: ;
					{
						LA11_:;
					}
					{
						oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___idents_u155(op_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						*nimErr_ = oldNimErrFin11_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA9_: ;
				{
					if (!!(valid_1)) goto LA54_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1083, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1084, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA54_: ;
				res_1 += ((NI)1);
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	T58_ = (NI)0;
	T58_ = len__ast_u3190(args_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T59_ = 0;
	colontmpD__2 = semExprWithType__sem_u63(c_p0, (*args_1)._kind_6.sons.p->data[(NI)(T58_ - ((NI)1))], T59_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = forceBool__sem_u4381(c_p0, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(args_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOld__sem_u24161)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA4_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)1)], (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
		if (T8_) goto LA9_;
		T8_ = !(((*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3)));
LA9_: ;
		if (!T8_) goto LA10_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1086, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1087, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA10_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		NimStringV2 colontmpD__4;
		NimStringV2 T16_;
		colontmpD_ = owner__ast_u6254((*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((colontmpD_ == colontmpD__2))) goto LA13_;
		colontmpD__3 = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		T16_.len = 0; T16_.p = NIM_NIL;
		colontmpD__3 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_ = rawNewString((*(*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).name).s.len + (*(*colontmpD__3).name).s.len + 20);
appendString((&T16_), (*(*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).name).s);
appendString((&T16_), TM__rF9caJawfOjYTjsgLVUSGFA_1089);
appendString((&T16_), (*(*colontmpD__3).name).s);
		colontmpD__4 = T16_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1090, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___ast_u4574(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin15_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA13_: ;
LA6_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, checkDefault__sem_u24299)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* constructed_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	constructed_1 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 argX60gensym5733__1;
		if (!!(((*(*(*result)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)))) goto LA4_;
		argX60gensym5733__1.len = 0; argX60gensym5733__1.p = NIM_NIL;
		argX60gensym5733__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1093);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym5733__1, TM__rF9caJawfOjYTjsgLVUSGFA_1093);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym5733__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	constructed_1 = base__ast_u5351((*(*result)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T11_;
		NimStringV2 colontmpD_;
		T11_ = (NIM_BOOL)0;
		T11_ = requiresInit__typeallowed_u563(constructed_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T11_) goto LA12_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = typeToString__types_u54(constructed_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)46), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1094, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA12_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(constructed_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPrivateAccess__sem_u24279)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = elementType__ast_u5331((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	t_1 = toObjectFromRefPtrGeneric__ast_u7299(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA4_;
		colontmpD__3 = eqdup___ast_u4580((*t_1).sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__renderer_u83((&(*(*c_p0).currentScope).allowPrivateAccess), colontmpD__3);
	}
LA4_: ;
	colontmpD__2 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, magicsAfterOverloadResolution__sem_u24312)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin104_;
NIM_BOOL oldNimErrFin97_;
NIM_BOOL oldNimErrFin110_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)16):
	{
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = semAddr__sem_u23464(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18):
	{
		result = semTypeOf__sem_u142(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)10):
	{
		tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* configX60gensym5744__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nodeX60gensym5744__1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typX60gensym5744__1;
		NI64 sizeX60gensym5744__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
		configX60gensym5744__1 = NIM_NIL;
		nodeX60gensym5744__1 = NIM_NIL;
		typX60gensym5744__1 = NIM_NIL;
		eqcopy___options_u2138(&configX60gensym5744__1, (*(*c_p0).graph).config);
		eqcopy___ast_u3255(&nodeX60gensym5744__1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		eqcopy___ast_u3381(&typX60gensym5744__1, (*(*nodeX60gensym5744__1)._kind_6.sons.p->data[((NI)1)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		computeSizeAlign__types_u3070(configX60gensym5744__1, typX60gensym5744__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		sizeX60gensym5744__1 = (*typX60gensym5744__1).size;
		T5_ = NIM_NIL;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resX60gensym5744__1;
			if (!(IL64(0) <= sizeX60gensym5744__1)) goto LA8_;
			resX60gensym5744__1 = NIM_NIL;
			resX60gensym5744__1 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), sizeX60gensym5744__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			(*resX60gensym5744__1).info = (*nodeX60gensym5744__1).info;
			eqcopy___ast_u3381(&(*resX60gensym5744__1).typField, (*nodeX60gensym5744__1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			result = resX60gensym5744__1;
		}
		goto LA6_;
LA8_: ;
		{
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		}
LA6_: ;
		{
			LA4_:;
		}
		{
			oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typX60gensym5744__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(nodeX60gensym5744__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___options_u2135(configX60gensym5744__1);
			*nimErr_ = oldNimErrFin4_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)11):
	{
		tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* configX60gensym5751__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nodeX60gensym5751__1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typX60gensym5751__1;
		NI16 alignX60gensym5751__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
		configX60gensym5751__1 = NIM_NIL;
		nodeX60gensym5751__1 = NIM_NIL;
		typX60gensym5751__1 = NIM_NIL;
		eqcopy___options_u2138(&configX60gensym5751__1, (*(*c_p0).graph).config);
		eqcopy___ast_u3255(&nodeX60gensym5751__1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		eqcopy___ast_u3381(&typX60gensym5751__1, (*(*nodeX60gensym5751__1)._kind_6.sons.p->data[((NI)1)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		computeSizeAlign__types_u3070(configX60gensym5751__1, typX60gensym5751__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		alignX60gensym5751__1 = (*typX60gensym5751__1).align;
		T15_ = NIM_NIL;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resX60gensym5751__1;
			if (!(((NI16)0) <= alignX60gensym5751__1)) goto LA18_;
			resX60gensym5751__1 = NIM_NIL;
			resX60gensym5751__1 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) (alignX60gensym5751__1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			(*resX60gensym5751__1).info = (*nodeX60gensym5751__1).info;
			eqcopy___ast_u3381(&(*resX60gensym5751__1).typField, (*nodeX60gensym5751__1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			result = resX60gensym5751__1;
		}
		goto LA16_;
LA18_: ;
		{
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA16_: ;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typX60gensym5751__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(nodeX60gensym5751__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___options_u2135(configX60gensym5751__1);
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)12):
	{
		tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* configX60gensym5758__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nodeX60gensym5758__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dotExprX60gensym5758__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* valueX60gensym5758__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* memberX60gensym5758__1;
		NI32 offsetX60gensym5758__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T34_;
		configX60gensym5758__1 = NIM_NIL;
		nodeX60gensym5758__1 = NIM_NIL;
		dotExprX60gensym5758__1 = NIM_NIL;
		valueX60gensym5758__1 = NIM_NIL;
		memberX60gensym5758__1 = NIM_NIL;
		eqcopy___options_u2138(&configX60gensym5758__1, (*(*c_p0).graph).config);
		eqcopy___ast_u3255(&nodeX60gensym5758__1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			{
				if (!((*(*nodeX60gensym5758__1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA28_;
				eqcopy___ast_u3255(&dotExprX60gensym5758__1, (*nodeX60gensym5758__1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			}
			goto LA26_;
LA28_: ;
			{
				if (!((*(*nodeX60gensym5758__1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46))) goto LA31_;
				eqcopy___ast_u3255(&dotExprX60gensym5758__1, (*(*nodeX60gensym5758__1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			}
			goto LA26_;
LA31_: ;
			{
				dotExprX60gensym5758__1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
				liMessage__msgs_u1227(configX60gensym5758__1, (*nodeX60gensym5758__1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_786, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_787, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			}
LA26_: ;
		}
		eqcopy___ast_u3255(&valueX60gensym5758__1, (*dotExprX60gensym5758__1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		eqcopy___ast_u3255(&memberX60gensym5758__1, (*dotExprX60gensym5758__1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		computeSizeAlign__types_u3070(configX60gensym5758__1, (*valueX60gensym5758__1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		offsetX60gensym5758__1 = (*(*memberX60gensym5758__1)._kind_4.sym).offset;
		T34_ = NIM_NIL;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpX60gensym5758__1;
			if (!(((NI32)0) <= offsetX60gensym5758__1)) goto LA37_;
			tmpX60gensym5758__1 = NIM_NIL;
			tmpX60gensym5758__1 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) (offsetX60gensym5758__1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			(*tmpX60gensym5758__1).info = (*nodeX60gensym5758__1).info;
			eqcopy___ast_u3381(&(*tmpX60gensym5758__1).typField, (*nodeX60gensym5758__1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			result = tmpX60gensym5758__1;
		}
		goto LA35_;
LA37_: ;
		{
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
LA35_: ;
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(memberX60gensym5758__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(valueX60gensym5758__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dotExprX60gensym5758__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(nodeX60gensym5758__1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___options_u2135(configX60gensym5758__1);
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5):
	{
		result = semArrGet__sem_u23541(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)6):
	{
		result = semArrPut__sem_u23594(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)7):
	{
		if (eqStrings((*(*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_975)) goto LA45_;
		if (eqStrings((*(*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_976)) goto LA45_;
		if (eqStrings((*(*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_977)) goto LA46_;
		goto LA47_;
		LA45_: ;
		{
			result = semAsgnOpr__sem_u23605(c_p0, n_p1, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA48_;
		LA46_: ;
		{
			result = semAsgnOpr__sem_u23605(c_p0, n_p1, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA48_;
		LA47_: ;
		{
			result = semShallowCopy__sem_u23935(c_p0, n_p1, flags_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA48_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)138):
	{
		result = semIsPartOf__sem_u23610(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)13):
	{
		result = semTypeTraits__sem_u23844(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)139):
	{
		NimStringV2 colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T56_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)1)], 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		result = newStrNodeT__semfold_u63(colontmpD_, n_p1, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		T56_ = NIM_NIL;
		T56_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T56_); goto LA55_;}
		eqsink___ast_u3387(&(*result).typField, T56_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		{
			LA55_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)260):
	{
		result = semInstantiationInfo__sem_u23630(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)31):
	{
		result = semOrd__sem_u23861(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)15):
	{
		result = semOf__sem_u23939(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)9):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)8):
	{
		result = semLowHigh__sem_u22977(c_p0, n_p1, (*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)21):
	{
		result = semShallowCopy__sem_u23935(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)250):
	{
		{
			if (!!((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)5)))&31U)))!=0))) goto LA67_;
			result = semBindSym__sem_u23866(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA65_;
LA67_: ;
		{
			result = semDynamicBindSym__sem_u23921(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA65_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)204):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3381(&(*result).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)125):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)19):
	{
		tyProc__1nD4dBuhjTAOzMZJo9bmgog plugin_1;
		plugin_1 = getPlugin__pluginsZactive_u7((*c_p0).cache, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NimStringV2 colontmpD__2;
			NimStringV2 T78_;
			if (!(plugin_1 == 0)) goto LA75_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T78_.len = 0; T78_.p = NIM_NIL;
			T78_ = rawNewString((*(*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s.len + 19);
appendString((&T78_), TM__rF9caJawfOjYTjsgLVUSGFA_1068);
appendString((&T78_), (*(*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s);
			colontmpD__2 = T78_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1069, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
			{
				LA77_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA73_;
LA75_: ;
		{
			result = plugin_1(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA73_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)32):
	{
		{
			if (!eqStrings((*(*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_1071)) goto LA85_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA83_;
LA85_: ;
		{
			result = addDefaultFieldForNew__sem_u23437(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA83_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)33):
	{
		result = semNewFinalize__sem_u24184(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)152):
	{
		result = replaceHookMagic__semdata_u7550(c_p0, n_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)153):
	{
		result = replaceHookMagic__semdata_u7550(c_p0, n_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)5));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)151):
	{
		result = replaceHookMagic__semdata_u7550(c_p0, n_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)3));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)150):
	{
		result = replaceHookMagic__semdata_u7550(c_p0, n_p1, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)155):
	{
		result = semUnown__sem_u23980(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)110):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)111):
	{
		result = semQuantifier__sem_u24076(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)112):
	{
		result = semOld__sem_u24161(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)136):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)137):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* seqType_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		seqType_1 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
		seqType_1 = skipTypes__ast_u5379((*(*result)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1091);
		if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
		{
			NIM_BOOL T100_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
			NimStringV2 colontmpD__5;
			T100_ = (NIM_BOOL)0;
			T100_ = ((*seqType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
			if (!(T100_)) goto LA101_;
			colontmpD__3 = base__ast_u5351(seqType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
			T100_ = requiresInit__typeallowed_u563(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
LA101_: ;
			if (!T100_) goto LA102_;
			colontmpD__4 = NIM_NIL;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__4 = base__ast_u5351(seqType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
			colontmpD__5 = typeToString__types_u54(colontmpD__4, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)45), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1092, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
			{
				LA104_:;
			}
			{
				oldNimErrFin104_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___system_u2691(colontmpD__5);
				eqdestroy___ast_u3378(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
				*nimErr_ = oldNimErrFin104_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
		}
LA102_: ;
		{
			LA97_:;
		}
		{
			oldNimErrFin97_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(seqType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin97_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)154):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* defaultExpr_1;
		NI T111_;
		NI T112_;
		typ_1 = NIM_NIL;
		defaultExpr_1 = NIM_NIL;
		result = checkDefault__sem_u24299(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
		T111_ = (NI)0;
		T111_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
		typ_1 = skipTypes__ast_u5379((*(*result)._kind_6.sons.p->data[(NI)(T111_ - ((NI)1))]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
		T112_ = (NI)0;
		T112_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
		defaultExpr_1 = defaultNodeField__sem_u10018(c_p0, (*result)._kind_6.sons.p->data[(NI)(T112_ - ((NI)1))], typ_1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
		{
			if (!!((defaultExpr_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA115_;
			eqsink___ast_u3261(&result, defaultExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
			eqwasMoved___ast_u3249(&defaultExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
		}
LA115_: ;
		{
			LA110_:;
		}
		{
			oldNimErrFin110_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(defaultExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin110_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)277):
	{
		result = checkDefault__sem_u24299(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)157):
	{
		{
			NIM_BOOL T123_;
			NimStringV2 colontmpD__6;
			NimStringV2 colontmpD__7;
			NimStringV2 T127_;
			T123_ = (NIM_BOOL)0;
			T123_ = checkIsolate__isolation95check_u220((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T123_)) goto LA124_;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			T127_.len = 0; T127_.p = NIM_NIL;
			colontmpD__6 = dollar___renderer_u2166((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
			T127_ = rawNewString(colontmpD__6.len + 31);
appendString((&T127_), TM__rF9caJawfOjYTjsgLVUSGFA_1096);
appendString((&T127_), colontmpD__6);
			colontmpD__7 = T127_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1097, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
			{
				LA126_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__7);
				eqdestroy___system_u2691(colontmpD__6);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA124_: ;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)276):
	{
		result = semPrivateAccess__sem_u24279(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)143):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
		colontmpD__8 = NIM_NIL;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T134_;
			NIM_BOOL T135_;
			NIM_BOOL T136_;
			NIM_BOOL T137_;
			T134_ = (NIM_BOOL)0;
			T135_ = (NIM_BOOL)0;
			T136_ = (NIM_BOOL)0;
			T137_ = (NIM_BOOL)0;
			T137_ = !(((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T137_)) goto LA138_;
			T137_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA138_: ;
			T136_ = T137_;
			if (!(T136_)) goto LA139_;
			T136_ = ((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
LA139_: ;
			T135_ = T136_;
			if (!(T135_)) goto LA140_;
			T135_ = ((*expectedType_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
LA140_: ;
			T134_ = T135_;
			if (!(T134_)) goto LA141_;
			colontmpD__8 = elementType__ast_u5331((*result).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T134_ = ((*colontmpD__8).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3));
LA141_: ;
			if (!T134_) goto LA142_;
			eqcopy___ast_u3381(&(*result).typField, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA142_: ;
		eqdestroy___ast_u3378(colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)149):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NimStringV2 colontmpD__9;
			NimStringV2 colontmpD__10;
			NimStringV2 T150_;
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106))) goto LA147_;
			colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
			colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
			T150_.len = 0; T150_.p = NIM_NIL;
			colontmpD__9 = dollar___renderer_u2166((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
			T150_ = rawNewString(colontmpD__9.len + 38);
appendString((&T150_), TM__rF9caJawfOjYTjsgLVUSGFA_1099);
appendString((&T150_), colontmpD__9);
appendString((&T150_), TM__rF9caJawfOjYTjsgLVUSGFA_1100);
			colontmpD__10 = T150_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__10, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1101, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
			{
				LA149_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__10);
				eqdestroy___system_u2691(colontmpD__9);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA147_: ;
	}
	break;
	default:
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, afterCallActions__sem_u24693)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callee_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	callee_1 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)14)))&31U)))!=0));
		if (!(T5_)) goto LA6_;
		T5_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = ((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50));
LA7_: ;
		if (!T4_) goto LA8_;
		result = errorNode__semdata_u4571(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA8_: ;
	{
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T13_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T13_)) goto LA14_;
		T13_ = ((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA14_: ;
		T12_ = T13_;
		if (!(T12_)) goto LA15_;
		T12_ = (((NI)0) < (*c_p0).inGenericContext);
LA15_: ;
		if (!T12_) goto LA16_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA16_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u4577(&callee_1, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*callee_1).kind) {
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
		T19_ = NIM_NIL;
		T19_ = semMacroExpr__sem_u541(c_p0, result, orig_p2, callee_1, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA1_;}
		eqsink___ast_u3261(&result, T19_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T21_;
		T21_ = NIM_NIL;
		T21_ = semTemplateExpr__sem_u535(c_p0, result, callee_1, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T21_); goto LA1_;}
		eqsink___ast_u3261(&result, T21_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		semFinishOperands__sem_u24680(c_p0, result, ((*callee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5) || (*callee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)6)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		activate__sem_u117(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		fixAbstractType__sem_u23347(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		analyseIfAddressTakenInCall__semdata_u7430(c_p0, result, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T27_;
			if (!!(((*callee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)))) goto LA25_;
			T27_ = NIM_NIL;
			T27_ = magicsAfterOverloadResolution__sem_u24312(c_p0, result, flags_p3, expectedType_p4);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T27_); goto LA1_;}
			eqsink___ast_u3261(&result, T27_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA25_: ;
	}
	break;
	}
	{
		NIM_BOOL T30_;
		NIM_BOOL T32_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
		T30_ = (NIM_BOOL)0;
		T30_ = ((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL));
		if (!(T30_)) goto LA31_;
		T32_ = (NIM_BOOL)0;
		T32_ = ((*c_p0).inTypeofContext == ((NI)0));
		if (T32_) goto LA33_;
		T32_ = !(((*callee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
LA33_: ;
		T30_ = T32_;
LA31_: ;
		if (!T30_) goto LA34_;
		T36_ = NIM_NIL;
		T36_ = evalAtCompileTime__sem_u126(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA1_;}
		eqsink___ast_u3261(&result, T36_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA34_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDirectOp__sem_u526)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nOrig_1 = NIM_NIL;
	nOrig_1 = copyTree__ast_u6891(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = semOverloadedCallAnalyseEffects__sem_u24589(c_p0, n_p1, nOrig_1, flags_p2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = afterCallActions__sem_u24693(c_p0, result, nOrig_1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto LA1_;}
		eqsink___ast_u3261(&result, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		T8_ = NIM_NIL;
		T8_ = errorNode__semdata_u4571(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA1_;}
		eqsink___ast_u3261(&result, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(nOrig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalPattern__sem_u697)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NimStringV2 rule_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	NimStringV2 T11_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	rule_1.len = 0; rule_1.p = NIM_NIL;
	s_1 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NimStringV2 argX60gensym91__1;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA5_: ;
		if (!!(T4_)) goto LA6_;
		argX60gensym91__1.len = 0; argX60gensym91__1.p = NIM_NIL;
		argX60gensym91__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_764);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym91__1, TM__rF9caJawfOjYTjsgLVUSGFA_764);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym91__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	T11_.len = 0; T11_.p = NIM_NIL;
	{
		NIM_BOOL T14_;
		T14_ = (NIM_BOOL)0;
		T14_ = hasHint__options_u557((*(*c_p0).graph).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)108));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T14_) goto LA15_;
		rule_1 = renderTree__renderer_u59(n_p1, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA12_;
LA15_: ;
	{
		rule_1 = TM__rF9caJawfOjYTjsgLVUSGFA_765;
	}
LA12_: ;
	eqcopy___ast_u4577(&s_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*s_1).kind) {
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T19_;
		T19_ = 0;
		result = semMacroExpr__sem_u541(c_p0, n_p1, orig_p2, s_1, T19_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
	{
		result = semTemplateExpr__sem_u535(c_p0, n_p1, s_1, 131072, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T22_;
		T22_ = 0;
		result = semDirectOp__sem_u526(c_p0, n_p1, T22_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		NIM_BOOL T25_;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T29_;
		T25_ = (NIM_BOOL)0;
		T25_ = hasHint__options_u557((*(*c_p0).graph).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)108));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T25_) goto LA26_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T29_.len = 0; T29_.p = NIM_NIL;
		colontmpD_ = renderTree__renderer_u59(result, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		T29_ = rawNewString(rule_1.len + colontmpD_.len + 7);
appendString((&T29_), rule_1);
appendString((&T29_), TM__rF9caJawfOjYTjsgLVUSGFA_1103);
appendString((&T29_), colontmpD_);
appendString((&T29_), TM__rF9caJawfOjYTjsgLVUSGFA_1104);
		colontmpD__2 = T29_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*orig_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)108), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1105, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			LA28_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA26_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(rule_1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, applyPatterns__sem_u716)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*c_p0).patterns.len;
		colontmp_ = (NI)(T2_ - ((NI)1));
		res_1 = colontmp_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* pattern_1;
				if (!(((NI)0) <= res_1)) goto LA4;
				pattern_1 = NIM_NIL;
				i_1 = ((NI) (res_1));
				eqcopy___ast_u4577(&pattern_1, (*c_p0).patterns.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
					if (!!((pattern_1 == 0))) goto LA8_;
					x_1 = NIM_NIL;
					x_1 = applyRule__patterns_u367(c_p0, pattern_1, result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					{
						if (!!((x_1 == 0))) goto LA13_;
						(*(*(*c_p0).graph).config).evalTemplateCounter += ((NI)1);
						{
							if (!(((NI)1000) < (*(*(*c_p0).graph).config).evalTemplateCounter)) goto LA17_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_762, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_763, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						}
LA17_: ;
						eqsink___ast_u4583(&(*c_p0).patterns.p->data[i_1], ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T24_;
							if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA21_;
							T23_ = NIM_NIL;
							T23_ = evalPattern__sem_u697(c_p0, (*x_1)._kind_6.sons.p->data[((NI)1)], result);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA10_;}
							eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[((NI)1)], T23_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							T24_ = NIM_NIL;
							T24_ = flattenStmts__trees_u359(x_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T24_); goto LA10_;}
							eqsink___ast_u3261(&result, T24_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						}
						goto LA19_;
LA21_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
							T26_ = NIM_NIL;
							T26_ = evalPattern__sem_u697(c_p0, x_1, result);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto LA10_;}
							eqsink___ast_u3261(&result, T26_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						}
LA19_: ;
						(*(*(*c_p0).graph).config).evalTemplateCounter -= ((NI)1);
						eqsink___ast_u4583(&(*c_p0).patterns.p->data[i_1], pattern_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						eqwasMoved___ast_u4571(&pattern_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA13_: ;
					{
						LA10_:;
					}
					{
						oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						*nimErr_ = oldNimErrFin10_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
LA8_: ;
				res_1 -= ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(pattern_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, hlo__sem_u693)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI loopDetector_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!(((NI)300) < loopDetector_p2)) goto LA3_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)85), TM__rF9caJawfOjYTjsgLVUSGFA_759, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_760, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA3_: ;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			NIM_BOOL T9_;
			NIM_BOOL T10_;
			T9_ = (NIM_BOOL)0;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36));
			if (!(T10_)) goto LA11_;
			T10_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA11_: ;
			T9_ = T10_;
			if (!(T9_)) goto LA12_;
			T9_ = ((2056 & ~ (*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags)==0);
LA12_: ;
			if (!T9_) goto LA13_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA13_: ;
		result = applyPatterns__sem_u716(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(result == n_p1)) goto LA17_;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* h_1;
						if (!(i_2 < colontmp_)) goto LA21;
						a_1 = NIM_NIL;
						h_1 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&a_1, (*result)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						h_1 = hlo__sem_u693(c_p0, a_1, loopDetector_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						{
							if (!!((h_1 == a_1))) goto LA25_;
							eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], h_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							eqwasMoved___ast_u3249(&h_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						}
LA25_: ;
						i_2 += ((NI)1);
						{
							LA22_:;
						}
						{
							oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(h_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3252(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin22_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA21: ;
				}
			}
		}
		goto LA15_;
LA17_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T39_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T40_;
			{
				NIM_BOOL T32_;
				T32_ = (NIM_BOOL)0;
				T32_ = isEmptyType__ast_u7234((*n_p1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T32_)) goto LA33_;
				T32_ = isEmptyType__ast_u7234((*result).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA33_: ;
				if (!T32_) goto LA34_;
			}
			goto LA30_;
LA34_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T37_;
				T37_ = NIM_NIL;
				T37_ = fitNode__sem_u79(c_p0, (*n_p1).typField, result, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T37_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T37_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA30_: ;
			T38_ = NIM_NIL;
			T38_ = commonOptimizations__transf_u3199((*c_p0).graph, (*c_p0).Sup.idgen, (*c_p0).module, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T38_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T39_ = NIM_NIL;
			T39_ = hlo__sem_u693(c_p0, result, (NI)(loopDetector_p2 + ((NI)1)));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T39_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T39_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T40_ = NIM_NIL;
			T40_ = commonOptimizations__transf_u3199((*c_p0).graph, (*c_p0).Sup.idgen, (*c_p0).module, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T40_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T40_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA15_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, hloBody__sem_u793)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (*c_p0).patterns.len;
		T3_ = (T4_ == ((NI)0));
		if (T3_) goto LA5_;
		T3_ = !((((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)23)))&31U)))!=0));
LA5_: ;
		if (!T3_) goto LA6_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	result = hlo__sem_u693(c_p0, n_p1, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, popProcCon__semdata_u696)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___semdata_u704(&(*c_p0).p, (*(*c_p0).p).next);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, paramsTypeCheck__sem_u520)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1) {
	tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = 0;
	typeAllowedCheck__sem_u478(c_p0, (*(*typ_p1).n).info, typ_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12), T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fixupInstantiatedSymbols__sem_u1244)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*c_p0).generics.len;
		colontmp_ = T2_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym182__1;
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym184__1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* oldPrc_1;
					tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
					xX60gensym182__1 = (*(*c_p0).generics.p->data[i_1].genericSym).itemId;
					xX60gensym184__1 = (*s_p1).itemId;
					if (!((NI)((NI)((NU32)(((NI) (xX60gensym182__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym182__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym184__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym184__1.item))))) goto LA7_;
					oldPrc_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					n_1 = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					eqcopy___ast_u4577(&oldPrc_1, (*(*c_p0).generics.p->data[i_1].inst).sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					pushProcCon__sem_u843(c_p0, oldPrc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					pushOwner__semdata_u432(c_p0, oldPrc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					pushInfoContext__msgs_u569((*(*c_p0).graph).config, (*oldPrc_1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1111);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					colontmpD_ = openScope__lookups_u65(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					eqcopy___ast_u3255(&n_1, (*oldPrc_1).ast);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					colontmpD__2 = getBody__modulegraphs_u17880((*c_p0).graph, s_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					T10_ = NIM_NIL;
					T10_ = copyTree__ast_u6891(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto LA9_;}
					eqsink___ast_u3261(&(*n_1)._kind_6.sons.p->data[((NI)6)], T10_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					instantiateBody__sem_u1128(c_p0, n_1, (*(*oldPrc_1).typ).n, oldPrc_1, s_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					closeScope__lookups_u102(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					popInfoContext__msgs_u593((*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					popOwner__semdata_u439(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					popProcCon__semdata_u696(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						LA9_:;
					}
					{
						oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(n_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___lookups_u74(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(oldPrc_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin9_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA7_: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, searchForBorrowProc__sem_u4152)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* startScope_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p2, tyTuple__i8rz7q24mELXeBm9byGB9bhQ* Result) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	NIM_BOOL hasDistinct_1;
	NIM_BOOL isDistinct_1;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin61_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__i8rz7q24mELXeBm9byGB9bhQ));
	call_1 = NIM_NIL;
	x_1 = NIM_NIL;
	t_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	nimZeroMem((void*)Result, sizeof(tyTuple__i8rz7q24mELXeBm9byGB9bhQ));
	call_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*fn_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hasDistinct_1 = NIM_FALSE;
	isDistinct_1 = (NIM_BOOL)0;
	colontmpD_ = newIdentNode__ast_u5164((*fn_p2).name, (*fn_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(call_1, colontmpD_);
	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((*(*fn_p2).typ).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* param_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T6_;
				NIM_BOOL T7_;
				if (!(i_2 < colontmp_)) goto LA4;
				param_1 = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				s_1 = NIM_NIL;
				colontmpD__4 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&param_1, (*(*(*fn_p2).typ).n)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				T6_ = NIM_NIL;
				T6_ = skipTypes__ast_u5379((*param_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1118);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T6_); goto LA5_;}
				eqsink___ast_u3387(&t_1, T6_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				T7_ = (NIM_BOOL)0;
				T7_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13));
				if (T7_) goto LA8_;
				T7_ = ((*(*param_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13));
LA8_: ;
				isDistinct_1 = T7_;
				{
					NIM_BOOL T11_;
					T11_ = (NIM_BOOL)0;
					T11_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9));
					if (!(T11_)) goto LA12_;
					colontmpD__2 = genericHead__ast_u5376(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					colontmpD__3 = last__ast_u5278(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T11_ = ((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13));
LA12_: ;
					if (!T11_) goto LA13_;
					(*Result).Field1 = ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)3);
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(call_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA13_: ;
				{
					if (!isDistinct_1) goto LA17_;
					hasDistinct_1 = NIM_TRUE;
				}
LA17_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T24_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T25_;
					if (!((*(*param_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23))) goto LA21_;
					colontmpD__5 = NIM_NIL;
					colontmpD__6 = NIM_NIL;
					T24_ = NIM_NIL;
					T24_ = newTypeS__semdata_u4368((*(*param_1).typField).kind, c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T24_); goto LA23_;}
					eqsink___ast_u3387(&x_1, T24_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					T25_ = NIM_NIL;
					{
						if (!isDistinct_1) goto LA28_;
						colontmpD__5 = baseOfDistinct__types_u3470(t_1, (*c_p0).graph, (*c_p0).Sup.idgen);
						if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
						T25_ = colontmpD__5;
						{
							LA30_:;
						}
						{
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					}
					goto LA26_;
LA28_: ;
					{
						colontmpD__6 = t_1;
						eqwasMoved___ast_u3375(&t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
						T25_ = colontmpD__6;
					}
LA26_: ;
					addSonSkipIntLit__magicsys_u135(x_1, T25_, (*c_p0).Sup.idgen);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					{
						LA23_:;
					}
					{
						oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						eqdestroy___ast_u3378(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						*nimErr_ = oldNimErrFin23_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
				goto LA19_;
LA21_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T37_;
					T37_ = NIM_NIL;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T42_;
						if (!isDistinct_1) goto LA40_;
						T42_ = NIM_NIL;
						T42_ = baseOfDistinct__types_u3470(t_1, (*c_p0).graph, (*c_p0).Sup.idgen);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T42_); goto LA5_;}
						eqsink___ast_u3387(&x_1, T42_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
					goto LA38_;
LA40_: ;
					{
						eqsink___ast_u3387(&x_1, t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						eqwasMoved___ast_u3375(&t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA38_: ;
				}
LA19_: ;
				s_1 = copySym__ast_u6250((*param_1)._kind_4.sym, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				eqsink___ast_u3387(&(*s_1).typ, x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				eqwasMoved___ast_u3375(&x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				(*s_1).info = (*param_1).info;
				colontmpD__4 = newSymNode__ast_u5168(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				add__ast_u3215(call_1, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA4: ;
		}
	}
	{
		tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__7;
		tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__8;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resolved_1;
		tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T56_;
		if (!hasDistinct_1) goto LA48_;
		nimZeroMem((void*)(&colontmpD__7), sizeof(tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q));
		nimZeroMem((void*)(&colontmpD__8), sizeof(tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q));
		resolved_1 = NIM_NIL;
		{
			if (!((*fn_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*fn_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13))) goto LA53_;
			colontmpD__7 = 12288;
			filter_1 = colontmpD__7;
		}
		goto LA51_;
LA53_: ;
		{
			colontmpD__8 = 0;
			colontmpD__8 |=((NU32)(1)<<((((*fn_p2).kind))%(sizeof(NU32)*8)));
			filter_1 = colontmpD__8;
		}
LA51_: ;
		T56_ = 0;
		resolved_1 = semOverloadedCall__sem_u4008(c_p0, call_1, call_1, filter_1, T56_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
			if (!!((resolved_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA59_;
			colontmpD__9 = NIM_NIL;
			colontmpD__10 = NIM_NIL;
			eqcopy___ast_u4577(&(*Result).Field0, (*(*resolved_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
			(*Result).Field1 = ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)5);
			{
				NIM_BOOL T64_;
				colontmpD__9 = returnType__ast_u5354((*(*Result).Field0).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				colontmpD__10 = returnType__ast_u5354((*fn_p2).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				T64_ = (NIM_BOOL)0;
				T64_ = compareTypes__types_u2768(colontmpD__9, colontmpD__10, ((tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw)1), 256);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				if (!!(T64_)) goto LA65_;
				(*Result).Field1 = ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)1);
			}
			goto LA62_;
LA65_: ;
			{
				if (!((*(*Result).Field0).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)6) || (*(*Result).Field0).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5))) goto LA68_;
				(*Result).Field1 = ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)4);
			}
			goto LA62_;
LA68_: ;
LA62_: ;
			{
				LA61_:;
			}
			{
				oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				eqdestroy___ast_u3378(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				*nimErr_ = oldNimErrFin61_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		}
LA59_: ;
		{
			LA50_:;
		}
		{
			oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(resolved_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin50_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA46_;
LA48_: ;
	{
		(*Result).Field1 = ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)2);
	}
LA46_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u4227)(tyTuple__i8rz7q24mELXeBm9byGB9bhQ dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.Field0);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3469((&(*dest_p0.Field0)));
		nimRawDispose(dest_p0.Field0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, semBorrow__sem_u18069)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2) {
	tyTuple__i8rz7q24mELXeBm9byGB9bhQ tmpTuple_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_1;
	tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg state_1;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__i8rz7q24mELXeBm9byGB9bhQ));
	b_1 = NIM_NIL;
	searchForBorrowProc__sem_u4152(c_p0, (*(*c_p0).currentScope).parent, s_p2, (&tmpTuple_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	b_1 = tmpTuple_1.Field0;
	eqwasMoved___ast_u4571(&tmpTuple_1.Field0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	state_1 = tmpTuple_1.Field1;
	switch (state_1) {
	case ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)5):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
		T3_ = NIM_NIL;
		T3_ = newSymNode__ast_u5168(b_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)6)], T3_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*s_p2).magic = (*b_1).magic;
		{
			NIM_BOOL T6_;
			NI T8_;
			T6_ = (NIM_BOOL)0;
			T6_ = !(((*b_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T6_)) goto LA7_;
			T8_ = (NI)0;
			T8_ = len__ast_u5502((*b_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T6_ = (((NI)0) < T8_);
LA7_: ;
			if (!T6_) goto LA9_;
			eqcopy___ast_u3255(&(*(*(*s_p2).typ).n)._kind_6.sons.p->data[((NI)0)], (*(*(*b_1).typ).n)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA9_: ;
		(*(*s_p2).typ).flags = (*(*b_1).typ).flags;
	}
	break;
	case ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)2):
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1120, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1121, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)1):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		colontmpD_ = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD_ = returnType__ast_u5354((*b_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__2 = typeToString__types_u54(colontmpD_, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1123, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1124, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin13_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)3):
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1126, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1127, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TBorrowState__7S35xtIcOBOOTuiuXhImXg)4):
	{
		NimStringV2 colontmpD__4;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1129, (*(*b_1).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1130, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			LA18_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1132, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1133, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u4227(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sideEffectsCheck__sem_u1271)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProcAux__sem_u20978)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p2, tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* declarationScope_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w tmpTuple_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* proto_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	NIM_BOOL isAnon_1;
	NIM_BOOL isHighlight_1;
	tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w T43_;
	NIM_BOOL comesFromShadowScope_1;
	NIM_BOOL hasProto_1;
NIM_BOOL oldNimErrFin152_;
NIM_BOOL oldNimErrFin262_;
NIM_BOOL oldNimErrFin252_;
NIM_BOOL oldNimErrFin278_;
NIM_BOOL oldNimErrFin312_;
NIM_BOOL oldNimErrFin305_;
NIM_BOOL oldNimErrFin346_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	declarationScope_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w));
	proto_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = semProcAnnotation__sem_u11784(c_p0, n_p1, validPragmas_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA4_;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(proto_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___procfind_u79(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(declarationScope_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)7), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	isAnon_1 = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
	isHighlight_1 = ((*(*(*c_p0).graph).config).ideCmd == ((tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng)9));
	switch ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T7_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T7_ = 0;
		s_1 = newSym__ast_u4205(kind_p2, (*(*c_p0).cache).idAnon, (*c_p0).Sup.idgen, colontmpD__3, (*n_p1).info, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63);
		T8_ = NIM_NIL;
		T8_ = newSymNode__ast_u5168(s_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		eqcopy___ast_u4577(&s_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__4 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		setOwner__icZic_u12851(s_1, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		s_1 = semIdentDef__sem_u15470(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], kind_p2, isHighlight_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = NIM_NIL;
		T11_ = newSymNode__ast_u5168(s_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	eqcopy___ast_u3255(&(*s_1).ast, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*s_1).options = (*(*(*c_p0).graph).config).options;
	{
		if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA14_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)47))) & 63);
	}
LA14_: ;
	eqcopy___lookups_u77(&declarationScope_1, (*c_p0).currentScope);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pushOwner__semdata_u432(c_p0, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setGenericParamsMisc__sem_u9966(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)3)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA18_;
		semParamList__sem_u100(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)3)], (*n_p1)._kind_6.sons.p->data[((NI)2)], s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA16_;
LA18_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T21_;
		T21_ = NIM_NIL;
		T21_ = newProcType__sem_u8225(c_p0, (*n_p1).info, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T21_); goto LA1_;}
		eqsink___ast_u3387(&(*s_1).typ, T21_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA16_: ;
	{
		NI T24_;
		T24_ = (NI)0;
		T24_ = safeLen__ast_u3197((*n_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T24_ == ((NI)0))) goto LA25_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)2)], (*(*n_p1)._kind_6.sons.p->data[((NI)5)])._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)5)], (*(*c_p0).graph).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	{
		if (!(((*(*s_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)33)))&63U)))!=0)) goto LA29_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28))) & 63);
	}
LA29_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA33_;
		T35_ = NIM_NIL;
		T35_ = semPattern__sem_u10922(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], s_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T35_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA33_: ;
	{
		if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15))) goto LA38_;
		(*(*s_1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15))) & 63);
	}
	goto LA36_;
LA38_: ;
	{
		if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13))) goto LA41_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)12))) & 63);
		(*(*s_1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1))) & 63);
	}
	goto LA36_;
LA41_: ;
LA36_: ;
	nimZeroMem((void*)(&T43_), sizeof(tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w));
	{
		if (!isAnon_1) goto LA46_;
		tmpTuple_1.Field0 = TM__rF9caJawfOjYTjsgLVUSGFA_604.Field0;
		tmpTuple_1.Field1 = TM__rF9caJawfOjYTjsgLVUSGFA_604.Field1;
	}
	goto LA44_;
LA46_: ;
	{
		searchForProc__procfind_u64(c_p0, declarationScope_1, s_1, (&tmpTuple_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA44_: ;
	proto_1 = tmpTuple_1.Field0;
	eqwasMoved___ast_u4571(&tmpTuple_1.Field0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	comesFromShadowScope_1 = tmpTuple_1.Field1;
	{
		NIM_BOOL T51_;
		NIM_BOOL T52_;
		T51_ = (NIM_BOOL)0;
		T52_ = (NIM_BOOL)0;
		T52_ = (proto_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
		if (!(T52_)) goto LA53_;
		T52_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0);
LA53_: ;
		T51_ = T52_;
		if (!(T51_)) goto LA54_;
		T51_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA54_: ;
		if (!T51_) goto LA55_;
		eqcopy___ast_u4577(&proto_1, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA55_: ;
	hasProto_1 = !((proto_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	switch ((*s_1).kind) {
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15):
	{
		{
			tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ T62_;
			if (!!(((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9)))) goto LA60_;
			T62_ = (tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)0;
			{
				if (!isAnon_1) goto LA65_;
				(*(*s_1).typ).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9);
			}
			goto LA63_;
LA65_: ;
			{
				(*(*s_1).typ).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)5);
			}
LA63_: ;
		}
LA60_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
	{
	}
	break;
	default:
	{
		{
			tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* colontmpD__5;
			if (!!(hasProto_1)) goto LA72_;
			colontmpD__5 = NIM_NIL;
			colontmpD__5 = lastOptionEntry__semdata_u451(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*(*s_1).typ).callConv = (*colontmpD__5).defaultCC;
			eqdestroy___semdata_u611(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA72_: ;
	}
	break;
	}
	{
		NIM_BOOL T76_;
		T76_ = (NIM_BOOL)0;
		T76_ = !(hasProto_1);
		if (!(T76_)) goto LA77_;
		T76_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0));
LA77_: ;
		if (!T76_) goto LA78_;
		{
			if (!((1568832 &((NU32)1<<((NU)(((*s_1).kind))&31U)))!=0)) goto LA82_;
			addInterfaceOverloadableSymAt__lookups_u3846(c_p0, declarationScope_1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA80_;
LA82_: ;
		{
			addInterfaceDeclAt__lookups_u3819(c_p0, declarationScope_1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA80_: ;
	}
LA78_: ;
	pragmaCallable__pragmas_u2536(c_p0, s_1, n_p1, validPragmas_p3, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(hasProto_1)) goto LA87_;
		implicitPragmas__pragmas_u2378(c_p0, s_1, (*n_p1).info, validPragmas_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA87_: ;
	{
		if (!((16777344 & (*s_1).flags) == 16777344)) goto LA91_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_606, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_607, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA91_: ;
	{
		NIM_BOOL T95_;
		T95_ = (NIM_BOOL)0;
		T95_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)4)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
		if (!(T95_)) goto LA96_;
		T95_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)31)))&63U)))!=0));
LA96_: ;
		if (!T95_) goto LA97_;
		setEffectsForProcType__sempass2_u8040((*c_p0).graph, (*s_1).typ, (*n_p1)._kind_6.sons.p->data[((NI)4)], s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA97_: ;
	(*(*s_1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)44))) & 63);
	{
		NIM_BOOL T101_;
		NIM_BOOL T103_;
		NIM_BOOL T104_;
		NimStringV2 colontmpD__6;
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		NimStringV2 colontmpD__9;
		NimStringV2 T110_;
		T101_ = (NIM_BOOL)0;
		T101_ = hasProto_1;
		if (!(T101_)) goto LA102_;
		T103_ = (NIM_BOOL)0;
		T104_ = (NIM_BOOL)0;
		T104_ = (((*(*s_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42)))&63U)))!=0);
		if (!(T104_)) goto LA105_;
		T104_ = !(((*(*proto_1).typ).callConv == (*(*s_1).typ).callConv));
LA105_: ;
		T103_ = T104_;
		if (T103_) goto LA106_;
		T103_ = ((((*(*proto_1).typ).flags & ~ (*(*s_1).typ).flags)==0)&&((*(*proto_1).typ).flags != (*(*s_1).typ).flags));
LA106_: ;
		T101_ = T103_;
LA102_: ;
		if (!T101_) goto LA107_;
		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;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		T110_.len = 0; T110_.p = NIM_NIL;
		colontmpD__6 = dollar___msgs_u714((*(*c_p0).graph).config, (*proto_1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
		colontmpD__7 = dollar___msgs_u714((*(*c_p0).graph).config, (*s_1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
		T110_ = rawNewString((*(*proto_1).name).s.len + colontmpD__6.len + (*(*s_1).name).s.len + colontmpD__7.len + 17);
appendString((&T110_), TM__rF9caJawfOjYTjsgLVUSGFA_610);
appendString((&T110_), (*(*proto_1).name).s);
appendString((&T110_), TM__rF9caJawfOjYTjsgLVUSGFA_612);
appendString((&T110_), colontmpD__6);
appendString((&T110_), TM__rF9caJawfOjYTjsgLVUSGFA_614);
appendString((&T110_), (*(*s_1).name).s);
appendString((&T110_), TM__rF9caJawfOjYTjsgLVUSGFA_615);
appendString((&T110_), colontmpD__7);
		colontmpD__8 = T110_;
		colontmpD__9 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_609, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)4)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_616, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
		{
			LA109_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__9);
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(colontmpD__6);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA107_: ;
	{
		NIM_BOOL T115_;
		NIM_BOOL T116_;
		NIM_BOOL T117_;
		NIM_BOOL T118_;
		NIM_BOOL T119_;
		NIM_BOOL T120_;
		NIM_BOOL T121_;
		NIM_BOOL T122_;
		NIM_BOOL T123_;
		NIM_BOOL T124_;
		NIM_BOOL T125_;
		tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T127_;
		NIM_BOOL T136_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T139_;
		T115_ = (NIM_BOOL)0;
		T116_ = (NIM_BOOL)0;
		T117_ = (NIM_BOOL)0;
		T118_ = (NIM_BOOL)0;
		T119_ = (NIM_BOOL)0;
		T120_ = (NIM_BOOL)0;
		T121_ = (NIM_BOOL)0;
		T122_ = (NIM_BOOL)0;
		T123_ = (NIM_BOOL)0;
		T124_ = (NIM_BOOL)0;
		T125_ = (NIM_BOOL)0;
		T125_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
		if (!(T125_)) goto LA126_;
		T127_ = 0;
		T125_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T127_));
LA126_: ;
		T124_ = T125_;
		if (!(T124_)) goto LA128_;
		T124_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA128_: ;
		T123_ = T124_;
		if (!(T123_)) goto LA129_;
		colontmpD__2 = getModule__modulegraphs_u14809((*c_p0).graph, (*s_1).info.fileIndex);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T123_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA129_: ;
		T122_ = T123_;
		if (!(T122_)) goto LA130_;
		T122_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA130_: ;
		T121_ = T122_;
		if (!(T121_)) goto LA131_;
		T121_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA131_: ;
		T120_ = T121_;
		if (!(T120_)) goto LA132_;
		T120_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA132_: ;
		T119_ = T120_;
		if (!(T119_)) goto LA133_;
		T119_ = (((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA133_: ;
		T118_ = T119_;
		if (!(T118_)) goto LA134_;
		T118_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA134_: ;
		T117_ = T118_;
		if (!(T117_)) goto LA135_;
		T136_ = (NIM_BOOL)0;
		T136_ = ((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T136_) goto LA137_;
		T136_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA137_: ;
		T117_ = T136_;
LA135_: ;
		T116_ = T117_;
		if (!(T116_)) goto LA138_;
		T139_ = 0;
		T116_ = ((192 & (*s_1).flags) == T139_);
LA138_: ;
		T115_ = T116_;
		if (!(T115_)) goto LA140_;
		T115_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA140_: ;
		if (!T115_) goto LA141_;
		nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*s_1).info, s_1, (*s_1).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA141_: ;
	{
		if (!hasProto_1) goto LA145_;
	}
	goto LA143_;
LA145_: ;
	{
	}
LA143_: ;
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__10;
		NimStringV2 colontmpD__11;
		tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T163_;
		if (!hasProto_1) goto LA150_;
		colontmpD__10 = NIM_NIL;
		colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
		{
			NIM_BOOL T155_;
			T155_ = (NIM_BOOL)0;
			T155_ = !((((*proto_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0));
			if (!(T155_)) goto LA156_;
			T155_ = ((*proto_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA156_: ;
			if (!T155_) goto LA157_;
			wrongRedefinition__lookups_u3243(c_p0, (*n_p1).info, (*(*proto_1).name).s, (*proto_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		}
LA157_: ;
		{
			if (!!(comesFromShadowScope_1)) goto LA161_;
			(*proto_1).flags &= ~(((NU64)1) << (((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4))) & 63));
			(*proto_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)5))) & 63);
		}
LA161_: ;
		T163_ = NIM_NIL;
		T163_ = (*c_p0).graph;
		suggestSym__sigmatch_u6643(T163_, (*s_1).info, proto_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		colontmpD__10 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		{
			NIM_BOOL T166_;
			T166_ = (NIM_BOOL)0;
			T166_ = isGenericParams__ast_u7070((*(*proto_1).ast)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			if (!T166_) goto LA167_;
			addGenericParamListToScope__sem_u17226(c_p0, (*(*proto_1).ast)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		}
LA167_: ;
		addParams__sem_u105(c_p0, (*(*proto_1).typ).n, (*proto_1).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		(*proto_1).info = (*s_1).info;
		(*proto_1).options = (*s_1).options;
		eqcopy___ast_u4577(&s_1, proto_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)2)], (*(*proto_1).ast)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)3)], (*(*proto_1).ast)._kind_6.sons.p->data[((NI)3)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)4)], (*(*proto_1).ast)._kind_6.sons.p->data[((NI)4)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		{
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA171_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_618, TM__rF9caJawfOjYTjsgLVUSGFA_619);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		}
LA171_: ;
		eqcopy___ast_u4577(&(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, proto_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		{
			NIM_BOOL T175_;
			NimStringV2 colontmpD__12;
			T175_ = (NIM_BOOL)0;
			T175_ = importantComments__options_u3569((*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			if (!(T175_)) goto LA176_;
			colontmpD__11 = comment__ast_u836((*proto_1).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			T175_ = (((NI)0) < colontmpD__11.len);
LA176_: ;
			if (!T175_) goto LA177_;
			colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
			colontmpD__12 = comment__ast_u836((*proto_1).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto LA179_;
			commenteq___ast_u1334(n_p1, colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto LA179_;
			{
				LA179_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__12);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		}
LA177_: ;
		eqcopy___ast_u3255(&(*proto_1).ast, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		popOwner__semdata_u439(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		pushOwner__semdata_u432(c_p0, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		{
			LA152_:;
		}
		{
			oldNimErrFin152_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__11);
			eqdestroy___lookups_u74(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin152_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA150_: ;
	{
		if (!!(isAnon_1)) goto LA186_;
		{
			NIM_BOOL T190_;
			T190_ = (NIM_BOOL)0;
			T190_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)35)))&63U)))!=0);
			if (T190_) goto LA191_;
			T190_ = ((NU8)((*(*s_1).name).s.p->data[((NI)0)]) == (NU8)(61));
LA191_: ;
			if (!T190_) goto LA192_;
			semOverride__sem_u18479(c_p0, s_1, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA188_;
LA192_: ;
		{
			if (!(((NU8)((*(*s_1).name).s.p->data[((NI)0)])) == ((NU8)(46)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) == ((NU8)(40)))) goto LA195_;
			{
				NIM_BOOL T199_;
				tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ T201_;
				NimStringV2 colontmpD__13;
				NimStringV2 T205_;
				T199_ = (NIM_BOOL)0;
				T199_ = contains__stdZenumutils_u51(TM__rF9caJawfOjYTjsgLVUSGFA_709, 3, (*(*s_1).name).s);
				if (!(T199_)) goto LA200_;
				T201_ = 0;
				T199_ = ((9 & (*c_p0).features) == T201_);
LA200_: ;
				if (!T199_) goto LA202_;
				colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
				T205_.len = 0; T205_.p = NIM_NIL;
				T205_ = rawNewString((*(*s_1).name).s.len + 80);
appendString((&T205_), TM__rF9caJawfOjYTjsgLVUSGFA_714);
appendString((&T205_), (*(*s_1).name).s);
appendString((&T205_), TM__rF9caJawfOjYTjsgLVUSGFA_716);
				colontmpD__13 = T205_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__13, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_717, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				{
					LA204_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__13);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA197_;
LA202_: ;
			{
				NIM_BOOL T209_;
				NimStringV2 colontmpD__14;
				NimStringV2 T214_;
				T209_ = (NIM_BOOL)0;
				T209_ = eqStrings((*(*s_1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_719);
				if (!(T209_)) goto LA210_;
				T209_ = !((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)1)))&31U)))!=0));
LA210_: ;
				if (!T209_) goto LA211_;
				colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
				T214_.len = 0; T214_.p = NIM_NIL;
				T214_ = rawNewString((*(*s_1).name).s.len + 80);
appendString((&T214_), TM__rF9caJawfOjYTjsgLVUSGFA_720);
appendString((&T214_), (*(*s_1).name).s);
appendString((&T214_), TM__rF9caJawfOjYTjsgLVUSGFA_722);
				colontmpD__14 = T214_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_723, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA213_;
				{
					LA213_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__14);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA197_;
LA211_: ;
LA197_: ;
		}
		goto LA188_;
LA195_: ;
LA188_: ;
	}
LA186_: ;
	{
		NIM_BOOL T219_;
		T219_ = (NIM_BOOL)0;
		T219_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)31)))&63U)))!=0);
		if (!(T219_)) goto LA220_;
		T219_ = !(((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)14) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)15) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)16) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)21) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)22) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)23) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)24)));
LA220_: ;
		if (!T219_) goto LA221_;
		eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)6)], (*(*c_p0).graph).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA221_: ;
	{
		NIM_BOOL T225_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T226_;
		T225_ = (NIM_BOOL)0;
		T226_ = 0;
		T225_ = !(((IL64(5629500071084032) & (*s_1).flags) == T226_));
		if (!(T225_)) goto LA227_;
		T225_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)5)))&63U)))!=0));
LA227_: ;
		if (!T225_) goto LA228_;
		semCppMember__sem_u18647(c_p0, s_1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA228_: ;
	{
		NIM_BOOL T232_;
		T232_ = (NIM_BOOL)0;
		T232_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
		if (!(T232_)) goto LA233_;
		T232_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0));
LA233_: ;
		if (!T232_) goto LA234_;
		{
			NIM_BOOL T238_;
			NIM_BOOL T239_;
			NIM_BOOL T242_;
			T238_ = (NIM_BOOL)0;
			T239_ = (NIM_BOOL)0;
			T239_ = ((*(*(*c_p0).graph).config).ideCmd == ((tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng)1) || (*(*(*c_p0).graph).config).ideCmd == ((tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng)2));
			if (!(T239_)) goto LA240_;
			T239_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)));
LA240_: ;
			T238_ = T239_;
			if (!(T238_)) goto LA241_;
			T242_ = (NIM_BOOL)0;
			T242_ = cursorInProc__sem_u18627((*(*c_p0).graph).config, (*n_p1)._kind_6.sons.p->data[((NI)6)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T238_ = !(T242_);
LA241_: ;
			if (!T238_) goto LA243_;
			{
				if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14))) goto LA247_;
				semMethodPrototype__sem_u20953(c_p0, s_1, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA247_: ;
		}
		goto LA236_;
LA243_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* gp_1;
			if (!isAnon_1) goto LA250_;
			gp_1 = NIM_NIL;
			eqcopy___ast_u3255(&gp_1, (*n_p1)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
			{
				NIM_BOOL T255_;
				NIM_BOOL T257_;
				NI T258_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__15;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__16;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__17;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T263_;
				T255_ = (NIM_BOOL)0;
				T255_ = ((*gp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
				if (T255_) goto LA256_;
				T257_ = (NIM_BOOL)0;
				T258_ = (NI)0;
				T258_ = len__ast_u3190(gp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
				T257_ = (T258_ == ((NI)1));
				if (!(T257_)) goto LA259_;
				T257_ = (((*(*(*gp_1)._kind_6.sons.p->data[((NI)0)]).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)11)))&63U)))!=0);
LA259_: ;
				T255_ = T257_;
LA256_: ;
				if (!T255_) goto LA260_;
				colontmpD__15 = NIM_NIL;
				colontmpD__16 = NIM_NIL;
				colontmpD__17 = NIM_NIL;
				pushProcCon__sem_u843(c_p0, s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				colontmpD__15 = returnType__ast_u5354((*s_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				addResult__sem_u18097(c_p0, n_p1, colontmpD__15, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12));
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				colontmpD__16 = returnType__ast_u5354((*s_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				colontmpD__17 = semProcBody__sem_u75(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)6)], colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				T263_ = NIM_NIL;
				T263_ = hloBody__sem_u793(c_p0, colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T263_); goto LA262_;}
				eqsink___ast_u3261(&(*(*s_1).ast)._kind_6.sons.p->data[((NI)6)], T263_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				trackProc__sempass2_u8361(c_p0, s_1, (*(*s_1).ast)._kind_6.sons.p->data[((NI)6)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				popProcCon__semdata_u696(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA262_;
				{
					LA262_:;
				}
				{
					oldNimErrFin262_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__17);
					if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
					eqdestroy___ast_u3378(colontmpD__16);
					if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
					eqdestroy___ast_u3378(colontmpD__15);
					if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
					*nimErr_ = oldNimErrFin262_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
			}
			goto LA253_;
LA260_: ;
			{
				if (!!(((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)13)))&31U)))!=0))) goto LA267_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1107, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1108, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
			}
			goto LA253_;
LA267_: ;
LA253_: ;
			{
				LA252_:;
			}
			{
				oldNimErrFin252_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(gp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin252_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA236_;
LA250_: ;
		{
			pushProcCon__sem_u843(c_p0, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NIM_BOOL T274_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* resultType_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__18;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T285_;
				NIM_BOOL isInlineIterator_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T295_;
				T274_ = (NIM_BOOL)0;
				T274_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
				if (T274_) goto LA275_;
				T274_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA275_: ;
				if (!T274_) goto LA276_;
				resultType_1 = NIM_NIL;
				colontmpD__18 = NIM_NIL;
				{
					NIM_BOOL T281_;
					T281_ = (NIM_BOOL)0;
					T281_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)));
					if (!(T281_)) goto LA282_;
					T281_ = ((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA282_: ;
					if (!T281_) goto LA283_;
					paramsTypeCheck__sem_u520(c_p0, (*s_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				}
LA283_: ;
				maybeAddResult__sem_u109(c_p0, s_1, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				T285_ = NIM_NIL;
				{
					if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17))) goto LA288_;
					resultType_1 = sysTypeFromName__magicsys_u50((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1109);
					if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				}
				goto LA286_;
LA288_: ;
				{
					NIM_BOOL T291_;
					T291_ = (NIM_BOOL)0;
					T291_ = isInlineIterator__ast_u7400((*s_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
					if (!!(T291_)) goto LA292_;
					resultType_1 = returnType__ast_u5354((*s_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				}
				goto LA286_;
LA292_: ;
				{
					resultType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
				}
LA286_: ;
				isInlineIterator_1 = isInlineIterator__ast_u7400((*s_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				colontmpD__18 = semProcBody__sem_u75(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)6)], resultType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				T295_ = NIM_NIL;
				T295_ = hloBody__sem_u793(c_p0, colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T295_); goto LA278_;}
				eqsink___ast_u3261(&(*(*s_1).ast)._kind_6.sons.p->data[((NI)6)], T295_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				{
					NIM_BOOL T298_;
					T298_ = (NIM_BOOL)0;
					T298_ = isInlineIterator_1;
					if (!(T298_)) goto LA299_;
					T298_ = ((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA299_: ;
					if (!T298_) goto LA300_;
					maybeAddResult__sem_u109(c_p0, s_1, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				}
LA300_: ;
				trackProc__sempass2_u8361(c_p0, s_1, (*(*s_1).ast)._kind_6.sons.p->data[((NI)6)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
				{
					LA278_:;
				}
				{
					oldNimErrFin278_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__18);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(resultType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin278_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA272_;
LA276_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__19;
				tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__20;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T316_;
				colontmpD__19 = NIM_NIL;
				colontmpD__20 = NIM_NIL;
				{
					NIM_BOOL T308_;
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__21;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__22;
					tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T313_;
					T308_ = (NIM_BOOL)0;
					colontmpD__19 = returnType__ast_u5354((*s_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
					T308_ = !((colontmpD__19 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T308_)) goto LA309_;
					T308_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15)));
LA309_: ;
					if (!T308_) goto LA310_;
					colontmpD__21 = NIM_NIL;
					colontmpD__22 = NIM_NIL;
					colontmpD__21 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1110);
					if (NIM_UNLIKELY(*nimErr_)) goto LA312_;
					T313_ = 0;
					colontmpD__22 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0), colontmpD__21, (*c_p0).Sup.idgen, s_1, (*n_p1).info, T313_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA312_;
					addDecl__lookups_u3789(c_p0, colontmpD__22);
					if (NIM_UNLIKELY(*nimErr_)) goto LA312_;
					{
						LA312_:;
					}
					{
						oldNimErrFin312_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD__22);
						if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
						eqdestroy___idents_u155(colontmpD__21);
						if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
						*nimErr_ = oldNimErrFin312_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
				}
LA310_: ;
				colontmpD__20 = openScope__lookups_u65(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
				T316_ = NIM_NIL;
				T316_ = semGenericStmt__sem_u690(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)6)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T316_); goto LA305_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)6)], T316_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
				closeScope__lookups_u102(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
				{
					if (!((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0))) goto LA319_;
					fixupInstantiatedSymbols__sem_u1244(c_p0, s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA305_;
				}
LA319_: ;
				{
					LA305_:;
				}
				{
					oldNimErrFin305_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___lookups_u74(colontmpD__20);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD__19);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin305_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA272_: ;
			{
				if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14))) goto LA325_;
				semMethodPrototype__sem_u20953(c_p0, s_1, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA325_: ;
			popProcCon__semdata_u696(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA236_: ;
	}
	goto LA230_;
LA234_: ;
	{
		{
			if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14))) goto LA330_;
			semMethodPrototype__sem_u20953(c_p0, s_1, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA330_: ;
		{
			NimStringV2 colontmpD__23;
			if (!hasProto_1) goto LA334_;
			colontmpD__23.len = 0; colontmpD__23.p = NIM_NIL;
			colontmpD__23 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1113, (*(*proto_1).name).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA336_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__23, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1114, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA336_;
			{
				LA336_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__23);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA334_: ;
		{
			NIM_BOOL T341_;
			tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T342_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__24;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__25;
			T341_ = (NIM_BOOL)0;
			T342_ = 0;
			T341_ = ((IL64(2164260928) & (*s_1).flags) == T342_);
			if (!(T341_)) goto LA343_;
			T341_ = ((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA343_: ;
			if (!T341_) goto LA344_;
			colontmpD__24 = NIM_NIL;
			colontmpD__25 = NIM_NIL;
			{
				NIM_BOOL T349_;
				NIM_BOOL T350_;
				T349_ = (NIM_BOOL)0;
				T350_ = (NIM_BOOL)0;
				T350_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13));
				if (!(T350_)) goto LA351_;
				colontmpD__24 = returnType__ast_u5354((*s_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
				T350_ = !((colontmpD__24 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA351_: ;
				T349_ = T350_;
				if (!(T349_)) goto LA352_;
				colontmpD__25 = returnType__ast_u5354((*s_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
				T349_ = ((*colontmpD__25).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59));
LA352_: ;
				if (!T349_) goto LA353_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*n_p1)._kind_6.sons.p->data[((NI)3)])._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1116, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1117, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
			}
LA353_: ;
			(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4))) & 63);
			(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)5))) & 63);
			{
				LA346_:;
			}
			{
				oldNimErrFin346_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__25);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__24);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin346_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA339_;
LA344_: ;
		{
			if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)31)))&63U)))!=0)) goto LA358_;
			semBorrow__sem_u18069(c_p0, n_p1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA339_;
LA358_: ;
LA339_: ;
	}
LA230_: ;
	sideEffectsCheck__sem_u1271(c_p0, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	popOwner__semdata_u439(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__26;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA362_;
		colontmpD__26 = eqdup___ast_u4580(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__renderer_u83((&(*c_p0).patterns), colontmpD__26);
	}
LA362_: ;
	{
		if (!isAnon_1) goto LA366_;
		transitionSonsKind__ast_u6769(n_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)51));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3381(&(*result).typField, (*s_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T372_;
			if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA370_;
			T372_ = NIM_NIL;
			T372_ = makeVarType__semdata_u4402(c_p0, (*result).typField, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T372_); goto LA1_;}
			eqsink___ast_u3387(&(*result).typField, T372_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA370_: ;
	}
	goto LA364_;
LA366_: ;
	{
		NIM_BOOL T374_;
		NIM_BOOL T375_;
		T374_ = (NIM_BOOL)0;
		T375_ = (NIM_BOOL)0;
		T375_ = isTopLevel__semdata_u4679(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T375_)) goto LA376_;
		T375_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15)));
LA376_: ;
		T374_ = T375_;
		if (!(T374_)) goto LA377_;
		T374_ = ((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA377_: ;
		if (!T374_) goto LA378_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*s_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1135, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1136, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA364_;
LA378_: ;
LA364_: ;
	{
		tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T384_;
		if (!!(isHighlight_1)) goto LA382_;
		T384_ = NIM_NIL;
		T384_ = (*c_p0).graph;
		suggestSym__sigmatch_u6643(T384_, (*s_1).info, s_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA382_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(proto_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___procfind_u79(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(declarationScope_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, determineType__sem_u1709)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T6_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	{
		if (!!(((*s_p1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA4_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	nimZeroMem(T6_, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
	T7_ = 0;
	colontmpD_ = semProcAux__sem_u20978(c_p0, (*s_p1).ast, (*s_p1).kind, T6_, T7_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(void)(colontmpD_);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, pickBestCandidate__sem_u1882)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headSymbol_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initialBinding_p4, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p5, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* best_p6, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* alt_p7, tySequence__9bnh9aVmYtKU19btQYqjGktpw* errors_p8, NIM_BOOL diagnosticsFlag_p9, NIM_BOOL errorsEnabled_p10, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p11) {
	tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
	tySequence__hMc5eJjVGjq6i857yHjTtg syms_1;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA symMarker_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_1;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g z_1;
	NI symCount_1;
	NIM_BOOL allowTypeBoundOps_1;
	NIM_BOOL T7_;
	NI scope_1;
NIM_BOOL oldNimErrFin20_;
	NI nextSymIndex_1;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin88_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
	syms_1.len = 0; syms_1.p = NIM_NIL;
	nimZeroMem((void*)(&symMarker_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	sym_1 = NIM_NIL;
	name_1 = NIM_NIL;
	nimZeroMem((void*)(&z_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	symCount_1 = (*(*c_p0).currentScope).symbols.counter;
	nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
	syms_1 = initCandidateSymbols__sem_u1712(c_p0, headSymbol_p1, initialBinding_p4, filter_p5, best_p6, alt_p7, (&o_1), diagnosticsFlag_p9);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T4_;
		T4_ = syms_1.len;
		if (!(T4_ == ((NI)0))) goto LA5_;
		eqdestroy___sigmatch_u162((&z_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(name_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(sym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&symMarker_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___varpartitions_u1284(syms_1);
		eqdestroy___lookups_u6249((&o_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	T7_ = (NIM_BOOL)0;
	T7_ = (((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)24)))&31U)))!=0);
	if (!(T7_)) goto LA8_;
	T7_ = ((*headSymbol_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*headSymbol_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53) || (*headSymbol_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*headSymbol_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165));
LA8_: ;
	allowTypeBoundOps_1 = T7_;
	initIntSet__pureZcollectionsZintsets_u598((&symMarker_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyTuple__Wipq1508vNWp3jwczem6TQ* s_1;
		NI i_1;
		NI L_1;
		NI T10_;
		s_1 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
		i_1 = ((NI)0);
		T10_ = syms_1.len;
		L_1 = T10_;
		{
			while (1) {
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym316__1;
				if (!(i_1 < L_1)) goto LA12;
				s_1 = (&syms_1.p->data[i_1]);
				xX60gensym316__1 = (*(*s_1).Field0).itemId;
				incl__pureZcollectionsZintsets_u366((&symMarker_1), (NI)((NI)((NU32)(((NI) (xX60gensym316__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym316__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_1 += ((NI)1);
			} LA12: ;
		}
	}
	eqcopy___ast_u4577(&sym_1, syms_1.p->data[((NI)0)].Field0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___idents_u158(&name_1, (*sym_1).name);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	scope_1 = syms_1.p->data[((NI)0)].Field1;
	openShadowScope__lookups_u3850(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!allowTypeBoundOps_1) goto LA15_;
		{
			NI a_1;
			NI colontmp_;
			NI i_2;
			a_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
					if (!(i_2 < colontmp_)) goto LA19;
					arg_1 = NIM_NIL;
					a_1 = i_2;
					eqcopy___ast_u3255(&arg_1, (*n_p2)._kind_6.sons.p->data[a_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					addTypeBoundSymbols__sem_u1818((*c_p0).graph, (*arg_1).typField, name_1, filter_p5, (&symMarker_1), (&syms_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					i_2 += ((NI)1);
					{
						LA20_:;
					}
					{
						oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(arg_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin20_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA19: ;
			}
		}
	}
LA15_: ;
	nextSymIndex_1 = ((NI)1);
	{
		while (1) {
			tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g T25_;
			determineType__sem_u1709(c_p0, sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			nimZeroMem((void*)(&T25_), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
			initCandidate__sigmatch_u415(c_p0, sym_1, initialBinding_p4, scope_1, diagnosticsFlag_p9, (&T25_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqsink___sigmatch_u171((&z_1), (&T25_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!((*(*c_p0).currentScope).symbols.counter == symCount_1)) goto LA28_;
				matches__sigmatch_u5087(c_p0, n_p2, orig_p3, (&z_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!allowTypeBoundOps_1) goto LA32_;
					{
						NI* x_1;
						NI i_3;
						NI L_2;
						NI T35_;
						x_1 = (NI*)0;
						i_3 = ((NI)0);
						T35_ = z_1.newlyTypedOperands.len;
						L_2 = T35_;
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_2;
								if (!(i_3 < L_2)) goto LA37;
								arg_2 = NIM_NIL;
								x_1 = (&z_1.newlyTypedOperands.p->data[i_3]);
								eqcopy___ast_u3255(&arg_2, (*n_p2)._kind_6.sons.p->data[(*x_1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
								addTypeBoundSymbols__sem_u1818((*c_p0).graph, (*arg_2).typField, name_1, filter_p5, (&symMarker_1), (&syms_1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
								i_3 += ((NI)1);
								{
									LA38_:;
								}
								{
									oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(arg_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									*nimErr_ = oldNimErrFin38_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							} LA37: ;
						}
					}
				}
LA32_: ;
				{
					if (!(z_1.state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1))) goto LA43_;
					{
						if (!((*sym_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15))) goto LA47_;
						{
							if (!((flags_p11 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)3)))&31U)))!=0)) goto LA51_;
							z_1.iteratorPreference += ((NI)1);
						}
						goto LA49_;
LA51_: ;
						{
							NIM_BOOL T54_;
							T54_ = (NIM_BOOL)0;
							T54_ = !(((flags_p11 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)1)))&31U)))!=0));
							if (!(T54_)) goto LA55_;
							T54_ = ((flags_p11 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)2)))&31U)))!=0);
LA55_: ;
							if (!!(T54_)) goto LA56_;
							z_1.exactMatches += ((NI)200);
						}
						goto LA49_;
LA56_: ;
						{
							z_1.exactMatches -= ((NI)200);
						}
LA49_: ;
					}
LA47_: ;
					switch ((*best_p6).state) {
					case ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)0):
					case ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)2):
					{
						eqsink___sigmatch_u171((&(*best_p6)), (&z_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqwasMoved___sigmatch_u159((&z_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
					break;
					case ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1):
					{
						NI cmp_1;
						cmp_1 = cmpCandidates__sigmatch_u589((&(*best_p6)), (&z_1), NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						{
							if (!(cmp_1 < ((NI)0))) goto LA63_;
							eqsink___sigmatch_u171((&(*best_p6)), (&z_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqwasMoved___sigmatch_u159((&z_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
						goto LA61_;
LA63_: ;
						{
							if (!(cmp_1 == ((NI)0))) goto LA66_;
							eqsink___sigmatch_u171((&(*alt_p7)), (&z_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqwasMoved___sigmatch_u159((&z_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
						goto LA61_;
LA66_: ;
LA61_: ;
					}
					break;
					default: __builtin_unreachable();
					}
				}
				goto LA41_;
LA43_: ;
				{
					NIM_BOOL T69_;
					tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw T73_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
					tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg blitTmp_2;
					tySequence__sM4lkSb7zS6F7OVMvW9cffQ blitTmp_3;
					T69_ = (NIM_BOOL)0;
					T69_ = errorsEnabled_p10;
					if (T69_) goto LA70_;
					T69_ = z_1.diagnosticsEnabled;
LA70_: ;
					if (!T69_) goto LA71_;
					nimZeroMem((void*)(&T73_), sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
					nimZeroMem((void*)(&T73_), sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
					blitTmp_1 = sym_1;
					eqwasMoved___ast_u4571(&sym_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T73_.sym = blitTmp_1;
					nimZeroMem((void*)(&blitTmp_2), sizeof(tyObject_MismatchInfo__cZtjSeBU42Tc8gk2KTbArg));
					blitTmp_2.kind = z_1.firstMismatch.kind;
					blitTmp_2.arg = z_1.firstMismatch.arg;
					blitTmp_2.formal = z_1.firstMismatch.formal;
					eqwasMoved___sigmatch_u132((&z_1.firstMismatch));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T73_.firstMismatch.kind = blitTmp_2.kind;
					T73_.firstMismatch.arg = blitTmp_2.arg;
					T73_.firstMismatch.formal = blitTmp_2.formal;
					blitTmp_3 = z_1.diagnostics;
					eqwasMoved___system_u5503((&z_1.diagnostics));
					T73_.diagnostics = blitTmp_3;
					add__sem_u2016((&(*errors_p8)), (&T73_));
				}
				goto LA41_;
LA71_: ;
LA41_: ;
			}
			goto LA26_;
LA28_: ;
			{
				tySequence__hMc5eJjVGjq6i857yHjTtg T75_;
				tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA T76_;
				T75_.len = 0; T75_.p = NIM_NIL;
				T75_ = initCandidateSymbols__sem_u1712(c_p0, headSymbol_p1, initialBinding_p4, filter_p5, best_p6, alt_p7, (&o_1), diagnosticsFlag_p9);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___varpartitions_u1284(T75_); goto LA1_;}
				eqsink___varpartitions_u1293((&syms_1), T75_);
				nimZeroMem((void*)(&T76_), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
				initIntSet__pureZcollectionsZintsets_u598((&T76_));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqsink___pureZcollectionsZintsets_u236((&symMarker_1), (&T76_));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					tyTuple__Wipq1508vNWp3jwczem6TQ* s_2;
					NI i_4;
					NI L_3;
					NI T78_;
					s_2 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
					i_4 = ((NI)0);
					T78_ = syms_1.len;
					L_3 = T78_;
					{
						while (1) {
							tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym325__1;
							if (!(i_4 < L_3)) goto LA80;
							s_2 = (&syms_1.p->data[i_4]);
							xX60gensym325__1 = (*(*s_2).Field0).itemId;
							incl__pureZcollectionsZintsets_u366((&symMarker_1), (NI)((NI)((NU32)(((NI) (xX60gensym325__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym325__1.item))));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							i_4 += ((NI)1);
						} LA80: ;
					}
				}
				{
					if (!allowTypeBoundOps_1) goto LA83_;
					{
						NI a_2;
						NI colontmp__2;
						NI i_5;
						a_2 = (NI)0;
						colontmp__2 = (NI)0;
						colontmp__2 = len__ast_u3190(n_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						i_5 = ((NI)1);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_3;
								if (!(i_5 < colontmp__2)) goto LA87;
								arg_3 = NIM_NIL;
								a_2 = i_5;
								eqcopy___ast_u3255(&arg_3, (*n_p2)._kind_6.sons.p->data[a_2]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
								addTypeBoundSymbols__sem_u1818((*c_p0).graph, (*arg_3).typField, name_1, filter_p5, (&symMarker_1), (&syms_1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
								i_5 += ((NI)1);
								{
									LA88_:;
								}
								{
									oldNimErrFin88_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(arg_3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									*nimErr_ = oldNimErrFin88_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							} LA87: ;
						}
					}
				}
LA83_: ;
				symCount_1 = (*(*c_p0).currentScope).symbols.counter;
				nextSymIndex_1 = ((NI)0);
				{
					NI T93_;
					T93_ = syms_1.len;
					if (!(T93_ == ((NI)0))) goto LA94_;
					goto LA23;
				}
LA94_: ;
			}
LA26_: ;
			{
				NI T98_;
				T98_ = (syms_1.len-1);
				if (!(T98_ < nextSymIndex_1)) goto LA99_;
				goto LA23;
			}
LA99_: ;
			eqcopy___ast_u4577(&sym_1, syms_1.p->data[nextSymIndex_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			scope_1 = syms_1.p->data[nextSymIndex_1].Field1;
			nextSymIndex_1 += ((NI)1);
		}
	} LA23: ;
	{
		NIM_BOOL T103_;
		NIM_BOOL T104_;
		T103_ = (NIM_BOOL)0;
		T104_ = (NIM_BOOL)0;
		T104_ = ((*best_p6).state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1));
		if (!(T104_)) goto LA105_;
		T104_ = !(((*best_p6).calleeSym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA105_: ;
		T103_ = T104_;
		if (!(T103_)) goto LA106_;
		T103_ = ((*(*best_p6).calleeSym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*(*best_p6).calleeSym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA106_: ;
		if (!T103_) goto LA107_;
		closeShadowScope__lookups_u3852(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA101_;
LA107_: ;
	{
		mergeShadowScope__lookups_u3854(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA101_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sigmatch_u162((&z_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(name_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(sym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&symMarker_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___varpartitions_u1284(syms_1);
		eqdestroy___lookups_u6249((&o_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)1073741824)) == ((NI)1073741824));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2430(s_p0);
	}
LA5_: ;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1314)(NimStringV2 s_p0, tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig x_p1) {
	NimStringV2 result;
	NI a_1;
	NI L_1;
	result.len = 0; result.p = NIM_NIL;
	a_1 = x_p1.a;
	L_1 = (NI)((NI)((NI)(s_p0.len - x_p1.b) - a_1) + ((NI)1));
	result = mnewString((L_1));
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < L_1)) goto LA3;
				i_1 = i_2;
				nimPrepareStrMutationV2((&result));
				result.p->data[i_1] = s_p0.p->data[(NI)(i_1 + a_1)];
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig, dotdot___stdZenumutils_u106)(NI a_p0, NI b_p1) {
	tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getMsgDiagnostic__sem_u2976)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* f_p3) {
	NimStringV2 result;
	NimStringV2 ident_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	ident_1.len = 0; ident_1.p = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = TM__rF9caJawfOjYTjsgLVUSGFA_1141;
	{
		if (!(((NI)0) < (*c_p0).compilesContextId)) goto LA4_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		sym_1 = NIM_NIL;
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		sym_1 = initOverloadIter__lookups_u5784((&o_1), c_p0, f_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			while (1) {
				NimStringV2 colontmpD__2;
				NimStringV2 colontmpD__3;
				tyArray__YgExxhfgKcesA5EOUj1MOA T11_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T12_;
				if (!!((sym_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA9;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__2 = getSymRepr__lookups_u2653((*(*c_p0).graph).config, sym_1, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				T11_[0] = colontmpD__2;
				colontmpD__3 = percent___sem_u2992(T11_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				prepareAdd((&result), colontmpD__3.len + 0);
appendString((&result), colontmpD__3);
				T12_ = NIM_NIL;
				T12_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, f_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T12_); goto LA10_;}
				eqsink___ast_u4583(&sym_1, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				{
					LA10_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__3);
					eqdestroy___system_u2691(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			} LA9: ;
		}
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(sym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___lookups_u6249((&o_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	colontmpD_ = considerQuotedIdent__lookups_u31(c_p0, f_p3, n_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___system_u2694((&ident_1), (*colontmpD_).s);
	{
		NIM_BOOL T19_;
		tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw T21_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_2;
		NimStringV2 typeHint_1;
		NimStringV2 suffix_1;
		NimStringV2 colontmpD__4;
		NimStringV2 T34_;
		NimStringV2 T41_;
		T19_ = (NIM_BOOL)0;
		T19_ = !((((*n_p2).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)11)))&31U)))!=0));
		if (!(T19_)) goto LA20_;
		T21_ = 0;
		T19_ = !(((1536 & (*n_p2).flags) == T21_));
LA20_: ;
		if (!T19_) goto LA22_;
		sym_2 = NIM_NIL;
		typeHint_1.len = 0; typeHint_1.p = NIM_NIL;
		suffix_1.len = 0; suffix_1.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		sym_2 = typSym__astmsgs_u5((*(*n_p2)._kind_6.sons.p->data[((NI)1)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		typeHint_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1142;
		{
			if (!(sym_2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA27_;
		}
		goto LA25_;
LA27_: ;
		{
			NimStringV2 colontmpD__5;
			NimStringV2 T31_;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			T31_.len = 0; T31_.p = NIM_NIL;
			colontmpD__5 = getProcHeader__types_u219((*(*c_p0).graph).config, sym_2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			T31_ = rawNewString(colontmpD__5.len + 10);
appendString((&T31_), TM__rF9caJawfOjYTjsgLVUSGFA_1143);
appendString((&T31_), colontmpD__5);
			eqsink___system_u2700((&typeHint_1), T31_);
			{
				LA30_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__5);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
LA25_: ;
		T34_.len = 0; T34_.p = NIM_NIL;
		{
			NimStringV2 T39_;
			if (!(((NI)0) < result.len)) goto LA37_;
			T39_.len = 0; T39_.p = NIM_NIL;
			T39_ = rawNewString(result.len + 1);
appendString((&T39_), TM__rF9caJawfOjYTjsgLVUSGFA_1145);
appendString((&T39_), result);
			suffix_1 = T39_;
		}
		goto LA35_;
LA37_: ;
		{
			suffix_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1146;
		}
LA35_: ;
		T41_.len = 0; T41_.p = NIM_NIL;
		colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1147, ident_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		T41_ = rawNewString(colontmpD__4.len + typeHint_1.len + suffix_1.len + 0);
appendString((&T41_), colontmpD__4);
appendString((&T41_), typeHint_1);
appendString((&T41_), suffix_1);
		eqsink___system_u2700((&result), T41_);
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(suffix_1);
			eqdestroy___system_u2691(typeHint_1);
			eqdestroy___ast_u4574(sym_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA17_;
LA22_: ;
	{
		{
			NimStringV2 T49_;
			if (!(result.len == ((NI)0))) goto LA47_;
			T49_.len = 0; T49_.p = NIM_NIL;
			T49_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1148, ident_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T49_); goto LA1_;}
			eqsink___system_u2700((&result), T49_);
		}
		goto LA45_;
LA47_: ;
		{
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T51_;
			NimStringV2 T52_;
			T51_[0] = ident_1;
			T51_[1] = result;
			T52_.len = 0; T52_.p = NIM_NIL;
			T52_ = percent___sem_u3017(T51_, 2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T52_); goto LA1_;}
			eqsink___system_u2700((&result), T52_);
		}
LA45_: ;
	}
LA17_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(ident_1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameMethodDispatcher__sem_u1683)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		NIM_BOOL T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aa_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bb_1;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*a_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
		if (!(T3_)) goto LA4_;
		T3_ = ((*b_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
LA4_: ;
		if (!T3_) goto LA5_;
		aa_1 = NIM_NIL;
		bb_1 = NIM_NIL;
		aa_1 = lastSon__ast_u5208((*a_p0).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		bb_1 = lastSon__ast_u5208((*b_p1).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*aa_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T9_)) goto LA10_;
			T9_ = ((*bb_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA10_: ;
			if (!T9_) goto LA11_;
			{
				if (!((*aa_1)._kind_4.sym == (*bb_1)._kind_4.sym)) goto LA15_;
				result = NIM_TRUE;
			}
LA15_: ;
		}
		goto LA7_;
LA11_: ;
		{
		}
LA7_: ;
		eqdestroy___ast_u3252(bb_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(aa_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, resolveOverloads__sem_u3022)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4, tySequence__9bnh9aVmYtKU19btQYqjGktpw* errors_p5, NIM_BOOL errorsEnabled_p6, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* initialBinding_1;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g alt_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* f_1;
	tySequence__9bnh9aVmYtKU19btQYqjGktpw dummyErrors_1;
	tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg overloadsState_1;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	initialBinding_1 = NIM_NIL;
	nimZeroMem((void*)(&alt_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	f_1 = NIM_NIL;
	dummyErrors_1.len = 0; dummyErrors_1.p = NIM_NIL;
	nimZeroMem((void*)Result, sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	nimZeroMem((void*)(&alt_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	eqcopy___ast_u3255(&f_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42))) goto LA4_;
		semOpAux__sem_u97(c_p0, f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&initialBinding_1, f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&f_1, (*f_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		initialBinding_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
LA2_: ;
	pickBestCandidate__sem_u1882(c_p0, f_1, n_p1, orig_p2, initialBinding_1, filter_p3, Result, (&alt_1), errors_p5, ((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0), errorsEnabled_p6, flags_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	dummyErrors_1.len = 0; dummyErrors_1.p = (tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content*) newSeqPayload(0, sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw), NIM_ALIGNOF(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
	overloadsState_1 = (*Result).state;
	{
		if (!!((overloadsState_1 == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1)))) goto LA9_;
		{
			tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T25_;
			tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T26_;
			tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T27_;
			tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T28_;
			if (!(((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)9)))&31U)))!=0)) goto LA13_;
			{
				NIM_BOOL T17_;
				NI T19_;
				NimStringV2 argX60gensym480__1;
				T17_ = (NIM_BOOL)0;
				T17_ = ((*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53) || (*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165));
				if (!(T17_)) goto LA18_;
				T19_ = (NI)0;
				T19_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T17_ = (((NI)2) <= T19_);
LA18_: ;
				if (!!(T17_)) goto LA20_;
				argX60gensym480__1.len = 0; argX60gensym480__1.p = NIM_NIL;
				argX60gensym480__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1137);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym480__1, TM__rF9caJawfOjYTjsgLVUSGFA_1137);
				if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				{
					LA22_:;
				}
				{
					eqdestroy___system_u2691(argX60gensym480__1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA20_: ;
			T25_ = dotdot___stdZstrbasics_u49(((NI)0), ((NI)1));
			nimZeroMem((void*)T26_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
			T26_[0] = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			T26_[1] = (*n_p1)._kind_6.sons.p->data[((NI)1)];
			T26_[2] = f_1;
			X5BX5Deq___pragmas_u1583((&(*n_p1)._kind_6.sons), T25_, T26_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T27_ = dotdot___stdZstrbasics_u49(((NI)0), ((NI)1));
			nimZeroMem((void*)T28_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
			T28_[0] = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			T28_[1] = (*orig_p2)._kind_6.sons.p->data[((NI)1)];
			T28_[2] = f_1;
			X5BX5Deq___pragmas_u1583((&(*orig_p2)._kind_6.sons), T27_, T28_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* opX60gensym485__1;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
				if (!(((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)11)))&31U)))!=0)) goto LA31_;
				opX60gensym485__1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1138);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				opX60gensym485__1 = newIdentNode__ast_u5164(colontmpD_, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], opX60gensym485__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				eqcopy___ast_u3255(&(*orig_p2)._kind_6.sons.p->data[((NI)0)], opX60gensym485__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				pickBestCandidate__sem_u1882(c_p0, opX60gensym485__1, n_p1, orig_p2, initialBinding_1, filter_p3, Result, (&alt_1), (&dummyErrors_1), ((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0), NIM_FALSE, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				{
					LA33_:;
				}
				{
					oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(opX60gensym485__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin33_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA31_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* opX60gensym491__1;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
				if (!((*Result).state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)0) || (*Result).state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)2))) goto LA38_;
				opX60gensym491__1 = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				colontmpD__2 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1139);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				opX60gensym491__1 = newIdentNode__ast_u5164(colontmpD__2, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], opX60gensym491__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				eqcopy___ast_u3255(&(*orig_p2)._kind_6.sons.p->data[((NI)0)], opX60gensym491__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				pickBestCandidate__sem_u1882(c_p0, opX60gensym491__1, n_p1, orig_p2, initialBinding_1, filter_p3, Result, (&alt_1), (&dummyErrors_1), ((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0), NIM_FALSE, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				{
					LA40_:;
				}
				{
					oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(opX60gensym491__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin40_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA38_: ;
		}
		goto LA11_;
LA13_: ;
		{
			NIM_BOOL T44_;
			NIM_BOOL T45_;
			NI T48_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* calleeName_1;
			NimStringV2 colontmpD__3;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__4;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* callOp_1;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
			tyObject_HSlice__JgojxK65oMA6E0HRsL2Wig T52_;
			tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T53_;
			tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T54_;
			tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T55_;
			tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T56_;
			T44_ = (NIM_BOOL)0;
			T45_ = (NIM_BOOL)0;
			T45_ = (((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)10)))&31U)))!=0);
			if (!(T45_)) goto LA46_;
			T45_ = ((*f_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA46_: ;
			T44_ = T45_;
			if (!(T44_)) goto LA47_;
			T48_ = (NI)0;
			T48_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T44_ = (T48_ == ((NI)3));
LA47_: ;
			if (!T44_) goto LA49_;
			calleeName_1 = NIM_NIL;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			callOp_1 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			T52_ = dotdot___stdZenumutils_u106(((NI)0), ((NI)2));
			colontmpD__3 = X5BX5D___pureZstrutils_u1314((*(*f_1)._kind_5.ident).s, T52_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			colontmpD__4 = getIdent__idents_u206((*c_p0).cache, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			calleeName_1 = newIdentNode__ast_u5164(colontmpD__4, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			colontmpD__5 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1140);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			callOp_1 = newIdentNode__ast_u5164(colontmpD__5, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T53_ = dotdot___stdZstrbasics_u49(((NI)0), ((NI)1));
			nimZeroMem((void*)T54_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
			T54_[0] = callOp_1;
			T54_[1] = (*n_p1)._kind_6.sons.p->data[((NI)1)];
			T54_[2] = calleeName_1;
			X5BX5Deq___pragmas_u1583((&(*n_p1)._kind_6.sons), T53_, T54_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T55_ = dotdot___stdZstrbasics_u49(((NI)0), ((NI)1));
			nimZeroMem((void*)T56_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
			T56_[0] = callOp_1;
			T56_[1] = (*orig_p2)._kind_6.sons.p->data[((NI)1)];
			T56_[2] = calleeName_1;
			X5BX5Deq___pragmas_u1583((&(*orig_p2)._kind_6.sons), T55_, T56_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			pickBestCandidate__sem_u1882(c_p0, callOp_1, n_p1, orig_p2, initialBinding_1, filter_p3, Result, (&alt_1), (&dummyErrors_1), ((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0), NIM_FALSE, flags_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			{
				LA51_:;
			}
			{
				oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(callOp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___idents_u155(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___system_u2691(colontmpD__3);
				eqdestroy___ast_u3252(calleeName_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin51_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA11_;
LA49_: ;
LA11_: ;
		{
			NIM_BOOL T61_;
			T61_ = (NIM_BOOL)0;
			T61_ = (overloadsState_1 == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)0));
			if (!(T61_)) goto LA62_;
			T61_ = ((*Result).state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)0));
LA62_: ;
			if (!T61_) goto LA63_;
			{
				NimStringV2 colontmpD__6;
				if (!!(((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)19)))&31U)))!=0))) goto LA67_;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				(*Result).state = ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)2);
				{
					NIM_BOOL T72_;
					T72_ = (NIM_BOOL)0;
					T72_ = (((NI)0) < (*c_p0).inGenericContext);
					if (!(T72_)) goto LA73_;
					T72_ = (((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)12)))&31U)))!=0);
LA73_: ;
					if (!T72_) goto LA74_;
					eqdestroy___system_u2691(colontmpD__6);
					eqdestroy___sem_u2755(dummyErrors_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(f_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___sigmatch_u162((&alt_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(initialBinding_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA74_: ;
				colontmpD__6 = getMsgDiagnostic__sem_u2976(c_p0, flags_p4, n_p1, f_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1149, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
				{
					LA69_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA67_: ;
			eqdestroy___sem_u2755(dummyErrors_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(f_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___sigmatch_u162((&alt_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(initialBinding_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA59_;
LA63_: ;
		{
			if (!!(((*Result).state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1)))) goto LA79_;
			{
				NimStringV2 colontmpD__7;
				NimStringV2 colontmpD__8;
				if (!(((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)12)))&31U)))!=0)) goto LA83_;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
				colontmpD__7 = renderTree__renderer_u59(n_p1, 4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
				colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1150, colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1151, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
				{
					LA85_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__8);
					eqdestroy___system_u2691(colontmpD__7);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA81_;
LA83_: ;
			{
				{
					tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw T91_;
					T91_ = 0;
					if (!!(((1536 & (*n_p1).flags) == T91_))) goto LA92_;
					delete__sem_u3227((&(*n_p1)._kind_6.sons), ((NI)2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], f_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqwasMoved___ast_u3249(&f_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA92_: ;
			}
LA81_: ;
			eqdestroy___sem_u2755(dummyErrors_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(f_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___sigmatch_u162((&alt_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(initialBinding_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA59_;
LA79_: ;
LA59_: ;
	}
LA9_: ;
	{
		NIM_BOOL T96_;
		NIM_BOOL T97_;
		NI T99_;
		NIM_BOOL T101_;
		T96_ = (NIM_BOOL)0;
		T97_ = (NIM_BOOL)0;
		T97_ = (alt_1.state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1));
		if (!(T97_)) goto LA98_;
		T99_ = (NI)0;
		T99_ = cmpCandidates__sigmatch_u589(Result, (&alt_1), NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T97_ = (T99_ == ((NI)0));
LA98_: ;
		T96_ = T97_;
		if (!(T96_)) goto LA100_;
		T101_ = (NIM_BOOL)0;
		T101_ = sameMethodDispatcher__sem_u1683((*Result).calleeSym, alt_1.calleeSym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T96_ = !(T101_);
LA100_: ;
		if (!T96_) goto LA102_;
		{
			NimStringV2 argX60gensym521__1;
			if (!!(((*Result).state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1)))) goto LA106_;
			argX60gensym521__1.len = 0; argX60gensym521__1.p = NIM_NIL;
			argX60gensym521__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1152);
			if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym521__1, TM__rF9caJawfOjYTjsgLVUSGFA_1152);
			if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			{
				LA108_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym521__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA106_: ;
		{
			tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw T113_;
			T113_ = 0;
			if (!((*(*(*c_p0).graph).config).m.errorOutputs == T113_)) goto LA114_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1154, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_1155, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA111_;
LA114_: ;
		{
			NimStringV2 args_1;
			NimStringV2 colontmpD__9;
			NimStringV2 colontmpD__10;
			NimStringV2 colontmpD__11;
			tyArray__dyW7vpmfeTYw8kX3EXuaJA T130_;
			if (!((*(*(*c_p0).graph).config).errorCounter == ((NI)0))) goto LA117_;
			args_1.len = 0; args_1.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;
			args_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1156;
			{
				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 LA119_;
				i_2 = ((NI)1);
				{
					while (1) {
						NimStringV2 colontmpD__12;
						if (!(i_2 < colontmp_)) goto LA122;
						colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
						i_1 = i_2;
						{
							if (!(((NI)1) < i_1)) goto LA126_;
							prepareAdd((&args_1), 2);
appendString((&args_1), TM__rF9caJawfOjYTjsgLVUSGFA_1157);
						}
LA126_: ;
						colontmpD__12 = typeToString__types_u54((*(*n_p1)._kind_6.sons.p->data[i_1]).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
						prepareAdd((&args_1), colontmpD__12.len + 0);
appendString((&args_1), colontmpD__12);
						i_2 += ((NI)1);
						{
							LA123_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__12);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
					} LA122: ;
				}
			}
			prepareAdd((&args_1), 1);
appendString((&args_1), TM__rF9caJawfOjYTjsgLVUSGFA_1158);
			colontmpD__9 = getProcHeader__types_u219((*(*c_p0).graph).config, (*Result).calleeSym, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
			T130_[0] = colontmpD__9;
			colontmpD__10 = getProcHeader__types_u219((*(*c_p0).graph).config, alt_1.calleeSym, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
			T130_[1] = colontmpD__10;
			T130_[2] = args_1;
			colontmpD__11 = percent___sem_u3298(T130_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1159, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
			{
				LA119_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__11);
				eqdestroy___system_u2691(colontmpD__10);
				eqdestroy___system_u2691(colontmpD__9);
				eqdestroy___system_u2691(args_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA111_;
LA117_: ;
LA111_: ;
	}
LA102_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sem_u2755(dummyErrors_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sigmatch_u162((&alt_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(initialBinding_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, pop__sem_u3793)(tySequence__4j8aBmBZMD9chZMBaxw9bcbQ* s_p0, tyTuple__IYAk6y4YHp5OEJgCALGjQw* Result) {
	NI L_1;
	NI T1_;
	T1_ = (*s_p0).len;
	L_1 = (NI)(T1_ - ((NI)1));
	(*Result).Field0 = (*s_p0).p->data[L_1].Field0;
	(*Result).Field1 = (*s_p0).p->data[L_1].Field1;
	eqwasMoved___ast_u5578((&(*s_p0).p->data[L_1]));
	shrink__sem_u3612(s_p0, (L_1));
}
static N_INLINE(NI, kidsLen__ast_u5648)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NI, find__sem_u3878)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** a_p0, NI a_p0Len_0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* item_p1) {
	NI result;
{	result = ((NI)0);
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** i_1;
		NI i_2;
		i_1 = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)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__sem_u3873)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** a_p0, NI a_p0Len_0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* item_p1) {
	NIM_BOOL result;
	NI T1_;
{	T1_ = (NI)0;
	T1_ = find__sem_u3878(a_p0, a_p0Len_0, item_p1);
	result = (((NI)0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, put__layeredtable_u734)(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A* typeMap_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* value_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	X5BX5Deq___layeredtable_u742((&(*typeMap_p0).topLayer), key_p1, value_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, inheritBindings__sem_u3549)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg flatUnbound_1;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg flatBound_1;
	tySequence__4j8aBmBZMD9chZMBaxw9bcbQ typeStack_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* xX60gensym598__1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* yX60gensym598__1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T12_;
	tyTuple__IYAk6y4YHp5OEJgCALGjQw T18_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_2;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	flatUnbound_1.len = 0; flatUnbound_1.p = NIM_NIL;
	flatBound_1.len = 0; flatBound_1.p = NIM_NIL;
	typeStack_1.len = 0; typeStack_1.p = NIM_NIL;
	xX60gensym598__1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	yX60gensym598__1 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	{
		if (!!((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)20)))&31U)))!=0))) goto LA4_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(yX60gensym598__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(xX60gensym598__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u3710(typeStack_1);
		eqdestroy___ast_u3311(flatBound_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3311(flatUnbound_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = (expectedType_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T8_) goto LA9_;
		colontmpD_ = returnType__ast_u5354((*x_p1).callee);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_ = (colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA9_: ;
		if (!T8_) goto LA10_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(yX60gensym598__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(xX60gensym598__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u3710(typeStack_1);
		eqdestroy___ast_u3311(flatBound_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3311(flatUnbound_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA10_: ;
	flatUnbound_1.len = 0; flatUnbound_1.p = (tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content*) newSeqPayload(0, sizeof(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*), NIM_ALIGNOF(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*));
	flatBound_1.len = 0; flatBound_1.p = (tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content*) newSeqPayload(0, sizeof(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*), NIM_ALIGNOF(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*));
	typeStack_1 = newSeq__sem_u3603(((NI)0));
	colontmpD__2 = returnType__ast_u5354((*x_p1).callee);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	xX60gensym598__1 = skipTypes__ast_u5379(colontmpD__2, TM__rF9caJawfOjYTjsgLVUSGFA_1164);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T12_ = NIM_NIL;
	{
		colontmpD__3 = returnType__ast_u5354((*x_p1).callee);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)))) goto LA15_;
		eqcopy___ast_u3381(&yX60gensym598__1, expectedType_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA13_;
LA15_: ;
	{
		yX60gensym598__1 = skipTypes__ast_u5379(expectedType_p2, TM__rF9caJawfOjYTjsgLVUSGFA_1164);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	nimZeroMem((void*)(&T18_), sizeof(tyTuple__IYAk6y4YHp5OEJgCALGjQw));
	blitTmp_1 = xX60gensym598__1;
	eqwasMoved___ast_u3375(&xX60gensym598__1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T18_.Field0 = blitTmp_1;
	blitTmp_2 = yX60gensym598__1;
	eqwasMoved___ast_u3375(&yX60gensym598__1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T18_.Field1 = blitTmp_2;
	add__sem_u3770((&typeStack_1), T18_);
	{
		while (1) {
			NI T21_;
			T21_ = typeStack_1.len;
			if (!(((NI)0) < T21_)) goto LA20;
			{
				tyTuple__IYAk6y4YHp5OEJgCALGjQw tmpTuple_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* u_1;
				nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__IYAk6y4YHp5OEJgCALGjQw));
				t_1 = NIM_NIL;
				u_1 = NIM_NIL;
				pop__sem_u3793((&typeStack_1), (&tmpTuple_1));
				t_1 = tmpTuple_1.Field0;
				eqwasMoved___ast_u3375(&tmpTuple_1.Field0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				u_1 = tmpTuple_1.Field1;
				eqwasMoved___ast_u3375(&tmpTuple_1.Field1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				{
					NIM_BOOL T26_;
					NIM_BOOL T27_;
					NIM_BOOL T28_;
					NIM_BOOL T29_;
					T26_ = (NIM_BOOL)0;
					T27_ = (NIM_BOOL)0;
					T28_ = (NIM_BOOL)0;
					T29_ = (NIM_BOOL)0;
					T29_ = (t_1 == u_1);
					if (T29_) goto LA30_;
					T29_ = (t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA30_: ;
					T28_ = T29_;
					if (T28_) goto LA31_;
					T28_ = (u_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA31_: ;
					T27_ = T28_;
					if (T27_) goto LA32_;
					T27_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59));
LA32_: ;
					T26_ = T27_;
					if (T26_) goto LA33_;
					T26_ = ((*u_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59));
LA33_: ;
					if (!T26_) goto LA34_;
					eqdestroy___ast_u3378(u_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u5581(tmpTuple_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA22;
				}
LA34_: ;
				switch ((*t_1).kind) {
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9):
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)49):
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29):
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44):
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
				{
					NI colontmpD__4;
					NI colontmpD__5;
					NI startIdx_1;
					NI endIdx_1;
					NI T42_;
					NI T43_;
					colontmpD__4 = (NI)0;
					colontmpD__5 = (NI)0;
					{
						if (!((TM__rF9caJawfOjYTjsgLVUSGFA_1165[(NU)(((*u_1).kind))>>3] &(1U<<((NU)(((*u_1).kind))&7U)))!=0)) goto LA39_;
						colontmpD__4 = ((NI)0);
						startIdx_1 = colontmpD__4;
					}
					goto LA37_;
LA39_: ;
					{
						colontmpD__5 = ((NI)1);
						startIdx_1 = colontmpD__5;
					}
LA37_: ;
					T42_ = (NI)0;
					T42_ = kidsLen__ast_u5648(u_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					T43_ = (NI)0;
					T43_ = kidsLen__ast_u5648(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					endIdx_1 = (((NI)(T42_ - startIdx_1) <= T43_) ? (NI)(T42_ - startIdx_1) : T43_);
					{
						NI i_1;
						NI i_2;
						i_1 = (NI)0;
						i_2 = startIdx_1;
						{
							while (1) {
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* xX60gensym604__1;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* yX60gensym604__1;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T54_;
								tyTuple__IYAk6y4YHp5OEJgCALGjQw T60_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_3;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_4;
								if (!(i_2 < endIdx_1)) goto LA46;
								xX60gensym604__1 = NIM_NIL;
								yX60gensym604__1 = NIM_NIL;
								i_1 = i_2;
								{
									NIM_BOOL T50_;
									T50_ = (NIM_BOOL)0;
									T50_ = ((*t_1).sons.p->data[i_1] == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
									if (T50_) goto LA51_;
									T50_ = ((*u_1).sons.p->data[i_1] == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA51_: ;
									if (!T50_) goto LA52_;
									eqdestroy___ast_u3378(yX60gensym604__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
									eqdestroy___ast_u3378(xX60gensym604__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
									eqdestroy___ast_u3378(u_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									eqdestroy___ast_u3378(t_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									eqdestroy___ast_u5581(tmpTuple_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
									eqdestroy___ast_u3378(colontmpD__3);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u3378(yX60gensym598__1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u3378(colontmpD__2);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u3378(xX60gensym598__1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___sem_u3710(typeStack_1);
									eqdestroy___ast_u3311(flatBound_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u3311(flatUnbound_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									eqdestroy___ast_u3378(colontmpD_);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									goto BeforeRet_;
								}
LA52_: ;
								xX60gensym604__1 = skipTypes__ast_u5379((*t_1).sons.p->data[i_1], TM__rF9caJawfOjYTjsgLVUSGFA_1164);
								if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
								T54_ = NIM_NIL;
								{
									if (!!(((*(*t_1).sons.p->data[i_1]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*t_1).sons.p->data[i_1]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47) || (*(*t_1).sons.p->data[i_1]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*(*t_1).sons.p->data[i_1]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54) || (*(*t_1).sons.p->data[i_1]).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)))) goto LA57_;
									eqcopy___ast_u3381(&yX60gensym604__1, (*u_1).sons.p->data[i_1]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
								}
								goto LA55_;
LA57_: ;
								{
									yX60gensym604__1 = skipTypes__ast_u5379((*u_1).sons.p->data[i_1], TM__rF9caJawfOjYTjsgLVUSGFA_1164);
									if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
								}
LA55_: ;
								nimZeroMem((void*)(&T60_), sizeof(tyTuple__IYAk6y4YHp5OEJgCALGjQw));
								blitTmp_3 = xX60gensym604__1;
								eqwasMoved___ast_u3375(&xX60gensym604__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
								T60_.Field0 = blitTmp_3;
								blitTmp_4 = yX60gensym604__1;
								eqwasMoved___ast_u3375(&yX60gensym604__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
								T60_.Field1 = blitTmp_4;
								add__sem_u3770((&typeStack_1), T60_);
								i_2 += ((NI)1);
								{
									LA47_:;
								}
								{
									oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(yX60gensym604__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
									eqdestroy___ast_u3378(xX60gensym604__1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
									*nimErr_ = oldNimErrFin47_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
							} LA46: ;
						}
					}
				}
				break;
				case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12):
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prebound_1;
					prebound_1 = NIM_NIL;
					prebound_1 = lookup__layeredtable_u711((*x_p1).bindings, (*t_1).itemId);
					if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
					{
						if (!!((prebound_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA67_;
						eqdestroy___ast_u3378(prebound_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
						eqdestroy___ast_u3378(u_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u5581(tmpTuple_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA22;
					}
LA67_: ;
					{
						NIM_BOOL T71_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_5;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_6;
						T71_ = (NIM_BOOL)0;
						T71_ = contains__sem_u3873(((flatUnbound_1).p) ? (flatUnbound_1.p->data) : NIM_NIL, flatUnbound_1.len, t_1);
						if (!!(T71_)) goto LA72_;
						blitTmp_5 = t_1;
						eqwasMoved___ast_u3375(&t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						add__ast_u3891((&flatUnbound_1), blitTmp_5);
						blitTmp_6 = u_1;
						eqwasMoved___ast_u3375(&u_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						add__ast_u3891((&flatBound_1), blitTmp_6);
					}
LA72_: ;
					{
						LA64_:;
					}
					{
						oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(prebound_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
						*nimErr_ = oldNimErrFin64_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				}
				break;
				default:
				{
				}
				break;
				}
				{
					LA23_:;
				}
				{
					oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(u_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u5581(tmpTuple_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin23_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA22: ;
		} LA20: ;
	}
	{
		NI i_3;
		NI colontmp_;
		NI T80_;
		NI i_4;
		i_3 = (NI)0;
		colontmp_ = (NI)0;
		T80_ = flatUnbound_1.len;
		colontmp_ = T80_;
		i_4 = ((NI)0);
		{
			while (1) {
				if (!(i_4 < colontmp_)) goto LA82;
				i_3 = i_4;
				put__layeredtable_u734((&(*x_p1).bindings), (*flatUnbound_1.p->data[i_3]).itemId, flatBound_1.p->data[i_3]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_4 += ((NI)1);
			} LA82: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(yX60gensym598__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(xX60gensym598__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u3710(typeStack_1);
		eqdestroy___ast_u3311(flatBound_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3311(flatUnbound_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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, compactVoidArgs__sem_u3922)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NIM_BOOL hasNil_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	hasNil_1 = NIM_FALSE;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					if (!((*n_p0)._kind_6.sons.p->data[i_1] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA6_;
					hasNil_1 = NIM_TRUE;
					goto LA1;
				}
LA6_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	} LA1: ;
	{
		if (!!(hasNil_1)) goto LA10_;
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA8_;
LA10_: ;
	{
		result = copyNode__ast_u6736(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA15;
					i_3 = i_4;
					{
						if (!!(((*n_p0)._kind_6.sons.p->data[i_3] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA18_;
						add__ast_u3215(result, (*n_p0)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA18_: ;
					i_4 += ((NI)1);
				} LA15: ;
			}
		}
	}
LA8_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersSons__sem_u3445)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(*x_p2).genericConverter) goto LA3_;
		{
			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)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i_1 = i_2;
					instGenericConvertersArg__sem_u3414(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], x_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, markConvertersUsed__sem_u3461)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin5_;
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)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					a_1 = NIM_NIL;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					{
						if (!(a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA8_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA4;
					}
LA8_: ;
					{
						if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA12_;
						eqcopy___ast_u3255(&a_1, (*a_1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA12_: ;
					{
						NIM_BOOL T16_;
						T16_ = (NIM_BOOL)0;
						T16_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
						if (!(T16_)) goto LA17_;
						T16_ = ((*(*a_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA17_: ;
						if (!T16_) goto LA18_;
						markUsed__sigmatch_u100(c_p0, (*a_1).info, (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, NIM_TRUE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA18_: ;
					{
						LA5_:;
					}
					{
						oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin5_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA4: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, updateDefaultParams__sem_u3519)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* calleeParams_1;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	calleeParams_1 = NIM_NIL;
	eqcopy___ast_u3255(&calleeParams_1, (*(*(*(*call_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).typ).n);
	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(call_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* formal_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
					if (!(((*(*call_p1)._kind_6.sons.p->data[i_1]).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)18)))&31U)))!=0)) goto LA7_;
					formal_1 = NIM_NIL;
					def_1 = NIM_NIL;
					eqcopy___ast_u4577(&formal_1, (*(*calleeParams_1)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					eqcopy___ast_u3255(&def_1, (*formal_1).ast);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						if (!(((*def_1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)19)))&31U)))!=0)) goto LA12_;
						(*call_p1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)19))) & 31);
					}
LA12_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T18_;
						if (!((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA16_;
						pushInfoContext__msgs_u569((*(*c_p0).graph).config, (*call_p1).info, (*(*(*(*call_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						typeMismatch__types_u4020((*(*c_p0).graph).config, (*def_1).info, (*formal_1).typ, (*def_1).typField, (*formal_1).ast);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						popInfoContext__msgs_u593((*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						T18_ = NIM_NIL;
						T18_ = errorType__semdata_u4564(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T18_); goto LA9_;}
						eqsink___ast_u3387(&(*def_1).typField, T18_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA16_: ;
					eqsink___ast_u3261(&(*call_p1)._kind_6.sons.p->data[i_1], def_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					eqwasMoved___ast_u3249(&def_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						LA9_:;
					}
					{
						oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(formal_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin9_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA7_: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(calleeParams_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semResolvedCall__sem_u3944)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* finalCallee_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* gp_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL oldNimErrFin60_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin35_;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T145_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T146_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	finalCallee_1 = NIM_NIL;
	gp_1 = NIM_NIL;
	eqcopy___ast_u4577(&finalCallee_1, (*x_p1).calleeSym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	info_1 = getCallLineInfo__sem_u3546(n_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	markUsed__sigmatch_u100(c_p0, info_1, finalCallee_1, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(*x_p1).matchedErrorType) goto LA4_;
		markUsed__sigmatch_u100(c_p0, info_1, finalCallee_1, NIM_TRUE, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T10_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		if (!(*x_p1).matchedErrorType) goto LA8_;
		eqcopy___ast_u3255(&result, (*x_p1).call);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = getCallLineInfo__sem_u3546((*result)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = NIM_NIL;
		T11_ = newSymNode__ast_u5171(finalCallee_1, T10_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T14_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T17_;
			T14_ = (NIM_BOOL)0;
			T14_ = containsGenericType__types_u3448((*result).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T14_) goto LA15_;
			T17_ = NIM_NIL;
			T17_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T17_); goto LA1_;}
			eqsink___ast_u3387(&(*result).typField, T17_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*(*result).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
		}
LA15_: ;
		eqdestroy___ast_u3252(gp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(finalCallee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA8_: ;
	eqcopy___ast_u3255(&gp_1, (*(*finalCallee_1).ast)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T20_;
		T20_ = (NIM_BOOL)0;
		T20_ = isGenericParams__ast_u7070(gp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T20_) goto LA21_;
		{
			if (!!(((*(*x_p1).calleeSym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*x_p1).calleeSym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)))) goto LA25_;
			{
				if (!((*(*x_p1).calleeSym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5) || (*(*x_p1).calleeSym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)6))) goto LA29_;
				eqcopy___ast_u4577(&finalCallee_1, (*x_p1).calleeSym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA27_;
LA29_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T32_;
				inheritBindings__sem_u3549(c_p0, x_p1, expectedType_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T32_ = NIM_NIL;
				T32_ = generateInstance__sem_u1531(c_p0, (*x_p1).calleeSym, (*x_p1).bindings, (*n_p2).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T32_); goto LA1_;}
				eqsink___ast_u4583(&finalCallee_1, T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA27_: ;
		}
		goto LA23_;
LA25_: ;
		{
			inheritBindings__sem_u3549(c_p0, x_p1, expectedType_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
				s_1 = NIM_NIL;
				{
					NimStringV2 argX60gensym140__1;
					if (!!(((*gp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75)))) goto LA38_;
					argX60gensym140__1.len = 0; argX60gensym140__1.p = NIM_NIL;
					argX60gensym140__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_35);
					if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
					internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym140__1, TM__rF9caJawfOjYTjsgLVUSGFA_35);
					if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
					{
						LA40_:;
					}
					{
						eqdestroy___system_u2691(argX60gensym140__1);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				}
LA38_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					a_1 = NIM_NIL;
					{
						NI i_1;
						NI colontmp_;
						NI i_2;
						i_1 = (NI)0;
						colontmp_ = (NI)0;
						colontmp_ = safeLen__ast_u3197(gp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						i_2 = ((NI)0);
						{
							while (1) {
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* q_1;
								if (!(i_2 < colontmp_)) goto LA47;
								q_1 = NIM_NIL;
								i_1 = i_2;
								eqcopy___ast_u3255(&a_1, (*gp_1)._kind_6.sons.p->data[i_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								{
									NimStringV2 argX60gensym143__1;
									if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA51_;
									argX60gensym143__1.len = 0; argX60gensym143__1.p = NIM_NIL;
									argX60gensym143__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_36);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym143__1, TM__rF9caJawfOjYTjsgLVUSGFA_36);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									{
										LA53_:;
									}
									{
										eqdestroy___system_u2691(argX60gensym143__1);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								}
LA51_: ;
								eqcopy___ast_u4577(&q_1, (*a_1)._kind_4.sym);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								{
									tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD_;
									tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__2;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
									tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_1;
									tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T66_;
									if (!((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8) || (*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*(*q_1).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51) && (*(*q_1).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54) || (*(*q_1).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56) && (*(*q_1).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62))) goto LA58_;
									colontmpD_ = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
									colontmpD__2 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
									s_2 = NIM_NIL;
									colontmpD__3 = NIM_NIL;
									t_1 = NIM_NIL;
									colontmpD__4 = NIM_NIL;
									{
										if (!((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA63_;
										colontmpD_ = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10);
										symKind_1 = colontmpD_;
									}
									goto LA61_;
LA63_: ;
									{
										colontmpD__2 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7);
										symKind_1 = colontmpD__2;
									}
LA61_: ;
									colontmpD__3 = getCurrOwner__semdata_u425(c_p0);
									if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									T66_ = 0;
									s_2 = newSym__ast_u4205(symKind_1, (*q_1).name, (*c_p0).Sup.idgen, colontmpD__3, (*q_1).info, T66_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									(*s_2).flags = ((*s_2).flags | 5);
									t_1 = lookup__layeredtable_u711((*x_p1).bindings, (*(*q_1).typ).itemId);
									if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									{
										if (!(t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA69_;
										{
											if (!(((*(*q_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)11)))&63U)))!=0)) goto LA73_;
											eqcopy___ast_u3381(&t_1, (*q_1).typ);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										}
										goto LA71_;
LA73_: ;
										{
											tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T83_;
											{
												NimStringV2 colontmpD__5;
												if (!!(((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54)))) goto LA78_;
												colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
												colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1166, (*(*s_2).name).s);
												if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
												liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_39, NIM_FALSE, NIM_FALSE);
												if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
												{
													LA80_:;
												}
												{
													eqdestroy___system_u2691(colontmpD__5);
												}
												if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
											}
LA78_: ;
											T83_ = NIM_NIL;
											T83_ = errorType__semdata_u4564(c_p0);
											if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T83_); goto LA60_;}
											eqsink___ast_u3387(&t_1, T83_);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										}
LA71_: ;
									}
									goto LA67_;
LA69_: ;
									{
										NIM_BOOL T85_;
										NIM_BOOL T87_;
										NimStringV2 colontmpD__6;
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T92_;
										T85_ = (NIM_BOOL)0;
										T85_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
										if (T85_) goto LA86_;
										T87_ = (NIM_BOOL)0;
										T87_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
										if (!(T87_)) goto LA88_;
										T87_ = !(((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA88_: ;
										T85_ = T87_;
LA86_: ;
										if (!T85_) goto LA89_;
										colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
										colontmpD__6 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1167, (*(*q_1).name).s);
										if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_41, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
										T92_ = NIM_NIL;
										T92_ = errorType__semdata_u4564(c_p0);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T92_); goto LA91_;}
										eqsink___ast_u3387(&t_1, T92_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
										{
											LA91_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__6);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									}
									goto LA67_;
LA89_: ;
									{
										NIM_BOOL T96_;
										NIM_BOOL T97_;
										NIM_BOOL T98_;
										NIM_BOOL T100_;
										NIM_BOOL T102_;
										NIM_BOOL T103_;
										NimStringV2 colontmpD__7;
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T111_;
										T96_ = (NIM_BOOL)0;
										T97_ = (NIM_BOOL)0;
										T98_ = (NIM_BOOL)0;
										T98_ = isUnresolvedStatic__ast_u4629(t_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										if (!(T98_)) goto LA99_;
										T100_ = (NIM_BOOL)0;
										T100_ = ((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
										if (T100_) goto LA101_;
										T102_ = (NIM_BOOL)0;
										T103_ = (NIM_BOOL)0;
										T103_ = ((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
										if (!(T103_)) goto LA104_;
										T103_ = genericParamHasConstraints__ast_u5654((*q_1).typ);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
LA104_: ;
										T102_ = T103_;
										if (!(T102_)) goto LA105_;
										colontmpD__4 = genericConstraint__ast_u5678((*q_1).typ);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										T102_ = ((*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
LA105_: ;
										T100_ = T102_;
LA101_: ;
										T98_ = T100_;
LA99_: ;
										T97_ = T98_;
										if (!(T97_)) goto LA106_;
										T97_ = ((*c_p0).inGenericContext == ((NI)0));
LA106_: ;
										T96_ = T97_;
										if (!(T96_)) goto LA107_;
										T96_ = ((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL));
LA107_: ;
										if (!T96_) goto LA108_;
										colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
										colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1168, (*(*q_1).name).s);
										if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_43, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
										T111_ = NIM_NIL;
										T111_ = errorType__semdata_u4564(c_p0);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T111_); goto LA110_;}
										eqsink___ast_u3387(&t_1, T111_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA110_;
										{
											LA110_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__7);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									}
									goto LA67_;
LA108_: ;
									{
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T117_;
										if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA115_;
										T117_ = NIM_NIL;
										T117_ = generateTypeInstance__semtypinst_u1682(c_p0, (*x_p1).bindings, (*a_1).info, t_1);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T117_); goto LA60_;}
										eqsink___ast_u3387(&t_1, T117_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									}
									goto LA67_;
LA115_: ;
LA67_: ;
									eqcopy___ast_u3381(&(*s_2).typ, t_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									{
										if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA120_;
										eqcopy___ast_u3255(&(*s_2).ast, (*t_1).n);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									}
LA120_: ;
									eqsink___ast_u4583(&s_1, s_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									eqwasMoved___ast_u4571(&s_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									switch ((*s_1).kind) {
									case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10):
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
										colontmpD__8 = NIM_NIL;
										{
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
											colontmpD__8 = astdef__ast_u4596(s_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
											if (!!((colontmpD__8 == 0))) goto LA125_;
											colontmpD__9 = NIM_NIL;
											colontmpD__9 = astdef__ast_u4596(s_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
											add__ast_u3215((*x_p1).call, colontmpD__9);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
											eqdestroy___ast_u3252(colontmpD__9);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										}
										goto LA123_;
LA125_: ;
										{
											add__ast_u3215((*x_p1).call, (*(*c_p0).graph).emptyNode);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										}
LA123_: ;
										eqdestroy___ast_u3252(colontmpD__8);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									}
									break;
									case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tn_1;
										tn_1 = NIM_NIL;
										tn_1 = newSymNode__ast_u5171(s_1, (*n_p2).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										eqsink___ast_u3387(&(*tn_1).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										add__ast_u3215((*x_p1).call, tn_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										eqdestroy___ast_u3252(tn_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
									}
									break;
									default:
									{
										{
											NimStringV2 argX60gensym635__1;
											if (!NIM_TRUE) goto LA132_;
											argX60gensym635__1.len = 0; argX60gensym635__1.p = NIM_NIL;
											argX60gensym635__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1169);
											if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
											internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym635__1, TM__rF9caJawfOjYTjsgLVUSGFA_1169);
											if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
											{
												LA134_:;
											}
											{
												eqdestroy___system_u2691(argX60gensym635__1);
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										}
LA132_: ;
									}
									break;
									}
									{
										LA60_:;
									}
									{
										oldNimErrFin60_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3378(colontmpD__4);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										eqdestroy___ast_u3378(t_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										eqdestroy___ast_u4574(colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										eqdestroy___ast_u4574(s_2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										*nimErr_ = oldNimErrFin60_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								}
LA58_: ;
								i_2 += ((NI)1);
								{
									LA48_:;
								}
								{
									oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u4574(q_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
									*nimErr_ = oldNimErrFin48_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
							} LA47: ;
						}
					}
					{
						LA44_:;
					}
					{
						oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						*nimErr_ = oldNimErrFin44_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				}
				{
					LA35_:;
				}
				{
					oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin35_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		}
LA23_: ;
	}
LA21_: ;
	markUsed__sigmatch_u100(c_p0, info_1, finalCallee_1, NIM_TRUE, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = compactVoidArgs__sem_u3922((*x_p1).call);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	instGenericConvertersSons__sem_u3445(c_p0, result, (&(*x_p1)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	markConvertersUsed__sem_u3461(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T145_ = getCallLineInfo__sem_u3546((*result)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T146_ = NIM_NIL;
	T146_ = newSymNode__ast_u5171(finalCallee_1, T145_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T146_); goto LA1_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T146_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T151_;
		if (!!(((*finalCallee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5) || (*finalCallee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)6)))) goto LA149_;
		T151_ = NIM_NIL;
		T151_ = returnType__ast_u5354((*finalCallee_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T151_); goto LA1_;}
		eqsink___ast_u3387(&(*result).typField, T151_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA149_: ;
	updateDefaultParams__sem_u3519(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(gp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(finalCallee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOverloadedCall__sem_u4008)(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) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_1;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g r_1;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	errors_1.len = 0; errors_1.p = NIM_NIL;
	nimZeroMem((void*)(&r_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	errors_1.len = 0; errors_1.p = (tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content*) newSeqPayload(0, sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw), NIM_ALIGNOF(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
	resolveOverloads__sem_u3022(c_p0, n_p1, nOrig_p2, filter_p3, flags_p4, (&errors_1), ((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0), (&r_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(r_1.state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1))) goto LA4_;
		{
			NI T8_;
			tyTuple__qxBv5lWlmtPRYLW2Idx1OQ tmpTuple_1;
			NimStringV2 candidates_1;
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NimStringV2 T12_;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T13_;
			T8_ = errors_1.len;
			if (!(((NI)0) < T8_)) goto LA9_;
			nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__qxBv5lWlmtPRYLW2Idx1OQ));
			candidates_1.len = 0; candidates_1.p = NIM_NIL;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			tmpTuple_1 = presentFailedCandidates__sem_u2191(c_p0, n_p1, errors_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			candidates_1 = tmpTuple_1.Field1;
			eqwasMoved___system_u2688((&tmpTuple_1.Field1));
			T12_.len = 0; T12_.p = NIM_NIL;
			T13_ = 0;
			colontmpD_ = renderTree__renderer_u59(n_p1, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			T12_ = rawNewString(colontmpD_.len + candidates_1.len + 29);
appendString((&T12_), TM__rF9caJawfOjYTjsgLVUSGFA_1161);
appendString((&T12_), colontmpD_);
appendString((&T12_), TM__rF9caJawfOjYTjsgLVUSGFA_1162);
appendString((&T12_), candidates_1);
			colontmpD__2 = T12_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)119), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1163, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				LA11_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
				eqdestroy___system_u2691(candidates_1);
				eqdestroy___sem_u2883(tmpTuple_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA9_: ;
		result = semResolvedCall__sem_u3944(c_p0, (&r_1), n_p1, flags_p4, expectedType_p5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		{
			NIM_BOOL T19_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T24_;
			T19_ = (NIM_BOOL)0;
			T19_ = (((NI)0) < (*c_p0).inGenericContext);
			if (!(T19_)) goto LA20_;
			T19_ = ((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL));
LA20_: ;
			if (!T19_) goto LA21_;
			colontmpD__3 = NIM_NIL;
			result = semGenericStmt__sem_u690(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			colontmpD__3 = copyTree__ast_u6891(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T24_ = NIM_NIL;
			T24_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T24_); goto LA23_;}
			eqsink___ast_u3387(&(*result).typField, T24_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				LA23_:;
			}
			{
				oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin23_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA17_;
LA21_: ;
		{
			if (!((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)19)))&31U)))!=0)) goto LA28_;
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
		goto LA17_;
LA28_: ;
		{
			if (!!(((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0))) goto LA31_;
			result = semOverloadedCall__sem_u4008(c_p0, n_p1, nOrig_p2, filter_p3, (flags_p4 | 2048), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA17_;
LA31_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			notFoundError__sem_u2926(c_p0, n_p1, errors_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA17_: ;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sigmatch_u162((&r_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u2755(errors_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, applyTypeSectionPragmas__sem_u9056)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* operand_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin67_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
		p_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3197(pragmas_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
					if (!(i_2 < colontmp_)) goto LA5;
					key_1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u3255(&p_1, (*pragmas_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T7_ = NIM_NIL;
					{
						NIM_BOOL T10_;
						NI T12_;
						T10_ = (NIM_BOOL)0;
						T10_ = ((*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28));
						if (!(T10_)) goto LA11_;
						T12_ = (NI)0;
						T12_ = len__ast_u3190(p_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T10_ = (((NI)1) <= T12_);
LA11_: ;
						if (!T10_) goto LA13_;
						eqcopy___ast_u3255(&key_1, (*p_1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
					goto LA8_;
LA13_: ;
					{
						eqcopy___ast_u3255(&key_1, p_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA8_: ;
					{
						NIM_BOOL T18_;
						tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T20_;
						T18_ = (NIM_BOOL)0;
						T18_ = ((*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
						if (T18_) goto LA19_;
						T20_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
						T20_ = whichPragma__trees_u218(p_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T18_ = !((T20_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0)));
LA19_: ;
						if (!T18_) goto LA21_;
					}
					goto LA16_;
LA21_: ;
					{
						tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
						tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* T25_;
						ident_1 = NIM_NIL;
						colontmpD_ = NIM_NIL;
						T25_ = NIM_NIL;
						{
							if (!((*key_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*key_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*key_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53) || (*key_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*key_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*key_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165))) goto LA28_;
							ident_1 = considerQuotedIdent__lookups_u31(c_p0, key_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						}
						goto LA26_;
LA28_: ;
						{
							ident_1 = ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL);
						}
LA26_: ;
						{
							NIM_BOOL T33_;
							NIM_BOOL T34_;
							T33_ = (NIM_BOOL)0;
							T34_ = (NIM_BOOL)0;
							T34_ = eqeq___idents_u366(ident_1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T33_ = !(T34_);
							if (!(T33_)) goto LA35_;
							colontmpD_ = strTableGet__astalgo_u2726((*c_p0).userPragmas, ident_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							T33_ = !((colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA35_: ;
							if (!T33_) goto LA36_;
						}
						goto LA31_;
LA36_: ;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
							tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T40_;
							sym_1 = NIM_NIL;
							T40_ = 0;
							sym_1 = qualifiedLookUp__lookups_u5229(c_p0, key_1, T40_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							{
								NIM_BOOL T43_;
								T43_ = (NIM_BOOL)0;
								T43_ = !((sym_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
								if (!(T43_)) goto LA44_;
								T43_ = (((*sym_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)57)))&63U)))!=0);
LA44_: ;
								if (!T43_) goto LA45_;
							}
							goto LA41_;
LA45_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_1;
								x_1 = NIM_NIL;
								colontmpD__2 = NIM_NIL;
								r_1 = NIM_NIL;
								x_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*key_1).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								add__ast_u3215(x_1, key_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								{
									NIM_BOOL T51_;
									NI T53_;
									T51_ = (NIM_BOOL)0;
									T51_ = ((*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*p_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28));
									if (!(T51_)) goto LA52_;
									T53_ = (NI)0;
									T53_ = len__ast_u3190(p_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
									T51_ = (((NI)1) < T53_);
LA52_: ;
									if (!T51_) goto LA54_;
									{
										NI i_3;
										NI colontmp__2;
										NI i_4;
										i_3 = (NI)0;
										colontmp__2 = (NI)0;
										colontmp__2 = len__ast_u3190(p_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										i_4 = ((NI)1);
										{
											while (1) {
												if (!(i_4 < colontmp__2)) goto LA58;
												i_3 = i_4;
												add__ast_u3215(x_1, (*p_1)._kind_6.sons.p->data[i_3]);
												if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
												i_4 += ((NI)1);
											} LA58: ;
										}
									}
								}
LA54_: ;
								colontmpD__2 = copyTreeWithoutNode__ast_u6911(operand_p2, p_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								add__ast_u3215(x_1, colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								r_1 = semOverloadedCall__sem_u4008(c_p0, x_1, x_1, 393216, 524288, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								{
									NIM_BOOL T61_;
									NIM_BOOL T63_;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_1;
									T61_ = (NIM_BOOL)0;
									T61_ = !((r_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
									if (!(T61_)) goto LA62_;
									T63_ = (NIM_BOOL)0;
									T63_ = ((*r_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
									if (T63_) goto LA64_;
									T63_ = !(((*(*r_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61)));
LA64_: ;
									T61_ = T63_;
LA62_: ;
									if (!T61_) goto LA65_;
									m_1 = NIM_NIL;
									{
										if (!!(((*(*r_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA70_;
										failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_1171);
										if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
									}
LA70_: ;
									eqcopy___ast_u4577(&m_1, (*(*r_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
									if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
									switch ((*m_1).kind) {
									case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
									{
										result = semMacroExpr__sem_u541(c_p0, r_1, r_1, m_1, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
										eqdestroy___ast_u4574(m_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										eqdestroy___ast_u3252(r_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										eqdestroy___ast_u3252(colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										eqdestroy___ast_u3252(x_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										eqdestroy___ast_u4574(sym_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
										eqdestroy___ast_u4574(colontmpD_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										eqdestroy___idents_u155(ident_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										eqdestroy___ast_u3252(key_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
										eqdestroy___ast_u3252(p_1);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										goto BeforeRet_;
									}
									break;
									case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
									{
										result = semTemplateExpr__sem_u535(c_p0, r_1, m_1, 16384, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
										eqdestroy___ast_u4574(m_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										eqdestroy___ast_u3252(r_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										eqdestroy___ast_u3252(colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										eqdestroy___ast_u3252(x_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
										eqdestroy___ast_u4574(sym_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
										eqdestroy___ast_u4574(colontmpD_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										eqdestroy___idents_u155(ident_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										eqdestroy___ast_u3252(key_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
										eqdestroy___ast_u3252(p_1);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										goto BeforeRet_;
									}
									break;
									default:
									{
										{
											if (!NIM_TRUE) goto LA77_;
											failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_1173);
											if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
										}
LA77_: ;
									}
									break;
									}
									{
										LA67_:;
									}
									{
										oldNimErrFin67_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u4574(m_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										*nimErr_ = oldNimErrFin67_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
								}
LA65_: ;
								{
									LA48_:;
								}
								{
									oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(r_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
									eqdestroy___ast_u3252(colontmpD__2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
									eqdestroy___ast_u3252(x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
									*nimErr_ = oldNimErrFin48_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							}
LA41_: ;
							{
								LA39_:;
							}
							{
								oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(sym_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
								*nimErr_ = oldNimErrFin39_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						}
LA31_: ;
						{
							LA24_:;
						}
						{
							oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							eqdestroy___idents_u155(ident_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							*nimErr_ = oldNimErrFin24_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA16_: ;
					i_2 += ((NI)1);
					{
						LA6_:;
					}
					{
						oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(key_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						*nimErr_ = oldNimErrFin6_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				} LA5: ;
			}
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(p_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semProcTypeWithScope__sem_u9132)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	s_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NI T6_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* macroEval_1;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
		if (!(T4_)) goto LA5_;
		T6_ = (NI)0;
		T6_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (((NI)0) < T6_);
LA5_: ;
		if (!T4_) goto LA7_;
		macroEval_1 = NIM_NIL;
		macroEval_1 = applyTypeSectionPragmas__sem_u9056(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			if (!!((macroEval_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA12_;
			result = semTypeNode__sem_u89(c_p0, macroEval_1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			eqdestroy___ast_u3252(macroEval_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___lookups_u74(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA12_: ;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(macroEval_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = semProcTypeNode__sem_u8238(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), prev_p2, kind_p3, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9);
	colontmpD__2 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1174);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = newIdentNode__ast_u5164(colontmpD__2, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = newSymS__sem_u436(kind_p3, colontmpD__3, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*s_1).typ, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T18_;
		NI T20_;
		T18_ = (NIM_BOOL)0;
		T18_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
		if (!(T18_)) goto LA19_;
		T20_ = (NI)0;
		T20_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T18_ = (((NI)0) < T20_);
LA19_: ;
		if (!T18_) goto LA21_;
		pragma__pragmas_u120(c_p0, s_1, (*n_p1)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_1175, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		setEffectsForProcType__sempass2_u8040((*c_p0).graph, result, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA16_;
LA21_: ;
	{
		NI T24_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
		tyArray__T1BNAQFBGesMf9bxAcvuong T28_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T29_;
		T24_ = (*c_p0).optionStack.len;
		if (!(((NI)0) < T24_)) goto LA25_;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		colontmpD__8 = NIM_NIL;
		nimZeroMem((void*)T28_, sizeof(tyArray__T1BNAQFBGesMf9bxAcvuong));
		colontmpD__4 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_[0] = colontmpD__4;
		colontmpD__5 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_[1] = colontmpD__5;
		colontmpD__6 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_[2] = colontmpD__6;
		colontmpD__7 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_[3] = colontmpD__7;
		colontmpD__8 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_[4] = colontmpD__8;
		T29_ = NIM_NIL;
		T29_ = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79), T28_, 5);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T29_); goto LA27_;}
		eqsink___ast_u3261(&(*s_1).ast, T29_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		implicitPragmas__pragmas_u2378(c_p0, s_1, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1176);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		setEffectsForProcType__sempass2_u8040((*c_p0).graph, result, (*(*s_1).ast)._kind_6.sons.p->data[((NI)4)], ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		{
			LA27_:;
		}
		{
			oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin27_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA16_;
LA25_: ;
LA16_: ;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, colonanonymous___sem_u6025)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1) {
	NI result;
	result = cmp__system_u8225((*(*x_p0)._kind_4.sym).position, (*(*y_p1)._kind_4.sym).position);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semEnum__sem_u4475)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* e_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
	tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA counterSet_1;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg symbols_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NI64 counter_1;
	NI64 x_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** identToReplace_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
	NIM_BOOL isPure_1;
	NIM_BOOL T23_;
	NIM_BOOL hasNull_1;
	NIM_BOOL needsReorder_1;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	e_1 = NIM_NIL;
	base_1 = NIM_NIL;
	nimZeroMem((void*)(&counterSet_1), sizeof(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA));
	nimZeroMem((void*)(&symbols_1), sizeof(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg));
	colontmpD_ = NIM_NIL;
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_ == ((NI)0))) goto LA5_;
		result = newConstraint__sem_u4467(c_p0, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u6338(symbols_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u4514((&counterSet_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA5_: ;
	{
		NI T8_;
		T8_ = (NI)0;
		T8_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T8_ == ((NI)1))) goto LA9_;
		result = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u6338(symbols_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u4514((&counterSet_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA9_: ;
LA2_: ;
	counter_1 = IL64(0);
	x_1 = IL64(0);
	e_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	base_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	identToReplace_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**) NIM_NIL);
	initPackedSet__sem_u4503((&counterSet_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	counter_1 = IL64(0);
	eqsink___ast_u3387(&base_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14), prev_p2, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T11_ = NIM_NIL;
	T11_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
	eqsink___ast_u3261(&(*result).n, T11_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T16_;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T21_;
		NI64 T22_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA14_;
		T16_ = NIM_NIL;
		T16_ = semTypeNode__sem_u89(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T16_); goto LA1_;}
		eqsink___ast_u3387(&base_1, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!!(((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14)))) goto LA19_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1181, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1182, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA19_: ;
		T21_ = lastOrd__types_u1298((*(*c_p0).graph).config, base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T22_ = (NI64)0;
		T22_ = toInt64__int128_u53(T21_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		counter_1 = (NI64)(T22_ + IL64(1));
	}
LA14_: ;
	rawAddSon__ast_u6706(result, base_1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T23_ = (NIM_BOOL)0;
	T23_ = !(((*result).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	if (!(T23_)) goto LA24_;
	T23_ = (((*(*result).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)11)))&63U)))!=0);
LA24_: ;
	isPure_1 = T23_;
	symbols_1 = initStrTable__ast_u6321();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hasNull_1 = NIM_FALSE;
	needsReorder_1 = NIM_FALSE;
	{
		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 LA27;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* symNode_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* conflict_1;
					NIM_BOOL useAutoCounter_1;
					tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T164_;
					symNode_1 = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					conflict_1 = NIM_NIL;
					{
						if (!((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA32_;
						eqdestroy___ast_u4574(conflict_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(symNode_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA28;
					}
LA32_: ;
					useAutoCounter_1 = NIM_FALSE;
					switch ((*(*n_p1)._kind_6.sons.p->data[i_1]).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)151):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* strVal_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
						v_1 = NIM_NIL;
						strVal_1 = NIM_NIL;
						colontmpD__3 = NIM_NIL;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T40_;
							if (!((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA38_;
							T40_ = NIM_NIL;
							T40_ = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20), (*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], c_p0);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T40_); goto LA35_;}
							eqsink___ast_u4583(&e_1, T40_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							identToReplace_1 = &(*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)];
							pragma__pragmas_u120(c_p0, e_1, (*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_1183, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						}
						goto LA36_;
LA38_: ;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T42_;
							T42_ = NIM_NIL;
							T42_ = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20), (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)], c_p0);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T42_); goto LA35_;}
							eqsink___ast_u4583(&e_1, T42_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							identToReplace_1 = &(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)];
						}
LA36_: ;
						v_1 = semConstExpr__sem_u631(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						strVal_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
						colontmpD__3 = skipTypes__ast_u5379((*v_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_94);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						switch ((*colontmpD__3).kind) {
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
						{
							{
								NI T46_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
								T46_ = (NI)0;
								T46_ = len__ast_u3190(v_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
								if (!(T46_ == ((NI)2))) goto LA47_;
								colontmpD__4 = NIM_NIL;
								eqcopy___ast_u3255(&strVal_1, (*v_1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
								{
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
									tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T63_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
									colontmpD__4 = skipTypes__ast_u5379((*strVal_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_10);
									if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
									if (!((*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) || (*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29))) goto LA52_;
									colontmpD__5 = NIM_NIL;
									{
										NIM_BOOL T57_;
										NimStringV2 colontmpD__6;
										NimStringV2 colontmpD__7;
										T57_ = (NIM_BOOL)0;
										T57_ = isOrdinalType__types_u283((*(*v_1)._kind_6.sons.p->data[((NI)0)]).typField, NIM_TRUE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
										if (!!(T57_)) goto LA58_;
										colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
										colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
										colontmpD__6 = typeToString__types_u54((*(*v_1)._kind_6.sons.p->data[((NI)0)]).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1184, colontmpD__6);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*v_1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1185, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
										{
											LA60_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__7);
											eqdestroy___system_u2691(colontmpD__6);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
									}
LA58_: ;
									T63_ = getOrdValue__types_u167((*v_1)._kind_6.sons.p->data[((NI)0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
									x_1 = toInt64__int128_u53(T63_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
									colontmpD__5 = getSysType__magicsys_u55((*c_p0).graph, unknownLineInfo__lineinfos_u364, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
									if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
									T64_ = NIM_NIL;
									T64_ = newIntTypeNode__ast_u5387(x_1, colontmpD__5);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto LA54_;}
									eqsink___ast_u3261(&(*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T64_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
									{
										LA54_:;
									}
									{
										oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3378(colontmpD__5);
										if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
										*nimErr_ = oldNimErrFin54_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
								}
								goto LA50_;
LA52_: ;
								{
									liMessage__msgs_u1227((*(*c_p0).graph).config, (*strVal_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1186, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1187, NIM_FALSE, NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
								}
LA50_: ;
								{
									LA49_:;
								}
								{
									oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
									*nimErr_ = oldNimErrFin49_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							}
							goto LA44_;
LA47_: ;
							{
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*v_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1189, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1190, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							}
LA44_: ;
						}
						break;
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28):
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29):
						{
							eqsink___ast_u3261(&strVal_1, v_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							eqwasMoved___ast_u3249(&v_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							x_1 = counter_1;
							useAutoCounter_1 = NIM_TRUE;
						}
						break;
						default:
						{
							{
								NIM_BOOL T75_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
								tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T79_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T80_;
								T75_ = (NIM_BOOL)0;
								T75_ = isOrdinalType__types_u283((*v_1).typField, NIM_TRUE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
								if (!T75_) goto LA76_;
								colontmpD__8 = NIM_NIL;
								T79_ = getOrdValue__types_u167(v_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
								x_1 = toInt64__int128_u53(T79_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
								colontmpD__8 = getSysType__magicsys_u55((*c_p0).graph, unknownLineInfo__lineinfos_u364, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
								if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
								T80_ = NIM_NIL;
								T80_ = newIntTypeNode__ast_u5387(x_1, colontmpD__8);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T80_); goto LA78_;}
								eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], T80_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
								{
									LA78_:;
								}
								{
									oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__8);
									if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
									*nimErr_ = oldNimErrFin78_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							}
							goto LA73_;
LA76_: ;
							{
								NimStringV2 colontmpD__9;
								NimStringV2 colontmpD__10;
								colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
								colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
								colontmpD__9 = typeToString__types_u54((*v_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								colontmpD__10 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1191, colontmpD__9);
								if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*v_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__10, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1192, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
								{
									LA84_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__10);
									eqdestroy___system_u2691(colontmpD__9);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							}
LA73_: ;
						}
						break;
						}
						{
							if (!!((i_1 == ((NI)1)))) goto LA89_;
							{
								if (!!((x_1 == counter_1))) goto LA93_;
								needsReorder_1 = NIM_TRUE;
								(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)5))) & 63);
							}
LA93_: ;
						}
LA89_: ;
						eqsink___ast_u3261(&(*e_1).ast, strVal_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						eqwasMoved___ast_u3249(&strVal_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						counter_1 = x_1;
						{
							LA35_:;
						}
						{
							oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							eqdestroy___ast_u3252(strVal_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							eqdestroy___ast_u3252(v_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							*nimErr_ = oldNimErrFin35_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
					{
						eqcopy___ast_u4577(&e_1, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						useAutoCounter_1 = NIM_TRUE;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T99_;
						T99_ = NIM_NIL;
						T99_ = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20), (*n_p1)._kind_6.sons.p->data[i_1], c_p0);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T99_); goto LA29_;}
						eqsink___ast_u4583(&e_1, T99_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						identToReplace_1 = &(*n_p1)._kind_6.sons.p->data[i_1];
						useAutoCounter_1 = NIM_TRUE;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T101_;
						T101_ = NIM_NIL;
						T101_ = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20), (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)], c_p0);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T101_); goto LA29_;}
						eqsink___ast_u4583(&e_1, T101_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						pragma__pragmas_u120(c_p0, e_1, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_1183, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						identToReplace_1 = &(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)];
						useAutoCounter_1 = NIM_TRUE;
					}
					break;
					default:
					{
						illFormedAst__semdata_u4665((*n_p1)._kind_6.sons.p->data[i_1], (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
					break;
					}
					{
						if (!useAutoCounter_1) goto LA105_;
						{
							while (1) {
								NIM_BOOL T109_;
								T109_ = (NIM_BOOL)0;
								T109_ = contains__sem_u4716((&counterSet_1), counter_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
								if (!(T109_)) goto LA110_;
								T109_ = !((counter_1 == IL64(9223372036854775807)));
LA110_: ;
								if (!T109_) goto LA108;
								counter_1 += ((NI)1);
							} LA108: ;
						}
						incl__sem_u4938((&counterSet_1), counter_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
					goto LA103_;
LA105_: ;
					{
						NIM_BOOL T112_;
						NimStringV2 colontmpD__11;
						T112_ = (NIM_BOOL)0;
						T112_ = containsOrIncl__sem_u5492((&counterSet_1), counter_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						if (!T112_) goto LA113_;
						colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
						colontmpD__11 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1194, (*(*e_1).name).s);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1195, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						{
							LA115_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__11);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
					goto LA103_;
LA113_: ;
LA103_: ;
					eqcopy___ast_u3381(&(*e_1).typ, result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					(*e_1).position = ((NI) (counter_1));
					symNode_1 = newSymNode__ast_u5168(e_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					{
						NIM_BOOL T120_;
						T120_ = (NIM_BOOL)0;
						T120_ = !((identToReplace_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**) NIM_NIL)));
						if (!(T120_)) goto LA121_;
						T120_ = !(((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)14) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)15) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)16) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)21) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)22) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)23) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)24)));
LA121_: ;
						if (!T120_) goto LA122_;
						eqcopy___ast_u3255(&(*identToReplace_1), symNode_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
LA122_: ;
					{
						if (!((*e_1).position == ((NI)0))) goto LA126_;
						hasNull_1 = NIM_TRUE;
					}
LA126_: ;
					{
						NIM_BOOL T130_;
						T130_ = (NIM_BOOL)0;
						T130_ = !(((*result).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T130_)) goto LA131_;
						T130_ = (((*(*result).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)1)))&63U)))!=0);
LA131_: ;
						if (!T130_) goto LA132_;
						(*e_1).flags = ((*e_1).flags | 3);
					}
LA132_: ;
					add__ast_u3215((*result).n, symNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					{
						NIM_BOOL T136_;
						NIM_BOOL T137_;
						NIM_BOOL T138_;
						NIM_BOOL T139_;
						NIM_BOOL T140_;
						NIM_BOOL T141_;
						NIM_BOOL T142_;
						NIM_BOOL T143_;
						NIM_BOOL T144_;
						NIM_BOOL T145_;
						NIM_BOOL T146_;
						tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T148_;
						NIM_BOOL T157_;
						tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T160_;
						T136_ = (NIM_BOOL)0;
						T137_ = (NIM_BOOL)0;
						T138_ = (NIM_BOOL)0;
						T139_ = (NIM_BOOL)0;
						T140_ = (NIM_BOOL)0;
						T141_ = (NIM_BOOL)0;
						T142_ = (NIM_BOOL)0;
						T143_ = (NIM_BOOL)0;
						T144_ = (NIM_BOOL)0;
						T145_ = (NIM_BOOL)0;
						T146_ = (NIM_BOOL)0;
						T146_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
						if (!(T146_)) goto LA147_;
						T148_ = 0;
						T146_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T148_));
LA147_: ;
						T145_ = T146_;
						if (!(T145_)) goto LA149_;
						T145_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA149_: ;
						T144_ = T145_;
						if (!(T144_)) goto LA150_;
						colontmpD__2 = getModule__modulegraphs_u14809((*c_p0).graph, (*e_1).info.fileIndex);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						T144_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
LA150_: ;
						T143_ = T144_;
						if (!(T143_)) goto LA151_;
						T143_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA151_: ;
						T142_ = T143_;
						if (!(T142_)) goto LA152_;
						T142_ = !(((*e_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA152_: ;
						T141_ = T142_;
						if (!(T141_)) goto LA153_;
						T141_ = !(((*e_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA153_: ;
						T140_ = T141_;
						if (!(T140_)) goto LA154_;
						T140_ = (((NU8)((*(*e_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*e_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA154_: ;
						T139_ = T140_;
						if (!(T139_)) goto LA155_;
						T139_ = !(((*e_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*e_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA155_: ;
						T138_ = T139_;
						if (!(T138_)) goto LA156_;
						T157_ = (NIM_BOOL)0;
						T157_ = ((*e_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (T157_) goto LA158_;
						T157_ = !(((*(*e_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA158_: ;
						T138_ = T157_;
LA156_: ;
						T137_ = T138_;
						if (!(T137_)) goto LA159_;
						T160_ = 0;
						T137_ = ((192 & (*e_1).flags) == T160_);
LA159_: ;
						T136_ = T137_;
						if (!(T136_)) goto LA161_;
						T136_ = !((((*e_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA161_: ;
						if (!T136_) goto LA162_;
						nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*e_1).info, e_1, (*e_1).kind);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
LA162_: ;
					T164_ = NIM_NIL;
					T164_ = (*c_p0).graph;
					suggestSym__sigmatch_u6643(T164_, (*e_1).info, e_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					{
						if (!!((((*e_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA167_;
						{
							if (!!(isPure_1)) goto LA171_;
							addInterfaceOverloadableSymAt__lookups_u3846(c_p0, (*c_p0).currentScope, e_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						}
						goto LA169_;
LA171_: ;
						{
							declarePureEnumField__importer_u71(c_p0, e_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						}
LA169_: ;
					}
LA167_: ;
					{
						conflict_1 = strTableInclReportConflict__astalgo_u2677((&symbols_1), e_1, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						if (!!((conflict_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA176_;
						wrongRedefinition__lookups_u3243(c_p0, (*e_1).info, (*(*e_1).name).s, (*conflict_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
						if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					}
LA176_: ;
					{
						if (!(counter_1 == IL64(9223372036854775807))) goto LA180_;
						{
							NIM_BOOL T184_;
							NimStringV2 colontmpD__12;
							NimStringV2 colontmpD__13;
							tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T189_;
							T184_ = (NIM_BOOL)0;
							T184_ = (((NI)1) < i_1);
							if (!(T184_)) goto LA185_;
							T184_ = ((*(*(*(*result).n)._kind_6.sons.p->data[(NI)(i_1 - ((NI)2))])._kind_4.sym).position == ((NI)2147483647));
LA185_: ;
							if (!T184_) goto LA186_;
							colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
							colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
							T189_[0] = (*(*e_1).name).s;
							colontmpD__12 = dollar___systemZdollars_u29(IL64(9223372036854775807));
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							T189_[1] = colontmpD__12;
							colontmpD__13 = percent___sem_u6015(T189_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__13, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1196, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							{
								LA188_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__13);
								eqdestroy___system_u2691(colontmpD__12);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
						}
LA186_: ;
					}
					goto LA178_;
LA180_: ;
					{
						counter_1 += ((NI)1);
					}
LA178_: ;
					{
						LA29_:;
					}
					{
						oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(conflict_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(symNode_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin29_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA28: ;
				i_2 += ((NI)1);
			} LA27: ;
		}
	}
	{
		tyProc__LPif9b9aloZA2k1Nxo0IoeCQ T199_;
		if (!needsReorder_1) goto LA197_;
		nimZeroMem((void*)(&T199_), sizeof(tyProc__LPif9b9aloZA2k1Nxo0IoeCQ));
		T199_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_1197) (colonanonymous___sem_u6025)); T199_.ClE_0 = NIM_NIL;
		sort__sem_u6035((((*(*result).n)._kind_6.sons).p) ? ((*(*result).n)._kind_6.sons.p->data) : NIM_NIL, (*(*result).n)._kind_6.sons.len, T199_, ((tyEnum_SortOrder__wt7l6Gbd8C9c61b6I621QeA)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA197_: ;
	{
		NIM_BOOL T202_;
		tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA T206_;
		T202_ = (NIM_BOOL)0;
		T202_ = isPure_1;
		if (!(T202_)) goto LA203_;
		T202_ = (((*(*result).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)1)))&63U)))!=0);
LA203_: ;
		if (!T202_) goto LA204_;
		nimZeroMem((void*)(&T206_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
		nimZeroMem((void*)(&T206_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
		T206_.sym = (*result).sym;
		addPureEnum__semdata_u4312(c_p0, T206_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA204_: ;
	{
		NIM_BOOL T209_;
		T209_ = (NIM_BOOL)0;
		T209_ = (((*(*e_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0);
		if (!(T209_)) goto LA210_;
		T209_ = !(hasNull_1);
LA210_: ;
		if (!T209_) goto LA211_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)18))) & 63);
	}
LA211_: ;
	colontmpD_ = genEnumToStrProc__enumtostr_u7(result, (*n_p1).info, (*c_p0).graph, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setToStringProc__modulegraphs_u8744((*c_p0).graph, result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u6338(symbols_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u4514((&counterSet_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semStmtListType__sem_u8667)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T2_ - ((NI)1));
		i_2 = ((NI)0);
		{
			while (1) {
				tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T5_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				T5_ = 0;
				T6_ = NIM_NIL;
				T6_ = semStmt__sem_u93(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], T5_);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T6_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	{
		NI T9_;
		NI T12_;
		NI T13_;
		T9_ = (NI)0;
		T9_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(((NI)0) < T9_)) goto LA10_;
		T12_ = (NI)0;
		T12_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T12_ - ((NI)1))], prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3381(&(*n_p1).typField, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T13_ = (NI)0;
		T13_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3381(&(*(*n_p1)._kind_6.sons.p->data[(NI)(T13_ - ((NI)1))]).typField, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA7_;
LA10_: ;
	{
		result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	}
LA7_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semBlockType__sem_u8677)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	NIM_BOOL oldBreakInLoop_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	(*(*c_p0).p).nestedBlockCounter += ((NI)1);
	oldBreakInLoop_1 = (*(*c_p0).p).breakInLoop;
	(*(*c_p0).p).breakInLoop = NIM_FALSE;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA4_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)22), (*n_p1)._kind_6.sons.p->data[((NI)0)], c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		addDecl__lookups_u3789(c_p0, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	result = semStmtListType__sem_u8667(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*n_p1).typField, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*c_p0).p).breakInLoop = oldBreakInLoop_1;
	(*(*c_p0).p).nestedBlockCounter -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, semTypeNode__sem_u89)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* prev_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin52_;
NIM_BOOL oldNimErrFin80_;
NIM_BOOL oldNimErrFin126_;
NIM_BOOL oldNimErrFin106_;
NIM_BOOL oldNimErrFin137_;
NIM_BOOL oldNimErrFin71_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin186_;
NIM_BOOL oldNimErrFin207_;
NIM_BOOL oldNimErrFin248_;
NIM_BOOL oldNimErrFin274_;
NIM_BOOL oldNimErrFin269_;
NIM_BOOL oldNimErrFin280_;
NIM_BOOL oldNimErrFin285_;
NIM_BOOL oldNimErrFin200_;
NIM_BOOL oldNimErrFin340_;
NIM_BOOL oldNimErrFin318_;
NIM_BOOL oldNimErrFin367_;
NIM_BOOL oldNimErrFin352_;
NIM_BOOL oldNimErrFin413_;
NIM_BOOL oldNimErrFin406_;
NIM_BOOL oldNimErrFin397_;
NIM_BOOL oldNimErrFin502_;
NIM_BOOL oldNimErrFin486_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	(*c_p0).inTypeContext += ((NI)1);
	{
		if (!((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12))) goto LA3_;
		suggestExpr__sigmatch_u7722(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	{
		eqcopy___ast_u3381(&result, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
		checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T7_ = NIM_NIL;
		T7_ = semTypeOf__sem_u9215(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T7_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA10_;
			(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)29))) & 63);
		}
LA10_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	{
		{
			NI T15_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T18_;
			T15_ = (NI)0;
			T15_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T15_ == ((NI)1))) goto LA16_;
			T18_ = NIM_NIL;
			T18_ = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T18_); goto BeforeRet_;}
			eqsink___ast_u3387(&result, T18_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA13_;
LA16_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T20_;
			T20_ = NIM_NIL;
			T20_ = semAnonTuple__sem_u6651(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T20_); goto BeforeRet_;}
			eqsink___ast_u3387(&result, T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T22_;
		T22_ = NIM_NIL;
		T22_ = semAnonTuple__sem_u6651(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T22_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T22_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
		x_1 = NIM_NIL;
		ident_1 = NIM_NIL;
		eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		ident_1 = getPIdent__ast_u2825(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			NIM_BOOL T27_;
			NIM_BOOL T28_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T36_;
			T27_ = (NIM_BOOL)0;
			T28_ = (NIM_BOOL)0;
			T28_ = eqeq___idents_u366(ident_1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T27_ = !(T28_);
			if (!(T27_)) goto LA29_;
			T27_ = eqStrings((*ident_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_142);
LA29_: ;
			if (!T27_) goto LA30_;
			b_1 = NIM_NIL;
			b_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			{
				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 LA32_;
				i_2 = ((NI)1);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA35;
						i_1 = i_2;
						add__ast_u3215(b_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						i_2 += ((NI)1);
					} LA35: ;
				}
			}
			T36_ = NIM_NIL;
			T36_ = semTypeNode__sem_u89(c_p0, b_1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T36_); goto LA32_;}
			eqsink___ast_u3387(&result, T36_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			{
				LA32_:;
			}
			{
				oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				*nimErr_ = oldNimErrFin32_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
		goto LA25_;
LA30_: ;
		{
			NIM_BOOL T40_;
			NIM_BOOL T41_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T45_;
			T40_ = (NIM_BOOL)0;
			T41_ = (NIM_BOOL)0;
			T41_ = eqeq___idents_u366(ident_1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T40_ = !(T41_);
			if (!(T40_)) goto LA42_;
			T40_ = ((*ident_1).id == ((NI)71));
LA42_: ;
			if (!T40_) goto LA43_;
			T45_ = NIM_NIL;
			T45_ = semRangeAux__sem_u6378(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T45_); goto LA24_;}
			eqsink___ast_u3387(&result, T45_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
		goto LA25_;
LA43_: ;
		{
			NIM_BOOL T47_;
			NI T49_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T53_;
			T47_ = (NIM_BOOL)0;
			T47_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
			if (!(T47_)) goto LA48_;
			T49_ = (NI)0;
			T49_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T47_ = (T49_ == ((NI)2));
LA48_: ;
			if (!T47_) goto LA50_;
			colontmpD_ = NIM_NIL;
			T53_ = NIM_NIL;
			T53_ = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T53_); goto LA52_;}
			eqsink___ast_u3387(&result, T53_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			{
				colontmpD_ = skipTypes__ast_u5379(result, TM__rF9caJawfOjYTjsgLVUSGFA_162);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				if (!((*colontmpD_).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*colontmpD_).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*colontmpD_).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50))) goto LA56_;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T62_;
					if (!(((*result).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0)) goto LA60_;
					T62_ = NIM_NIL;
					T62_ = freshType__sem_u8972(c_p0, result, prev_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T62_); goto LA52_;}
					eqsink___ast_u3387(&result, T62_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
					(*result).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17))) & 63));
				}
LA60_: ;
			}
			goto LA54_;
LA56_: ;
			{
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_164, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_165, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			}
LA54_: ;
			{
				LA52_:;
			}
			{
				oldNimErrFin52_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				*nimErr_ = oldNimErrFin52_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
		goto LA25_;
LA50_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T69_;
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165)))) goto LA67_;
			T69_ = NIM_NIL;
			T69_ = semTypeExpr__sem_u8938(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T69_); goto LA24_;}
			eqsink___ast_u3387(&result, T69_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
		goto LA25_;
LA67_: ;
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* op_1;
			op_1 = NIM_NIL;
			op_1 = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			{
				NIM_BOOL T74_;
				NIM_BOOL T75_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t1_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t2_1;
				T74_ = (NIM_BOOL)0;
				T75_ = (NIM_BOOL)0;
				T75_ = ((*op_1).id == ((NI)2));
				if (T75_) goto LA76_;
				T75_ = ((*op_1).id == ((NI)47));
LA76_: ;
				T74_ = T75_;
				if (T74_) goto LA77_;
				T74_ = eqStrings((*op_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_170);
LA77_: ;
				if (!T74_) goto LA78_;
				t1_1 = NIM_NIL;
				t2_1 = NIM_NIL;
				checkSonsLen__semdata_u4671(n_p1, ((NI)3), (*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
				t1_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
				t2_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T85_;
					if (!(t1_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA83_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_171, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_172, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
					T85_ = NIM_NIL;
					T85_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T85_); goto LA80_;}
					eqsink___ast_u3387(&result, T85_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
				}
				goto LA81_;
LA83_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T89_;
					if (!(t2_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA87_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_173, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_174, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
					T89_ = NIM_NIL;
					T89_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T89_); goto LA80_;}
					eqsink___ast_u3387(&result, T89_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
				}
				goto LA81_;
LA87_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T91_;
					T91_ = NIM_NIL;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T96_;
						if (!((*op_1).id == ((NI)2))) goto LA94_;
						T96_ = NIM_NIL;
						T96_ = makeAndType__semdata_u4457(c_p0, t1_1, t2_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T96_); goto LA80_;}
						eqsink___ast_u3387(&result, T96_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
					}
					goto LA92_;
LA94_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T98_;
						T98_ = NIM_NIL;
						T98_ = makeOrType__semdata_u4479(c_p0, t1_1, t2_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T98_); goto LA80_;}
						eqsink___ast_u3387(&result, T98_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
					}
LA92_: ;
				}
LA81_: ;
				{
					LA80_:;
				}
				{
					oldNimErrFin80_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(t2_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
					eqdestroy___ast_u3378(t1_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
					*nimErr_ = oldNimErrFin80_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
			goto LA72_;
LA78_: ;
			{
				NI T104_;
				if (!((*op_1).id == ((NI)43))) goto LA102_;
				T104_ = (NI)0;
				T104_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				switch (T104_) {
				case ((NI)3):
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* resolvedType_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T107_;
					resolvedType_1 = NIM_NIL;
					T107_ = NIM_NIL;
					T107_ = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T107_); goto LA106_;}
					eqsink___ast_u3387(&result, T107_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					{
						NIM_BOOL T110_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T114_;
						T110_ = (NIM_BOOL)0;
						T110_ = ((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
						if (!(T110_)) goto LA111_;
						T110_ = !((((*result).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0));
LA111_: ;
						if (!T110_) goto LA112_;
						T114_ = NIM_NIL;
						T114_ = base__ast_u5351(result);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T114_); goto LA106_;}
						eqsink___ast_u3387(&result, T114_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					}
LA112_: ;
					{
						if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)))) goto LA117_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_176, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_177, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					}
LA117_: ;
					{
						NIM_BOOL T121_;
						T121_ = (NIM_BOOL)0;
						T121_ = !((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)4)))&31U)))!=0));
						if (!(T121_)) goto LA122_;
						T121_ = !((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)13)))&31U)))!=0));
LA122_: ;
						if (!T121_) goto LA123_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_179, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_180, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					}
LA123_: ;
					resolvedType_1 = skipTypes__ast_u5379(result, TM__rF9caJawfOjYTjsgLVUSGFA_162);
					if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					switch ((*resolvedType_1).kind) {
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12):
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8):
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
						tyArray__TAsXwXSUBvAawE1kIQ5ziQ T127_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T128_;
						colontmpD__2 = NIM_NIL;
						colontmpD__3 = NIM_NIL;
						nimZeroMem((void*)T127_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
						colontmpD__2 = copyTree__ast_u6891(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
						T127_[0] = colontmpD__2;
						colontmpD__3 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)128), T127_, 1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
						T128_ = NIM_NIL;
						T128_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T128_); goto LA126_;}
						eqsink___ast_u3387(&result, T128_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA126_;
						{
							LA126_:;
						}
						{
							oldNimErrFin126_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
							eqdestroy___ast_u3252(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
							*nimErr_ = oldNimErrFin126_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					}
					break;
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9):
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22):
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26):
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30):
					case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50):
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T132_;
						T132_ = NIM_NIL;
						T132_ = freshType__sem_u8972(c_p0, result, prev_p2);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T132_); goto LA106_;}
						eqsink___ast_u3387(&result, T132_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
						(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17))) & 63);
					}
					break;
					default:
					{
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_181, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_182, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					}
					break;
					}
					{
						LA106_:;
					}
					{
						oldNimErrFin106_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(resolvedType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
						*nimErr_ = oldNimErrFin106_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				}
				break;
				case ((NI)2):
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* negated_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T138_;
					negated_1 = NIM_NIL;
					negated_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					T138_ = NIM_NIL;
					T138_ = makeNotType__semdata_u4524(c_p0, negated_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T138_); goto LA137_;}
					eqsink___ast_u3387(&result, T138_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					{
						LA137_:;
					}
					{
						oldNimErrFin137_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(negated_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
						*nimErr_ = oldNimErrFin137_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				}
				break;
				default:
				{
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_183, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_184, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				}
				break;
				}
			}
			goto LA72_;
LA102_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T145_;
				if (!((*op_1).id == ((NI)50))) goto LA143_;
				T145_ = NIM_NIL;
				T145_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21), prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T145_); goto LA71_;}
				eqsink___ast_u3387(&result, T145_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
			goto LA72_;
LA143_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T149_;
				if (!((*op_1).id == ((NI)52))) goto LA147_;
				T149_ = NIM_NIL;
				T149_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22), prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T149_); goto LA71_;}
				eqsink___ast_u3387(&result, T149_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
			goto LA72_;
LA147_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T153_;
				if (!((*op_1).id == ((NI)56))) goto LA151_;
				checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				T153_ = NIM_NIL;
				T153_ = semStaticType__sem_u138(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T153_); goto LA71_;}
				eqsink___ast_u3387(&result, T153_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
			goto LA72_;
LA151_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T157_;
				if (!((*op_1).id == ((NI)60))) goto LA155_;
				checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				T157_ = NIM_NIL;
				T157_ = semTypeOf__sem_u9215(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T157_); goto LA71_;}
				eqsink___ast_u3387(&result, T157_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
			goto LA72_;
LA155_: ;
			{
				NIM_BOOL T159_;
				NIM_BOOL T161_;
				NIM_BOOL T162_;
				NIM_BOOL T165_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T169_;
				T159_ = (NIM_BOOL)0;
				T159_ = eqStrings((*op_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_351);
				if (!(T159_)) goto LA160_;
				T161_ = (NIM_BOOL)0;
				T162_ = (NIM_BOOL)0;
				T162_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T162_)) goto LA163_;
				T162_ = ((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18));
LA163_: ;
				T161_ = T162_;
				if (T161_) goto LA164_;
				T165_ = (NIM_BOOL)0;
				T165_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165));
				if (!(T165_)) goto LA166_;
				T165_ = ((*(*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18));
LA166_: ;
				T161_ = T165_;
LA164_: ;
				T159_ = T161_;
LA160_: ;
				if (!T159_) goto LA167_;
				T169_ = NIM_NIL;
				T169_ = semTypeOf2__sem_u9248(c_p0, n_p1, prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T169_); goto LA71_;}
				eqsink___ast_u3387(&result, T169_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
			goto LA72_;
LA167_: ;
			{
				NIM_BOOL T171_;
				NIM_BOOL T172_;
				NI T175_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T178_;
				T171_ = (NIM_BOOL)0;
				T172_ = (NIM_BOOL)0;
				T172_ = eqStrings((*op_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_356);
				if (!(T172_)) goto LA173_;
				T172_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0));
LA173_: ;
				T171_ = T172_;
				if (!(T171_)) goto LA174_;
				T175_ = (NI)0;
				T175_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
				T171_ = (T175_ == ((NI)2));
LA174_: ;
				if (!T171_) goto LA176_;
				T178_ = NIM_NIL;
				T178_ = semTypeExpr__sem_u8938(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T178_); goto LA71_;}
				eqsink___ast_u3387(&result, T178_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
			goto LA72_;
LA176_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T180_;
				T180_ = NIM_NIL;
				T180_ = semTypeExpr__sem_u8938(c_p0, n_p1, prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T180_); goto LA71_;}
				eqsink___ast_u3387(&result, T180_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			}
LA72_: ;
			{
				LA71_:;
			}
			{
				oldNimErrFin71_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				*nimErr_ = oldNimErrFin71_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
LA25_: ;
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* whenResult_1;
		whenResult_1 = NIM_NIL;
		whenResult_1 = semWhen__sem_u531(c_p0, n_p1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
		{
			if (!((*whenResult_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA189_;
			transitionSonsKind__ast_u6769(whenResult_1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)128));
			if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
		}
LA189_: ;
		{
			if (!((*whenResult_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93))) goto LA193_;
			eqcopy___ast_u3381(&result, (*whenResult_1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
		}
		goto LA191_;
LA193_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T196_;
			T196_ = NIM_NIL;
			T196_ = semTypeNode__sem_u89(c_p0, whenResult_1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T196_); goto LA186_;}
			eqsink___ast_u3387(&result, T196_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA186_;
		}
LA191_: ;
		{
			LA186_:;
		}
		{
			oldNimErrFin186_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(whenResult_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin186_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* head_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T201_;
		head_1 = NIM_NIL;
		s_1 = NIM_NIL;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		eqcopy___ast_u3255(&head_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		T201_ = NIM_NIL;
		{
			if (!!(((*head_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*head_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*head_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*head_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*head_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*head_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*head_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32)))) goto LA204_;
			s_1 = semTypeIdent__sem_u9287(c_p0, head_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		goto LA202_;
LA204_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T208_;
			colontmpD__4 = NIM_NIL;
			T208_ = 0;
			colontmpD__4 = semExpr__sem_u58(c_p0, head_1, T208_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
			s_1 = symFromExpectedTypeNode__sem_u9197(c_p0, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
			{
				LA207_:;
			}
			{
				oldNimErrFin207_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
				*nimErr_ = oldNimErrFin207_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
LA202_: ;
		switch ((*s_1).magic) {
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)160):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T212_;
			T212_ = NIM_NIL;
			T212_ = semArray__sem_u6607(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T212_); goto LA200_;}
			eqsink___ast_u3387(&result, T212_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)161):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T214_;
			T214_ = NIM_NIL;
			T214_ = semContainer__sem_u6251(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27), TM__rF9caJawfOjYTjsgLVUSGFA_410, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T214_); goto LA200_;}
			eqsink___ast_u3387(&result, T214_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)272):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T216_;
			T216_ = NIM_NIL;
			T216_ = semContainer__sem_u6251(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)49), TM__rF9caJawfOjYTjsgLVUSGFA_412, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T216_); goto LA200_;}
			eqsink___ast_u3387(&result, T216_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)162):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T218_;
			T218_ = NIM_NIL;
			T218_ = semRange__sem_u6485(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T218_); goto LA200_;}
			eqsink___ast_u3387(&result, T218_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)163):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T220_;
			T220_ = NIM_NIL;
			T220_ = semSet__sem_u6215(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T220_); goto LA200_;}
			eqsink___ast_u3387(&result, T220_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)172):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T222_;
			T222_ = NIM_NIL;
			T222_ = semOrdinal__sem_u6641(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T222_); goto LA200_;}
			eqsink___ast_u3387(&result, T222_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)173):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T224_;
			T224_ = NIM_NIL;
			T224_ = semIterableType__sem_u6635(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T224_); goto LA200_;}
			eqsink___ast_u3387(&result, T224_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)164):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T226_;
			T226_ = NIM_NIL;
			T226_ = semContainer__sem_u6251(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24), TM__rF9caJawfOjYTjsgLVUSGFA_445, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T226_); goto LA200_;}
			eqsink___ast_u3387(&result, T226_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			{
				if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)45)))&63U)))!=0)) goto LA229_;
				(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
			}
LA229_: ;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)165):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T232_;
			T232_ = NIM_NIL;
			T232_ = semVarargs__sem_u6258(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T232_); goto LA200_;}
			eqsink___ast_u3387(&result, T232_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)196):
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)17):
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18):
		{
			{
				NI T236_;
				NimStringV2 name_1;
				NimStringV2 colontmpD__5;
				NimStringV2 T240_;
				T236_ = (NI)0;
				T236_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
				if (!!((T236_ == ((NI)2)))) goto LA237_;
				name_1.len = 0; name_1.p = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				T240_.len = 0; T240_.p = NIM_NIL;
				switch ((*s_1).magic) {
				case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)196):
				{
					name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_451;
				}
				break;
				case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)17):
				{
					name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_453;
				}
				break;
				case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18):
				{
					name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_454;
				}
				break;
				default:
				{
					name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_455;
				}
				break;
				}
				colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_456, name_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA239_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_457, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA239_;
				{
					LA239_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__5);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
			goto LA234_;
LA237_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T249_;
				colontmpD__6 = NIM_NIL;
				colontmpD__6 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA248_;
				T249_ = NIM_NIL;
				T249_ = makeTypeDesc__semdata_u4621(c_p0, colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T249_); goto LA248_;}
				eqsink___ast_u3387(&result, T249_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA248_;
				(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)29))) & 63);
				{
					LA248_:;
				}
				{
					oldNimErrFin248_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					*nimErr_ = oldNimErrFin248_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
LA234_: ;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)24):
		{
			{
				NI T255_;
				NimStringV2 colontmpD__7;
				T255_ = (NI)0;
				T255_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
				if (!!((T255_ == ((NI)2)))) goto LA256_;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_458, TM__rF9caJawfOjYTjsgLVUSGFA_460);
				if (NIM_UNLIKELY(*nimErr_)) goto LA258_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_461, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA258_;
				{
					LA258_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__7);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
			goto LA253_;
LA256_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T262_;
				T262_ = NIM_NIL;
				T262_ = semStaticType__sem_u138(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T262_); goto LA200_;}
				eqsink___ast_u3387(&result, T262_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
LA253_: ;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)194):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T264_;
			T264_ = NIM_NIL;
			T264_ = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T264_); goto LA200_;}
			eqsink___ast_u3387(&result, T264_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* old_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T270_;
				if (!!((result == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA267_;
				old_1 = NIM_NIL;
				colontmpD__8 = NIM_NIL;
				eqcopy___ast_u3381(&old_1, result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
				colontmpD__8 = getCurrOwner__semdata_u425(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
				T270_ = NIM_NIL;
				T270_ = copyType__ast_u6238(result, (*c_p0).Sup.idgen, colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T270_); goto LA269_;}
				eqsink___ast_u3387(&result, T270_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
				copyTypeProps__modulegraphs_u10674((*c_p0).graph, ((NI) ((*(*c_p0).Sup.idgen).module)), result, old_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
				{
					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 LA269_;
					i_4 = ((NI)1);
					{
						while (1) {
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
							if (!(i_4 < colontmp__2)) goto LA273;
							colontmpD__9 = NIM_NIL;
							i_3 = i_4;
							colontmpD__9 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[i_3], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA274_;
							rawAddSon__ast_u6706(result, colontmpD__9, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA274_;
							i_4 += ((NI)1);
							{
								LA274_:;
							}
							{
								oldNimErrFin274_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(colontmpD__9);
								if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
								*nimErr_ = oldNimErrFin274_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
						} LA273: ;
					}
				}
				{
					LA269_:;
				}
				{
					oldNimErrFin269_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD__8);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					eqdestroy___ast_u3378(old_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
					*nimErr_ = oldNimErrFin269_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
LA267_: ;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)169):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T281_;
			colontmpD__10 = NIM_NIL;
			checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
			T281_ = NIM_NIL;
			T281_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13), prev_p2, c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T281_); goto LA280_;}
			eqsink___ast_u3387(&result, T281_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
			colontmpD__10 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
			addSonSkipIntLit__magicsys_u135(result, colontmpD__10, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
			{
				LA280_:;
			}
			{
				oldNimErrFin280_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
				*nimErr_ = oldNimErrFin280_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)168):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T286_;
			base_1 = NIM_NIL;
			checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA285_;
			T286_ = NIM_NIL;
			T286_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23), prev_p2, c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T286_); goto LA285_;}
			eqsink___ast_u3387(&result, T286_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA285_;
			base_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA285_;
			{
				if (!((*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*base_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA289_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_463, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_464, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA285_;
				eqcopy___ast_u3381(&base_1, (*base_1).sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA285_;
			}
LA289_: ;
			addSonSkipIntLit__magicsys_u135(result, base_1, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) goto LA285_;
			{
				LA285_:;
			}
			{
				oldNimErrFin285_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
				*nimErr_ = oldNimErrFin285_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)166):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T294_;
			T294_ = NIM_NIL;
			T294_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22), prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T294_); goto LA200_;}
			eqsink___ast_u3387(&result, T294_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)167):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T296_;
			T296_ = NIM_NIL;
			T296_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21), prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T296_); goto LA200_;}
			eqsink___ast_u3387(&result, T296_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)171):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T298_;
			T298_ = NIM_NIL;
			T298_ = semTuple__sem_u6717(c_p0, n_p1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T298_); goto LA200_;}
			eqsink___ast_u3387(&result, T298_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)270):
		{
			if (eqStrings((*(*s_1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_475)) goto LA300_;
			if (eqStrings((*(*s_1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_477)) goto LA301_;
			if (eqStrings((*(*s_1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_478)) goto LA302_;
			goto LA303_;
			LA300_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T306_;
				T306_ = NIM_NIL;
				T306_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47), prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T306_); goto LA200_;}
				eqsink___ast_u3387(&result, T306_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
			goto LA304_;
			LA301_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T308_;
				T308_ = NIM_NIL;
				T308_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46), prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T308_); goto LA200_;}
				eqsink___ast_u3387(&result, T308_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
			goto LA304_;
			LA302_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T310_;
				T310_ = NIM_NIL;
				T310_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45), prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T310_); goto LA200_;}
				eqsink___ast_u3387(&result, T310_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
			goto LA304_;
			LA303_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T312_;
				T312_ = NIM_NIL;
				T312_ = semGeneric__sem_u8763(c_p0, n_p1, s_1, prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T312_); goto LA200_;}
				eqsink___ast_u3387(&result, T312_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
			}
LA304_: ;
		}
		break;
		default:
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T314_;
			T314_ = NIM_NIL;
			T314_ = semGeneric__sem_u8763(c_p0, n_p1, s_1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T314_); goto LA200_;}
			eqsink___ast_u3387(&result, T314_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA200_;
		}
		break;
		}
		{
			LA200_:;
		}
		{
			oldNimErrFin200_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(head_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin200_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typeExpr_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T319_;
		typeExpr_1 = NIM_NIL;
		T319_ = 0;
		typeExpr_1 = semExpr__sem_u58(c_p0, n_p1, T319_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T324_;
			if (!((*typeExpr_1).typField == 0)) goto LA322_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_504, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_505, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
			T324_ = NIM_NIL;
			T324_ = errorType__semdata_u4564(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T324_); goto LA318_;}
			eqsink___ast_u3387(&result, T324_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		}
		goto LA320_;
LA322_: ;
		{
			if (!((*(*typeExpr_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA326_;
			eqcopy___ast_u3381(&result, (*typeExpr_1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		}
		goto LA320_;
LA326_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T331_;
			if (!!(((*(*typeExpr_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)))) goto LA329_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_506, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_507, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
			T331_ = NIM_NIL;
			T331_ = errorType__semdata_u4564(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T331_); goto LA318_;}
			eqsink___ast_u3387(&result, T331_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
		}
		goto LA320_;
LA329_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T333_;
			T333_ = NIM_NIL;
			T333_ = base__ast_u5351((*typeExpr_1).typField);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T333_); goto LA318_;}
			eqsink___ast_u3387(&result, T333_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
			{
				NIM_BOOL T336_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* preprocessed_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T341_;
				T336_ = (NIM_BOOL)0;
				T336_ = isMetaType__ast_u4607(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
				if (!(T336_)) goto LA337_;
				T336_ = !(((TM__rF9caJawfOjYTjsgLVUSGFA_508[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0));
LA337_: ;
				if (!T336_) goto LA338_;
				preprocessed_1 = NIM_NIL;
				colontmpD__11 = NIM_NIL;
				preprocessed_1 = semGenericStmt__sem_u690(c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA340_;
				colontmpD__11 = copyTree__ast_u6891(preprocessed_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA340_;
				T341_ = NIM_NIL;
				T341_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T341_); goto LA340_;}
				eqsink___ast_u3387(&result, T341_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA340_;
				{
					LA340_:;
				}
				{
					oldNimErrFin340_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__11);
					if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
					eqdestroy___ast_u3252(preprocessed_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
					*nimErr_ = oldNimErrFin340_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
			}
			goto LA334_;
LA338_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* alias_1;
				alias_1 = NIM_NIL;
				alias_1 = maybeAliasType__sem_u8904(c_p0, result, prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
				{
					if (!!((alias_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA347_;
					eqsink___ast_u3387(&result, alias_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
					eqwasMoved___ast_u3375(&alias_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
				}
LA347_: ;
				eqdestroy___ast_u3378(alias_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA318_;
			}
LA334_: ;
		}
LA320_: ;
		{
			LA318_:;
		}
		{
			oldNimErrFin318_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(typeExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin318_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
		s_2 = NIM_NIL;
		s_2 = semTypeIdent__sem_u9287(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T361_;
			if (!((*s_2).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA355_;
			{
				if (!!(((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0)))) goto LA359_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_509, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_510, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
			}
LA359_: ;
			T361_ = NIM_NIL;
			T361_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T361_); goto LA352_;}
			eqsink___ast_u3387(&result, T361_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
		}
		goto LA353_;
LA355_: ;
		{
			NIM_BOOL T363_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__12;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T375_;
			T363_ = (NIM_BOOL)0;
			T363_ = ((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T363_)) goto LA364_;
			T363_ = ((*(*s_2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA364_: ;
			if (!T363_) goto LA365_;
			colontmpD__12 = NIM_NIL;
			{
				NimStringV2 argX60gensym2048__1;
				colontmpD__12 = base__ast_u5351((*s_2).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA367_;
				if (!!(!(((*colontmpD__12).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))))) goto LA370_;
				argX60gensym2048__1.len = 0; argX60gensym2048__1.p = NIM_NIL;
				argX60gensym2048__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_511);
				if (NIM_UNLIKELY(*nimErr_)) goto LA372_;
				internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym2048__1, TM__rF9caJawfOjYTjsgLVUSGFA_511);
				if (NIM_UNLIKELY(*nimErr_)) goto LA372_;
				{
					LA372_:;
				}
				{
					eqdestroy___system_u2691(argX60gensym2048__1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA367_;
			}
LA370_: ;
			T375_ = NIM_NIL;
			T375_ = base__ast_u5351((*s_2).typ);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T375_); goto LA367_;}
			eqsink___ast_u3387(&result, T375_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA367_;
			{
				LA367_:;
			}
			{
				oldNimErrFin367_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
				*nimErr_ = oldNimErrFin367_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
		}
		goto LA353_;
LA365_: ;
		{
			if (!(prev_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA379_;
			eqcopy___ast_u3381(&result, (*s_2).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
		}
		goto LA353_;
LA379_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* alias_2;
			alias_2 = NIM_NIL;
			alias_2 = maybeAliasType__sem_u8904(c_p0, (*s_2).typ, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
			{
				if (!!((alias_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA384_;
				eqsink___ast_u3387(&result, alias_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
				eqwasMoved___ast_u3375(&alias_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
			}
			goto LA382_;
LA384_: ;
			{
				if (!((*prev_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10))) goto LA387_;
				eqcopy___ast_u3381(&result, (*s_2).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
			}
			goto LA382_;
LA387_: ;
			{
				assignType__ast_u6138(prev_p2, (*s_2).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
				{
					if (!!(((*(*s_2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*(*s_2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*(*s_2).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*(*s_2).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || (*(*s_2).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*(*s_2).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39) || (*(*s_2).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) && (*(*s_2).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44)))) goto LA392_;
					(*prev_p2).itemId = (*(*s_2).typ).itemId;
				}
LA392_: ;
				eqcopy___ast_u3381(&result, prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
			}
LA382_: ;
			eqdestroy___ast_u3378(alias_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
		}
LA353_: ;
		{
			LA352_:;
		}
		{
			oldNimErrFin352_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin352_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_3;
		s_3 = NIM_NIL;
		s_3 = getGenSym__semdata_u2268(c_p0, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
		{
			NIM_BOOL T400_;
			NIM_BOOL T402_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* alias_3;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T407_;
			T400_ = (NIM_BOOL)0;
			T400_ = !(((*s_3).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T400_)) goto LA401_;
			T402_ = (NIM_BOOL)0;
			T402_ = ((*s_3).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
			if (T402_) goto LA403_;
			T402_ = ((*(*s_3).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA403_: ;
			T400_ = T402_;
LA401_: ;
			if (!T400_) goto LA404_;
			t_1 = NIM_NIL;
			alias_3 = NIM_NIL;
			T407_ = NIM_NIL;
			{
				if (!((*s_3).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7))) goto LA410_;
				eqcopy___ast_u3381(&t_1, (*s_3).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
			}
			goto LA408_;
LA410_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__13;
				colontmpD__13 = NIM_NIL;
				{
					NimStringV2 argX60gensym2055__1;
					colontmpD__13 = base__ast_u5351((*s_3).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA413_;
					if (!!(!(((*colontmpD__13).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))))) goto LA416_;
					argX60gensym2055__1.len = 0; argX60gensym2055__1.p = NIM_NIL;
					argX60gensym2055__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_512);
					if (NIM_UNLIKELY(*nimErr_)) goto LA418_;
					internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym2055__1, TM__rF9caJawfOjYTjsgLVUSGFA_512);
					if (NIM_UNLIKELY(*nimErr_)) goto LA418_;
					{
						LA418_:;
					}
					{
						eqdestroy___system_u2691(argX60gensym2055__1);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA413_;
				}
LA416_: ;
				t_1 = base__ast_u5351((*s_3).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA413_;
				{
					LA413_:;
				}
				{
					oldNimErrFin413_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__13);
					if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
					*nimErr_ = oldNimErrFin413_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
			}
LA408_: ;
			alias_3 = maybeAliasType__sem_u8904(c_p0, t_1, prev_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
			{
				if (!!((alias_3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA425_;
				eqsink___ast_u3387(&result, alias_3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
				eqwasMoved___ast_u3375(&alias_3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
			}
			goto LA423_;
LA425_: ;
			{
				NIM_BOOL T428_;
				T428_ = (NIM_BOOL)0;
				T428_ = (prev_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (T428_) goto LA429_;
				T428_ = ((*prev_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
LA429_: ;
				if (!T428_) goto LA430_;
				eqsink___ast_u3387(&result, t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
				eqwasMoved___ast_u3375(&t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
			}
			goto LA423_;
LA430_: ;
			{
				assignType__ast_u6138(prev_p2, t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
				eqcopy___ast_u3381(&result, prev_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
			}
LA423_: ;
			markUsed__sigmatch_u100(c_p0, (*n_p1).info, (*n_p1)._kind_4.sym, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA406_;
			{
				LA406_:;
			}
			{
				oldNimErrFin406_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(alias_3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
				*nimErr_ = oldNimErrFin406_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
		}
		goto LA398_;
LA404_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T453_;
			{
				if (!!(((*s_3).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0)))) goto LA438_;
				{
					NimStringV2 colontmpD__14;
					tyArray__YgExxhfgKcesA5EOUj1MOA T445_;
					if (!((*s_3).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA442_;
					colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
					T445_[0] = (*(*s_3).name).s;
					colontmpD__14 = percent___sem_u9697(T445_, 1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_513, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
					{
						LA444_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__14);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
				}
				goto LA440_;
LA442_: ;
				{
					NimStringV2 colontmpD__15;
					NimStringV2 colontmpD__16;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T450_;
					colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
					colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
					T450_[0] = (*(*s_3).name).s;
					colontmpD__15 = toHumanStr__ast_u7574((*s_3).kind);
					if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
					T450_[1] = colontmpD__15;
					colontmpD__16 = percent___sem_u9702(T450_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__16, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_514, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA449_;
					{
						LA449_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__16);
						eqdestroy___system_u2691(colontmpD__15);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
				}
LA440_: ;
			}
LA438_: ;
			T453_ = NIM_NIL;
			T453_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T453_); goto LA397_;}
			eqsink___ast_u3387(&result, T453_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
		}
LA398_: ;
		{
			LA397_:;
		}
		{
			oldNimErrFin397_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin397_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133):
	{
		tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T457_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T458_;
		T457_ = 0;
		T458_ = NIM_NIL;
		T458_ = semObjectNode__sem_u7709(c_p0, n_p1, prev_p2, T457_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T458_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T458_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)134):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T460_;
		T460_ = NIM_NIL;
		T460_ = semTuple__sem_u6717(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T460_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T460_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)135):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T462_;
		T462_ = NIM_NIL;
		T462_ = newConstraint__sem_u4467(c_p0, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T462_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T462_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)136):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T464_;
		T464_ = NIM_NIL;
		T464_ = semTypeClass__sem_u8989(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T464_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T464_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T466_;
		T466_ = NIM_NIL;
		T466_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22), prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T466_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T466_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T468_;
		T468_ = NIM_NIL;
		T468_ = semAnyRef__sem_u7817(c_p0, n_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21), prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T468_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T468_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143):
	{
		tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T470_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T471_;
		T470_ = 0;
		T471_ = NIM_NIL;
		T471_ = semVarOutType__sem_u6264(c_p0, n_p1, prev_p2, T470_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T471_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T471_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)145):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T473_;
		T473_ = NIM_NIL;
		T473_ = semVarOutType__sem_u6264(c_p0, n_p1, prev_p2, IL64(35184372088832));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T473_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T473_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)146):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T475_;
		T475_ = NIM_NIL;
		T475_ = semDistinct__sem_u6373(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T475_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T475_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)137):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T477_;
		T477_ = NIM_NIL;
		T477_ = semStaticType__sem_u138(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T477_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T477_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)147):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)148):
	{
		{
			NIM_BOOL T481_;
			NI T482_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* child_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T487_;
			T481_ = (NIM_BOOL)0;
			T482_ = (NI)0;
			T482_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T481_ = (T482_ == ((NI)0));
			if (T481_) goto LA483_;
			T481_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA483_: ;
			if (!T481_) goto LA484_;
			child_1 = NIM_NIL;
			T487_ = NIM_NIL;
			T487_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T487_); goto LA486_;}
			eqsink___ast_u3387(&result, T487_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
			child_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
			{
				if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)148))) goto LA490_;
				(*child_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15))) & 63);
			}
LA490_: ;
			{
				NIM_BOOL T494_;
				NIM_BOOL T495_;
				NI T496_;
				NI T499_;
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__17;
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__18;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_4;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__19;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__20;
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_1;
				T494_ = (NIM_BOOL)0;
				T495_ = (NIM_BOOL)0;
				T496_ = (NI)0;
				T496_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
				T495_ = (((NI)0) < T496_);
				if (!(T495_)) goto LA497_;
				T495_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA497_: ;
				T494_ = T495_;
				if (!(T494_)) goto LA498_;
				T499_ = (NI)0;
				T499_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
				T494_ = (((NI)0) < T499_);
LA498_: ;
				if (!T494_) goto LA500_;
				colontmpD__17 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
				colontmpD__18 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
				s_4 = NIM_NIL;
				colontmpD__19 = NIM_NIL;
				colontmpD__20 = NIM_NIL;
				{
					if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)148))) goto LA505_;
					colontmpD__17 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15);
					symKind_1 = colontmpD__17;
				}
				goto LA503_;
LA505_: ;
				{
					colontmpD__18 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12);
					symKind_1 = colontmpD__18;
				}
LA503_: ;
				colontmpD__19 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_518);
				if (NIM_UNLIKELY(*nimErr_)) goto LA502_;
				colontmpD__20 = newIdentNode__ast_u5164(colontmpD__19, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA502_;
				s_4 = newSymS__sem_u436(symKind_1, colontmpD__20, c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA502_;
				eqcopy___ast_u3381(&(*s_4).typ, child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA502_;
				pragma__pragmas_u120(c_p0, s_4, (*n_p1)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_519, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA502_;
				{
					LA502_:;
				}
				{
					oldNimErrFin502_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__20);
					if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
					eqdestroy___idents_u155(colontmpD__19);
					if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
					eqdestroy___ast_u4574(s_4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
					*nimErr_ = oldNimErrFin502_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
			}
LA500_: ;
			addSonSkipIntLit__magicsys_u135(result, child_1, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) goto LA486_;
			{
				LA486_:;
			}
			{
				oldNimErrFin486_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin486_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA479_;
LA484_: ;
		{
			tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__21;
			tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__22;
			tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T518_;
			colontmpD__21 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
			colontmpD__22 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
			{
				if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)148))) goto LA515_;
				colontmpD__21 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15);
				symKind_2 = colontmpD__21;
			}
			goto LA513_;
LA515_: ;
			{
				colontmpD__22 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12);
				symKind_2 = colontmpD__22;
			}
LA513_: ;
			T518_ = NIM_NIL;
			T518_ = semProcTypeWithScope__sem_u9132(c_p0, n_p1, prev_p2, symKind_2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T518_); goto BeforeRet_;}
			eqsink___ast_u3387(&result, T518_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NimStringV2 colontmpD__23;
				NimStringV2 colontmpD__24;
				NimStringV2 T524_;
				tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T525_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T526_;
				if (!(result == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA521_;
				colontmpD__23.len = 0; colontmpD__23.p = NIM_NIL;
				colontmpD__24.len = 0; colontmpD__24.p = NIM_NIL;
				T524_.len = 0; T524_.p = NIM_NIL;
				T525_ = 0;
				colontmpD__23 = renderTree__renderer_u59(n_p1, T525_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA523_;
				T524_ = rawNewString(colontmpD__23.len + 24);
appendString((&T524_), TM__rF9caJawfOjYTjsgLVUSGFA_1178);
appendString((&T524_), colontmpD__23);
				colontmpD__24 = T524_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__24, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1179, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA523_;
				T526_ = NIM_NIL;
				T526_ = newOrPrevType__sem_u4458(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50), prev_p2, c_p0);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T526_); goto LA523_;}
				eqsink___ast_u3387(&result, T526_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA523_;
				{
					LA523_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__24);
					eqdestroy___system_u2691(colontmpD__23);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA521_: ;
			{
				NIM_BOOL T531_;
				T531_ = (NIM_BOOL)0;
				T531_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)148));
				if (!(T531_)) goto LA532_;
				T531_ = ((*result).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA532_: ;
				if (!T531_) goto LA533_;
				(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15))) & 63);
			}
LA533_: ;
			{
				NIM_BOOL T537_;
				T537_ = (NIM_BOOL)0;
				T537_ = ((*result).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
				if (!(T537_)) goto LA538_;
				T537_ = ((*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6));
LA538_: ;
				if (!T537_) goto LA539_;
				(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
			}
LA539_: ;
		}
LA479_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T542_;
		T542_ = NIM_NIL;
		T542_ = semEnum__sem_u4475(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T542_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T542_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4):
	{
		eqcopy___ast_u3381(&result, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)128):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T545_;
		T545_ = NIM_NIL;
		T545_ = semStmtListType__sem_u8667(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T545_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T545_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)129):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T547_;
		T547_ = NIM_NIL;
		T547_ = semBlockType__sem_u8677(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T547_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T547_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T549_;
		T549_ = NIM_NIL;
		T549_ = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T549_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T549_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T551_;
		T551_ = NIM_NIL;
		T551_ = semTypeExpr__sem_u8938(c_p0, n_p1, prev_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T551_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T551_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	eqcopy___ast_u3381(&(*n_p1).typField, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*c_p0).inTypeContext -= ((NI)1);
	}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;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAfterMacroCall__sem_u4284)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* macroResult_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T6_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	(*(*(*c_p0).graph).config).evalTemplateCounter += ((NI)1);
	{
		if (!(((NI)1000) < (*(*(*c_p0).graph).config).evalTemplateCounter)) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*s_p3).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_107, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_108, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	colontmpD_ = owner__ast_u6254(s_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T6_ = NIM_NIL;
	T6_ = getModule__astalgo_u156(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T6_); goto LA1_;}
	add__renderer_u83((&(*c_p0).friendModules), T6_);
	eqcopy___ast_u3255(&result, macroResult_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	resetSemFlag__sem_u4269(result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		colontmpD__2 = returnType__ast_u5354((*s_p3).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(colontmpD__2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA9_;
		T11_ = NIM_NIL;
		T11_ = semStmt__sem_u93(c_p0, result, flags_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
		eqsink___ast_u3261(&result, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA7_;
LA9_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* retType_1;
		retType_1 = NIM_NIL;
		retType_1 = returnType__ast_u5354((*s_p3).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			NIM_BOOL T16_;
			NIM_BOOL T17_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T22_;
			T16_ = (NIM_BOOL)0;
			T17_ = (NIM_BOOL)0;
			T17_ = ((*retType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
			if (!(T17_)) goto LA18_;
			T17_ = (((*retType_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)9)))&63U)))!=0);
LA18_: ;
			T16_ = T17_;
			if (!(T16_)) goto LA19_;
			T16_ = hasElementType__ast_u5660(retType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
LA19_: ;
			if (!T16_) goto LA20_;
			T22_ = NIM_NIL;
			T22_ = skipModifier__ast_u5338(retType_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T22_); goto LA13_;}
			eqsink___ast_u3387(&retType_1, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
LA20_: ;
		switch ((*retType_1).kind) {
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T24_;
			T24_ = NIM_NIL;
			T24_ = semExpr__sem_u58(c_p0, result, flags_p4, expectedType_p5);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T24_); goto LA13_;}
			eqsink___ast_u3261(&result, T24_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
			T26_ = NIM_NIL;
			T26_ = semExprWithType__sem_u63(c_p0, result, flags_p4, expectedType_p5);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto LA13_;}
			eqsink___ast_u3261(&result, T26_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
			typ_1 = NIM_NIL;
			{
				if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA31_;
				transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)128));
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			}
LA31_: ;
			typ_1 = semTypeNode__sem_u89(c_p0, result, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			{
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
				NimStringV2 T38_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T39_;
				if (!(typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA35_;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				colontmpD__6 = NIM_NIL;
				T38_.len = 0; T38_.p = NIM_NIL;
				colontmpD__4 = renderTree__renderer_u59(result, 4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				T38_ = rawNewString(colontmpD__4.len + 24);
appendString((&T38_), TM__rF9caJawfOjYTjsgLVUSGFA_1198);
appendString((&T38_), colontmpD__4);
				colontmpD__5 = T38_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*result).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1199, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				colontmpD__6 = errorSym__lookups_u2620(c_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				T39_ = NIM_NIL;
				T39_ = newSymNode__ast_u5168(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T39_); goto LA37_;}
				eqsink___ast_u3261(&result, T39_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				{
					LA37_:;
				}
				{
					oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD__6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					*nimErr_ = oldNimErrFin37_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			}
			goto LA33_;
LA35_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T43_;
				T43_ = NIM_NIL;
				T43_ = makeTypeDesc__semdata_u4621(c_p0, typ_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T43_); goto LA28_;}
				eqsink___ast_u3387(&(*result).typField, T43_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			}
LA33_: ;
			{
				LA28_:;
			}
			{
				oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				*nimErr_ = oldNimErrFin28_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
		break;
		default:
		{
			{
				NIM_BOOL T49_;
				tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A paramTypes_1;
				tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA T54_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T73_;
				T49_ = (NIM_BOOL)0;
				T49_ = !(((*(*s_p3).ast)._kind_6.sons.p->data[((NI)2)] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
				if (!(T49_)) goto LA50_;
				T49_ = isMetaType__ast_u4607(retType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
LA50_: ;
				if (!T49_) goto LA51_;
				nimZeroMem((void*)(&paramTypes_1), sizeof(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A));
				T54_ = initIdTable__layeredtable_u16();
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___layeredtable_u149(T54_); goto LA53_;}
				initLayeredTypeMap__layeredtable_u9(T54_, (&paramTypes_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* gp_1;
					param_1 = NIM_NIL;
					value_1 = NIM_NIL;
					gp_1 = NIM_NIL;
					eqcopy___ast_u3255(&gp_1, (*(*s_p3).ast)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					{
						NI i_1;
						NI colontmp_;
						NI i_2;
						i_1 = (NI)0;
						colontmp_ = (NI)0;
						colontmp_ = len__ast_u3190(gp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						i_2 = ((NI)0);
						{
							while (1) {
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* genericParam_1;
								NI posInCall_1;
								NI T59_;
								if (!(i_2 < colontmp_)) goto LA58;
								genericParam_1 = NIM_NIL;
								i_1 = i_2;
								eqcopy___ast_u4577(&genericParam_1, (*(*gp_1)._kind_6.sons.p->data[i_1])._kind_4.sym);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								T59_ = (NI)0;
								T59_ = signatureLen__ast_u5610((*s_p3).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								posInCall_1 = (NI)(T59_ + i_1);
								{
									NI T62_;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* givenType_1;
									T62_ = (NI)0;
									T62_ = len__ast_u3190(call_p1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									if (!(posInCall_1 < T62_)) goto LA63_;
									givenType_1 = NIM_NIL;
									eqsink___ast_u4583(&param_1, genericParam_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									eqwasMoved___ast_u4571(&genericParam_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									eqcopy___ast_u3255(&value_1, (*call_p1)._kind_6.sons.p->data[posInCall_1]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									eqcopy___ast_u3381(&givenType_1, (*value_1).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									{
										NIM_BOOL T67_;
										NIM_BOOL T68_;
										T67_ = (NIM_BOOL)0;
										T68_ = (NIM_BOOL)0;
										T68_ = (givenType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (!(T68_)) goto LA69_;
										T68_ = ((*value_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA69_: ;
										T67_ = T68_;
										if (!(T67_)) goto LA70_;
										T67_ = !(((*(*value_1)._kind_4.sym).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA70_: ;
										if (!T67_) goto LA71_;
										eqcopy___ast_u3381(&givenType_1, (*(*value_1)._kind_4.sym).typ);
										if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									}
LA71_: ;
									put__layeredtable_u734((&paramTypes_1), (*(*param_1).typ).itemId, givenType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
									eqdestroy___ast_u3378(givenType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								}
LA63_: ;
								i_2 += ((NI)1);
								eqdestroy___ast_u4574(genericParam_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
							} LA58: ;
						}
					}
					eqdestroy___ast_u3252(gp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					eqdestroy___ast_u3252(value_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					eqdestroy___ast_u4574(param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				}
				T73_ = NIM_NIL;
				T73_ = generateTypeInstance__semtypinst_u1682(c_p0, paramTypes_1, (*macroResult_p2).info, retType_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T73_); goto LA53_;}
				eqsink___ast_u3387(&retType_1, T73_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				{
					LA53_:;
				}
				{
					oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___layeredtable_u233(paramTypes_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					*nimErr_ = oldNimErrFin53_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
LA51_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T80_;
				if (!((*retType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63))) goto LA78_;
				T80_ = NIM_NIL;
				T80_ = semStmt__sem_u93(c_p0, result, flags_p4);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T80_); goto LA13_;}
				eqsink___ast_u3261(&result, T80_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
			goto LA76_;
LA78_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T82_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T83_;
				T82_ = NIM_NIL;
				T82_ = semExpr__sem_u58(c_p0, result, flags_p4, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T82_); goto LA13_;}
				eqsink___ast_u3261(&result, T82_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				T83_ = NIM_NIL;
				T83_ = fitNode__sem_u79(c_p0, retType_1, result, (*result).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T83_); goto LA13_;}
				eqsink___ast_u3261(&result, T83_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
LA76_: ;
		}
		break;
		}
		{
			LA13_:;
		}
		{
			oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(retType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin13_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	(*(*(*c_p0).graph).config).evalTemplateCounter -= ((NI)1);
	colontmpD__3 = pop__icZic_u3359((&(*c_p0).friendModules));
	(void)(colontmpD__3);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMacroExpr__sem_u541)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
	NI genericParams_1;
	NI suppliedParams_1;
	NI T8_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T30_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	rememberExpansion__semdata_u7304(c_p0, (*nOrig_p2).info, sym_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	pushInfoContext__msgs_u569((*(*c_p0).graph).config, (*nOrig_p2).info, (*(*sym_p3).name).s);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	info_1 = getCallLineInfo__sem_u3546(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	markUsed__sigmatch_u100(c_p0, info_1, sym_p3, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NimStringV2 colontmpD_;
		if (!(sym_p3 == (*(*c_p0).p).owner)) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_101, (*(*sym_p3).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_102, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	genericParams_1 = len__ast_u3190((*(*sym_p3).ast)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T8_ = (NI)0;
	T8_ = safeLen__ast_u3197(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	suppliedParams_1 = (((NI)(T8_ - ((NI)1)) >= ((NI)0)) ? (NI)(T8_ - ((NI)1)) : ((NI)0));
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T14_;
		if (!(suppliedParams_1 < genericParams_1)) goto LA11_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T14_ = 0;
		colontmpD__2 = renderTree__renderer_u59(n_p1, T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_104, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_105, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA11_: ;
	result = evalMacroCall__vm_u14381((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, (*c_p0).templInstCounter, n_p1, nOrig_p2, sym_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T21_;
		if (!!(((flags_p4 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)14)))&31U)))!=0))) goto LA19_;
		T21_ = NIM_NIL;
		T21_ = semAfterMacroCall__sem_u4284(c_p0, n_p1, result, sym_p3, flags_p4, expectedType_p5);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T21_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T21_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA19_: ;
	{
		NIM_BOOL T24_;
		NimStringV2 colontmpD__4;
		T24_ = (NIM_BOOL)0;
		T24_ = nsthasKey((*(*(*c_p0).graph).config).macrosToExpand, (*(*sym_p3).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T24_) goto LA25_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__4 = renderTree__renderer_u59(result, 1036);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*nOrig_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)117), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1200, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		{
			LA27_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA25_: ;
	T30_ = NIM_NIL;
	T30_ = wrapInComesFrom__evaltempl_u335((*nOrig_p2).info, sym_p3, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T30_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T30_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	popInfoContext__msgs_u593((*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSym__sem_u22012)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin112_;
NIM_BOOL oldNimErrFin103_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	s_1 = getGenSym__semdata_u2268(c_p0, sym_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*s_1).kind) {
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		typ_1 = NIM_NIL;
		{
			if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45)))) goto LA6_;
			markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
LA6_: ;
		typ_1 = skipTypes__ast_u5379((*s_1).typ, TM__rF9caJawfOjYTjsgLVUSGFA_94);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		switch ((*typ_1).kind) {
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44):
		{
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
				if (!((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0))) goto LA11_;
				T13_ = NIM_NIL;
				T13_ = inlineConst__sem_u22137(c_p0, n_p1, s_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA3_;}
				eqsink___ast_u3261(&result, T13_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
			goto LA9_;
LA11_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
				T15_ = NIM_NIL;
				T15_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA3_;}
				eqsink___ast_u3261(&result, T15_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA9_: ;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			colontmpD_ = NIM_NIL;
			{
				NI T20_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
				colontmpD_ = astdef__ast_u4596(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
				T20_ = (NI)0;
				T20_ = safeLen__ast_u3197(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
				if (!(T20_ == ((NI)0))) goto LA21_;
				T23_ = NIM_NIL;
				T23_ = inlineConst__sem_u22137(c_p0, n_p1, s_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA17_;}
				eqsink___ast_u3261(&result, T23_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			}
			goto LA18_;
LA21_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T25_;
				T25_ = NIM_NIL;
				T25_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T25_); goto LA17_;}
				eqsink___ast_u3261(&result, T25_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			}
LA18_: ;
			{
				LA17_:;
			}
			{
				oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				*nimErr_ = oldNimErrFin17_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60):
		{
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T33_;
				if (!!(((*typ_1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA31_;
				eqcopy___ast_u3255(&result, (*typ_1).n);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				T33_ = NIM_NIL;
				T33_ = base__ast_u5351(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T33_); goto LA3_;}
				eqsink___ast_u3387(&(*result).typField, T33_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
			goto LA29_;
LA31_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
				T35_ = NIM_NIL;
				T35_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto LA3_;}
				eqsink___ast_u3261(&result, T35_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA29_: ;
		}
		break;
		default:
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T37_;
			T37_ = NIM_NIL;
			T37_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T37_); goto LA3_;}
			eqsink___ast_u3261(&result, T37_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
		break;
		}
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
	{
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
			if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)47)))&63U)))!=0)) goto LA43_;
			info_1 = getCallLineInfo__sem_u3546(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			markUsed__sigmatch_u100(c_p0, info_1, s_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T45_ = NIM_NIL;
			T45_ = symChoice__sem_u10236(c_p0, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto LA1_;}
			eqsink___ast_u3261(&result, T45_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA41_;
LA43_: ;
		{
			switch ((*s_1).kind) {
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
				T48_ = NIM_NIL;
				T48_ = semMacroExpr__sem_u541(c_p0, n_p1, n_p1, s_1, flags_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA1_;}
				eqsink___ast_u3261(&result, T48_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T50_;
				T50_ = NIM_NIL;
				T50_ = semTemplateExpr__sem_u535(c_p0, n_p1, s_1, flags_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T50_); goto LA1_;}
				eqsink___ast_u3261(&result, T50_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			default:
			{
			}
			break;
			}
		}
LA41_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T74_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T55_;
			NIM_BOOL T56_;
			T55_ = (NIM_BOOL)0;
			T56_ = (NIM_BOOL)0;
			T56_ = !(((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T56_)) goto LA57_;
			T56_ = ((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
LA57_: ;
			T55_ = T56_;
			if (!(T55_)) goto LA58_;
			T55_ = !(((*(*s_1).typ).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA58_: ;
			if (!T55_) goto LA59_;
			eqcopy___ast_u3255(&result, (*(*s_1).typ).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA53_;
LA59_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0)) goto LA62_;
			colontmpD__2 = NIM_NIL;
			{
				NimStringV2 argX60gensym6025__1;
				colontmpD__2 = owner__ast_u6254(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
				if (!!(!((colontmpD__2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))))) goto LA67_;
				argX60gensym6025__1.len = 0; argX60gensym6025__1.p = NIM_NIL;
				argX60gensym6025__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1201);
				if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
				internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym6025__1, TM__rF9caJawfOjYTjsgLVUSGFA_1201);
				if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
				{
					LA69_:;
				}
				{
					eqdestroy___system_u2691(argX60gensym6025__1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			}
LA67_: ;
			{
				LA64_:;
			}
			{
				oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin64_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA53_;
LA62_: ;
LA53_: ;
		T74_ = NIM_NIL;
		T74_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T74_); goto LA1_;}
		eqsink___ast_u3261(&result, T74_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T84_;
		{
			if (!((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)263))) goto LA78_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1203, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1204, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA78_: ;
		{
			if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45)))) goto LA82_;
			markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA82_: ;
		T84_ = NIM_NIL;
		T84_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T84_); goto LA1_;}
		eqsink___ast_u3261(&result, T84_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T87_;
			T87_ = (NIM_BOOL)0;
			T87_ = hasWarn__options_u617((*(*c_p0).graph).config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)65));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T87_) goto LA88_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)65), TM__rF9caJawfOjYTjsgLVUSGFA_1205, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1206, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA88_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T95_;
			if (!((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA93_;
			T95_ = NIM_NIL;
			T95_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T95_); goto LA1_;}
			eqsink___ast_u3261(&result, T95_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqcopy___ast_u3381(&(*result).typField, (*s_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA91_;
LA93_: ;
		{
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T99_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T100_;
			if (!!(((*s_1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA97_;
			T99_ = 0;
			T100_ = NIM_NIL;
			T100_ = semExpr__sem_u58(c_p0, (*s_1).ast, T99_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T100_); goto LA1_;}
			eqsink___ast_u3261(&result, T100_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA91_;
LA97_: ;
		{
			eqcopy___ast_u3381(&(*n_p1).typField, (*s_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA91_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T124_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T125_;
		colontmpD__3 = NIM_NIL;
		{
			if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45)))) goto LA106_;
			markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		}
LA106_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n2X60gensym6042__1;
			NimStringV2 colontmpD__4;
			tyArray__YgExxhfgKcesA5EOUj1MOA T113_;
			if (!((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA110_;
			n2X60gensym6042__1 = NIM_NIL;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			eqcopy___ast_u3255(&n2X60gensym6042__1, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
			T113_[0] = (*(*s_1).name).s;
			colontmpD__4 = percent___sem_u25108(T113_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n2X60gensym6042__1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1207, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
			result = errorNode__semdata_u4571(c_p0, n2X60gensym6042__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___ast_u3252(n2X60gensym6042__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA112_:;
			}
			{
				oldNimErrFin112_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___ast_u3252(n2X60gensym6042__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				*nimErr_ = oldNimErrFin112_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		}
LA110_: ;
		{
			NIM_BOOL T118_;
			NIM_BOOL T119_;
			T118_ = (NIM_BOOL)0;
			T119_ = (NIM_BOOL)0;
			T119_ = ((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
			if (!(T119_)) goto LA120_;
			colontmpD__3 = base__ast_u5351((*s_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
			T119_ = !(((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0)));
LA120_: ;
			T118_ = T119_;
			if (!(T118_)) goto LA121_;
			T118_ = !(((*(*s_1).typ).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA121_: ;
			if (!T118_) goto LA122_;
			eqcopy___ast_u3255(&result, (*(*s_1).typ).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA122_: ;
		T124_ = NIM_NIL;
		T124_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T124_); goto LA103_;}
		eqsink___ast_u3261(&result, T124_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		T125_ = NIM_NIL;
		T125_ = makeTypeDesc__semdata_u4621(c_p0, (*s_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T125_); goto LA103_;}
		eqsink___ast_u3387(&(*result).typField, T125_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		{
			LA103_:;
		}
		{
			oldNimErrFin103_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin103_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T129_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T129_ = NIM_NIL;
		T129_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T129_); goto LA1_;}
		eqsink___ast_u3261(&result, T129_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T136_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T135_;
			if (!((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)8)))&31U)))!=0)) goto LA133_;
			T135_ = NIM_NIL;
			T135_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T135_); goto LA1_;}
			eqsink___ast_u3387(&(*s_1).typ, T135_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA133_: ;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T136_ = NIM_NIL;
		T136_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T136_); goto LA1_;}
		eqsink___ast_u3261(&result, T136_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T138_;
		info_2 = getCallLineInfo__sem_u3546(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		markUsed__sigmatch_u100(c_p0, info_2, s_1, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T138_ = NIM_NIL;
		T138_ = newSymNode__ast_u5171(s_1, info_2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T138_); goto LA1_;}
		eqsink___ast_u3261(&result, T138_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		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_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, readTypeParameter__sem_u24975)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* paramName_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin71_;
NIM_BOOL oldNimErrFin60_;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*typ_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) || (*typ_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53))) goto LA3_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* statement_1;
			statement_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197((*typ_p1).n);
				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(&statement_1, (*(*typ_p1).n)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						switch ((*statement_1).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
						{
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
								def_1 = NIM_NIL;
								def_1 = 0;
								{
									NI i_3;
									NI colontmp__2;
									NI i_4;
									i_3 = (NI)0;
									colontmp__2 = (NI)0;
									colontmp__2 = safeLen__ast_u3197(statement_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
									i_4 = ((NI)0);
									{
										while (1) {
											if (!(i_4 < colontmp__2)) goto LA15;
											i_3 = i_4;
											eqcopy___ast_u3255(&def_1, (*statement_1)._kind_6.sons.p->data[i_3]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
											{
												tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* foundType_1;
												tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
												if (!((*(*(*(*def_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).id == (*paramName_p2).id)) goto LA18_;
												foundType_1 = NIM_NIL;
												s_1 = NIM_NIL;
												foundType_1 = makeTypeDesc__semdata_u4621(c_p0, (*(*def_1)._kind_6.sons.p->data[((NI)2)]).typField);
												if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
												s_1 = copySym__ast_u6250((*(*def_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, (*c_p0).Sup.idgen);
												if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
												eqsink___ast_u3387(&(*s_1).typ, foundType_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
												eqwasMoved___ast_u3375(&foundType_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
												result = newSymNode__ast_u5171(s_1, info_p3);
												if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
												eqdestroy___ast_u4574(s_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
												eqdestroy___ast_u3378(foundType_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
												eqdestroy___ast_u3252(def_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
												eqdestroy___ast_u3252(statement_1);
												if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
												goto BeforeRet_;
												{
													LA20_:;
												}
												{
													oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
													eqdestroy___ast_u4574(s_1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
													eqdestroy___ast_u3378(foundType_1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
													*nimErr_ = oldNimErrFin20_;
												}
												if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
											}
LA18_: ;
											i_4 += ((NI)1);
										} LA15: ;
									}
								}
								{
									LA12_:;
								}
								{
									oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(def_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									*nimErr_ = oldNimErrFin12_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							}
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
						{
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_2;
								def_2 = NIM_NIL;
								def_2 = 0;
								{
									NI i_5;
									NI colontmp__3;
									NI i_6;
									i_5 = (NI)0;
									colontmp__3 = (NI)0;
									colontmp__3 = safeLen__ast_u3197(statement_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
									i_6 = ((NI)0);
									{
										while (1) {
											if (!(i_6 < colontmp__3)) goto LA30;
											i_5 = i_6;
											eqcopy___ast_u3255(&def_2, (*statement_1)._kind_6.sons.p->data[i_5]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
											{
												if (!((*(*(*(*def_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).id == (*paramName_p2).id)) goto LA33_;
												eqcopy___ast_u3255(&result, (*def_2)._kind_6.sons.p->data[((NI)2)]);
												if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
												eqdestroy___ast_u3252(def_2);
												if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
												eqdestroy___ast_u3252(statement_1);
												if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
												goto BeforeRet_;
											}
LA33_: ;
											i_6 += ((NI)1);
										} LA30: ;
									}
								}
								{
									LA27_:;
								}
								{
									oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(def_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									*nimErr_ = oldNimErrFin27_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							}
						}
						break;
						default:
						{
						}
						break;
						}
						i_2 += ((NI)1);
					} LA9: ;
				}
			}
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(statement_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA3_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ty_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tbody_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T45_;
		if (!!(((*typ_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52)))) goto LA42_;
		ty_1 = NIM_NIL;
		tbody_1 = NIM_NIL;
		T45_ = NIM_NIL;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			if (!((*typ_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54))) goto LA48_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = firstGenericParam__ast_u5366(typ_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
			ty_1 = skipGenericAlias__types_u2148(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
		}
		goto LA46_;
LA48_: ;
		{
			ty_1 = skipGenericAlias__types_u2148(typ_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
		}
LA46_: ;
		eqcopy___ast_u3381(&tbody_1, (*ty_1).sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
		{
			NI s_2;
			NI colontmp__4;
			NI T52_;
			NI i_7;
			s_2 = (NI)0;
			colontmp__4 = (NI)0;
			T52_ = (NI)0;
			T52_ = len__ast_u5502(tbody_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
			colontmp__4 = (NI)(T52_ - ((NI)1));
			i_7 = ((NI)0);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tParam_1;
					if (!(i_7 < colontmp__4)) goto LA54;
					tParam_1 = NIM_NIL;
					s_2 = i_7;
					eqcopy___ast_u3381(&tParam_1, (*tbody_1).sons.p->data[s_2]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* rawTyp_1;
						if (!((*(*(*tParam_1).sym).name).id == (*paramName_p2).id)) goto LA58_;
						rawTyp_1 = NIM_NIL;
						eqcopy___ast_u3381(&rawTyp_1, (*ty_1).sons.p->data[(NI)(s_2 + ((NI)1))]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
						{
							if (!((*rawTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA63_;
							{
								if (!!(((*rawTyp_1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA67_;
								eqcopy___ast_u3255(&result, (*rawTyp_1).n);
								if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
								eqdestroy___ast_u3378(rawTyp_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
								eqdestroy___ast_u3378(tParam_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
								eqdestroy___ast_u3378(tbody_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								eqdestroy___ast_u3378(ty_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
							goto LA65_;
LA67_: ;
							{
								eqcopy___ast_u3255(&result, (*(*c_p0).graph).emptyNode);
								if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
								eqdestroy___ast_u3378(rawTyp_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
								eqdestroy___ast_u3378(tParam_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
								eqdestroy___ast_u3378(tbody_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								eqdestroy___ast_u3378(ty_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
LA65_: ;
						}
						goto LA61_;
LA63_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* foundTyp_1;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_3;
							foundTyp_1 = NIM_NIL;
							s_3 = NIM_NIL;
							foundTyp_1 = makeTypeDesc__semdata_u4621(c_p0, rawTyp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
							s_3 = copySym__ast_u6250((*tParam_1).sym, (*c_p0).Sup.idgen);
							if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
							eqsink___ast_u3387(&(*s_3).typ, foundTyp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
							eqwasMoved___ast_u3375(&foundTyp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
							result = newSymNode__ast_u5171(s_3, info_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
							eqdestroy___ast_u4574(s_3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
							eqdestroy___ast_u3378(foundTyp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
							eqdestroy___ast_u3378(rawTyp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
							eqdestroy___ast_u3378(tParam_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
							eqdestroy___ast_u3378(tbody_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3378(ty_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
							{
								LA71_:;
							}
							{
								oldNimErrFin71_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(s_3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
								eqdestroy___ast_u3378(foundTyp_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
								*nimErr_ = oldNimErrFin71_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
						}
LA61_: ;
						{
							LA60_:;
						}
						{
							oldNimErrFin60_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(rawTyp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
							*nimErr_ = oldNimErrFin60_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
					}
LA58_: ;
					i_7 += ((NI)1);
					{
						LA55_:;
					}
					{
						oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(tParam_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						*nimErr_ = oldNimErrFin55_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
				} LA54: ;
			}
		}
		{
			LA44_:;
		}
		{
			oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(tbody_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin44_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA42_: ;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryReadingGenericParam__sem_u25132)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* i_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*t_p3).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	{
		result = readTypeParameter__sem_u24975(c_p0, t_p3, i_p2, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(result == (*(*c_p0).graph).emptyNode)) goto LA4_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T12_;
				if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA8_;
				colontmpD_ = NIM_NIL;
				T11_ = NIM_NIL;
				T11_ = semGenericStmt__sem_u690(c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA10_;}
				eqsink___ast_u3261(&result, T11_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				colontmpD_ = copyTree__ast_u6891(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				T12_ = NIM_NIL;
				T12_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T12_); goto LA10_;}
				eqsink___ast_u3387(&(*result).typField, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				{
					LA10_:;
				}
				{
					oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin10_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA6_;
LA8_: ;
			{
				eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA6_: ;
		}
LA4_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53):
	{
		{
			if (!(((*t_p3).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)10)))&63U)))!=0)) goto LA19_;
			result = readTypeParameter__sem_u24975(c_p0, t_p3, i_p2, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA17_;
LA19_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T25_;
			if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA22_;
			colontmpD__2 = NIM_NIL;
			result = semGenericStmt__sem_u690(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			colontmpD__2 = copyTree__ast_u6891(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T25_ = NIM_NIL;
			T25_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T25_); goto LA24_;}
			eqsink___ast_u3387(&(*result).typField, T25_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA17_;
LA22_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA17_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54):
	{
		{
			if (!(((NI)0) < (*c_p0).inGenericContext)) goto LA32_;
			result = readTypeParameter__sem_u24975(c_p0, t_p3, i_p2, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T39_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T40_;
				if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA36_;
				colontmpD__3 = NIM_NIL;
				T39_ = NIM_NIL;
				T39_ = semGenericStmt__sem_u690(c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T39_); goto LA38_;}
				eqsink___ast_u3261(&result, T39_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				colontmpD__3 = copyTree__ast_u6891(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				T40_ = NIM_NIL;
				T40_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T40_); goto LA38_;}
				eqsink___ast_u3387(&(*result).typField, T40_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				{
					LA38_:;
				}
				{
					oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin38_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA36_: ;
		}
		goto LA30_;
LA32_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA30_: ;
	}
	break;
	default:
	{
		{
			NIM_BOOL T47_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T52_;
			T47_ = (NIM_BOOL)0;
			T47_ = (((NI)0) < (*c_p0).inGenericContext);
			if (!(T47_)) goto LA48_;
			T47_ = containsUnresolvedType__types_u3467(t_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA48_: ;
			if (!T47_) goto LA49_;
			colontmpD__4 = NIM_NIL;
			result = semGenericStmt__sem_u690(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			colontmpD__4 = copyTree__ast_u6891(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T52_ = NIM_NIL;
			T52_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T52_); goto LA51_;}
			eqsink___ast_u3387(&(*result).typField, T52_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			{
				LA51_:;
			}
			{
				oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin51_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA45_;
LA49_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA45_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryReadingTypeField__sem_u25150)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* i_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ty_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ty_2;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	ty_2 = NIM_NIL;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	ty_2 = skipTypes__ast_u5379(ty_p3, TM__rF9caJawfOjYTjsgLVUSGFA_1208);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*ty_2).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* f_1;
		f_1 = NIM_NIL;
		f_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T6_;
				if (!!((ty_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA5;
				T6_ = NIM_NIL;
				T6_ = getSymFromList__astalgo_u191((*ty_2).n, i_p2, ((NI)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T6_); goto LA3_;}
				eqsink___ast_u4583(&f_1, T6_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				{
					if (!!((f_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA9_;
					goto LA4;
				}
LA9_: ;
				eqcopy___ast_u3381(&ty_2, (*ty_2).sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			} LA5: ;
		} LA4: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
			if (!!((f_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA13_;
			T15_ = NIM_NIL;
			T15_ = newSymNode__ast_u5168(f_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA3_;}
			eqsink___ast_u3261(&result, T15_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			(*result).info = (*n_p1).info;
			eqsink___ast_u3387(&(*result).typField, ty_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			eqwasMoved___ast_u3375(&ty_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			markUsed__sigmatch_u100(c_p0, (*n_p1).info, f_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
LA13_: ;
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(f_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		{
			NIM_BOOL T21_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
			T21_ = (NIM_BOOL)0;
			T21_ = !(((*ty_2).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T21_)) goto LA22_;
			T21_ = ((*(*ty_2).n).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138));
LA22_: ;
			if (!T21_) goto LA23_;
			field_1 = NIM_NIL;
			field_1 = lookupInRecord__astalgo_u30((*ty_2).n, i_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T29_;
				if (!!((field_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA27_;
				T29_ = NIM_NIL;
				T29_ = makeTypeDesc__semdata_u4621(c_p0, (*field_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T29_); goto LA1_;}
				eqsink___ast_u3387(&(*n_p1).typField, T29_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqcopy___ast_u3255(&result, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA27_: ;
			eqdestroy___ast_u4574(field_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA23_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = skipModifier__ast_u5338(ty_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		T32_ = NIM_NIL;
		T32_ = tryReadingTypeField__sem_u25150(c_p0, n_p1, i_p2, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA31_;}
		eqsink___ast_u3261(&result, T32_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T37_;
			if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA35_;
			T37_ = NIM_NIL;
			T37_ = tryReadingGenericParam__sem_u25132(c_p0, n_p1, i_p2, ty_2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T37_); goto LA31_;}
			eqsink___ast_u3261(&result, T37_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		}
LA35_: ;
		{
			LA31_:;
		}
		{
			oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin31_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T41_;
		T41_ = NIM_NIL;
		T41_ = tryReadingGenericParam__sem_u25132(c_p0, n_p1, i_p2, ty_2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T41_); goto LA1_;}
		eqsink___ast_u3261(&result, T41_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(ty_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeExpr__sem_u24894)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createSetType__sem_u24901)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rawAddSon__ast_u6706(result, baseType_p1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupInRecordAndBuildCheck__sem_u24912)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* field_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** check_p4) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin65_;
NIM_BOOL oldNimErrFin59_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	switch ((*r_p2).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(r_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T5_;
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					T5_ = NIM_NIL;
					T5_ = lookupInRecordAndBuildCheck__sem_u24912(c_p0, n_p1, (*r_p2)._kind_6.sons.p->data[i_1], field_p3, check_p4);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T5_); goto BeforeRet_;}
					eqsink___ast_u4583(&result, T5_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA8_;
						goto BeforeRet_;
					}
LA8_: ;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* setType_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T16_;
		setType_1 = NIM_NIL;
		s_1 = NIM_NIL;
		checkMinSonsLen__semdata_u4675(r_p2, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			if (!!(((*(*r_p2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA14_;
			illFormedAst__semdata_u4665(r_p2, (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
LA14_: ;
		T16_ = NIM_NIL;
		T16_ = lookupInRecordAndBuildCheck__sem_u24912(c_p0, n_p1, (*r_p2)._kind_6.sons.p->data[((NI)0)], field_p3, check_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T16_); goto LA11_;}
		eqsink___ast_u4583(&result, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA19_;
			eqdestroy___ast_u3252(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(setType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA19_: ;
		setType_1 = createSetType__sem_u24901(c_p0, (*(*r_p2)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		s_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (*r_p2).info, setType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(r_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					if (!(i_4 < colontmp__2)) goto LA23;
					it_1 = NIM_NIL;
					i_3 = i_4;
					eqcopy___ast_u3255(&it_1, (*r_p2)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					switch ((*it_1).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T27_;
						colontmpD_ = NIM_NIL;
						colontmpD_ = lastSon__ast_u5208(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
						T27_ = NIM_NIL;
						T27_ = lookupInRecordAndBuildCheck__sem_u24912(c_p0, n_p1, colontmpD_, field_p3, check_p4);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T27_); goto LA26_;}
						eqsink___ast_u4583(&result, T27_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
						{
							if (!(result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA30_;
							{
								NI j_1;
								NI colontmp__3;
								NI T33_;
								NI i_5;
								j_1 = (NI)0;
								colontmp__3 = (NI)0;
								T33_ = (NI)0;
								T33_ = len__ast_u3190(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
								colontmp__3 = (NI)(T33_ - ((NI)1));
								i_5 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
										if (!(i_5 < colontmp__3)) goto LA35;
										colontmpD__2 = NIM_NIL;
										j_1 = i_5;
										colontmpD__2 = copyTree__ast_u6891((*it_1)._kind_6.sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
										add__ast_u3215(s_1, colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
										i_5 += ((NI)1);
										{
											LA36_:;
										}
										{
											oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
											*nimErr_ = oldNimErrFin36_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
									} LA35: ;
								}
							}
						}
						goto LA28_;
LA30_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* inExpr_1;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T46_;
							inExpr_1 = NIM_NIL;
							colontmpD__3 = NIM_NIL;
							colontmpD__4 = NIM_NIL;
							colontmpD__5 = NIM_NIL;
							colontmpD__6 = NIM_NIL;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
								if (!((*check_p4) == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA43_;
								T45_ = NIM_NIL;
								T45_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46), (*n_p1).info);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto LA40_;}
								eqsink___ast_u3261(&(*check_p4), T45_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
								add__ast_u3215((*check_p4), (*(*c_p0).graph).emptyNode);
								if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							}
LA43_: ;
							T46_ = NIM_NIL;
							T46_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (*n_p1).info, setType_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T46_); goto LA40_;}
							eqsink___ast_u3261(&s_1, T46_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							{
								NI j_2;
								NI colontmp__4;
								NI T48_;
								NI i_6;
								j_2 = (NI)0;
								colontmp__4 = (NI)0;
								T48_ = (NI)0;
								T48_ = len__ast_u3190(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
								colontmp__4 = (NI)(T48_ - ((NI)1));
								i_6 = ((NI)0);
								{
									while (1) {
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
										if (!(i_6 < colontmp__4)) goto LA50;
										colontmpD__7 = NIM_NIL;
										j_2 = i_6;
										colontmpD__7 = copyTree__ast_u6891((*it_1)._kind_6.sons.p->data[j_2]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
										add__ast_u3215(s_1, colontmpD__7);
										if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
										i_6 += ((NI)1);
										{
											LA51_:;
										}
										{
											oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__7);
											if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
											*nimErr_ = oldNimErrFin51_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
									} LA50: ;
								}
							}
							colontmpD__3 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							inExpr_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							colontmpD__4 = getSysMagic__magicsys_u26((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1212, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)132));
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							colontmpD__5 = newSymNode__ast_u5171(colontmpD__4, (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							add__ast_u3215(inExpr_1, colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							add__ast_u3215(inExpr_1, s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							colontmpD__6 = copyTree__ast_u6891((*r_p2)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							add__ast_u3215(inExpr_1, colontmpD__6);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							add__ast_u3215((*check_p4), inExpr_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
							eqdestroy___ast_u3252(colontmpD__6);
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
							eqdestroy___ast_u3252(colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
							eqdestroy___ast_u4574(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
							eqdestroy___ast_u3378(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
							eqdestroy___ast_u3252(inExpr_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u3252(s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3378(setType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
							{
								LA40_:;
							}
							{
								oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__6);
								if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
								eqdestroy___ast_u3252(colontmpD__5);
								if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
								eqdestroy___ast_u4574(colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
								eqdestroy___ast_u3378(colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
								eqdestroy___ast_u3252(inExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
								*nimErr_ = oldNimErrFin40_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
						}
LA28_: ;
						{
							LA26_:;
						}
						{
							oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							*nimErr_ = oldNimErrFin26_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T60_;
						colontmpD__8 = NIM_NIL;
						colontmpD__8 = lastSon__ast_u5208(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						T60_ = NIM_NIL;
						T60_ = lookupInRecordAndBuildCheck__sem_u24912(c_p0, n_p1, colontmpD__8, field_p3, check_p4);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T60_); goto LA59_;}
						eqsink___ast_u4583(&result, T60_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* inExpr_2;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__10;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* notExpr_1;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__13;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__14;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
							if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA63_;
							inExpr_2 = NIM_NIL;
							colontmpD__9 = NIM_NIL;
							colontmpD__10 = NIM_NIL;
							colontmpD__11 = NIM_NIL;
							colontmpD__12 = NIM_NIL;
							notExpr_1 = NIM_NIL;
							colontmpD__13 = NIM_NIL;
							colontmpD__14 = NIM_NIL;
							colontmpD__15 = NIM_NIL;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T70_;
								if (!((*check_p4) == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA68_;
								T70_ = NIM_NIL;
								T70_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46), (*n_p1).info);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T70_); goto LA65_;}
								eqsink___ast_u3261(&(*check_p4), T70_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
								add__ast_u3215((*check_p4), (*(*c_p0).graph).emptyNode);
								if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							}
LA68_: ;
							colontmpD__9 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							inExpr_2 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, colontmpD__9);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							colontmpD__10 = getSysMagic__magicsys_u26((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1213, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)132));
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							colontmpD__11 = newSymNode__ast_u5171(colontmpD__10, (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							add__ast_u3215(inExpr_2, colontmpD__11);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							add__ast_u3215(inExpr_2, s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							colontmpD__12 = copyTree__ast_u6891((*r_p2)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							add__ast_u3215(inExpr_2, colontmpD__12);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							colontmpD__13 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							notExpr_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, colontmpD__13);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							colontmpD__14 = getSysMagic__magicsys_u26((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1214, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96));
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							colontmpD__15 = newSymNode__ast_u5171(colontmpD__14, (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							add__ast_u3215(notExpr_1, colontmpD__15);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							add__ast_u3215(notExpr_1, inExpr_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							add__ast_u3215((*check_p4), notExpr_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
							eqdestroy___ast_u3252(colontmpD__15);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u4574(colontmpD__14);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u3378(colontmpD__13);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u3252(notExpr_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u3252(colontmpD__12);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u3252(colontmpD__11);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u4574(colontmpD__10);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u3378(colontmpD__9);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u3252(inExpr_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							eqdestroy___ast_u3252(colontmpD__8);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u3252(s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							eqdestroy___ast_u3378(setType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
							{
								LA65_:;
							}
							{
								oldNimErrFin65_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__15);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u4574(colontmpD__14);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u3378(colontmpD__13);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u3252(notExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u3252(colontmpD__12);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u3252(colontmpD__11);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u4574(colontmpD__10);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u3378(colontmpD__9);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								eqdestroy___ast_u3252(inExpr_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								*nimErr_ = oldNimErrFin65_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						}
LA63_: ;
						{
							LA59_:;
						}
						{
							oldNimErrFin59_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__8);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							*nimErr_ = oldNimErrFin59_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					}
					break;
					default:
					{
						illFormedAst__semdata_u4665(it_1, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					}
					break;
					}
					i_4 += ((NI)1);
					{
						LA24_:;
					}
					{
						oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						*nimErr_ = oldNimErrFin24_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				} LA23: ;
			}
		}
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(setType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			if (!((*(*(*r_p2)._kind_4.sym).name).id == (*field_p3).id)) goto LA83_;
			eqcopy___ast_u4577(&result, (*r_p2)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA83_: ;
	}
	break;
	default:
	{
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, builtinFieldAccess__sem_u25187)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg* flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* i_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ty_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* f_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* check_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin21_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T58_;
NIM_BOOL oldNimErrFin118_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	i_1 = NIM_NIL;
	ty_1 = NIM_NIL;
	f_1 = NIM_NIL;
	check_1 = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = qualifiedLookUp__lookups_u5229(c_p0, n_p1, 7);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA4_;
		{
			if (!((1568832 &((NU32)1<<((NU)(((*s_1).kind))&31U)))!=0)) goto LA8_;
			result = symChoice__sem_u10236(c_p0, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
				if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA12_;
				T14_ = NIM_NIL;
				T14_ = semSym__sem_u22012(c_p0, n_p1, s_1, (*flags_p2));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA1_;}
				eqsink___ast_u3261(&result, T14_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA12_: ;
		}
		goto LA6_;
LA8_: ;
		{
			markUsed__sigmatch_u100(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, s_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			result = semSym__sem_u22012(c_p0, n_p1, s_1, (*flags_p2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA6_: ;
		eqdestroy___ast_u3252(check_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(ty_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(i_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	T16_ = NIM_NIL;
	T16_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((*flags_p2) | 33555460), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T16_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	i_1 = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&ty_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	f_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		if (!((*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA19_;
		colontmpD_ = NIM_NIL;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			colontmpD_ = base__ast_u5351(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))) goto LA24_;
			colontmpD__2 = NIM_NIL;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T32_;
				colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				if (!!(((*colontmpD__2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA29_;
				colontmpD__3 = NIM_NIL;
				colontmpD__3 = copyTree__ast_u6891(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				T32_ = NIM_NIL;
				T32_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T32_); goto LA31_;}
				eqsink___ast_u3387(&(*n_p1).typField, T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				(*flags_p2) |= ((NU32)1)<<(((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)21))) & 31);
				eqcopy___ast_u3255(&result, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				eqdestroy___ast_u3252(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(check_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(f_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(ty_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___idents_u155(i_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
				{
					LA31_:;
				}
				{
					oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					*nimErr_ = oldNimErrFin31_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			}
			goto LA27_;
LA29_: ;
			{
				result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(check_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(f_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(ty_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___idents_u155(i_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA27_: ;
			{
				LA26_:;
			}
			{
				oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
				*nimErr_ = oldNimErrFin26_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		}
		goto LA22_;
LA24_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
			colontmpD__4 = NIM_NIL;
			(*flags_p2) |= ((NU32)1)<<(((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)21))) & 31);
			colontmpD__4 = base__ast_u5351(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			result = tryReadingTypeField__sem_u25150(c_p0, n_p1, i_1, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(check_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(f_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(ty_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(i_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA39_:;
			}
			{
				oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
				*nimErr_ = oldNimErrFin39_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		}
LA22_: ;
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA17_;
LA19_: ;
	{
		NIM_BOOL T45_;
		T45_ = (NIM_BOOL)0;
		T45_ = isTypeExpr__sem_u24894((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T45_) goto LA46_;
		(*flags_p2) |= ((NU32)1)<<(((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)21))) & 31);
		result = tryReadingTypeField__sem_u25150(c_p0, n_p1, i_1, ty_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(check_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(ty_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(i_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA17_;
LA46_: ;
	{
		if (!((*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50))) goto LA49_;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		eqdestroy___ast_u3252(check_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(ty_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(i_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA17_;
LA49_: ;
LA17_: ;
	{
		NIM_BOOL T53_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T57_;
		T53_ = (NIM_BOOL)0;
		T53_ = ((*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) || (*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53));
		if (!(T53_)) goto LA54_;
		T53_ = (((*ty_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)10)))&63U)))!=0);
LA54_: ;
		if (!T53_) goto LA55_;
		T57_ = NIM_NIL;
		T57_ = last__ast_u5278(ty_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T57_); goto LA1_;}
		eqsink___ast_u3387(&ty_1, T57_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA55_: ;
	T58_ = NIM_NIL;
	T58_ = skipTypes__ast_u5379(ty_1, TM__rF9caJawfOjYTjsgLVUSGFA_1209);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T58_); goto LA1_;}
	eqsink___ast_u3387(&ty_1, T58_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T61_;
			if (!(((*ty_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)32)))&63U)))!=0)) goto LA60;
			T61_ = NIM_NIL;
			T61_ = skipTypes__ast_u5379(ty_1, TM__rF9caJawfOjYTjsgLVUSGFA_1210);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T61_); goto LA1_;}
			eqsink___ast_u3387(&ty_1, T61_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA60: ;
	}
	check_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		if (!((*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA64_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T68_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T77_;
				eqsink___ast_u3261(&check_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T68_ = NIM_NIL;
				T68_ = lookupInRecordAndBuildCheck__sem_u24912(c_p0, n_p1, (*ty_1).n, i_1, &check_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T68_); goto LA1_;}
				eqsink___ast_u4583(&f_1, T68_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!((f_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA71_;
					goto LA66;
				}
LA71_: ;
				{
					if (!((*ty_1).sons.p->data[((NI)0)] == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA75_;
					goto LA66;
				}
LA75_: ;
				T77_ = NIM_NIL;
				T77_ = skipTypes__ast_u5379((*ty_1).sons.p->data[((NI)0)], TM__rF9caJawfOjYTjsgLVUSGFA_185);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T77_); goto LA1_;}
				eqsink___ast_u3387(&ty_1, T77_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		} LA66: ;
		{
			NIM_BOOL colontmpD__5;
			NIM_BOOL colontmpD__6;
			NIM_BOOL visibilityCheckNeeded_1;
			if (!!((f_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA80_;
			colontmpD__5 = (NIM_BOOL)0;
			colontmpD__6 = (NIM_BOOL)0;
			{
				NIM_BOOL T84_;
				T84_ = (NIM_BOOL)0;
				T84_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T84_)) goto LA85_;
				T84_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym == f_1);
LA85_: ;
				if (!T84_) goto LA86_;
				colontmpD__5 = NIM_FALSE;
				visibilityCheckNeeded_1 = colontmpD__5;
			}
			goto LA82_;
LA86_: ;
			{
				colontmpD__6 = NIM_TRUE;
				visibilityCheckNeeded_1 = colontmpD__6;
			}
LA82_: ;
			{
				NIM_BOOL T91_;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T95_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T96_;
				T91_ = (NIM_BOOL)0;
				T91_ = !(visibilityCheckNeeded_1);
				if (T91_) goto LA92_;
				T91_ = fieldVisible__sigmatch_u6167(c_p0, f_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA92_: ;
				if (!T91_) goto LA93_;
				markUsed__sigmatch_u100(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, f_1, NIM_TRUE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				info_1 = (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info;
				T95_ = NIM_NIL;
				T95_ = makeDeref__sem_u15647((*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T95_); goto LA1_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T95_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T96_ = NIM_NIL;
				T96_ = newSymNode__ast_u5168(f_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T96_); goto LA1_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T96_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				(*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info = info_1;
				eqcopy___ast_u3381(&(*n_p1).typField, (*f_1).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!(check_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA99_;
					eqcopy___ast_u3255(&result, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA97_;
LA99_: ;
				{
					eqcopy___ast_u3255(&(*check_1)._kind_6.sons.p->data[((NI)0)], n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqcopy___ast_u3381(&(*check_1).typField, (*n_p1).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqsink___ast_u3261(&result, check_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqwasMoved___ast_u3249(&check_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA97_: ;
			}
LA93_: ;
		}
LA80_: ;
	}
	goto LA62_;
LA64_: ;
	{
		NIM_BOOL T103_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T107_;
		T103_ = (NIM_BOOL)0;
		T103_ = ((*ty_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
		if (!(T103_)) goto LA104_;
		T103_ = !(((*ty_1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA104_: ;
		if (!T103_) goto LA105_;
		T107_ = NIM_NIL;
		T107_ = getSymFromList__astalgo_u191((*ty_1).n, i_1, ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T107_); goto LA1_;}
		eqsink___ast_u4583(&f_1, T107_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T112_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T113_;
			if (!!((f_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA110_;
			markUsed__sigmatch_u100(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, f_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T112_ = NIM_NIL;
			T112_ = makeDeref__sem_u15647((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T112_); goto LA1_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T112_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T113_ = NIM_NIL;
			T113_ = newSymNode__ast_u5168(f_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T113_); goto LA1_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T113_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqcopy___ast_u3381(&(*n_p1).typField, (*f_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA110_: ;
	}
	goto LA62_;
LA105_: ;
LA62_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T119_;
		if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA116_;
		t_1 = NIM_NIL;
		t_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1208);
		if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
		T119_ = NIM_NIL;
		T119_ = tryReadingGenericParam__sem_u25132(c_p0, n_p1, i_1, t_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T119_); goto LA118_;}
		eqsink___ast_u3261(&result, T119_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
		(*flags_p2) |= ((NU32)1)<<(((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)21))) & 31);
		{
			LA118_:;
		}
		{
			oldNimErrFin118_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin118_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA116_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(check_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(ty_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(i_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1) {
	(*(*dest_p0).p).data[(*dest_p0).len] = c_p1;
	(*dest_p0).len += ((NI)1);
	(*(*dest_p0).p).data[(*dest_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, propertyWriteAccess__sem_u25523)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* setterId_1;
	NimStringV2 colontmpD_;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aOrig_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_1;
	NimStringV2 T2_;
	tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T3_;
	tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T4_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	id_1 = NIM_NIL;
	setterId_1 = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	aOrig_1 = NIM_NIL;
	orig_1 = NIM_NIL;
	id_1 = considerQuotedIdent__lookups_u31(c_p0, (*a_p3)._kind_6.sons.p->data[((NI)1)], a_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = rawNewString((*id_1).s.len + 1);
appendString((&T2_), (*id_1).s);
appendChar((&T2_), 61);
	colontmpD_ = T2_;
	colontmpD__2 = getIdent__idents_u206((*c_p0).cache, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setterId_1 = newIdentNode__ast_u5164(colontmpD__2, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&aOrig_1, (*nOrig_p2)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T3_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
	T3_[0] = setterId_1;
	T3_[1] = (*a_p3)._kind_6.sons.p->data[((NI)0)];
	T3_[2] = (*n_p1)._kind_6.sons.p->data[((NI)1)];
	result = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, T3_, 3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)10))) & 31);
	nimZeroMem((void*)T4_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
	T4_[0] = setterId_1;
	T4_[1] = (*aOrig_1)._kind_6.sons.p->data[((NI)0)];
	T4_[2] = (*nOrig_p2)._kind_6.sons.p->data[((NI)1)];
	orig_1 = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, T4_, 3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T5_ = NIM_NIL;
	T5_ = semOverloadedCallAnalyseEffects__sem_u24589(c_p0, result, orig_1, 524288, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T5_); goto LA1_;}
	eqsink___ast_u3261(&result, T5_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T10_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA8_;
		T10_ = 0;
		T11_ = NIM_NIL;
		T11_ = afterCallActions__sem_u24693(c_p0, result, nOrig_p2, T10_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
		eqsink___ast_u3261(&result, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(orig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(aOrig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___ast_u3252(setterId_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isSymChoice__sem_u22017)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	result = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, dotTransformation__sem_u25317)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI initialDerefs_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* root_1;
	NI currentDerefs_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	root_1 = NIM_NIL;
	eqcopy___ast_u3255(&root_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	currentDerefs_1 = hiddenDerefDepth__sem_u25304(root_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(initialDerefs_p2 < currentDerefs_1)) goto LA4_;
		{
			NI __1;
			NI i_1;
			__1 = (NI)0;
			i_1 = initialDerefs_p2;
			{
				while (1) {
					if (!(i_1 < currentDerefs_1)) goto LA8;
					__1 = i_1;
					eqcopy___ast_u3255(&root_1, (*root_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					i_1 += ((NI)1);
				} LA8: ;
			}
		}
	}
LA4_: ;
	T9_ = NIM_NIL;
	T9_ = copyTree__ast_u6891(root_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA1_;}
	eqsink___ast_u3261(&root_1, T9_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T12_;
		NIM_BOOL T14_;
		T12_ = (NIM_BOOL)0;
		T12_ = isSymChoice__sem_u22017((*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T12_) goto LA13_;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T14_)) goto LA15_;
		T14_ = ((*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
LA15_: ;
		T12_ = T14_;
LA13_: ;
		if (!T12_) goto LA16_;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)25), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA16_: ;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* i_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		i_2 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		i_2 = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)25), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)9))) & 31);
		colontmpD_ = newIdentNode__ast_u5164(i_2, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		add__ast_u3215(result, root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(i_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildOverloadedSubscripts__sem_u25377)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = newIdentNode__ast_u5164(ident_p1, (*n_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
		s_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 BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					eqcopy___ast_u3255(&s_1, (*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					add__ast_u3215(result, s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
		eqdestroy___ast_u3252(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	eqdestroy___ast_u3252(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeTupleAssignments__sem_u25734)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lhs_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* temp_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tempNode_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* vpart_1;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T21_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	lhs_1 = NIM_NIL;
	value_1 = NIM_NIL;
	temp_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	v_1 = NIM_NIL;
	tempNode_1 = NIM_NIL;
	vpart_1 = NIM_NIL;
	eqcopy___ast_u3255(&lhs_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	value_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], 4194304, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		tyArray__YgExxhfgKcesA5EOUj1MOA T7_;
		if (!!(((*(*value_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18)))) goto LA4_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__3 = typeToString__types_u54((*value_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_[0] = colontmpD__3;
		colontmpD__4 = percent___sem_u15896(T7_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1217, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NI T11_;
		NI T12_;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T16_;
		NI T17_;
		NI T18_;
		T11_ = (NI)0;
		T11_ = len__ast_u3190(lhs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_ = (NI)0;
		T12_ = len__ast_u5502((*value_1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((T11_ == T12_))) goto LA13_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		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;
		T17_ = (NI)0;
		T17_ = len__ast_u3190(lhs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD__5 = dollar___systemZdollars_u9(T17_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_[0] = colontmpD__5;
		colontmpD__6 = typeToString__types_u54((*value_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_[1] = colontmpD__6;
		T18_ = (NI)0;
		T18_ = len__ast_u5502((*value_1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD__7 = dollar___systemZdollars_u9(T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_[2] = colontmpD__7;
		colontmpD__8 = percent___sem_u15901(T16_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1218, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA13_: ;
LA2_: ;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1220);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T21_ = 0;
	temp_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5), colontmpD_, (*c_p0).Sup.idgen, colontmpD__2, (*n_p1).info, T21_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*temp_1).typ, (*value_1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*temp_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63);
	v_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100), (*value_1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	tempNode_1 = newSymNode__ast_u5168(temp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	vpart_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*v_1).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*vpart_1)._kind_6.sons.p->data[((NI)0)], tempNode_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*vpart_1)._kind_6.sons.p->data[((NI)1)], (*(*c_p0).graph).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*vpart_1)._kind_6.sons.p->data[((NI)2)], value_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(v_1, vpart_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, v_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(lhs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA24;
				i_1 = i_2;
				{
					NIM_BOOL T27_;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* utemp_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* uv_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* utempNode_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* uvpart_1;
					tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T32_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
					T27_ = (NIM_BOOL)0;
					T27_ = ((*(*lhs_1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
					if (!(T27_)) goto LA28_;
					T27_ = ((*(*(*lhs_1)._kind_6.sons.p->data[i_1])._kind_5.ident).id == ((NI)74));
LA28_: ;
					if (!T27_) goto LA29_;
					utemp_1 = NIM_NIL;
					colontmpD__9 = NIM_NIL;
					uv_1 = NIM_NIL;
					utempNode_1 = NIM_NIL;
					uvpart_1 = NIM_NIL;
					colontmpD__9 = getCurrOwner__semdata_u425(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					T32_ = 0;
					utemp_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), (*(*lhs_1)._kind_6.sons.p->data[i_1])._kind_5.ident, (*c_p0).Sup.idgen, colontmpD__9, (*(*lhs_1)._kind_6.sons.p->data[i_1]).info, T32_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					eqcopy___ast_u3381(&(*utemp_1).typ, (*(*value_1).typField).sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					(*temp_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63);
					uv_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100), (*(*lhs_1)._kind_6.sons.p->data[i_1]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					utempNode_1 = newSymNode__ast_u5168(utemp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					uvpart_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*v_1).info, ((NI)3));
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					eqsink___ast_u3261(&(*uvpart_1)._kind_6.sons.p->data[((NI)0)], utempNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					eqwasMoved___ast_u3249(&utempNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					eqcopy___ast_u3255(&(*uvpart_1)._kind_6.sons.p->data[((NI)1)], (*(*c_p0).graph).emptyNode);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					T33_ = NIM_NIL;
					T33_ = newTupleAccessRaw__lowerings_u105(tempNode_1, i_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T33_); goto LA31_;}
					eqsink___ast_u3261(&(*uvpart_1)._kind_6.sons.p->data[((NI)2)], T33_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					add__ast_u3215(uv_1, uvpart_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					add__ast_u3215(result, uv_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					{
						LA31_:;
					}
					{
						oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(uvpart_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(utempNode_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(uv_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(colontmpD__9);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(utemp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin31_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA25_;
LA29_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
					colontmpD__10 = NIM_NIL;
					colontmpD__11 = NIM_NIL;
					colontmpD__10 = newTupleAccessRaw__lowerings_u105(tempNode_1, i_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					colontmpD__11 = newAsgnStmt__lowerings_u43((*lhs_1)._kind_6.sons.p->data[i_1], colontmpD__10);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					add__ast_u3215(result, colontmpD__11);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					{
						LA37_:;
					}
					{
						oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__11);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(colontmpD__10);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin37_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA25_: ;
				i_2 += ((NI)1);
			} LA24: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(vpart_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tempNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(temp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(lhs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getRoot__sem_u25651)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL followDeref_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			switch ((*result).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
			{
				{
					if (!followDeref_p1) goto LA6_;
					eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA4_;
LA6_: ;
				{
					goto LA1;
				}
LA4_: ;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
			{
				eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
			{
				eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, scopedLifetime__sem_u25655)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p1) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	NIM_BOOL T4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	n_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	n_1 = getRoot__sem_u25651(ri_p1, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*ri_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) && (*ri_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32) || (*ri_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T4_ = (NIM_BOOL)0;
	T4_ = ((*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T4_)) goto LA5_;
	colontmpD_ = owner__ast_u6254((*n_1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T4_ = (colontmpD_ == (*(*c_p0).p).owner);
LA5_: ;
	T3_ = T4_;
	if (!(T3_)) goto LA6_;
	T3_ = !(((*(*n_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA6_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, escapes__sem_u25683)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p1) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	n_1 = NIM_NIL;
	n_1 = getRoot__sem_u25651(le_p1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*n_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T1_)) goto LA2_;
	T1_ = ((*(*n_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA2_: ;
	result = T1_;
	eqdestroy___ast_u3252(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, borrowCheck__sem_u25644)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = !(((*ri_p3).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T7_)) goto LA8_;
		colontmpD_ = skipTypes__ast_u5379((*ri_p3).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1228);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T7_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
LA8_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA9_;
		T6_ = !(((*le_p2).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA9_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA10_;
		colontmpD__2 = skipTypes__ast_u5379((*le_p2).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1228);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = !(((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45)));
LA10_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA11_;
		T4_ = scopedLifetime__sem_u25655(c_p0, ri_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA11_: ;
		if (!T4_) goto LA12_;
		{
			NIM_BOOL T16_;
			NimStringV2 colontmpD__3;
			NimStringV2 colontmpD__4;
			NimStringV2 T21_;
			T16_ = (NIM_BOOL)0;
			T16_ = ((*le_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T16_)) goto LA17_;
			T16_ = ((*(*le_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
LA17_: ;
			if (!T16_) goto LA18_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			T21_.len = 0; T21_.p = NIM_NIL;
			colontmpD__3 = typeToString__types_u54((*le_p2).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			T21_ = rawNewString(colontmpD__3.len + 86);
appendString((&T21_), TM__rF9caJawfOjYTjsgLVUSGFA_1230);
appendString((&T21_), colontmpD__3);
appendString((&T21_), TM__rF9caJawfOjYTjsgLVUSGFA_1232);
			colontmpD__4 = T21_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1233, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				LA20_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA14_;
LA18_: ;
		{
			NIM_BOOL T25_;
			T25_ = (NIM_BOOL)0;
			T25_ = escapes__sem_u25683(c_p0, le_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T25_) goto LA26_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1235, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1236, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA14_;
LA26_: ;
LA14_: ;
	}
LA12_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		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(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, goodLineInfo__sem_u25727)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p0) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	{
		NIM_BOOL T4_;
		NI T6_;
		NI T9_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*arg_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126));
		if (!(T4_)) goto LA5_;
		T6_ = (NI)0;
		T6_ = len__ast_u3190(arg_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T4_ = (((NI)0) < T6_);
LA5_: ;
		if (!T4_) goto LA7_;
		T9_ = (NI)0;
		T9_ = len__ast_u3190(arg_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = goodLineInfo__sem_u25727((*arg_p0)._kind_6.sons.p->data[(NI)(T9_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA7_: ;
	{
		result = (*arg_p0).info;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, takeImplicitAddr__sem_u25541)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL isLent_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* root_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA valid_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T54_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	root_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	root_1 = exprRoot__parampatterns_u294(n_p1, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = !((root_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		colontmpD_ = owner__ast_u6254(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (colontmpD_ == (*(*c_p0).p).owner);
LA5_: ;
		if (!T4_) goto LA6_;
		{
			NIM_BOOL T10_;
			NimStringV2 colontmpD__4;
			NimStringV2 colontmpD__5;
			NimStringV2 colontmpD__6;
			tyArray__dyW7vpmfeTYw8kX3EXuaJA T15_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5));
			if (!(T10_)) goto LA11_;
			T10_ = !((((*root_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA11_: ;
			if (!T10_) goto LA12_;
			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;
			T15_[0] = (*(*root_1).name).s;
			colontmpD__4 = renderTree__renderer_u59(n_p1, 4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T15_[1] = colontmpD__4;
			colontmpD__5 = createDocLink__lineinfos_u6(TM__rF9caJawfOjYTjsgLVUSGFA_1238);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T15_[2] = colontmpD__5;
			colontmpD__6 = percent___sem_u25567(T15_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1239, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				LA14_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__6);
				eqdestroy___system_u2691(colontmpD__5);
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA8_;
LA12_: ;
		{
			NIM_BOOL T19_;
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			NimStringV2 colontmpD__9;
			tyArray__dyW7vpmfeTYw8kX3EXuaJA T24_;
			T19_ = (NIM_BOOL)0;
			T19_ = ((*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T19_)) goto LA20_;
			T19_ = !(((*root_1).position == ((NI)0)));
LA20_: ;
			if (!T19_) goto LA21_;
			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;
			T24_[0] = (*(*root_1).name).s;
			colontmpD__7 = renderTree__renderer_u59(n_p1, 4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T24_[1] = colontmpD__7;
			colontmpD__8 = createDocLink__lineinfos_u6(TM__rF9caJawfOjYTjsgLVUSGFA_1240);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			T24_[2] = colontmpD__8;
			colontmpD__9 = percent___sem_u25576(T24_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1241, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				LA23_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__9);
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA8_;
LA21_: ;
LA8_: ;
	}
LA6_: ;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
	{
		eqcopy___ast_u3255(&result, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		{
			NI T32_;
			T32_ = (NI)0;
			T32_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T32_ == ((NI)1))) goto LA33_;
			eqcopy___ast_u3255(&result, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(root_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA33_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
	{
	}
	break;
	default:
	{
	}
	break;
	}
	valid_1 = isAssignable__sem_u23377(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((valid_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1)))) goto LA39_;
		{
			NIM_BOOL T43_;
			T43_ = (NIM_BOOL)0;
			T43_ = (valid_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4) || valid_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5));
			if (!(T43_)) goto LA44_;
			T43_ = isLent_p2;
LA44_: ;
			if (!T43_) goto LA45_;
		}
		goto LA41_;
LA45_: ;
		{
			NimStringV2 colontmpD__10;
			NimStringV2 colontmpD__11;
			if (!(valid_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)2))) goto LA48_;
			colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
			colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
			colontmpD__10 = renderTree__renderer_u59(n_p1, 4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
			colontmpD__11 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1243, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1244, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
			{
				LA50_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__11);
				eqdestroy___system_u2691(colontmpD__10);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA41_;
LA48_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1245, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1246, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA41_: ;
	}
LA39_: ;
	T54_ = NIM_NIL;
	{
		if (!((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA57_;
		eqcopy___ast_u3381(&colontmpD__2, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T54_ = colontmpD__2;
	}
	goto LA55_;
LA57_: ;
	{
		colontmpD__3 = makePtrType__semdata_u4378(c_p0, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T54_ = colontmpD__3;
	}
LA55_: ;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64), (*n_p1).info, T54_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T64_;
		if (!((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA62_;
		T64_ = NIM_NIL;
		T64_ = elementType__ast_u5331((*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T64_); goto LA1_;}
		eqsink___ast_u3387(&(*n_p1).typField, T64_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA62_: ;
	add__ast_u3215(result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, asgnToResultVar__sem_u25602)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* le_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ri_p3) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		if (!((*le_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA3_;
		x_1 = NIM_NIL;
		eqcopy___ast_u3255(&x_1, (*le_p2)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA8_;
			{
				NIM_BOOL T12_;
				NIM_BOOL T14_;
				tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T16_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
				T12_ = (NIM_BOOL)0;
				T12_ = ((*(*x_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
				if (!(T12_)) goto LA13_;
				T14_ = (NIM_BOOL)0;
				T14_ = ((*(*x_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*x_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47));
				if (T14_) goto LA15_;
				T16_ = (tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0;
				T16_ = classifyViewType__typeallowed_u552((*x_1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				T14_ = !((T16_ == ((tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0)));
LA15_: ;
				T12_ = T14_;
LA13_: ;
				if (!T12_) goto LA17_;
				eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				T19_ = NIM_NIL;
				T19_ = takeImplicitAddr__sem_u25541(c_p0, ri_p3, ((*(*x_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA5_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T19_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				(*(*x_1).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20))) & 63);
			}
			goto LA10_;
LA17_: ;
			{
				if (!(((*(*x_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0)) goto LA21_;
				(*(*x_1).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20))) & 63);
			}
			goto LA10_;
LA21_: ;
LA10_: ;
		}
LA8_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAsgn__sem_u23532)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA mode_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* le_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* root_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin59_;
	tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA assignable_1;
	NIM_BOOL useStrictDefLet_1;
	NIM_BOOL T67_;
	NIM_BOOL T68_;
	NIM_BOOL T69_;
	NIM_BOOL T70_;
	NIM_BOOL T75_;
	NIM_BOOL T76_;
	NIM_BOOL T78_;
	NIM_BOOL T79_;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T80_;
	NIM_BOOL T84_;
	NIM_BOOL T85_;
NIM_BOOL oldNimErrFin122_;
NIM_BOOL oldNimErrFin107_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	le_1 = NIM_NIL;
	root_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*a_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_1;
		NI initialDerefDepth_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
		nOrig_1 = NIM_NIL;
		nOrig_1 = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		flags_1 = 1;
		initialDerefDepth_1 = hiddenDerefDepth__sem_u25304((*a_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		T4_ = NIM_NIL;
		T4_ = builtinFieldAccess__sem_u25187(c_p0, a_1, (&flags_1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto LA3_;}
		eqsink___ast_u3261(&a_1, T4_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
			if (!(a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA7_;
			T9_ = NIM_NIL;
			T9_ = propertyWriteAccess__sem_u25523(c_p0, n_p1, nOrig_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA3_;}
			eqsink___ast_u3261(&a_1, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!((a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA12_;
				result = a_1;
				eqwasMoved___ast_u3249(&a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u3252(nOrig_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(root_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(le_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA12_: ;
			T14_ = NIM_NIL;
			T14_ = dotTransformation__sem_u25317(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], initialDerefDepth_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA3_;}
			eqsink___ast_u3261(&a_1, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
				if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)25))) goto LA17_;
				transitionSonsKind__ast_u6769(a_1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)27));
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				T19_ = NIM_NIL;
				T19_ = semExprWithType__sem_u63(c_p0, a_1, 1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA3_;}
				eqsink___ast_u3261(&a_1, T19_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA17_: ;
		}
LA7_: ;
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(nOrig_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
		T23_ = NIM_NIL;
		T23_ = semSubscript__sem_u23536(c_p0, a_1, 1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA1_;}
		eqsink___ast_u3261(&a_1, T23_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!(a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA26_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
				if (!(mode_p2 == ((tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA)1))) goto LA30_;
				T32_ = NIM_NIL;
				T32_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], 1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA1_;}
				eqsink___ast_u3261(&a_1, T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA28_;
LA30_: ;
			{
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
				colontmpD__3 = NIM_NIL;
				colontmpD__3 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1215);
				if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
				result = buildOverloadedSubscripts__sem_u25377((*n_p1)._kind_6.sons.p->data[((NI)0)], colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
				add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
				T35_ = NIM_NIL;
				T35_ = semExprNoType__sem_u68(c_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto LA34_;}
				eqsink___ast_u3261(&result, T35_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
				eqdestroy___idents_u155(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(root_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(le_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
				{
					LA34_:;
				}
				{
					oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin34_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA28_: ;
		}
LA26_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_2;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T40_;
		nOrig_2 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		nOrig_2 = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		colontmpD__4 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1216);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		result = buildOverloadedSubscripts__sem_u25377((*n_p1)._kind_6.sons.p->data[((NI)0)], colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		colontmpD__5 = copyTree__ast_u6891(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		T40_ = NIM_NIL;
		T40_ = semOverloadedCallAnalyseEffects__sem_u24589(c_p0, result, colontmpD__5, 524288, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T40_); goto LA39_;}
		eqsink___ast_u3261(&result, T40_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		{
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T45_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T46_;
			if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA43_;
			T45_ = 0;
			T46_ = NIM_NIL;
			T46_ = afterCallActions__sem_u24693(c_p0, result, nOrig_2, T45_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T46_); goto LA39_;}
			eqsink___ast_u3261(&result, T46_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(nOrig_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(root_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(le_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA41_;
LA43_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
			T48_ = NIM_NIL;
			T48_ = semExprWithType__sem_u63(c_p0, a_1, 1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA39_;}
			eqsink___ast_u3261(&a_1, T48_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		}
LA41_: ;
		{
			LA39_:;
		}
		{
			oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(nOrig_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin39_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		{
			NIM_BOOL T54_;
			NI T55_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T60_;
			T54_ = (NIM_BOOL)0;
			T55_ = (NI)0;
			T55_ = len__ast_u3190(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T54_ = (((NI)2) <= T55_);
			if (T54_) goto LA56_;
			T54_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160));
LA56_: ;
			if (!T54_) goto LA57_;
			colontmpD__6 = NIM_NIL;
			colontmpD__6 = makeTupleAssignments__sem_u25734(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			T60_ = 0;
			result = semStmt__sem_u93(c_p0, colontmpD__6, T60_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(root_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(le_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA59_:;
			}
			{
				oldNimErrFin59_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin59_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA52_;
LA57_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
			T64_ = NIM_NIL;
			T64_ = semExprWithType__sem_u63(c_p0, a_1, 1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto LA1_;}
			eqsink___ast_u3261(&a_1, T64_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA52_: ;
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T66_;
		T66_ = NIM_NIL;
		T66_ = semExprWithType__sem_u63(c_p0, a_1, 1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T66_); goto LA1_;}
		eqsink___ast_u3261(&a_1, T66_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&le_1, (*a_1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	assignable_1 = isAssignable__sem_u23377(c_p0, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	root_1 = getRoot__trees_u373(a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T67_ = (NIM_BOOL)0;
	T68_ = (NIM_BOOL)0;
	T69_ = (NIM_BOOL)0;
	T70_ = (NIM_BOOL)0;
	T70_ = !((root_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	if (!(T70_)) goto LA71_;
	T70_ = ((*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
LA71_: ;
	T69_ = T70_;
	if (!(T69_)) goto LA72_;
	T69_ = (assignable_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4));
LA72_: ;
	T68_ = T69_;
	if (!(T68_)) goto LA73_;
	T68_ = (((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)18)))&31U)))!=0);
LA73_: ;
	T67_ = T68_;
	if (!(T67_)) goto LA74_;
	T75_ = (NIM_BOOL)0;
	T76_ = (NIM_BOOL)0;
	T76_ = ((*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
	if (!(T76_)) goto LA77_;
	T78_ = (NIM_BOOL)0;
	T79_ = (NIM_BOOL)0;
	T80_ = 0;
	T79_ = !(((2056 & (*root_1).flags) == T80_));
	if (T79_) goto LA81_;
	T79_ = ((*(*root_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA81_: ;
	T78_ = T79_;
	if (T78_) goto LA82_;
	T78_ = (((*root_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0);
LA82_: ;
	T76_ = !(T78_);
LA77_: ;
	T75_ = T76_;
	if (T75_) goto LA83_;
	T84_ = (NIM_BOOL)0;
	T85_ = (NIM_BOOL)0;
	T85_ = ((*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*root_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
	if (!(T85_)) goto LA86_;
	T85_ = !((((*root_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA86_: ;
	T84_ = T85_;
	if (!(T84_)) goto LA87_;
	T84_ = ((*(*root_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA87_: ;
	T75_ = T84_;
LA83_: ;
	T67_ = T75_;
LA74_: ;
	useStrictDefLet_1 = T67_;
	{
		if (!(le_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA90_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1222, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1223, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA88_;
LA90_: ;
	{
		NIM_BOOL T93_;
		NIM_BOOL T94_;
		NIM_BOOL T95_;
		NIM_BOOL T99_;
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		T93_ = (NIM_BOOL)0;
		T94_ = (NIM_BOOL)0;
		T95_ = (NIM_BOOL)0;
		colontmpD_ = skipTypes__ast_u5379(le_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T95_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23)));
		if (!(T95_)) goto LA96_;
		T95_ = (assignable_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0) || assignable_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5) || assignable_1 == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4));
LA96_: ;
		T94_ = T95_;
		if (!(T94_)) goto LA97_;
		T94_ = !(useStrictDefLet_1);
LA97_: ;
		T93_ = T94_;
		if (T93_) goto LA98_;
		T99_ = (NIM_BOOL)0;
		colontmpD__2 = skipTypes__ast_u5379(le_1, TM__rF9caJawfOjYTjsgLVUSGFA_776);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T99_ = ((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48));
		if (!(T99_)) goto LA100_;
		T99_ = !((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)12)))&31U)))!=0));
LA100_: ;
		T93_ = T99_;
LA98_: ;
		if (!T93_) goto LA101_;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		colontmpD__7 = renderTree__renderer_u59(a_1, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1225, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1226, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
		{
			LA103_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA88_;
LA101_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lhs_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* rhs_1;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T151_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T152_;
		lhs_1 = NIM_NIL;
		rhs_1 = NIM_NIL;
		eqcopy___ast_u3255(&lhs_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
		rhs_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], 4194304, le_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
		{
			NIM_BOOL T110_;
			T110_ = (NIM_BOOL)0;
			T110_ = ((*lhs_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T110_)) goto LA111_;
			T110_ = ((*(*lhs_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
LA111_: ;
			if (!T110_) goto LA112_;
			eqcopy___ast_u3381(&(*n_p1).typField, (*c_p0).enforceVoidContext);
			if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
			{
				NIM_BOOL T116_;
				NIM_BOOL T118_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* rhsTyp_1;
				T116_ = (NIM_BOOL)0;
				T116_ = !(((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
				if (!(T116_)) goto LA117_;
				T118_ = (NIM_BOOL)0;
				T118_ = isMetaType__ast_u4607((*(*lhs_1)._kind_4.sym).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
				if (!(T118_)) goto LA119_;
				T118_ = !(((*(*(*lhs_1)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA119_: ;
				T116_ = T118_;
LA117_: ;
				if (!T116_) goto LA120_;
				rhsTyp_1 = NIM_NIL;
				eqcopy___ast_u3381(&rhsTyp_1, (*rhs_1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
				{
					NIM_BOOL T125_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T129_;
					T125_ = (NIM_BOOL)0;
					T125_ = ((*rhsTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) || (*rhsTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53));
					if (!(T125_)) goto LA126_;
					T125_ = (((*rhsTyp_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)10)))&63U)))!=0);
LA126_: ;
					if (!T125_) goto LA127_;
					T129_ = NIM_NIL;
					T129_ = last__ast_u5278(rhsTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T129_); goto LA122_;}
					eqsink___ast_u3387(&rhsTyp_1, T129_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
				}
LA127_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T134_;
					if (!((*(*(*lhs_1)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59))) goto LA132_;
					colontmpD__9 = NIM_NIL;
					colontmpD__9 = skipTypes__ast_u5379(rhsTyp_1, TM__rF9caJawfOjYTjsgLVUSGFA_782);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					T134_ = NIM_NIL;
					T134_ = skipIntLit__magicsys_u120(colontmpD__9, (*c_p0).Sup.idgen);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T134_); goto LA122_;}
					eqsink___ast_u3387(&rhsTyp_1, T134_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					eqdestroy___ast_u3378(colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
				}
LA132_: ;
				{
					tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ T137_;
					tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw T147_;
					T137_ = (tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)0;
					T137_ = cmpTypes__sigmatch_u3580(c_p0, (*lhs_1).typField, rhsTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					if (!(T137_ == ((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)8) || T137_ == ((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)10))) goto LA138_;
					{
						NimStringV2 argX60gensym6360__1;
						if (!!(!(((*(*c_p0).p).resultSym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))))) goto LA142_;
						argX60gensym6360__1.len = 0; argX60gensym6360__1.p = NIM_NIL;
						argX60gensym6360__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1227);
						if (NIM_UNLIKELY(*nimErr_)) goto LA144_;
						internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym6360__1, TM__rF9caJawfOjYTjsgLVUSGFA_1227);
						if (NIM_UNLIKELY(*nimErr_)) goto LA144_;
						{
							LA144_:;
						}
						{
							eqdestroy___system_u2691(argX60gensym6360__1);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					}
LA142_: ;
					T147_ = 0;
					typeAllowedCheck__sem_u478(c_p0, (*n_p1).info, rhsTyp_1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11), T147_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					eqcopy___ast_u3381(&(*lhs_1).typField, rhsTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					eqcopy___ast_u3381(&(*(*(*c_p0).p).resultSym).typ, rhsTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
					setReturnType__ast_u5357((*(*(*c_p0).p).owner).typ, rhsTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
				}
				goto LA135_;
LA138_: ;
				{
					typeMismatch__types_u4020((*(*c_p0).graph).config, (*n_p1).info, (*lhs_1).typField, rhsTyp_1, rhs_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
				}
LA135_: ;
				{
					LA122_:;
				}
				{
					oldNimErrFin122_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(rhsTyp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
					*nimErr_ = oldNimErrFin122_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
			}
LA120_: ;
		}
LA112_: ;
		borrowCheck__sem_u25644(c_p0, n_p1, lhs_1, rhs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
		T151_ = goodLineInfo__sem_u25727((*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
		T152_ = NIM_NIL;
		T152_ = fitNode__sem_u79(c_p0, le_1, rhs_1, T151_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T152_); goto LA107_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T152_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
		fixAbstractType__sem_u23347(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
		asgnToResultVar__sem_u25602(c_p0, n_p1, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
		{
			LA107_:;
		}
		{
			oldNimErrFin107_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(rhs_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(lhs_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin107_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA88_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(root_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(le_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_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isIterator__ast_u7415)(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).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15)))&63U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProcBody__sem_u75)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	result = semExpr__sem_u58(c_p0, n_p1, T2_, expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		NIM_BOOL T7_;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*(*c_p0).p).resultSym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T5_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = isEmptyType__ast_u7234((*result).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = !(T7_);
LA6_: ;
		if (!T5_) goto LA8_;
		{
			if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA12_;
			eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA10_;
LA12_: ;
		{
			NIM_BOOL T15_;
			T15_ = (NIM_BOOL)0;
			T15_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126));
			if (!(T15_)) goto LA16_;
			T15_ = ((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5));
LA16_: ;
			if (!T15_) goto LA17_;
			fixNilType__sem_u15173(c_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA10_;
LA17_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T21_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
			a_1 = NIM_NIL;
			a_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73), (*n_p1).info, ((NI)2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			T21_ = NIM_NIL;
			T21_ = newSymNode__ast_u5168((*(*c_p0).p).resultSym);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T21_); goto LA20_;}
			eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[((NI)0)], T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[((NI)1)], result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			eqwasMoved___ast_u3249(&result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			T22_ = NIM_NIL;
			T22_ = semAsgn__sem_u23532(c_p0, a_1, ((tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA)0));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA20_;}
			eqsink___ast_u3261(&result, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA10_: ;
	}
	goto LA3_;
LA8_: ;
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T26_;
		T26_ = 0;
		discardCheck__sem_u15189(c_p0, result, T26_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	{
		NIM_BOOL T29_;
		NIM_BOOL T30_;
		T29_ = (NIM_BOOL)0;
		T30_ = (NIM_BOOL)0;
		T30_ = !(((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)));
		if (!(T30_)) goto LA31_;
		T30_ = !(((*(*c_p0).p).resultSym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA31_: ;
		T29_ = T30_;
		if (!(T29_)) goto LA32_;
		T29_ = isMetaType__ast_u4607((*(*(*c_p0).p).resultSym).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA32_: ;
		if (!T29_) goto LA33_;
		{
			NIM_BOOL T37_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T40_;
			T37_ = (NIM_BOOL)0;
			T37_ = isEmptyType__ast_u7234((*result).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T37_) goto LA38_;
			T40_ = NIM_NIL;
			T40_ = errorType__semdata_u4564(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T40_); goto LA1_;}
			eqsink___ast_u3387(&(*(*(*c_p0).p).resultSym).typ, T40_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			setReturnType__ast_u5357((*(*(*c_p0).p).owner).typ, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA35_;
LA38_: ;
		{
			NimStringV2 colontmpD__4;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1248, (*(*(*(*c_p0).p).owner).name).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*c_p0).p).resultSym).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1249, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			{
				LA42_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA35_: ;
	}
LA33_: ;
	{
		NIM_BOOL T47_;
		NIM_BOOL T48_;
		NimStringV2 colontmpD__5;
		T47_ = (NIM_BOOL)0;
		T48_ = (NIM_BOOL)0;
		T48_ = isIterator__ast_u7415((*(*(*c_p0).p).owner).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T48_)) goto LA49_;
		colontmpD__2 = returnType__ast_u5354((*(*(*c_p0).p).owner).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T48_ = !((colontmpD__2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA49_: ;
		T47_ = T48_;
		if (!(T47_)) goto LA50_;
		colontmpD__3 = returnType__ast_u5354((*(*(*c_p0).p).owner).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T47_ = ((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59));
LA50_: ;
		if (!T47_) goto LA51_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1250, (*(*(*(*c_p0).p).owner).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*c_p0).p).owner).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1251, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		{
			LA53_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA51_: ;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, instantiateBody__sem_u1128)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result_p3, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* orig_p4) {
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* procParams_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA symMap_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA3_;
		procParams_1 = NIM_NIL;
		b_1 = NIM_NIL;
		nimZeroMem((void*)(&symMap_1), sizeof(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA));
		eqcopy___ast_u3255(&procParams_1, (*(*result_p3).typ).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(procParams_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i_1 = i_2;
					addDecl__lookups_u3789(c_p0, (*(*procParams_1)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					i_2 += ((NI)1);
				} LA8: ;
			}
		}
		maybeAddResult__sem_u109(c_p0, result_p3, (*result_p3).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		(*c_p0).inGenericInst += ((NI)1);
		eqcopy___ast_u3255(&b_1, (*n_p1)._kind_6.sons.p->data[((NI)6)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		symMap_1 = initIdTable__semdata_u1096();
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			if (!!((params_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA11_;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__ast_u3190(params_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				i_4 = ((NI)1);
				{
					while (1) {
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
						if (!(i_4 < colontmp__2)) goto LA15;
						param_1 = NIM_NIL;
						i_3 = i_4;
						eqcopy___ast_u4577(&param_1, (*(*params_p2)._kind_6.sons.p->data[i_3])._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						{
							if (!(((*param_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0)) goto LA18_;
							X5BX5Deq___semdata_u1173((&symMap_1), (*(*(*params_p2)._kind_6.sons.p->data[i_3])._kind_4.sym).itemId, (*(*(*(*result_p3).typ).n)._kind_6.sons.p->data[(NI)((*param_1).position + ((NI)1))])._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						}
LA18_: ;
						i_4 += ((NI)1);
						eqdestroy___ast_u4574(param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					} LA15: ;
				}
			}
		}
LA11_: ;
		freshGenSyms__sem_u962(c_p0, b_1, result_p3, orig_p4, (&symMap_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* resultType_1;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T25_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
			if (!!((((*orig_p4).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)31)))&63U)))!=0))) goto LA22_;
			resultType_1 = NIM_NIL;
			T25_ = NIM_NIL;
			{
				if (!((*result_p3).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17))) goto LA28_;
				resultType_1 = sysTypeFromName__magicsys_u50((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_90);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			}
			goto LA26_;
LA28_: ;
			{
				NIM_BOOL T31_;
				T31_ = (NIM_BOOL)0;
				T31_ = isInlineIterator__ast_u7400((*result_p3).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				if (!!(T31_)) goto LA32_;
				resultType_1 = returnType__ast_u5354((*result_p3).typ);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			}
			goto LA26_;
LA32_: ;
			{
				resultType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
			}
LA26_: ;
			T35_ = NIM_NIL;
			T35_ = semProcBody__sem_u75(c_p0, b_1, resultType_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto LA24_;}
			eqsink___ast_u3261(&b_1, T35_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(resultType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA22_: ;
		T38_ = NIM_NIL;
		T38_ = hloBody__sem_u793(c_p0, b_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA5_;}
		eqsink___ast_u3261(&(*(*result_p3).ast)._kind_6.sons.p->data[((NI)6)], T38_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		(*result_p3).flags &= ~(((NU64)1) << (((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4))) & 63));
		trackProc__sempass2_u8361(c_p0, result_p3, (*(*result_p3).ast)._kind_6.sons.p->data[((NI)6)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		(*c_p0).inGenericInst -= ((NI)1);
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___semdata_u1115(symMap_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(procParams_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, finishMethod__sem_u123)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasObjParam__sem_u18631(s_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		methodDef__cgmeth_u202((*c_p0).graph, (*c_p0).Sup.idgen, s_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, generateInstance__sem_u1531)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fn_p1, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	NI currentTypeofContext_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* producer_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* oldScope_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__2;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* gp_1;
	tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* entry_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* oldPrc_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
	tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg* oldMatchedConcept_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
	NI i_1;
	NI T39_;
	NI T40_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin159_;
NIM_BOOL oldNimErrFin147_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NimStringV2 argX60gensym263__1;
		if (!!(!(((*fn_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*fn_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))))) goto LA3_;
		argX60gensym263__1.len = 0; argX60gensym263__1.p = NIM_NIL;
		argX60gensym263__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_23);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym263__1, TM__rF9caJawfOjYTjsgLVUSGFA_23);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym263__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		if (!(((NI)50) < (*c_p0).instCounter)) goto LA10_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_p3, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_26, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_27, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA10_: ;
	(*c_p0).instCounter += ((NI)1);
	currentTypeofContext_1 = (*c_p0).inTypeofContext;
	(*c_p0).inTypeofContext = ((NI)0);
	n_1 = NIM_NIL;
	producer_1 = NIM_NIL;
	oldScope_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	gp_1 = NIM_NIL;
	entry_1 = NIM_NIL;
	oldPrc_1 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	n_1 = copyTree__ast_u6891((*fn_p1).ast);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	producer_1 = getModule__astalgo_u156(fn_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	colontmpD_ = eqdup___ast_u4580(producer_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	add__renderer_u83((&(*c_p0).friendModules), colontmpD_);
	oldMatchedConcept_1 = (*c_p0).matchedConcept;
	(*c_p0).matchedConcept = ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL);
	eqcopy___lookups_u77(&oldScope_1, (*c_p0).currentScope);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	{
		while (1) {
			NIM_BOOL T16_;
			T16_ = (NIM_BOOL)0;
			T16_ = isTopLevel__semdata_u4679(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			if (!!(T16_)) goto LA15;
			eqcopy___lookups_u77(&(*c_p0).currentScope, (*(*c_p0).currentScope).parent);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		} LA15: ;
	}
	result = copySym__ast_u6250(fn_p1, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2))) & 63);
	eqcopy___ast_u4577(&(*result).instantiatedFrom, fn_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	{
		NIM_BOOL T19_;
		NimStringV2 passc_1;
		T19_ = (NIM_BOOL)0;
		T19_ = (((*result).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0);
		if (!(T19_)) goto LA20_;
		T19_ = !(((*(*(*c_p0).graph).config).symbolFiles == ((tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA)0)));
LA20_: ;
		if (!T19_) goto LA21_;
		passc_1.len = 0; passc_1.p = NIM_NIL;
		passc_1 = getLocalPassC__sem_u1511(c_p0, producer_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			NimStringV2 colontmpD__5;
			if (!!((passc_1.len == 0))) goto LA26_;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__5 = toFullPathConsiderDirty__msgs_u657((*(*c_p0).graph).config, (*(*c_p0).module).info.fileIndex);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			addLocalCompileOption__extccomp_u961((*(*c_p0).graph).config, passc_1, colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			{
				LA28_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__5);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		}
LA26_: ;
		setOwner__icZic_u12851(result, (*c_p0).module);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			LA23_:;
		}
		{
			eqdestroy___system_u2691(passc_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	}
	goto LA17_;
LA21_: ;
	{
		setOwner__icZic_u12851(result, fn_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	}
LA17_: ;
	eqcopy___ast_u3255(&(*result).ast, n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	pushOwner__semdata_u432(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	colontmpD__2 = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	fillMixinScope__sem_u1499(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	colontmpD__3 = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	eqcopy___ast_u3255(&gp_1, (*n_1)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	{
		if (!!(((*gp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75)))) goto LA36_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_p3, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_33, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_34, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	}
LA36_: ;
	T38_ = NIM_NIL;
	T38_ = newSymNode__ast_u5168(result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA13_;}
	eqsink___ast_u3261(&(*n_1)._kind_6.sons.p->data[((NI)0)], T38_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	pushInfoContext__msgs_u569((*(*c_p0).graph).config, info_p3, (*(*fn_p1).name).s);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	entry_1 = new__sem_u1590();
	eqcopy___ast_u4577(&(*entry_1).sym, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	i_1 = ((NI)0);
	T39_ = (NI)0;
	T39_ = paramsLen__ast_u5616((*fn_p1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	T40_ = (NI)0;
	T40_ = len__ast_u3190(gp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	newSeq__icZic_u16266((&(*entry_1).concreteTypes), ((NI)(T39_ + T40_)));
	(*c_p0).matchedConcept = oldMatchedConcept_1;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		s_1 = NIM_NIL;
		{
			NimStringV2 argX60gensym140__1;
			if (!!(((*gp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75)))) goto LA44_;
			argX60gensym140__1.len = 0; argX60gensym140__1.p = NIM_NIL;
			argX60gensym140__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_35);
			if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym140__1, TM__rF9caJawfOjYTjsgLVUSGFA_35);
			if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
			{
				LA46_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym140__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
LA44_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			a_1 = NIM_NIL;
			{
				NI i_2;
				NI colontmp_;
				NI i_3;
				i_2 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(gp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				i_3 = ((NI)0);
				{
					while (1) {
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* q_1;
						if (!(i_3 < colontmp_)) goto LA53;
						q_1 = NIM_NIL;
						i_2 = i_3;
						eqcopy___ast_u3255(&a_1, (*gp_1)._kind_6.sons.p->data[i_2]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
						{
							NimStringV2 argX60gensym143__1;
							if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA57_;
							argX60gensym143__1.len = 0; argX60gensym143__1.p = NIM_NIL;
							argX60gensym143__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_36);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym143__1, TM__rF9caJawfOjYTjsgLVUSGFA_36);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							{
								LA59_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym143__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
						}
LA57_: ;
						eqcopy___ast_u4577(&q_1, (*a_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
						{
							tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__6;
							tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__7;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
							tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_1;
							tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T72_;
							if (!((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8) || (*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*(*q_1).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51) && (*(*q_1).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54) || (*(*q_1).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56) && (*(*q_1).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62))) goto LA64_;
							colontmpD__6 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
							colontmpD__7 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
							s_2 = NIM_NIL;
							colontmpD__8 = NIM_NIL;
							t_1 = NIM_NIL;
							colontmpD__9 = NIM_NIL;
							{
								if (!((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA69_;
								colontmpD__6 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10);
								symKind_1 = colontmpD__6;
							}
							goto LA67_;
LA69_: ;
							{
								colontmpD__7 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7);
								symKind_1 = colontmpD__7;
							}
LA67_: ;
							colontmpD__8 = getCurrOwner__semdata_u425(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							T72_ = 0;
							s_2 = newSym__ast_u4205(symKind_1, (*q_1).name, (*c_p0).Sup.idgen, colontmpD__8, (*q_1).info, T72_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							(*s_2).flags = ((*s_2).flags | 5);
							t_1 = lookup__layeredtable_u711(pt_p2, (*(*q_1).typ).itemId);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							{
								if (!(t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA75_;
								{
									if (!(((*(*q_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)11)))&63U)))!=0)) goto LA79_;
									eqcopy___ast_u3381(&t_1, (*q_1).typ);
									if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
								}
								goto LA77_;
LA79_: ;
								{
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T89_;
									{
										NimStringV2 colontmpD__10;
										if (!!(((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54)))) goto LA84_;
										colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
										colontmpD__10 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_38, (*(*s_2).name).s);
										if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__10, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_39, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
										{
											LA86_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__10);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
									}
LA84_: ;
									T89_ = NIM_NIL;
									T89_ = errorType__semdata_u4564(c_p0);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T89_); goto LA66_;}
									eqsink___ast_u3387(&t_1, T89_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
								}
LA77_: ;
							}
							goto LA73_;
LA75_: ;
							{
								NIM_BOOL T91_;
								NIM_BOOL T93_;
								NimStringV2 colontmpD__11;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T98_;
								T91_ = (NIM_BOOL)0;
								T91_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
								if (T91_) goto LA92_;
								T93_ = (NIM_BOOL)0;
								T93_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
								if (!(T93_)) goto LA94_;
								T93_ = !(((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA94_: ;
								T91_ = T93_;
LA92_: ;
								if (!T91_) goto LA95_;
								colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
								colontmpD__11 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_40, (*(*q_1).name).s);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_41, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								T98_ = NIM_NIL;
								T98_ = errorType__semdata_u4564(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T98_); goto LA97_;}
								eqsink___ast_u3387(&t_1, T98_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
								{
									LA97_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__11);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							}
							goto LA73_;
LA95_: ;
							{
								NIM_BOOL T102_;
								NIM_BOOL T103_;
								NIM_BOOL T104_;
								NIM_BOOL T106_;
								NIM_BOOL T108_;
								NIM_BOOL T109_;
								NimStringV2 colontmpD__12;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T117_;
								T102_ = (NIM_BOOL)0;
								T103_ = (NIM_BOOL)0;
								T104_ = (NIM_BOOL)0;
								T104_ = isUnresolvedStatic__ast_u4629(t_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
								if (!(T104_)) goto LA105_;
								T106_ = (NIM_BOOL)0;
								T106_ = ((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
								if (T106_) goto LA107_;
								T108_ = (NIM_BOOL)0;
								T109_ = (NIM_BOOL)0;
								T109_ = ((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
								if (!(T109_)) goto LA110_;
								T109_ = genericParamHasConstraints__ast_u5654((*q_1).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
LA110_: ;
								T108_ = T109_;
								if (!(T108_)) goto LA111_;
								colontmpD__9 = genericConstraint__ast_u5678((*q_1).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
								T108_ = ((*colontmpD__9).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
LA111_: ;
								T106_ = T108_;
LA107_: ;
								T104_ = T106_;
LA105_: ;
								T103_ = T104_;
								if (!(T103_)) goto LA112_;
								T103_ = ((*c_p0).inGenericContext == ((NI)0));
LA112_: ;
								T102_ = T103_;
								if (!(T102_)) goto LA113_;
								T102_ = ((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL));
LA113_: ;
								if (!T102_) goto LA114_;
								colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
								colontmpD__12 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_42, (*(*q_1).name).s);
								if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__12, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_43, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
								T117_ = NIM_NIL;
								T117_ = errorType__semdata_u4564(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T117_); goto LA116_;}
								eqsink___ast_u3387(&t_1, T117_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
								{
									LA116_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__12);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							}
							goto LA73_;
LA114_: ;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T123_;
								if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA121_;
								T123_ = NIM_NIL;
								T123_ = generateTypeInstance__semtypinst_u1682(c_p0, pt_p2, (*a_1).info, t_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T123_); goto LA66_;}
								eqsink___ast_u3387(&t_1, T123_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							}
							goto LA73_;
LA121_: ;
LA73_: ;
							eqcopy___ast_u3381(&(*s_2).typ, t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							{
								if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA126_;
								eqcopy___ast_u3255(&(*s_2).ast, (*t_1).n);
								if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							}
LA126_: ;
							s_1 = s_2;
							addDecl__lookups_u3789(c_p0, s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							eqcopy___ast_u3381(&(*entry_1).concreteTypes.p->data[i_1], (*s_1).typ);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
							i_1 += ((NI)1);
							{
								LA66_:;
							}
							{
								oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(colontmpD__9);
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								eqdestroy___ast_u3378(t_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								eqdestroy___ast_u4574(colontmpD__8);
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								eqdestroy___ast_u4574(s_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
								*nimErr_ = oldNimErrFin66_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
						}
LA64_: ;
						i_3 += ((NI)1);
						{
							LA54_:;
						}
						{
							oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(q_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							*nimErr_ = oldNimErrFin54_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					} LA53: ;
				}
			}
			{
				LA50_:;
			}
			{
				oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				*nimErr_ = oldNimErrFin50_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		}
	}
	(*c_p0).matchedConcept = ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL);
	pushProcCon__sem_u843(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	instantiateProcType__sem_u1357(c_p0, pt_p2, result, info_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* param_1;
		NI __1;
		param_1 = NIM_NIL;
		__1 = (NI)0;
		{
			NI i_4;
			NI colontmp__2;
			NI T136_;
			NI i_5;
			i_4 = (NI)0;
			colontmp__2 = (NI)0;
			T136_ = (*(*result).typ).sons.len;
			colontmp__2 = T136_;
			i_5 = ((NI)1);
			{
				while (1) {
					if (!(i_5 < colontmp__2)) goto LA138;
					i_4 = i_5;
					__1 = i_4;
					eqcopy___ast_u3381(&param_1, (*(*result).typ).sons.p->data[i_4]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqsink___ast_u3387(&(*entry_1).concreteTypes.p->data[i_1], param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqwasMoved___ast_u3375(&param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					i_1 += ((NI)1);
					i_5 += ((NI)1);
				} LA138: ;
			}
		}
		eqdestroy___ast_u3378(param_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	}
	{
		if (!(((*(*result).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)33)))&63U)))!=0)) goto LA141_;
		(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28))) & 63);
	}
LA141_: ;
	eqcopy___ast_u3255(&(*n_1)._kind_6.sons.p->data[((NI)2)], (*(*c_p0).graph).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	oldPrc_1 = genericCacheGet__sem_u955((*c_p0).graph, fn_p1, (*entry_1), (*c_p0).compilesContextId);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* otherPragmas_1;
		tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw T148_;
		tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg** T149_;
		tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg** T150_;
		tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg** T163_;
		if (!(oldPrc_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA145_;
		otherPragmas_1 = NIM_NIL;
		(*entry_1).compilesId = (*c_p0).compilesContextId;
		addToGenericProcCache__semdata_u4800(c_p0, fn_p1, entry_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		nimZeroMem((void*)(&T148_), sizeof(tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw));
		makeInstPair__semdata_u375(fn_p1, entry_1, (&T148_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		add__sem_u1631((&(*c_p0).generics), T148_);
		T149_ = (tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg**)0;
		T149_ = X5BX5D___semdata_u454((((*c_p0).optionStack).p) ? ((*c_p0).optionStack.p->data) : NIM_NIL, (*c_p0).optionStack.len, ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		eqcopy___ast_u3255(&otherPragmas_1, (*(*T149_)).otherPragmas);
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		T150_ = (tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg**)0;
		T150_ = X5BX5D___semdata_u454((((*c_p0).optionStack).p) ? ((*c_p0).optionStack.p->data) : NIM_NIL, (*c_p0).optionStack.len, ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		eqsink___ast_u3261(&(*(*T150_)).otherPragmas, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		{
			if (!!(((*(*n_1)._kind_6.sons.p->data[((NI)4)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA153_;
			pragma__pragmas_u120(c_p0, result, (*n_1)._kind_6.sons.p->data[((NI)4)], TM__rF9caJawfOjYTjsgLVUSGFA_79, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		}
LA153_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T160_;
			if (!((*n_1)._kind_6.sons.p->data[((NI)6)] == 0)) goto LA157_;
			colontmpD__13 = NIM_NIL;
			colontmpD__13 = getBody__modulegraphs_u17880((*c_p0).graph, fn_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
			T160_ = NIM_NIL;
			T160_ = copyTree__ast_u6891(colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T160_); goto LA159_;}
			eqsink___ast_u3261(&(*n_1)._kind_6.sons.p->data[((NI)6)], T160_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
			{
				LA159_:;
			}
			{
				oldNimErrFin159_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__13);
				if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
				*nimErr_ = oldNimErrFin159_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		}
LA157_: ;
		instantiateBody__sem_u1128(c_p0, n_1, (*(*fn_p1).typ).n, result, fn_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		T163_ = (tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg**)0;
		T163_ = X5BX5D___semdata_u454((((*c_p0).optionStack).p) ? ((*c_p0).optionStack.p->data) : NIM_NIL, (*c_p0).optionStack.len, ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		eqsink___ast_u3261(&(*(*T163_)).otherPragmas, otherPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		eqwasMoved___ast_u3249(&otherPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		sideEffectsCheck__sem_u1271(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		{
			if (!!(((*result).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)124) || (*result).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18)))) goto LA166_;
			paramsTypeCheck__sem_u520(c_p0, (*result).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA147_;
		}
LA166_: ;
		{
			LA147_:;
		}
		{
			oldNimErrFin147_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(otherPragmas_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			*nimErr_ = oldNimErrFin147_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	}
	goto LA143_;
LA145_: ;
	{
		eqsink___ast_u4583(&result, oldPrc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		eqwasMoved___ast_u4571(&oldPrc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	}
LA143_: ;
	popProcCon__semdata_u696(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	popInfoContext__msgs_u593((*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	popOwner__semdata_u439(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	eqsink___lookups_u83(&(*c_p0).currentScope, oldScope_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	eqwasMoved___lookups_u71(&oldScope_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	colontmpD__4 = pop__icZic_u3359((&(*c_p0).friendModules));
	(void)(colontmpD__4);
	(*c_p0).matchedConcept = oldMatchedConcept_1;
	{
		if (!((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14))) goto LA173_;
		finishMethod__sem_u123(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
	}
LA173_: ;
	{
		LA13_:;
	}
	{
		oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___ast_u4574(oldPrc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___modulegraphs_u3561(entry_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___ast_u3252(gp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___lookups_u74(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___lookups_u74(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___lookups_u74(oldScope_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___ast_u4574(producer_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqdestroy___ast_u3252(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		*nimErr_ = oldNimErrFin13_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
	{
		LA12_:;
	}
	{
		(*c_p0).instCounter -= ((NI)1);
		(*c_p0).inTypeofContext = currentTypeofContext_1;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersArg__sem_u3414)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* x_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_2 = NIM_NIL;
	T2_ = NIM_NIL;
	{
		if (!((*a_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA5_;
		eqcopy___ast_u3255(&a_2, (*a_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA5_: ;
	{
		eqcopy___ast_u3255(&a_2, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	{
		NIM_BOOL T10_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
		if (!(T10_)) goto LA11_;
		T10_ = ((*(*a_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA11_: ;
		if (!T10_) goto LA12_;
		s_1 = NIM_NIL;
		eqcopy___ast_u4577(&s_1, (*(*a_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			NIM_BOOL T17_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_1;
			tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g convMatch_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* finalCallee_1;
			tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ srca_1;
			tySet_tyEnum_TTypeRelFlag__yHDjpmVEXqbkZzsG3uHRHw T26_;
			T17_ = (NIM_BOOL)0;
			T17_ = isGenericRoutineStrict__ast_u7092(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			if (!T17_) goto LA18_;
			src_1 = NIM_NIL;
			nimZeroMem((void*)(&convMatch_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
			arg_1 = NIM_NIL;
			finalCallee_1 = NIM_NIL;
			src_1 = firstParamType__ast_u5363((*s_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			newCandidate__sigmatch_u456(c_p0, src_1, (&convMatch_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			eqcopy___ast_u3255(&arg_1, (*a_2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				NI T25_;
				if (!((*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64) || (*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA23_;
				T25_ = (NI)0;
				T25_ = len__ast_u3190(arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqcopy___ast_u3255(&arg_1, (*arg_1)._kind_6.sons.p->data[(NI)(T25_ - ((NI)1))]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
LA23_: ;
			T26_ = 0;
			srca_1 = typeRel__sigmatch_u253((&convMatch_1), src_1, (*arg_1).typField, T26_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				if (!!((srca_1 == ((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)10) || srca_1 == ((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)8) || srca_1 == ((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)3)))) goto LA29_;
				internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*a_2).info, TM__rF9caJawfOjYTjsgLVUSGFA_12, TM__rF9caJawfOjYTjsgLVUSGFA_13);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
LA29_: ;
			finalCallee_1 = generateInstance__sem_u1531(c_p0, s_1, convMatch_1.bindings, (*a_2).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			eqcopy___ast_u4577(&(*(*a_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, finalCallee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			eqcopy___ast_u3381(&(*(*a_2)._kind_6.sons.p->data[((NI)0)]).typField, (*finalCallee_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(finalCallee_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u3252(arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___sigmatch_u162((&convMatch_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u3378(src_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA18_: ;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA12_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(a_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, indexTypesMatch__sem_u129)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* f_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g m_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&m_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	newCandidate__sigmatch_u456(c_p0, f_p1, (&m_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = paramTypesMatch__sigmatch_u4323((&m_1), f_p1, a_p2, arg_p3, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = m_1.genericConverter;
		if (!(T4_)) goto LA5_;
		T4_ = !((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA5_: ;
		if (!T4_) goto LA6_;
		instGenericConvertersArg__sem_u3414(c_p0, result, (&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sigmatch_u162((&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitNode__sem_u79)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T7_;
		if (!((*arg_p2).typField == 0)) goto LA4_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T7_.len = 0; T7_.p = NIM_NIL;
		colontmpD__2 = renderTree__renderer_u59(arg_p2, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = rawNewString(colontmpD__2.len + 24);
appendString((&T7_), TM__rF9caJawfOjYTjsgLVUSGFA_8);
appendString((&T7_), colontmpD__2);
		colontmpD__3 = T7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*arg_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_9, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = copyTree__ast_u6891(arg_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		eqcopy___ast_u3381(&(*result).typField, formal_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = ((*arg_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*arg_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
		if (!(T11_)) goto LA12_;
		colontmpD_ = skipTypes__ast_u5379(formal_p1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
LA12_: ;
		if (!T11_) goto LA13_;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		{
			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(arg_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA19;
						i_1 = i_2;
						eqcopy___ast_u3255(&ch_1, (*arg_p2)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T22_;
							NIM_BOOL T23_;
							T22_ = 0;
							T23_ = (NIM_BOOL)0;
							T23_ = sameType__types_u1812((*ch_1).typField, formal_p1, T22_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							if (!T23_) goto LA24_;
							result = ch_1;
							eqwasMoved___ast_u3249(&ch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							eqdestroy___ast_u3252(ch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3378(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA24_: ;
						i_2 += ((NI)1);
					} LA19: ;
				}
			}
			{
				LA16_:;
			}
			{
				oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(ch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin16_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		typeMismatch__types_u4020((*(*c_p0).graph).config, info_p3, formal_p1, (*arg_p2).typField, arg_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA13_: ;
	{
		result = indexTypesMatch__sem_u129(c_p0, formal_p1, (*arg_p2).typField, arg_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
			if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA31_;
			typeMismatch__types_u4020((*(*c_p0).graph).config, info_p3, formal_p1, (*arg_p2).typField, arg_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T33_ = NIM_NIL;
			T33_ = copyTree__ast_u6891(arg_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T33_); goto LA1_;}
			eqsink___ast_u3261(&result, T33_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqcopy___ast_u3381(&(*result).typField, formal_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA29_;
LA31_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
			T35_ = NIM_NIL;
			T35_ = fitNodePostMatch__sem_u174(c_p0, formal_p1, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto LA1_;}
			eqsink___ast_u3261(&result, T35_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA29_: ;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, resolveSymChoice__sem_u22024)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
NIM_BOOL oldNimErrFin12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
		if (!!((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = fitNode__sem_u79(c_p0, expectedType_p3, (*n_p1), (*(*n_p1)).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T5_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1), T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		NIM_BOOL T8_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* first_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* foundSym_1;
		T8_ = (NIM_BOOL)0;
		T8_ = isSymChoice__sem_u22017((*n_p1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T8_)) goto LA9_;
		T8_ = !(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)25)))&31U)))!=0));
LA9_: ;
		if (!T8_) goto LA10_;
		first_1 = NIM_NIL;
		foundSym_1 = NIM_NIL;
		eqcopy___ast_u4577(&first_1, (*(*(*n_p1))._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		foundSym_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		{
			NIM_BOOL T15_;
			NIM_BOOL T16_;
			NIM_BOOL T18_;
			T15_ = (NIM_BOOL)0;
			T16_ = (NIM_BOOL)0;
			T16_ = ((*first_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20));
			if (!(T16_)) goto LA17_;
			T18_ = (NIM_BOOL)0;
			T18_ = isAmbiguous__lookups_u2573(c_p0, (*first_1).name, 1048576, &foundSym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			T16_ = !(T18_);
LA17_: ;
			T15_ = T16_;
			if (!(T15_)) goto LA19_;
			T15_ = (foundSym_1 == first_1);
LA19_: ;
			if (!T15_) goto LA20_;
			eqcopy___ast_u3255(&(*n_p1), (*(*n_p1))._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA20_: ;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(foundSym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(first_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA10_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, resolveIdentToSym__sem_u28764)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** resultNode_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA candidates_1;
	tySet_tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q filter_1;
	NIM_BOOL includePureEnum_1;
	NIM_BOOL T8_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	ident_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	candidates_1.len = 0; candidates_1.p = NIM_NIL;
	ident_1 = considerQuotedIdent__lookups_u31(c_p0, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	filter_1 = 33554431;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)15)))&31U)))!=0);
		if (T4_) goto LA5_;
		T4_ = !((expectedType_p4 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA5_: ;
		if (!T4_) goto LA6_;
		filter_1 = (filter_1 & ~ 16777280);
	}
LA6_: ;
	T8_ = (NIM_BOOL)0;
	T8_ = !((expectedType_p4 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
	if (!(T8_)) goto LA9_;
	colontmpD_ = skipTypes__ast_u5379(expectedType_p4, TM__rF9caJawfOjYTjsgLVUSGFA_6);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T8_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
LA9_: ;
	includePureEnum_1 = T8_;
	candidates_1 = lookUpCandidates__lookups_u5193(c_p0, ident_1, filter_1, includePureEnum_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T12_;
		T12_ = candidates_1.len;
		if (!(T12_ == ((NI)0))) goto LA13_;
		result = errorUndeclaredIdentifierHint__lookups_u5151(c_p0, ident_1, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA13_: ;
	{
		NIM_BOOL T16_;
		NI T17_;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T19_;
		T16_ = (NIM_BOOL)0;
		T17_ = candidates_1.len;
		T16_ = (T17_ == ((NI)1));
		if (T16_) goto LA18_;
		T19_ = 0;
		T16_ = !(((98304 & flags_p3) == T19_));
LA18_: ;
		if (!T16_) goto LA20_;
		result = candidates_1.p->data[((NI)0)];
		eqwasMoved___ast_u4571(&candidates_1.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA20_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* choice_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		choice_1 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		choice_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56), (*n_p1).info, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** cand_1;
			NI i_1;
			NI L_1;
			NI T25_;
			cand_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
			i_1 = ((NI)0);
			T25_ = candidates_1.len;
			L_1 = T25_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA27;
					cand_1 = &candidates_1.p->data[i_1];
					switch ((*(*cand_1)).kind) {
					case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6):
					case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)24):
					{
					}
					break;
					case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
						colontmpD__3 = NIM_NIL;
						colontmpD__3 = newSymNodeTypeDesc__semfold_u820((*cand_1), (*c_p0).Sup.idgen, (*n_p1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
						add__ast_u3215(choice_1, colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
						eqdestroy___ast_u3252(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					}
					break;
					default:
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
						colontmpD__4 = NIM_NIL;
						colontmpD__4 = newSymNode__ast_u5171((*cand_1), (*n_p1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
						add__ast_u3215(choice_1, colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					}
					break;
					}
					i_1 += ((NI)1);
				} LA27: ;
			}
		}
		{
			NI T33_;
			T33_ = (NI)0;
			T33_ = len__ast_u3190(choice_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			if (!(T33_ == ((NI)0))) goto LA34_;
			errorUseQualifier__lookups_u5100(c_p0, (*n_p1).info, candidates_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(choice_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4848(candidates_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA34_: ;
		resolveSymChoice__sem_u22024(c_p0, &choice_1, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			NIM_BOOL T38_;
			T38_ = (NIM_BOOL)0;
			T38_ = isSymChoice__sem_u22017(choice_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			if (!T38_) goto LA39_;
			result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
			{
				if (!((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)25)))&31U)))!=0)) goto LA43_;
				eqsink___ast_u3261(&(*resultNode_p2), choice_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				eqwasMoved___ast_u3249(&choice_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
			goto LA41_;
LA43_: ;
			{
				errorUseQualifier__lookups_u5100(c_p0, (*n_p1).info, candidates_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
LA41_: ;
		}
		goto LA36_;
LA39_: ;
		{
			{
				if (!((*choice_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA49_;
				eqcopy___ast_u4577(&result, (*choice_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
			goto LA47_;
LA49_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T52_;
				T52_ = NIM_NIL;
				T52_ = semExpr__sem_u58(c_p0, choice_1, flags_p3, expectedType_p4);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T52_); goto LA23_;}
				eqsink___ast_u3261(&(*resultNode_p2), T52_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
			}
LA47_: ;
		}
LA36_: ;
		{
			LA23_:;
		}
		{
			oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(choice_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin23_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4848(candidates_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(ident_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, markIndirect__semdata_u4654)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	{
		if (!((*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) || (*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15))) goto LA3_;
		(*s_p1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)17))) & 63);
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, enumFieldSymChoice__sem_u28706)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_1;
	NI i_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
	a_1 = NIM_NIL;
	nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
	i_1 = ((NI)0);
	a_1 = initOverloadIter__lookups_u5784((&o_1), c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T12_;
			if (!!((a_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				if (!((*a_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20))) goto LA6_;
				i_1 += ((NI)1);
				{
					if (!(((NI)1) < i_1)) goto LA10_;
					goto LA2;
				}
LA10_: ;
			}
LA6_: ;
			T12_ = NIM_NIL;
			T12_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T12_); goto LA1_;}
			eqsink___ast_u4583(&a_1, T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	} LA2: ;
	info_1 = getCallLineInfo__sem_u3546(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(i_1 <= ((NI)1))) goto LA15_;
		{
			if (!!((((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA19_;
			result = newSymNode__ast_u5171(s_p2, info_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			markUsed__sigmatch_u100(c_p0, info_1, s_p2, !(((flags_p3 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)16)))&31U)))!=0)), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA17_;
LA19_: ;
		{
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA17_: ;
	}
	goto LA13_;
LA15_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T24_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56), info_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		T24_ = NIM_NIL;
		T24_ = initOverloadIter__lookups_u5784((&o_1), c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T24_); goto LA23_;}
		eqsink___ast_u4583(&a_1, T24_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T31_;
				if (!!((a_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA26;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
					if (!((*a_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20))) goto LA29_;
					colontmpD__2 = NIM_NIL;
					(*a_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
					markOwnerModuleAsUsed__sigmatch_u106(c_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					colontmpD__2 = newSymNode__ast_u5171(a_1, info_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					add__ast_u3215(result, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				}
LA29_: ;
				T31_ = NIM_NIL;
				T31_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T31_); goto LA23_;}
				eqsink___ast_u4583(&a_1, T31_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			} LA26: ;
		}
		{
			LA23_:;
		}
		{
			oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin23_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u6249((&o_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOpenSym__sem_u22047)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3, NIM_BOOL warnDisabled_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* id_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s2_1;
	NIM_BOOL isSym_1;
	tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T2_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	ident_1 = NIM_NIL;
	id_1 = NIM_NIL;
	s2_1 = NIM_NIL;
	isSym_1 = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	ident_1 = getPIdent__ast_u2825(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	id_1 = newIdentNode__ast_u5164(ident_1, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*c_p0).isAmbiguous = NIM_FALSE;
	T2_ = 0;
	s2_1 = qualifiedLookUp__lookups_u5229(c_p0, id_1, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		NIM_BOOL T13_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* o_1;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = !((s2_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T6_)) goto LA7_;
		T6_ = !((*c_p0).isAmbiguous);
LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T10_ = isSym_1;
		if (!(T10_)) goto LA11_;
		T10_ = !((s2_1 == (*n_p1)._kind_4.sym));
LA11_: ;
		T9_ = T10_;
		if (T9_) goto LA12_;
		T13_ = (NIM_BOOL)0;
		T13_ = !(isSym_1);
		if (!(T13_)) goto LA14_;
		T13_ = !(((*s2_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) && (*s2_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*s2_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20)));
LA14_: ;
		T9_ = T13_;
LA12_: ;
		T5_ = T9_;
LA8_: ;
		if (!T5_) goto LA15_;
		o_1 = NIM_NIL;
		o_1 = owner__ast_u6254(s2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T44_;
				if (!!((o_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA19;
				{
					if (!(o_1 == (*(*c_p0).p).owner)) goto LA22_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T28_;
						if (!!(warnDisabled_p4)) goto LA26_;
						T28_ = NIM_NIL;
						T28_ = semExpr__sem_u58(c_p0, id_1, flags_p2, expectedType_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T28_); goto LA17_;}
						eqsink___ast_u3261(&result, T28_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
						eqdestroy___ast_u4574(o_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u4574(s2_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(id_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___idents_u155(ident_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
					goto LA24_;
LA26_: ;
					{
						NimStringV2 msg_1;
						NimStringV2 T31_;
						msg_1.len = 0; msg_1.p = NIM_NIL;
						T31_.len = 0; T31_.p = NIM_NIL;
						T31_ = rawNewString((*ident_1).s.len + 84);
appendString((&T31_), TM__rF9caJawfOjYTjsgLVUSGFA_1253);
appendString((&T31_), (*ident_1).s);
appendString((&T31_), TM__rF9caJawfOjYTjsgLVUSGFA_1255);
						msg_1 = T31_;
						{
							NimStringV2 colontmpD_;
							NimStringV2 colontmpD__2;
							NimStringV2 T37_;
							if (!isSym_1) goto LA34_;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							T37_.len = 0; T37_.p = NIM_NIL;
							colontmpD_ = getSymRepr__lookups_u2653((*(*c_p0).graph).config, (*n_p1)._kind_4.sym, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
							T37_ = rawNewString(colontmpD_.len + 162);
appendString((&T37_), colontmpD_);
appendString((&T37_), TM__rF9caJawfOjYTjsgLVUSGFA_1257);
							colontmpD__2 = T37_;
							prepareAdd((&msg_1), colontmpD__2.len + 0);
appendString((&msg_1), colontmpD__2);
							{
								LA36_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___system_u2691(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
						}
						goto LA32_;
LA34_: ;
						{
							NimStringV2 colontmpD__3;
							NimStringV2 T41_;
							colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
							T41_.len = 0; T41_.p = NIM_NIL;
							T41_ = rawNewString((*ident_1).s.len + 133);
appendString((&T41_), TM__rF9caJawfOjYTjsgLVUSGFA_1259);
appendString((&T41_), (*ident_1).s);
appendString((&T41_), TM__rF9caJawfOjYTjsgLVUSGFA_1261);
							colontmpD__3 = T41_;
							prepareAdd((&msg_1), colontmpD__3.len + 0);
appendString((&msg_1), colontmpD__3);
							eqdestroy___system_u2691(colontmpD__3);
						}
LA32_: ;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)81), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1262, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
						eqdestroy___system_u2691(msg_1);
						goto LA18;
						{
							LA30_:;
						}
						{
							eqdestroy___system_u2691(msg_1);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					}
LA24_: ;
				}
LA22_: ;
				T44_ = NIM_NIL;
				T44_ = owner__ast_u6254(o_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T44_); goto LA17_;}
				eqsink___ast_u4583(&o_1, T44_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			} LA19: ;
		} LA18: ;
		{
			LA17_:;
		}
		{
			oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(o_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin17_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA15_: ;
	(*n_p1).flags &= ~(((NU32)1) << (((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31));
	{
		NIM_BOOL T49_;
		T49_ = (NIM_BOOL)0;
		T49_ = !(warnDisabled_p4);
		if (!(T49_)) goto LA50_;
		T49_ = isSym_1;
LA50_: ;
		if (!T49_) goto LA51_;
		result = semExpr__sem_u58(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA47_;
LA51_: ;
	{
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T58_;
			if (!!(isSym_1)) goto LA56_;
			T58_ = NIM_NIL;
			T58_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T58_); goto LA1_;}
			eqsink___ast_u3387(&(*n_p1).typField, T58_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA56_: ;
	}
LA47_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(ident_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSymChoice__sem_u22101)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T5_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25)))&31U)))!=0);
		if (!(T5_)) goto LA6_;
		T5_ = !((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)22)))&31U)))!=0));
LA6_: ;
		result = semOpenSym__sem_u22047(c_p0, n_p1, flags_p2, expectedType_p3, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA9_;
			goto BeforeRet_;
		}
LA9_: ;
	}
LA3_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	resolveSymChoice__sem_u22024(c_p0, &result, flags_p2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T13_;
		NI T15_;
		T13_ = (NIM_BOOL)0;
		T13_ = isSymChoice__sem_u22017(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T13_)) goto LA14_;
		T15_ = (NI)0;
		T15_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T13_ = (T15_ == ((NI)1));
LA14_: ;
		if (!T13_) goto LA16_;
		eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA16_: ;
	{
		NIM_BOOL T20_;
		NimStringV2 err_1;
		NimStringV2 T25_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T38_;
		T20_ = (NIM_BOOL)0;
		T20_ = isSymChoice__sem_u22017(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T20_)) goto LA21_;
		T20_ = !(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)25)))&31U)))!=0));
LA21_: ;
		if (!T20_) goto LA22_;
		err_1.len = 0; err_1.p = NIM_NIL;
		T25_.len = 0; T25_.p = NIM_NIL;
		T25_ = rawNewString((*(*(*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s.len + 54);
appendString((&T25_), TM__rF9caJawfOjYTjsgLVUSGFA_1264);
appendString((&T25_), (*(*(*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s);
appendString((&T25_), TM__rF9caJawfOjYTjsgLVUSGFA_1266);
		err_1 = T25_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_1;
			child_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 LA27_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* candidate_1;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
						NimStringV2 colontmpD__2;
						NimStringV2 colontmpD__3;
						NimStringV2 colontmpD__4;
						NimStringV2 T32_;
						NimStringV2 T33_;
						if (!(i_2 < colontmp_)) goto LA30;
						candidate_1 = NIM_NIL;
						colontmpD_ = 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;
						i_1 = i_2;
						eqcopy___ast_u3255(&child_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						eqcopy___ast_u4577(&candidate_1, (*child_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						T32_.len = 0; T32_.p = NIM_NIL;
						colontmpD_ = owner__ast_u6254(candidate_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						T32_ = rawNewString((*(*colontmpD_).name).s.len + (*(*candidate_1).name).s.len + 3);
appendString((&T32_), TM__rF9caJawfOjYTjsgLVUSGFA_1268);
appendString((&T32_), (*(*colontmpD_).name).s);
appendString((&T32_), TM__rF9caJawfOjYTjsgLVUSGFA_1269);
appendString((&T32_), (*(*candidate_1).name).s);
						colontmpD__2 = T32_;
						prepareAdd((&err_1), colontmpD__2.len + 0);
appendString((&err_1), colontmpD__2);
						T33_.len = 0; T33_.p = NIM_NIL;
						colontmpD__3 = typeToString__types_u54((*candidate_1).typ, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						T33_ = rawNewString(colontmpD__3.len + 3);
appendString((&T33_), TM__rF9caJawfOjYTjsgLVUSGFA_1270);
appendString((&T33_), colontmpD__3);
appendString((&T33_), TM__rF9caJawfOjYTjsgLVUSGFA_1271);
						colontmpD__4 = T33_;
						prepareAdd((&err_1), colontmpD__4.len + 0);
appendString((&err_1), colontmpD__4);
						i_2 += ((NI)1);
						{
							LA31_:;
						}
						{
							oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___system_u2691(colontmpD__4);
							eqdestroy___system_u2691(colontmpD__3);
							eqdestroy___system_u2691(colontmpD__2);
							eqdestroy___ast_u4574(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							eqdestroy___ast_u4574(candidate_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							*nimErr_ = oldNimErrFin31_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
					} LA30: ;
				}
			}
			{
				LA27_:;
			}
			{
				oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
				*nimErr_ = oldNimErrFin27_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		}
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), err_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1272, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		T38_ = NIM_NIL;
		T38_ = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T38_); goto LA24_;}
		eqsink___ast_u3387(&(*n_p1).typField, T38_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			LA24_:;
		}
		{
			eqdestroy___system_u2691(err_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA22_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
		if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA43_;
		T45_ = NIM_NIL;
		T45_ = semSym__sem_u22012(c_p0, result, (*result)._kind_4.sym, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T45_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA43_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getNilType__sem_u28699)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*c_p0).nilTypeCache);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T5_;
		if (!(result == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T5_); goto BeforeRet_;}
		eqsink___ast_u3387(&result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).size = ((NI64) ((*(*(*c_p0).graph).config).target.ptrSize));
		(*result).align = ((NI16) ((*(*(*c_p0).graph).config).target.ptrSize));
		eqcopy___ast_u3381(&(*c_p0).nilTypeCache, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semFieldAccess__sem_u21875)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg f_1;
	NI initialDerefDepth_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	f_1 = (flags_p2 & ~ 1048576);
	initialDerefDepth_1 = hiddenDerefDepth__sem_u25304((*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = builtinFieldAccess__sem_u25187(c_p0, n_p1, (&f_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
		T4_ = (NIM_BOOL)0;
		T4_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (T4_) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T9_) goto LA10_;
		colontmpD_ = skipTypes__ast_u5379((*result).typField, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T9_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25)));
LA10_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA11_;
		T8_ = ((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)20)))&31U)))!=0);
LA11_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA12_;
		T7_ = !((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)1)))&31U)))!=0));
LA12_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA13_;
		T6_ = !(((f_1 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)21)))&31U)))!=0));
LA13_: ;
		T4_ = T6_;
LA5_: ;
		if (!T4_) goto LA14_;
		T16_ = NIM_NIL;
		T16_ = dotTransformation__sem_u25317(c_p0, n_p1, initialDerefDepth_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA1_;}
		eqsink___ast_u3261(&result, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStaticExpr__sem_u134)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	NI oldErrorCount_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	a_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	oldErrorCount_1 = (*(*(*c_p0).graph).config).errorCounter;
	(*c_p0).inStaticContext += ((NI)1);
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	a_1 = semExprWithType__sem_u63(c_p0, n_p1, T2_, expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*c_p0).inStaticContext -= ((NI)1);
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		colontmpD__2 = findUnresolvedStatic__ast_u7354(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = !((colontmpD__2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (T5_) goto LA6_;
		T5_ = !(((*(*(*c_p0).graph).config).errorCounter == oldErrorCount_1));
LA6_: ;
		if (!T5_) goto LA7_;
		result = a_1;
		eqwasMoved___ast_u3249(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	result = evalStaticExpr__vm_u14305((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, a_1, (*(*c_p0).p).owner);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T14_;
		if (!(result == 0)) goto LA11_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		T14_ = 0;
		colontmpD__3 = renderTree__renderer_u59(n_p1, T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1281, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1282, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		eqcopy___ast_u3255(&result, (*(*c_p0).graph).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA9_;
LA11_: ;
	{
		NIM_BOOL producedClosure_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
		producedClosure_1 = NIM_FALSE;
		T18_ = NIM_NIL;
		T18_ = fixupTypeAfterEval__sem_u568(c_p0, result, a_1, (&producedClosure_1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto LA1_;}
		eqsink___ast_u3261(&result, T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, maybeLiftType__sem_u22808)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** t_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lifted_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	lifted_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = openScope__lookups_u65(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	lifted_1 = liftParamType__sem_u8031(c_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), colontmpD__2, (*t_p0), TM__rF9caJawfOjYTjsgLVUSGFA_1287, info_p2, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((lifted_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA4_;
		eqsink___ast_u3387(&(*t_p0), lifted_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&lifted_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(lifted_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedSym__sem_u22817)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T2_;
	NIM_BOOL T3_;
	NIM_BOOL T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	T2_ = 0;
	s_1 = qualifiedLookUp__lookups_u5229(c_p0, n_p1, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = (NIM_BOOL)0;
	T4_ = (NIM_BOOL)0;
	T4_ = !((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	if (!(T4_)) goto LA5_;
	colontmpD_ = owner__ast_u6254(s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = (((*colontmpD_).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0);
LA5_: ;
	T3_ = T4_;
	if (!(T3_)) goto LA6_;
	T3_ = eqStrings((*(*s_1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_1288);
LA6_: ;
	result = T3_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, inferWithMetatype__sem_u250)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, NIM_BOOL coerceDistincts_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g m_1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&m_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	newCandidate__sigmatch_u456(c_p0, formal_p1, (&m_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	m_1.coerceDistincts = coerceDistincts_p3;
	result = paramTypesMatch__sigmatch_u4323((&m_1), formal_p1, (*arg_p2).typField, arg_p2, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = m_1.genericConverter;
		if (!(T4_)) goto LA5_;
		T4_ = !((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA5_: ;
		if (!T4_) goto LA6_;
		instGenericConvertersArg__sem_u3414(c_p0, result, (&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T13_;
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA10_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = skipTypes__ast_u5379(formal_p1, TM__rF9caJawfOjYTjsgLVUSGFA_1292);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		T13_ = NIM_NIL;
		T13_ = generateTypeInstance__semtypinst_u1682(c_p0, m_1.bindings, (*arg_p2).info, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T13_); goto LA12_;}
		eqsink___ast_u3387(&(*result).typField, T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA8_;
LA10_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
		typeMismatch__types_u4020((*(*c_p0).graph).config, (*arg_p2).info, formal_p1, (*arg_p2).typField, arg_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T17_ = NIM_NIL;
		T17_ = copyTree__ast_u6891(arg_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA1_;}
		eqsink___ast_u3261(&result, T17_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3381(&(*result).typField, formal_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sigmatch_u162((&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A, checkConversionBetweenObjects__sem_u22153)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* castDest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1, NI pointers_p2) {
	tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A result;
	NI diff_1;
	tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)0;
	diff_1 = inheritanceDiff__types_u2785(castDest_p0, src_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)0;
	{
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = (diff_1 == ((NI)2147483647));
		if (T4_) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T6_ = (((NI)1) < pointers_p2);
		if (!(T6_)) goto LA7_;
		T6_ = !((diff_1 == ((NI)0)));
LA7_: ;
		T4_ = T6_;
LA5_: ;
		if (!T4_) goto LA8_;
		result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)2);
	}
	goto LA2_;
LA8_: ;
	{
		result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)0);
	}
LA2_: ;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__sem_u22361)(tyObject_HSlice__whvohxbOh9bZInELasBCieg s_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__whvohxbOh9bZInELasBCieg, dotdot___sem_u22287)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw a_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw b_p1) {
	tyObject_HSlice__whvohxbOh9bZInELasBCieg result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
static N_INLINE(NIM_BOOL, contains__semfold_u118)(tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA* s_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = lteq___int128_u408((*s_p0).a, value_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(T1_)) goto LA2_;
	T1_ = lteq___int128_u408(value_p1, (*s_p0).b);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, dotdot___semfold_u86)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1, tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA* Result) {
	(*Result).a = a_p0;
	(*Result).b = b_p1;
}
static N_INLINE(NIM_BOOL, contains__sem_u22544)(tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA* s_p0, NI64 value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = lteq___int128_u966((*s_p0).a, value_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(T1_)) goto LA2_;
	T1_ = lteq___int128_u973(value_p1, (*s_p0).b);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A, checkConvertible__sem_u22183)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* targetTyp_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2) {
	tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* srcTyp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* d_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* targetBaseTyp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* srcBaseTyp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T20_;
	NI pointers_1;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin134_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)0;
	srcTyp_1 = NIM_NIL;
	d_1 = NIM_NIL;
	s_1 = NIM_NIL;
	targetBaseTyp_1 = NIM_NIL;
	srcBaseTyp_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	srcTyp_1 = skipTypes__ast_u5379((*src_p2).typField, TM__rF9caJawfOjYTjsgLVUSGFA_45);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)0);
	{
		NIM_BOOL T4_;
		tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T5_;
		T4_ = (NIM_BOOL)0;
		T5_ = 0;
		T4_ = sameType__types_u1812(targetTyp_p1, srcTyp_1, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_)) goto LA6_;
		T4_ = ((*targetTyp_p1).sym == (*srcTyp_1).sym);
LA6_: ;
		if (!T4_) goto LA7_;
		{
			if (!!(((*targetTyp_p1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) && (*targetTyp_p1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*targetTyp_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*targetTyp_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20) || (*targetTyp_p1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*targetTyp_p1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44)))) goto LA11_;
			result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)1);
		}
LA11_: ;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(srcBaseTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetBaseTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(d_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(srcTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	d_1 = skipTypes__ast_u5379(targetTyp_p1, TM__rF9caJawfOjYTjsgLVUSGFA_776);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&s_1, srcTyp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T15_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T19_;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) || (*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53));
		if (!(T15_)) goto LA16_;
		T15_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)10)))&63U)))!=0);
LA16_: ;
		if (!T15_) goto LA17_;
		T19_ = NIM_NIL;
		T19_ = last__ast_u5278(s_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T19_); goto LA1_;}
		eqsink___ast_u3387(&s_1, T19_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA17_: ;
	T20_ = NIM_NIL;
	T20_ = skipTypes__ast_u5379(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_1293);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T20_); goto LA1_;}
	eqsink___ast_u3387(&s_1, T20_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T23_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T27_;
		T23_ = (NIM_BOOL)0;
		T23_ = ((*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
		if (!(T23_)) goto LA24_;
		T23_ = !(((*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45)));
LA24_: ;
		if (!T23_) goto LA25_;
		T27_ = NIM_NIL;
		T27_ = skipModifier__ast_u5338(s_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T27_); goto LA1_;}
		eqsink___ast_u3387(&s_1, T27_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	pointers_1 = ((NI)0);
	{
		while (1) {
			NIM_BOOL T30_;
			T30_ = (NIM_BOOL)0;
			T30_ = !((d_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T30_)) goto LA31_;
			T30_ = ((*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
LA31_: ;
			if (!T30_) goto LA29;
			{
				NIM_BOOL T34_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T38_;
				T34_ = (NIM_BOOL)0;
				T34_ = ((*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
				if (!(T34_)) goto LA35_;
				T34_ = !(((*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45)));
LA35_: ;
				if (!T34_) goto LA36_;
				T38_ = NIM_NIL;
				T38_ = skipModifier__ast_u5338(s_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T38_); goto LA1_;}
				eqsink___ast_u3387(&s_1, T38_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA32_;
LA36_: ;
			{
				if (!!(((*d_1).kind == (*s_1).kind))) goto LA40_;
				goto LA28;
			}
			goto LA32_;
LA40_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T43_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T44_;
				T43_ = NIM_NIL;
				T43_ = elementType__ast_u5331(d_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T43_); goto LA1_;}
				eqsink___ast_u3387(&d_1, T43_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T44_ = NIM_NIL;
				T44_ = elementType__ast_u5331(s_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T44_); goto LA1_;}
				eqsink___ast_u3387(&s_1, T44_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA32_: ;
			pointers_1 += ((NI)1);
		} LA29: ;
	} LA28: ;
	targetBaseTyp_1 = skipTypes__ast_u5379(targetTyp_p1, TM__rF9caJawfOjYTjsgLVUSGFA_1294);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	srcBaseTyp_1 = skipTypes__ast_u5379(srcTyp_1, TM__rF9caJawfOjYTjsgLVUSGFA_238);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(d_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA47_;
		result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)2);
	}
	goto LA45_;
LA47_: ;
	{
		NIM_BOOL T50_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		T50_ = (NIM_BOOL)0;
		colontmpD_ = skipTypes__ast_u5379(d_1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T50_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
		if (!(T50_)) goto LA51_;
		colontmpD__2 = skipTypes__ast_u5379(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T50_ = ((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA51_: ;
		if (!T50_) goto LA52_;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__3 = skipTypes__ast_u5379(d_1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		colontmpD__4 = skipTypes__ast_u5379(s_1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		result = checkConversionBetweenObjects__sem_u22153(colontmpD__3, colontmpD__4, pointers_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		{
			LA54_:;
		}
		{
			oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin54_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA45_;
LA52_: ;
	{
		NIM_BOOL T58_;
		T58_ = (NIM_BOOL)0;
		T58_ = ((*targetBaseTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*targetBaseTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*targetBaseTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*targetBaseTyp_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*targetBaseTyp_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
		if (!(T58_)) goto LA59_;
		T58_ = ((*srcBaseTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*srcBaseTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*srcBaseTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*srcBaseTyp_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*srcBaseTyp_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
LA59_: ;
		if (!T58_) goto LA60_;
		{
			NIM_BOOL T64_;
			NIM_BOOL T65_;
			tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T68_;
			NIM_BOOL T69_;
			T64_ = (NIM_BOOL)0;
			T65_ = (NIM_BOOL)0;
			T65_ = ((*targetTyp_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
			if (!(T65_)) goto LA66_;
			T65_ = ((*srcBaseTyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
LA66_: ;
			T64_ = T65_;
			if (!(T64_)) goto LA67_;
			T68_ = 0;
			T69_ = (NIM_BOOL)0;
			T69_ = sameType__types_u1812(targetTyp_p1, srcBaseTyp_1, T68_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T64_ = !(T69_);
LA67_: ;
			if (!T64_) goto LA70_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*src_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)68), TM__rF9caJawfOjYTjsgLVUSGFA_1296, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1297, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA70_: ;
		{
			if (!((*targetTyp_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1))) goto LA74_;
		}
		goto LA72_;
LA74_: ;
		{
			NIM_BOOL T77_;
			T77_ = (NIM_BOOL)0;
			T77_ = isOrdinalType__types_u283(targetTyp_p1, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T77_) goto LA78_;
			{
				NIM_BOOL T82_;
				NIM_BOOL T83_;
				tyObject_HSlice__whvohxbOh9bZInELasBCieg T84_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T86_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T87_;
				tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA T88_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T89_;
				NIM_BOOL T90_;
				T82_ = (NIM_BOOL)0;
				T83_ = (NIM_BOOL)0;
				T84_ = dotdot___sem_u22287(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5), ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
				T83_ = contains__sem_u22361(T84_, (*src_p2).kind);
				if (!(T83_)) goto LA85_;
				T86_ = firstOrd__types_u1182((*(*c_p0).graph).config, targetTyp_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T87_ = lastOrd__types_u1298((*(*c_p0).graph).config, targetTyp_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				nimZeroMem((void*)(&T88_), sizeof(tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA));
				dotdot___semfold_u86(T86_, T87_, (&T88_));
				T89_ = getInt__ast_u7046(src_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T90_ = (NIM_BOOL)0;
				T90_ = contains__semfold_u118((&T88_), T89_);
				T83_ = !(T90_);
LA85_: ;
				T82_ = T83_;
				if (!(T82_)) goto LA91_;
				T82_ = !(((*targetTyp_p1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) && (*targetTyp_p1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44)));
LA91_: ;
				if (!T82_) goto LA92_;
				result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)3);
			}
			goto LA80_;
LA92_: ;
			{
				NIM_BOOL T95_;
				tyObject_HSlice__whvohxbOh9bZInELasBCieg T96_;
				NIM_BOOL T98_;
				tyEnum_FloatClass__gfrWEZTSUZU5OWgwK4wTYw T99_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T101_;
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T102_;
				tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA T103_;
				NIM_BOOL T104_;
				T95_ = (NIM_BOOL)0;
				T96_ = dotdot___sem_u22287(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16), ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18));
				T95_ = contains__sem_u22361(T96_, (*src_p2).kind);
				if (!(T95_)) goto LA97_;
				T98_ = (NIM_BOOL)0;
				T99_ = (tyEnum_FloatClass__gfrWEZTSUZU5OWgwK4wTYw)0;
				T99_ = classify__pureZmath_u211((*src_p2)._kind_2.floatVal);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T98_ = (T99_ == ((tyEnum_FloatClass__gfrWEZTSUZU5OWgwK4wTYw)4) || T99_ == ((tyEnum_FloatClass__gfrWEZTSUZU5OWgwK4wTYw)6) || T99_ == ((tyEnum_FloatClass__gfrWEZTSUZU5OWgwK4wTYw)5));
				if (T98_) goto LA100_;
				T101_ = firstOrd__types_u1182((*(*c_p0).graph).config, targetTyp_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T102_ = lastOrd__types_u1298((*(*c_p0).graph).config, targetTyp_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				nimZeroMem((void*)(&T103_), sizeof(tyObject_HSlice__fa1AtMAy14PwYiDGMJbFOA));
				dotdot___semfold_u86(T101_, T102_, (&T103_));
				T104_ = (NIM_BOOL)0;
				T104_ = contains__sem_u22544((&T103_), (((NI64) ((*src_p2)._kind_2.floatVal))));
				T98_ = !(T104_);
LA100_: ;
				T95_ = T98_;
LA97_: ;
				if (!T95_) goto LA105_;
				result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)3);
			}
			goto LA80_;
LA105_: ;
LA80_: ;
		}
		goto LA72_;
LA78_: ;
		{
			tyObject_HSlice__Td0KDtM8kU0p7CVwrbJeww T108_;
			NIM_BOOL T109_;
			T108_ = dotdot___semfold_u987(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36), ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38));
			T109_ = (NIM_BOOL)0;
			T109_ = contains__semfold_u1019(T108_, (*targetBaseTyp_1).kind);
			if (!T109_) goto LA110_;
			{
				NIM_BOOL T114_;
				tyObject_HSlice__whvohxbOh9bZInELasBCieg T115_;
				NIM_BOOL T117_;
				T114_ = (NIM_BOOL)0;
				T115_ = dotdot___sem_u22287(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16), ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18));
				T114_ = contains__sem_u22361(T115_, (*src_p2).kind);
				if (!(T114_)) goto LA116_;
				T117_ = (NIM_BOOL)0;
				T117_ = floatRangeCheck__types_u1420((*src_p2)._kind_2.floatVal, targetTyp_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T114_ = !(T117_);
LA116_: ;
				if (!T114_) goto LA118_;
				result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)3);
			}
			goto LA112_;
LA118_: ;
			{
				NIM_BOOL T121_;
				tyObject_HSlice__whvohxbOh9bZInELasBCieg T122_;
				NIM_BOOL T124_;
				T121_ = (NIM_BOOL)0;
				T122_ = dotdot___sem_u22287(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5), ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
				T121_ = contains__sem_u22361(T122_, (*src_p2).kind);
				if (!(T121_)) goto LA123_;
				T124_ = (NIM_BOOL)0;
				T124_ = floatRangeCheck__types_u1420(((NF) ((*src_p2)._kind_1.intVal)), targetTyp_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T121_ = !(T124_);
LA123_: ;
				if (!T121_) goto LA125_;
				result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)3);
			}
			goto LA112_;
LA125_: ;
LA112_: ;
		}
		goto LA72_;
LA110_: ;
LA72_: ;
	}
	goto LA45_;
LA60_: ;
	{
		tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ T132_;
		{
			if (!((*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA130_;
			result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)2);
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(srcBaseTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(targetBaseTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(d_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(srcTyp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA130_: ;
		T132_ = (tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)0;
		T132_ = cmpTypes__sigmatch_u3580(c_p0, d_1, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		switch (T132_) {
		case ((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)0):
		case ((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)8):
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
			colontmpD__5 = NIM_NIL;
			colontmpD__6 = NIM_NIL;
			{
				tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T137_;
				NIM_BOOL T138_;
				colontmpD__5 = skipTypes__ast_u5379(targetTyp_p1, TM__rF9caJawfOjYTjsgLVUSGFA_776);
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				colontmpD__6 = skipTypes__ast_u5379(srcTyp_1, TM__rF9caJawfOjYTjsgLVUSGFA_1298);
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				T137_ = 0;
				T138_ = (NIM_BOOL)0;
				T138_ = compareTypes__types_u2768(colontmpD__5, colontmpD__6, ((tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw)1), T137_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				if (!!(T138_)) goto LA139_;
				result = ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)2);
			}
LA139_: ;
			{
				LA134_:;
			}
			{
				oldNimErrFin134_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin134_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		default:
		{
		}
		break;
		}
	}
LA45_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(srcBaseTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetBaseTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(d_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(srcTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConv__sem_u22833)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* targetType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_1;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL oldNimErrFin84_;
NIM_BOOL oldNimErrFin97_;
NIM_BOOL oldNimErrFin155_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	targetType_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	op_1 = NIM_NIL;
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((T4_ == ((NI)2)))) goto LA5_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1277, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1278, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	targetType_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = skipTypes__ast_u5379(targetType_1, TM__rF9caJawfOjYTjsgLVUSGFA_1279);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*colontmpD_).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		{
			NI T11_;
			NimStringV2 argX60gensym5115__1;
			T11_ = (NI)0;
			T11_ = len__ast_u5502(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			if (!!((((NI)0) < T11_))) goto LA12_;
			argX60gensym5115__1.len = 0; argX60gensym5115__1.p = NIM_NIL;
			argX60gensym5115__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1280);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym5115__1, TM__rF9caJawfOjYTjsgLVUSGFA_1280);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				LA14_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym5115__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA12_: ;
		{
			colontmpD__4 = base__ast_u5351(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			if (!((*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))) goto LA19_;
			result = semTypeOf__sem_u142(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA17_;
LA19_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T22_;
			T22_ = NIM_NIL;
			T22_ = base__ast_u5351(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T22_); goto LA8_;}
			eqsink___ast_u3387(&targetType_1, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA17_: ;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* evaluated_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		evaluated_1 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		evaluated_1 = semStaticExpr__sem_u134(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		{
			NIM_BOOL T29_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T34_;
			T29_ = (NIM_BOOL)0;
			T29_ = ((*evaluated_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
			if (T29_) goto LA30_;
			T29_ = ((*(*evaluated_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA30_: ;
			if (!T29_) goto LA31_;
			colontmpD__6 = NIM_NIL;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__6 = semStaticType__sem_u138(c_p0, evaluated_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			T34_ = NIM_NIL;
			T34_ = makeTypeDesc__semdata_u4621(c_p0, colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T34_); goto LA33_;}
			eqsink___ast_u3387(&(*result).typField, T34_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			eqdestroy___ast_u3378(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			eqdestroy___ast_u3378(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(evaluated_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				*nimErr_ = oldNimErrFin33_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		}
		goto LA27_;
LA31_: ;
		{
			colontmpD__5 = base__ast_u5351(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			if (!((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0))) goto LA38_;
			result = evaluated_1;
			eqwasMoved___ast_u3249(&evaluated_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			eqdestroy___ast_u3378(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(evaluated_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA27_;
LA38_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T41_;
			T41_ = NIM_NIL;
			T41_ = base__ast_u5351(targetType_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T41_); goto LA26_;}
			eqsink___ast_u3387(&targetType_1, T41_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		}
LA27_: ;
		{
			LA26_:;
		}
		{
			oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(evaluated_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin26_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7):
	{
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		colontmpD__7 = typeToString__types_u54(targetType_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1284, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1285, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		{
			LA45_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
	}
	break;
	}
	maybeLiftType__sem_u22808(&targetType_1, c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T51_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T60_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T61_;
		T51_ = (NIM_BOOL)0;
		T51_ = ((*targetType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46) || (*targetType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47));
		if (T51_) goto LA52_;
		T51_ = isOwnedSym__sem_u22817(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA52_: ;
		if (!T51_) goto LA53_;
		baseType_1 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		t_1 = NIM_NIL;
		colontmpD__9 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		baseType_1 = skipTypes__ast_u5379(colontmpD__9, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		blitTmp_1 = baseType_1;
		eqwasMoved___ast_u3375(&baseType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		t_1 = newTypeS__semdata_u4368((*targetType_1).kind, c_p0, blitTmp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		{
			if (!((*targetType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45))) goto LA58_;
			(*t_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4))) & 63);
		}
LA58_: ;
		T60_ = NIM_NIL;
		T60_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T60_); goto LA55_;}
		eqsink___ast_u3261(&result, T60_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		T61_ = NIM_NIL;
		T61_ = makeTypeDesc__semdata_u4621(c_p0, t_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T61_); goto LA55_;}
		eqsink___ast_u3387(&(*result).typField, T61_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(baseType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA55_:;
		}
		{
			oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(baseType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin55_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA53_: ;
	colontmpD__2 = copyTree__ast_u6891((*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T66_;
		T66_ = (NIM_BOOL)0;
		T66_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33));
		if (!(T66_)) goto LA67_;
		colontmpD__3 = skipTypes__ast_u5379(targetType_1, TM__rF9caJawfOjYTjsgLVUSGFA_493);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T66_ = ((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
LA67_: ;
		if (!T66_) goto LA68_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1290, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1291, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA68_: ;
	op_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((flags_p2 & 1024) | 33554432), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T72_;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T76_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T77_;
		T72_ = (NIM_BOOL)0;
		T72_ = isSymChoice__sem_u22017(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T72_)) goto LA73_;
		T72_ = !(((*(*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)));
LA73_: ;
		if (!T72_) goto LA74_;
		T76_ = 0;
		T77_ = NIM_NIL;
		T77_ = semSymChoice__sem_u22101(c_p0, op_1, T76_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T77_); goto LA1_;}
		eqsink___ast_u3261(&op_1, T77_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA74_: ;
	{
		NIM_BOOL T80_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* final_1;
		T80_ = (NIM_BOOL)0;
		T80_ = !(((*targetType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12)));
		if (!(T80_)) goto LA81_;
		T80_ = isMetaType__ast_u4607(targetType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA81_: ;
		if (!T80_) goto LA82_;
		final_1 = NIM_NIL;
		final_1 = inferWithMetatype__sem_u250(c_p0, targetType_1, op_1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		add__ast_u3215(result, final_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		eqcopy___ast_u3381(&(*result).typField, (*final_1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		eqdestroy___ast_u3252(final_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA84_:;
		}
		{
			oldNimErrFin84_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(final_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin84_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA82_: ;
	eqcopy___ast_u3381(&(*result).typField, targetType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, op_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T89_;
		NIM_BOOL T91_;
		NIM_BOOL T92_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T98_;
		T89_ = (NIM_BOOL)0;
		T89_ = ((*targetType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
		if (T89_) goto LA90_;
		T91_ = (NIM_BOOL)0;
		T92_ = (NIM_BOOL)0;
		T92_ = !(((*op_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T92_)) goto LA93_;
		T92_ = ((*(*op_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA93_: ;
		T91_ = T92_;
		if (!(T91_)) goto LA94_;
		T91_ = (((NI)0) < (*c_p0).inGenericContext);
LA94_: ;
		T89_ = T91_;
LA90_: ;
		if (!T89_) goto LA95_;
		colontmpD__10 = NIM_NIL;
		colontmpD__10 = copyTree__ast_u6891(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
		T98_ = NIM_NIL;
		T98_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__10);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T98_); goto LA97_;}
		eqsink___ast_u3387(&(*result).typField, T98_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
		eqdestroy___ast_u3252(colontmpD__10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA97_:;
		}
		{
			oldNimErrFin97_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin97_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA95_: ;
	{
		NIM_BOOL T103_;
		tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A status_1;
		T103_ = (NIM_BOOL)0;
		T103_ = isSymChoice__sem_u22017(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T103_)) goto LA104_;
		status_1 = checkConvertible__sem_u22183(c_p0, (*result).typField, op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		switch (status_1) {
		case ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)0):
		{
			{
				NIM_BOOL T109_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T113_;
				T109_ = (NIM_BOOL)0;
				T109_ = ((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T109_)) goto LA110_;
				T109_ = isGenericRoutine__ast_u7099((*op_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA110_: ;
				if (!T109_) goto LA111_;
				T113_ = NIM_NIL;
				T113_ = fitNode__sem_u79(c_p0, (*result).typField, (*result)._kind_6.sons.p->data[((NI)1)], (*result).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T113_); goto LA1_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T113_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA107_;
LA111_: ;
			{
				NIM_BOOL T115_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T119_;
				T115_ = (NIM_BOOL)0;
				T115_ = ((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160));
				if (!(T115_)) goto LA116_;
				T115_ = ((*targetType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
LA116_: ;
				if (!T115_) goto LA117_;
				T119_ = NIM_NIL;
				T119_ = fitNode__sem_u79(c_p0, targetType_1, op_1, (*result).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T119_); goto LA1_;}
				eqsink___ast_u3261(&op_1, T119_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA107_;
LA117_: ;
LA107_: ;
		}
		break;
		case ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)1):
		{
			{
				NimStringV2 colontmpD__11;
				if (!!(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)18)))&31U)))!=0))) goto LA123_;
				colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
				colontmpD__11 = typeToString__types_u54((*result).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)96), colontmpD__11, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1299, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
				{
					LA125_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__11);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA123_: ;
		}
		break;
		case ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)2):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T129_;
			T129_ = NIM_NIL;
			T129_ = fitNode__sem_u79(c_p0, (*result).typField, (*result)._kind_6.sons.p->data[((NI)1)], (*result).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T129_); goto LA1_;}
			eqsink___ast_u3261(&result, T129_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NimStringV2 colontmpD__12;
				NimStringV2 colontmpD__13;
				NimStringV2 colontmpD__14;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T135_;
				if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA132_;
				colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
				colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
				colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
				colontmpD__12 = typeToString__types_u54((*op_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				T135_[0] = colontmpD__12;
				colontmpD__13 = typeToString__types_u54((*result).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				T135_[1] = colontmpD__13;
				colontmpD__14 = percent___sem_u22934(T135_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1300, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				{
					LA134_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__14);
					eqdestroy___system_u2691(colontmpD__13);
					eqdestroy___system_u2691(colontmpD__12);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA132_: ;
		}
		break;
		case ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)3):
		{
			NimStringV2 value_1;
			NimStringV2 colontmpD__15;
			NimStringV2 colontmpD__16;
			NimStringV2 T140_;
			NimStringV2 T148_;
			value_1.len = 0; value_1.p = NIM_NIL;
			colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
			colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
			T140_.len = 0; T140_.p = NIM_NIL;
			{
				tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T145_;
				if (!((*op_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*op_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA143_;
				T145_ = getInt__ast_u7046(op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
				value_1 = dollar___int128_u36(T145_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			}
			goto LA141_;
LA143_: ;
			{
				NF T147_;
				T147_ = (NF)0;
				T147_ = getFloat__ast_u7061(op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
				value_1 = dollar___system_u4730(T147_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			}
LA141_: ;
			T148_.len = 0; T148_.p = NIM_NIL;
			colontmpD__15 = typeToString__types_u54((*result).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			T148_ = rawNewString(value_1.len + colontmpD__15.len + 23);
appendString((&T148_), value_1);
appendString((&T148_), TM__rF9caJawfOjYTjsgLVUSGFA_1302);
appendString((&T148_), colontmpD__15);
			colontmpD__16 = T148_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__16, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1303, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA139_;
			{
				LA139_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__16);
				eqdestroy___system_u2691(colontmpD__15);
				eqdestroy___system_u2691(value_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		default: __builtin_unreachable();
		}
	}
	goto LA101_;
LA104_: ;
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A status_2;
					if (!(i_2 < colontmp_)) goto LA154;
					it_1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u3255(&it_1, (*op_1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
					status_2 = checkConvertible__sem_u22183(c_p0, (*result).typField, it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
					{
						if (!(status_2 == ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)0) || status_2 == ((tyEnum_TConvStatus__29awmEVLjwy2yCuA9cDSNU3A)1))) goto LA158_;
						markUsed__sigmatch_u100(c_p0, (*n_p1).info, (*it_1)._kind_4.sym, NIM_TRUE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
						markIndirect__semdata_u4654(c_p0, (*it_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
						result = it_1;
						eqwasMoved___ast_u3249(&it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(op_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3378(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3378(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3378(targetType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA158_: ;
					i_2 += ((NI)1);
					{
						LA155_:;
					}
					{
						oldNimErrFin155_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin155_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA154: ;
			}
		}
		errorUseQualifier__lookups_u5067(c_p0, (*n_p1).info, (*(*op_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA101_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(op_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semObjConstr__sem_u23432)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ constrCtx_1;
	tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA tmpTuple_1;
	tySequence__9ahcSjIErJohSBBFLwuF56Q defaults_1;
NIM_BOOL oldNimErrFin9_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T12_;
NIM_BOOL oldNimErrFin27_;
	tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA initResult_1;
	NIM_BOOL hasError_1;
NIM_BOOL oldNimErrFin72_;
NIM_BOOL oldNimErrFin61_;
NIM_BOOL oldNimErrFin56_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t_1 = NIM_NIL;
	nimZeroMem((void*)(&constrCtx_1), sizeof(tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ));
	nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
	defaults_1.len = 0; defaults_1.p = NIM_NIL;
	t_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38), (*n_p1).info, t_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)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n2X60gensym7139__1;
		if (!(t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA7_;
		n2X60gensym7139__1 = NIM_NIL;
		n2X60gensym7139__1 = result;
		eqwasMoved___ast_u3249(&result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n2X60gensym7139__1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1305, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1306, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		result = errorNode__semdata_u4571(c_p0, n2X60gensym7139__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eqdestroy___ast_u3252(n2X60gensym7139__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3696(defaults_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u27504(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u28059(constrCtx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(n2X60gensym7139__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	T12_ = NIM_NIL;
	T12_ = skipTypes__ast_u5379(t_1, TM__rF9caJawfOjYTjsgLVUSGFA_162);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T12_); goto LA1_;}
	eqsink___ast_u3387(&t_1, T12_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T17_;
		if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22))) goto LA15_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = elementType__ast_u5331(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T17_ = NIM_NIL;
		T17_ = skipTypes__ast_u5379(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_162);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T17_); goto LA1_;}
		eqsink___ast_u3387(&t_1, T17_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T22_;
			if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA20_;
			T22_ = NIM_NIL;
			T22_ = makeVarType__semdata_u4402(c_p0, (*result).typField, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T22_); goto LA1_;}
			eqsink___ast_u3387(&(*result).typField, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*(*result).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4))) & 63);
		}
LA20_: ;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA15_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n2X60gensym7150__1;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T28_;
		if (!!(((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)))) goto LA25_;
		n2X60gensym7150__1 = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		n2X60gensym7150__1 = result;
		eqwasMoved___ast_u3249(&result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		T28_.len = 0; T28_.p = NIM_NIL;
		{
			NimStringV2 dupResult_1;
			if (!!(((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10)))) goto LA31_;
			dupResult_1.len = 0; dupResult_1.p = NIM_NIL;
			dupResult_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1307;
			addTypeNodeDeclaredLoc__astmsgs_u50((&dupResult_1), (*(*c_p0).graph).config, t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__2 = dupResult_1;
			eqwasMoved___system_u2688((&dupResult_1));
			T28_ = colontmpD__2;
			{
				LA33_:;
			}
			{
				eqdestroy___system_u2691(dupResult_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		}
		goto LA29_;
LA31_: ;
		{
			NimStringV2 colontmpD__4;
			NimStringV2 T38_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			T38_.len = 0; T38_.p = NIM_NIL;
			colontmpD__4 = typeToString__types_u54(t_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			T38_ = rawNewString(colontmpD__4.len + 103);
appendString((&T38_), TM__rF9caJawfOjYTjsgLVUSGFA_1309);
appendString((&T38_), colontmpD__4);
appendString((&T38_), TM__rF9caJawfOjYTjsgLVUSGFA_1311);
			colontmpD__3 = T38_;
			T28_ = colontmpD__3;
			{
				LA37_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		}
LA29_: ;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n2X60gensym7150__1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), T28_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1312, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		result = errorNode__semdata_u4571(c_p0, n2X60gensym7150__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___ast_u3252(n2X60gensym7150__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3696(defaults_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u27504(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u28059(constrCtx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA27_:;
		}
		{
			oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___ast_u3252(n2X60gensym7150__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin27_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	initConstrContext__sem_u28048(t_1, result, (&constrCtx_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	tmpTuple_1 = semConstructTypeAux__sem_u27980(c_p0, (&constrCtx_1), flags_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initResult_1 = tmpTuple_1.Field0;
	defaults_1 = tmpTuple_1.Field1;
	eqwasMoved___ast_u3693((&tmpTuple_1.Field1));
	hasError_1 = NIM_FALSE;
	{
		NI T45_;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T49_;
		T45_ = constrCtx_1.missingFields.len;
		if (!(((NI)0) < T45_)) goto LA46_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		hasError_1 = NIM_TRUE;
		T49_[0] = (*(*(*t_1).sym).name).s;
		colontmpD__5 = listSymbolNames__astalgo_u3461(((constrCtx_1.missingFields).p) ? (constrCtx_1.missingFields.p->data) : NIM_NIL, constrCtx_1.missingFields.len);
		if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
		T49_[1] = colontmpD__5;
		colontmpD__6 = percent___sem_u28195(T49_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*result).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1313, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
		{
			LA48_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA46_: ;
	{
		NI i_3;
		NI colontmp__2;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_4 = ((NI)1);
		{
			while (1) {
				if (!(i_4 < colontmp__2)) goto LA54;
				i_3 = i_4;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
					field_1 = NIM_NIL;
					eqcopy___ast_u3255(&field_1, (*result)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
					{
						tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_1;
						NimStringV2 msg_1;
						NimStringV2 colontmpD__7;
						NimStringV2 colontmpD__8;
						NimStringV2 T82_;
						if (!!((((*field_1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7)))&31U)))!=0))) goto LA59_;
						id_1 = NIM_NIL;
						msg_1.len = 0; msg_1.p = NIM_NIL;
						colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
						colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
						{
							if (!!(((*field_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34)))) goto LA64_;
							invalidObjConstr__sem_u27198(c_p0, field_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
							hasError_1 = NIM_TRUE;
							eqdestroy___system_u2691(colontmpD__8);
							eqdestroy___system_u2691(colontmpD__7);
							eqdestroy___system_u2691(msg_1);
							eqdestroy___idents_u155(id_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
							eqdestroy___ast_u3252(field_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							goto LA55;
						}
						goto LA62_;
LA64_: ;
						{
							if (!(((*field_1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)15)))&31U)))!=0)) goto LA67_;
							eqdestroy___system_u2691(colontmpD__8);
							eqdestroy___system_u2691(colontmpD__7);
							eqdestroy___system_u2691(msg_1);
							eqdestroy___idents_u155(id_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
							eqdestroy___ast_u3252(field_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							goto LA55;
						}
						goto LA62_;
LA67_: ;
LA62_: ;
						id_1 = considerQuotedIdent__lookups_u31(c_p0, (*field_1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
						{
							NI j_1;
							NI i_5;
							j_1 = (NI)0;
							i_5 = ((NI)1);
							{
								while (1) {
									tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* prevId_1;
									if (!(i_5 < i_3)) goto LA71;
									prevId_1 = NIM_NIL;
									j_1 = i_5;
									prevId_1 = considerQuotedIdent__lookups_u31(c_p0, (*(*result)._kind_6.sons.p->data[j_1])._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
									if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
									{
										NimStringV2 colontmpD__9;
										if (!((*prevId_1).id == (*id_1).id)) goto LA75_;
										colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
										colontmpD__9 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1315, (*id_1).s);
										if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*field_1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1316, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
										hasError_1 = NIM_TRUE;
										eqdestroy___system_u2691(colontmpD__9);
										eqdestroy___idents_u155(prevId_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
										goto LA69;
										{
											LA77_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__9);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
									}
LA75_: ;
									i_5 += ((NI)1);
									{
										LA72_:;
									}
									{
										oldNimErrFin72_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___idents_u155(prevId_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
										*nimErr_ = oldNimErrFin72_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
								} LA71: ;
							}
						} LA69: ;
						T82_.len = 0; T82_.p = NIM_NIL;
						colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1317, (*id_1).s);
						if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
						colontmpD__8 = getProcHeader__types_u219((*(*c_p0).graph).config, (*t_1).sym, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0), NIM_TRUE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
						T82_ = rawNewString(colontmpD__7.len + colontmpD__8.len + 10);
appendString((&T82_), colontmpD__7);
appendString((&T82_), TM__rF9caJawfOjYTjsgLVUSGFA_1318);
appendString((&T82_), colontmpD__8);
						msg_1 = T82_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*field_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1319, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
						hasError_1 = NIM_TRUE;
						eqdestroy___system_u2691(colontmpD__8);
						eqdestroy___system_u2691(colontmpD__7);
						eqdestroy___system_u2691(msg_1);
						eqdestroy___idents_u155(id_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
						eqdestroy___ast_u3252(field_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA52;
						{
							LA61_:;
						}
						{
							oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___system_u2691(colontmpD__8);
							eqdestroy___system_u2691(colontmpD__7);
							eqdestroy___system_u2691(msg_1);
							eqdestroy___idents_u155(id_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
							*nimErr_ = oldNimErrFin61_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
					}
LA59_: ;
					{
						LA56_:;
					}
					{
						oldNimErrFin56_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(field_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin56_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA55: ;
				i_4 += ((NI)1);
			} LA54: ;
		}
	} LA52: ;
	add__closureiters_u384((&(*result)._kind_6.sons), ((defaults_1).p) ? (defaults_1.p->data) : NIM_NIL, defaults_1.len);
	{
		if (!(initResult_1 == ((tyEnum_InitStatus__ZyrBUmy8KrLn9cf3DXfI0cA)1))) goto LA89_;
		(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)1))) & 31);
	}
LA89_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T95_;
		if (!hasError_1) goto LA93_;
		T95_ = NIM_NIL;
		T95_ = errorNode__semdata_u4571(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T95_); goto LA1_;}
		eqsink___ast_u3261(&result, T95_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA93_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3696(defaults_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u27504(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u28059(constrCtx_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, considerQuotedIdentOrDot__sem_u26107)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* origin_p2) {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NimStringV2 a_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		NimStringV2 b_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
		NimStringV2 s_1;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA3_;
		a_1.len = 0; a_1.p = NIM_NIL;
		colontmpD_ = NIM_NIL;
		b_1.len = 0; b_1.p = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		s_1.len = 0; s_1.p = NIM_NIL;
		colontmpD_ = considerQuotedIdentOrDot__sem_u26107(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], origin_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eqcopy___system_u2694((&a_1), (*colontmpD_).s);
		colontmpD__2 = considerQuotedIdentOrDot__sem_u26107(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], origin_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eqcopy___system_u2694((&b_1), (*colontmpD__2).s);
		s_1 = rawNewString(((NI)((NI)(a_1.len + b_1.len) + ((NI)1))));
		prepareAdd((&s_1), a_1.len + 0);
appendString((&s_1), a_1);
		nimAddCharV1((&s_1), 46);
		prepareAdd((&s_1), b_1.len + 0);
appendString((&s_1), b_1);
		result = getIdent__idents_u206((*c_p0).cache, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(s_1);
			eqdestroy___idents_u155(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(b_1);
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(a_1);
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = considerQuotedIdent__lookups_u31(c_p0, n_p1, origin_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDefined__sem_u26119)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	NIM_BOOL T2_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = considerQuotedIdentOrDot__sem_u26107(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NIM_BOOL)0;
	T2_ = isDefined__options_u959((*(*c_p0).graph).config, (*colontmpD_).s);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result)._kind_1.intVal = ((NI64) (T2_));
	(*result).info = (*n_p1).info;
	T3_ = NIM_NIL;
	T3_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T3_); goto LA1_;}
	eqsink___ast_u3387(&(*result).typField, T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, setMs__sem_u26528)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = newSymNode__ast_u5168(s_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info = (*n_p0).info;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookUpForDeclared__sem_u26126)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL onlyCurrentScope_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
		NIM_BOOL amb_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T3_;
		ident_1 = NIM_NIL;
		amb_1 = NIM_FALSE;
		ident_1 = considerQuotedIdent__lookups_u31(c_p0, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		T3_ = NIM_NIL;
		{
			if (!onlyCurrentScope_p2) goto LA6_;
			result = localSearchInScope__lookups_u126(c_p0, ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		goto LA4_;
LA6_: ;
		{
			result = searchInScopes__lookups_u2425(c_p0, ident_1, (&amb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
LA4_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_1;
		m_1 = NIM_NIL;
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		{
			if (!onlyCurrentScope_p2) goto LA15_;
			eqdestroy___ast_u4574(m_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA15_: ;
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		m_1 = lookUpForDeclared__sem_u26126(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], onlyCurrentScope_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			NIM_BOOL T19_;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_2;
			T19_ = (NIM_BOOL)0;
			T19_ = !((m_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T19_)) goto LA20_;
			T19_ = ((*m_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6));
LA20_: ;
			if (!T19_) goto LA21_;
			ident_2 = NIM_NIL;
			ident_2 = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T28_;
				if (!(m_1 == (*c_p0).module)) goto LA26_;
				T28_ = NIM_NIL;
				T28_ = strTableGet__astalgo_u2726((*(*c_p0).topLevelScope).symbols, ident_2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T28_); goto LA23_;}
				eqsink___ast_u4583(&result, T28_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
			goto LA24_;
LA26_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T30_;
				T30_ = NIM_NIL;
				T30_ = someSym__modulegraphs_u3324((*c_p0).graph, m_1, ident_2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T30_); goto LA23_;}
				eqsink___ast_u4583(&result, T30_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
LA24_: ;
			{
				LA23_:;
			}
			{
				oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(ident_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				*nimErr_ = oldNimErrFin23_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		}
LA21_: ;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(m_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		eqcopy___ast_u4577(&result, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165):
	{
		eqcopy___ast_u4577(&result, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T39_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T40_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T39_.len = 0; T39_.p = NIM_NIL;
		T40_ = 0;
		colontmpD_ = renderTree__renderer_u59(n_p1, T40_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		T39_ = rawNewString(colontmpD_.len + 30);
appendString((&T39_), TM__rF9caJawfOjYTjsgLVUSGFA_1321);
appendString((&T39_), colontmpD_);
		colontmpD__2 = T39_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1322, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		{
			LA38_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDeclared__sem_u26147)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL onlyCurrentScope_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = lookUpForDeclared__sem_u26126(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], onlyCurrentScope_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result)._kind_1.intVal = ((NI64) (!((colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))));
	(*result).info = (*n_p1).info;
	T2_ = NIM_NIL;
	T2_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T2_); goto LA1_;}
	eqsink___ast_u3387(&(*result).typField, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tryExpr__sem_u113)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* oldScope_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tySequence__4zAALtm0xUbRlYWQ2V8K7A oldGenerics_1;
	tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ* oldProcCon_1;
	NimStringV2 err_1;
	NI oldErrorCount_1;
	NI oldErrorMax_1;
	NI oldCompilesId_1;
	NI oldOwnerLen_1;
	NI T6_;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw oldErrorOutputs_1;
	NI oldContextLen_1;
	NI oldInGenericContext_1;
	NI oldInUnrolledContext_1;
	NI oldInGenericInst_1;
	NI oldInStaticContext_1;
	tySequence__4zAALtm0xUbRlYWQ2V8K7A T11_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	oldScope_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	oldGenerics_1.len = 0; oldGenerics_1.p = NIM_NIL;
	oldProcCon_1 = NIM_NIL;
	err_1.len = 0; err_1.p = NIM_NIL;
	oldErrorCount_1 = (*(*(*c_p0).graph).config).errorCounter;
	oldErrorMax_1 = (*(*(*c_p0).graph).config).errorMax;
	oldCompilesId_1 = (*c_p0).compilesContextId;
	{
		if (!((*c_p0).compilesContextId == ((NI)0))) goto LA4_;
		(*c_p0).compilesContextIdGenerator += ((NI)1);
		(*c_p0).compilesContextId = (*c_p0).compilesContextIdGenerator;
	}
LA4_: ;
	(*(*(*c_p0).graph).config).errorMax = ((NI)2147483647);
	eqcopy___lookups_u77(&oldScope_1, (*c_p0).currentScope);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T6_ = (*(*c_p0).graph).owners.len;
	oldOwnerLen_1 = T6_;
	eqcopy___semdata_u2668((&oldGenerics_1), (*c_p0).generics);
	oldErrorOutputs_1 = (*(*(*c_p0).graph).config).m.errorOutputs;
	{
		if (!!(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0))) goto LA9_;
		(*(*(*c_p0).graph).config).m.errorOutputs = 0;
	}
LA9_: ;
	oldContextLen_1 = getInfoContextLen__msgs_u556((*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	oldInGenericContext_1 = (*c_p0).inGenericContext;
	oldInUnrolledContext_1 = (*c_p0).inUnrolledContext;
	oldInGenericInst_1 = (*c_p0).inGenericInst;
	oldInStaticContext_1 = (*c_p0).inStaticContext;
	eqcopy___semdata_u704(&oldProcCon_1, (*c_p0).p);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T11_.len = 0; T11_.p = NIM_NIL;
	T11_.len = 0; T11_.p = (tySequence__4zAALtm0xUbRlYWQ2V8K7A_Content*) newSeqPayload(0, sizeof(tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw), NIM_ALIGNOF(tyObject_TInstantiationPair__bS87nlCVAcAYxO9aJequmYw));
	eqsink___semdata_u2674((&(*c_p0).generics), T11_);
	T13_ = NIM_NIL;
	T13_ = semExpr__sem_u58(c_p0, n_p1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA12_;}
	result = T13_;
	{
		NIM_BOOL T16_;
		T16_ = (NIM_BOOL)0;
		T16_ = !((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (!(T16_)) goto LA17_;
		T16_ = !(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)18)))&31U)))!=0));
LA17_: ;
		if (!T16_) goto LA18_;
		trackStmt__sempass2_u8701(c_p0, (*c_p0).module, result, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
	}
LA18_: ;
	{
		if (!!(((*(*(*c_p0).graph).config).errorCounter == oldErrorCount_1))) goto LA22_;
		eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
	}
LA22_: ;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA12_:;
		if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 4171512832)) {
			*nimErr_ = NIM_FALSE;
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			popCurrentException();
			LA25_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*c_p0).compilesContextId = oldCompilesId_1;
	eqsink___semdata_u2674((&(*c_p0).generics), oldGenerics_1);
	eqwasMoved___semdata_u2662((&oldGenerics_1));
	(*c_p0).inGenericContext = oldInGenericContext_1;
	(*c_p0).inUnrolledContext = oldInUnrolledContext_1;
	(*c_p0).inGenericInst = oldInGenericInst_1;
	(*c_p0).inStaticContext = oldInStaticContext_1;
	eqsink___semdata_u710(&(*c_p0).p, oldProcCon_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___semdata_u698(&oldProcCon_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setInfoContextLen__msgs_u562((*(*c_p0).graph).config, oldContextLen_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setLen__ast_u4725((&(*(*c_p0).graph).owners), (oldOwnerLen_1));
	eqsink___lookups_u83(&(*c_p0).currentScope, oldScope_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___lookups_u71(&oldScope_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*(*c_p0).graph).config).m.errorOutputs = oldErrorOutputs_1;
	(*(*(*c_p0).graph).config).errorCounter = oldErrorCount_1;
	(*(*(*c_p0).graph).config).errorMax = oldErrorMax_1;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___semdata_u701(oldProcCon_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___semdata_u2665(oldGenerics_1);
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(oldScope_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCompiles__sem_u26484)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((T4_ == ((NI)2)))) goto LA5_;
		result = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	colontmpD_ = tryExpr__sem_u113(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], flags_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) (!((colontmpD_ == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))))));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).info = (*n_p1).info;
	T7_ = NIM_NIL;
	T7_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T7_); goto LA1_;}
	eqsink___ast_u3387(&(*result).typField, T7_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixupStaticType__sem_u23011)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T5_;
		if (!!(((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60)))) goto LA3_;
		colontmpD_ = eqdup___ast_u3384((*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T5_ = NIM_NIL;
		T5_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60), c_p0, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T5_); goto BeforeRet_;}
		eqsink___ast_u3387(&(*n_p1).typField, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&(*(*n_p1).typField).n, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, isOpImpl__sem_u23018)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t1_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t2_1;
	NIM_BOOL res_1;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	t1_1 = NIM_NIL;
	t2_1 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NI T6_;
		NimStringV2 argX60gensym5226__1;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NI)0;
		T6_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = (T6_ == ((NI)3));
		if (!(T5_)) goto LA7_;
		T5_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA7_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA8_;
		T4_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22) || (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4));
LA8_: ;
		if (!!(T4_)) goto LA9_;
		argX60gensym5226__1.len = 0; argX60gensym5226__1.p = NIM_NIL;
		argX60gensym5226__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym5226__1, TM__rF9caJawfOjYTjsgLVUSGFA_1326);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			LA11_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym5226__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	res_1 = NIM_FALSE;
	eqcopy___ast_u3381(&t1_1, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&t2_1, (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T16_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T20_;
		T16_ = (NIM_BOOL)0;
		T16_ = ((*t1_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
		if (!(T16_)) goto LA17_;
		T16_ = !(((*t2_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA17_: ;
		if (!T16_) goto LA18_;
		T20_ = NIM_NIL;
		T20_ = base__ast_u5351(t1_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T20_); goto LA1_;}
		eqsink___ast_u3387(&t1_1, T20_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA18_: ;
	{
		NimStringV2 colontmpD_;
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22))) goto LA23_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuNormalize((*(*n_p1)._kind_6.sons.p->data[((NI)2)])._kind_3.strVal);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (eqStrings(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_1328)) goto LA25_;
		if (eqStrings(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_1330)) goto LA26_;
		goto LA27_;
		LA25_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			NIM_BOOL T30_;
			t_1 = NIM_NIL;
			t_1 = skipTypes__ast_u5379(t1_1, TM__rF9caJawfOjYTjsgLVUSGFA_241);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T30_ = (NIM_BOOL)0;
			T30_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
			if (!(T30_)) goto LA31_;
			T30_ = ((*t_1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA31_: ;
			res_1 = T30_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA28_;
		LA26_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
			NIM_BOOL T33_;
			NIM_BOOL T34_;
			t_2 = NIM_NIL;
			t_2 = skipTypes__ast_u5379(t1_1, TM__rF9caJawfOjYTjsgLVUSGFA_241);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T33_ = (NIM_BOOL)0;
			T34_ = (NIM_BOOL)0;
			T34_ = ((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
			if (!(T34_)) goto LA35_;
			T34_ = ((*t_2).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA35_: ;
			T33_ = T34_;
			if (!(T33_)) goto LA36_;
			T33_ = (((*t_2).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15)))&63U)))!=0);
LA36_: ;
			res_1 = T33_;
			eqdestroy___ast_u3378(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA28_;
		LA27_: ;
		{
			res_1 = NIM_FALSE;
		}
LA28_: ;
		eqdestroy___system_u2691(colontmpD_);
	}
	goto LA21_;
LA23_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g m_1;
		tySet_tyEnum_TTypeRelFlag__yHDjpmVEXqbkZzsG3uHRHw T50_;
		tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ T51_;
		colontmpD__2 = NIM_NIL;
		nimZeroMem((void*)(&m_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
		{
			colontmpD__2 = skipTypes__ast_u5379(t1_1, TM__rF9caJawfOjYTjsgLVUSGFA_48);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			if (!!(((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10)))) goto LA42_;
			maybeLiftType__sem_u22808(&t2_1, c_p0, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		}
		goto LA40_;
LA42_: ;
		{
		}
LA40_: ;
		newCandidate__sigmatch_u456(c_p0, t2_1, (&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		{
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ T49_;
			if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11)))&31U)))!=0)) goto LA47_;
			T49_.len = 0; T49_.p = NIM_NIL;
			T49_.len = 0; T49_.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
			eqsink___system_u5515((&m_1.diagnostics), T49_);
			m_1.diagnosticsEnabled = NIM_TRUE;
		}
LA47_: ;
		T50_ = 0;
		T51_ = (tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)0;
		T51_ = typeRel__sigmatch_u253((&m_1), t2_1, t1_1, T50_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		res_1 = (((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)3) <= T51_);
		{
			LA39_:;
		}
		{
			oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___sigmatch_u162((&m_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin39_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA21_: ;
	result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) (res_1)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*result).typField, (*n_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t1_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIs__sem_u23092)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* boolType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* lhsType_1;
	NIM_BOOL liftLhs_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin51_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T60_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	boolType_1 = NIM_NIL;
	lhsType_1 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NI T5_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NI)0;
		T5_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = !((T5_ == ((NI)3)));
		if (T4_) goto LA6_;
		T4_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA6_: ;
		if (!T4_) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1324, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1325, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = errorNode__semdata_u4571(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(lhsType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(boolType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	boolType_1 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*n_p1).typField, boolType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	liftLhs_1 = NIM_TRUE;
	T9_ = NIM_NIL;
	T9_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], 1026, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T9_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t2_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22)))) goto LA12_;
		t2_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		t2_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T15_ = NIM_NIL;
		T15_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*(*n_p1)._kind_6.sons.p->data[((NI)2)]).info, t2_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA14_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)2)], T15_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* evaluated_1;
			if (!((*t2_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA18_;
			evaluated_1 = NIM_NIL;
			evaluated_1 = tryConstExpr__sem_u600(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				if (!!((evaluated_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA23_;
				fixupStaticType__sem_u23011(c_p0, evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqwasMoved___ast_u3249(&evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
			goto LA21_;
LA23_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
				T26_ = NIM_NIL;
				T26_ = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto LA20_;}
				eqsink___ast_u3261(&result, T26_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqsink___ast_u3387(&(*result).typField, boolType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqwasMoved___ast_u3375(&boolType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqdestroy___ast_u3252(evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(t2_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(lhsType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(boolType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA21_: ;
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(evaluated_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
		goto LA16_;
LA18_: ;
		{
			NIM_BOOL T30_;
			NIM_BOOL T32_;
			T30_ = (NIM_BOOL)0;
			T30_ = ((*t2_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
			if (!(T30_)) goto LA31_;
			T32_ = (NIM_BOOL)0;
			colontmpD_ = base__ast_u5351(t2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T32_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0));
			if (T32_) goto LA33_;
			T32_ = (((*t2_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)29)))&63U)))!=0);
LA33_: ;
			T30_ = T32_;
LA31_: ;
			if (!T30_) goto LA34_;
			liftLhs_1 = NIM_FALSE;
		}
		goto LA16_;
LA34_: ;
LA16_: ;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(t2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA12_: ;
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T39_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T40_;
		T39_ = 0;
		T40_ = NIM_NIL;
		T40_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)2)], T39_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T40_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)2)], T40_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	eqcopy___ast_u3381(&lhsType_1, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*lhsType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)))) goto LA43_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T49_;
			if (!liftLhs_1) goto LA47_;
			T49_ = NIM_NIL;
			T49_ = makeTypeSymNode__semdata_u4411(c_p0, lhsType_1, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T49_); goto LA1_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T49_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqcopy___ast_u3381(&lhsType_1, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA47_: ;
	}
	goto LA41_;
LA43_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		{
			NIM_BOOL T54_;
			T54_ = (NIM_BOOL)0;
			T54_ = (((NI)0) < (*c_p0).inGenericContext);
			if (!(T54_)) goto LA55_;
			colontmpD__2 = base__ast_u5351(lhsType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
			T54_ = containsUnresolvedType__types_u3467(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
LA55_: ;
			if (!T54_) goto LA56_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(lhsType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(boolType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA56_: ;
		{
			LA51_:;
		}
		{
			oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin51_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA41_: ;
	T60_ = NIM_NIL;
	T60_ = isOpImpl__sem_u23018(c_p0, n_p1, flags_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T60_); goto LA1_;}
	eqsink___ast_u3261(&result, T60_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(lhsType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(boolType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExpandToAst__sem_u26186)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* macroCall_1;
NIM_BOOL oldNimErrFin7_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T65_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	macroCall_1 = NIM_NIL;
	eqcopy___ast_u3255(&macroCall_1, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headSymbol_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* cand_1;
		tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* symx_1;
		NI cands_1;
		T4_ = (NIM_BOOL)0;
		T4_ = isCallExpr__ast_u3180(macroCall_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		headSymbol_1 = NIM_NIL;
		cand_1 = NIM_NIL;
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		symx_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(macroCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			i_2 = ((NI)1);
			{
				while (1) {
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T11_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
					if (!(i_2 < colontmp_)) goto LA10;
					i_1 = i_2;
					T11_ = 0;
					T12_ = NIM_NIL;
					T12_ = semExprWithType__sem_u63(c_p0, (*macroCall_1)._kind_6.sons.p->data[i_1], T11_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA7_;}
					eqsink___ast_u3261(&(*macroCall_1)._kind_6.sons.p->data[i_1], T12_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					i_2 += ((NI)1);
				} LA10: ;
			}
		}
		eqcopy___ast_u3255(&headSymbol_1, (*macroCall_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		cands_1 = ((NI)0);
		cand_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		symx_1 = initOverloadIter__lookups_u5784((&o_1), c_p0, headSymbol_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T23_;
				if (!!((symx_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA14;
				{
					NIM_BOOL T17_;
					NI T19_;
					NI T20_;
					T17_ = (NIM_BOOL)0;
					T17_ = ((*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
					if (!(T17_)) goto LA18_;
					T19_ = (NI)0;
					T19_ = len__ast_u5502((*symx_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					T20_ = (NI)0;
					T20_ = len__ast_u3190(macroCall_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					T17_ = (T19_ == T20_);
LA18_: ;
					if (!T17_) goto LA21_;
					eqsink___ast_u4583(&cand_1, symx_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					eqwasMoved___ast_u4571(&symx_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					cands_1 += ((NI)1);
				}
LA21_: ;
				T23_ = NIM_NIL;
				T23_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, headSymbol_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T23_); goto LA7_;}
				eqsink___ast_u4583(&symx_1, T23_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			} LA14: ;
		}
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NimStringV2 T29_;
			NI T30_;
			if (!(cands_1 == ((NI)0))) goto LA26_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T29_.len = 0; T29_.p = NIM_NIL;
			T30_ = (NI)0;
			T30_ = len__ast_u3190(macroCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			colontmpD_ = dollar___systemZdollars_u9((NI)(T30_ - ((NI)1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			T29_ = rawNewString(colontmpD_.len + 41);
appendString((&T29_), TM__rF9caJawfOjYTjsgLVUSGFA_1332);
appendString((&T29_), colontmpD_);
appendString((&T29_), TM__rF9caJawfOjYTjsgLVUSGFA_1334);
			colontmpD__2 = T29_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1335, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			{
				LA28_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA24_;
LA26_: ;
		{
			NimStringV2 colontmpD__3;
			NimStringV2 colontmpD__4;
			NimStringV2 T37_;
			if (!(((NI)2) <= cands_1)) goto LA34_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			T37_.len = 0; T37_.p = NIM_NIL;
			colontmpD__3 = dollar___renderer_u2166(macroCall_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			T37_ = rawNewString(colontmpD__3.len + 38);
appendString((&T37_), TM__rF9caJawfOjYTjsgLVUSGFA_1337);
appendString((&T37_), colontmpD__3);
			colontmpD__4 = T37_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1338, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				LA36_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA24_;
LA34_: ;
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T41_;
			info_1 = (*(*macroCall_1)._kind_6.sons.p->data[((NI)0)]).info;
			T41_ = NIM_NIL;
			T41_ = newSymNode__ast_u5171(cand_1, info_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T41_); goto LA7_;}
			eqsink___ast_u3261(&(*macroCall_1)._kind_6.sons.p->data[((NI)0)], T41_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			markUsed__sigmatch_u100(c_p0, info_1, cand_1, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA24_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(symx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___lookups_u6249((&o_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(cand_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(headSymbol_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA5_: ;
	{
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 T46_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T47_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		T46_.len = 0; T46_.p = NIM_NIL;
		T47_ = 0;
		colontmpD__5 = renderTree__renderer_u59(n_p1, T47_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		T46_ = rawNewString(colontmpD__5.len + 29);
appendString((&T46_), TM__rF9caJawfOjYTjsgLVUSGFA_1340);
appendString((&T46_), colontmpD__5);
		colontmpD__6 = T46_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1341, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		{
			LA45_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		NimStringV2 argX60gensym6526__1;
		if (!!(((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)27)))) goto LA52_;
		argX60gensym6526__1.len = 0; argX60gensym6526__1.p = NIM_NIL;
		argX60gensym6526__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1342);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym6526__1, TM__rF9caJawfOjYTjsgLVUSGFA_1342);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		{
			LA54_:;
		}
		{
			eqdestroy___system_u2691(argX60gensym6526__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA52_: ;
	{
		NIM_BOOL T59_;
		NI T61_;
		T59_ = (NIM_BOOL)0;
		T59_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115));
		if (!(T59_)) goto LA60_;
		T61_ = (NI)0;
		T61_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T59_ = (T61_ == ((NI)1));
LA60_: ;
		if (!T59_) goto LA62_;
		eqcopy___ast_u3255(&result, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA57_;
LA62_: ;
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA57_: ;
	T65_ = NIM_NIL;
	T65_ = sysTypeFromName__magicsys_u50((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1343);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T65_); goto LA1_;}
	eqsink___ast_u3387(&(*result).typField, T65_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(macroCall_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExpandToAst__sem_u26231)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* magicSym_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)2))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = newSymNode__ast_u5171(magicSym_p2, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = semExpandToAst__sem_u26186(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		result = semDirectOp__sem_u526(c_p0, n_p1, flags_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, expectString__sem_u26172)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NimStringV2 result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	n_2 = NIM_NIL;
	n_2 = semConstExpr__sem_u631(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*n_2).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*n_2).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22))) goto LA4_;
		eqcopy___system_u2694((&result), (*n_2)._kind_3.strVal);
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		result = TM__rF9caJawfOjYTjsgLVUSGFA_1347;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1348, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1349, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newAnonSym__sem_u26181)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getCurrOwner__semdata_u425(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = 0;
	result = newSym__ast_u4205(kind_p1, (*(*c_p0).cache).idAnon, (*c_p0).Sup.idgen, colontmpD_, info_p2, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, processQuotations__sem_u26237)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, NimStringV2 op_p2, tySequence__9ahcSjIErJohSBBFLwuF56Q* quotes_p3, tySequence__9ahcSjIErJohSBBFLwuF56Q* ids_p4) {
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin57_;
NIM_BOOL oldNimErrFin46_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30))) goto LA3_;
		checkSonsLen__semdata_u4671((*n_p1), ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NimStringV2 examinedOpX60gensym6532__1;
			if (!((*(*(*n_p1))._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA7_;
			examinedOpX60gensym6532__1.len = 0; examinedOpX60gensym6532__1.p = NIM_NIL;
			eqcopy___system_u2694((&examinedOpX60gensym6532__1), (*(*(*(*n_p1))._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s);
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				NimStringV2 colontmpD__2;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				NI T15_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
				if (!eqStrings(examinedOpX60gensym6532__1, op_p2)) goto LA12_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				colontmpD_ = eqdup___ast_u3258((*(*n_p1))._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				add__ast_u3225((&(*quotes_p3)), colontmpD_);
				T15_ = (*quotes_p3).len;
				colontmpD__2 = dollar___systemZdollars_u9(T15_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				colontmpD__3 = getIdent__idents_u206((*c_p0).cache, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				T16_ = NIM_NIL;
				T16_ = newIdentNode__ast_u5164(colontmpD__3, (*(*n_p1)).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA14_;}
				eqsink___ast_u3261(&(*n_p1), T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				colontmpD__4 = eqdup___ast_u3258((*n_p1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				add__ast_u3225((&(*ids_p4)), colontmpD__4);
				eqdestroy___idents_u155(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(examinedOpX60gensym6532__1);
				goto BeforeRet_;
				{
					LA14_:;
				}
				{
					oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					eqdestroy___system_u2691(colontmpD__2);
					*nimErr_ = oldNimErrFin14_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
			goto LA10_;
LA12_: ;
			{
				NIM_BOOL T20_;
				NimStringV2 colontmpD__5;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__6;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
				T20_ = (NIM_BOOL)0;
				T20_ = nsuStartsWith(examinedOpX60gensym6532__1, op_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				if (!T20_) goto LA21_;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				colontmpD__6 = NIM_NIL;
				colontmpD__5 = substr__system_u8645(examinedOpX60gensym6532__1, op_p2.len);
				colontmpD__6 = getIdent__idents_u206((*c_p0).cache, colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				T23_ = NIM_NIL;
				T23_ = newIdentNode__ast_u5164(colontmpD__6, (*(*n_p1)).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA9_;}
				eqsink___ast_u3261(&(*(*n_p1))._kind_6.sons.p->data[((NI)0)], T23_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___idents_u155(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___system_u2691(colontmpD__5);
			}
			goto LA10_;
LA21_: ;
LA10_: ;
			{
				LA9_:;
			}
			{
				eqdestroy___system_u2691(examinedOpX60gensym6532__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
	goto LA1_;
LA3_: ;
	{
		if (!((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53))) goto LA27_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			NimStringV2 colontmpD__8;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__9;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			NI T34_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
			if (!eqStrings(op_p2, TM__rF9caJawfOjYTjsgLVUSGFA_1355)) goto LA31_;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			colontmpD__9 = NIM_NIL;
			colontmpD__7 = eqdup___ast_u3258((*(*n_p1))._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			add__ast_u3225((&(*quotes_p3)), colontmpD__7);
			T34_ = (*quotes_p3).len;
			colontmpD__8 = dollar___systemZdollars_u9(T34_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__9 = getIdent__idents_u206((*c_p0).cache, colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			T35_ = NIM_NIL;
			T35_ = newIdentNode__ast_u5164(colontmpD__9, (*(*n_p1)).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto LA33_;}
			eqsink___ast_u3261(&(*n_p1), T35_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__10 = eqdup___ast_u3258((*n_p1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			add__ast_u3225((&(*ids_p4)), colontmpD__10);
			eqdestroy___idents_u155(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__8);
			goto BeforeRet_;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___system_u2691(colontmpD__8);
				*nimErr_ = oldNimErrFin33_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA29_;
LA31_: ;
		{
			{
				NIM_BOOL T41_;
				NI T42_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tempNode_1;
				tyArray__Nwi28HyTG9cEj6FfWArgLbQ T47_;
				T41_ = (NIM_BOOL)0;
				T42_ = (NI)0;
				T42_ = len__ast_u3190((*n_p1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T41_ = (T42_ == ((NI)2));
				if (!(T41_)) goto LA43_;
				T41_ = eqStrings((*(*(*(*n_p1))._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, op_p2);
LA43_: ;
				if (!T41_) goto LA44_;
				tempNode_1 = NIM_NIL;
				nimZeroMem((void*)T47_, sizeof(tyArray__Nwi28HyTG9cEj6FfWArgLbQ));
				tempNode_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30), T47_, 0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				newSons__ast_u6108(tempNode_1, ((NI)2));
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				eqcopy___ast_u3255(&(*tempNode_1)._kind_6.sons.p->data[((NI)0)], (*(*n_p1))._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				eqcopy___ast_u3255(&(*tempNode_1)._kind_6.sons.p->data[((NI)1)], (*(*n_p1))._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				{
					NimStringV2 examinedOpX60gensym6545__1;
					if (!((*(*tempNode_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA50_;
					examinedOpX60gensym6545__1.len = 0; examinedOpX60gensym6545__1.p = NIM_NIL;
					eqcopy___system_u2694((&examinedOpX60gensym6545__1), (*(*(*tempNode_1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s);
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
						NimStringV2 colontmpD__12;
						tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__13;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__14;
						NI T58_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T59_;
						if (!eqStrings(examinedOpX60gensym6545__1, op_p2)) goto LA55_;
						colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
						colontmpD__13 = NIM_NIL;
						colontmpD__11 = eqdup___ast_u3258((*tempNode_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
						add__ast_u3225((&(*quotes_p3)), colontmpD__11);
						T58_ = (*quotes_p3).len;
						colontmpD__12 = dollar___systemZdollars_u9(T58_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
						colontmpD__13 = getIdent__idents_u206((*c_p0).cache, colontmpD__12);
						if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
						T59_ = NIM_NIL;
						T59_ = newIdentNode__ast_u5164(colontmpD__13, (*(*n_p1)).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T59_); goto LA57_;}
						eqsink___ast_u3261(&(*n_p1), T59_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
						colontmpD__14 = eqdup___ast_u3258((*n_p1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
						add__ast_u3225((&(*ids_p4)), colontmpD__14);
						eqdestroy___idents_u155(colontmpD__13);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						eqdestroy___system_u2691(colontmpD__12);
						eqdestroy___system_u2691(examinedOpX60gensym6545__1);
						eqdestroy___ast_u3252(tempNode_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
						{
							LA57_:;
						}
						{
							oldNimErrFin57_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___idents_u155(colontmpD__13);
							if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
							eqdestroy___system_u2691(colontmpD__12);
							*nimErr_ = oldNimErrFin57_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
					}
					goto LA53_;
LA55_: ;
					{
						NIM_BOOL T63_;
						NimStringV2 colontmpD__15;
						tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__16;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T66_;
						T63_ = (NIM_BOOL)0;
						T63_ = nsuStartsWith(examinedOpX60gensym6545__1, op_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						if (!T63_) goto LA64_;
						colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
						colontmpD__16 = NIM_NIL;
						colontmpD__15 = substr__system_u8645(examinedOpX60gensym6545__1, op_p2.len);
						colontmpD__16 = getIdent__idents_u206((*c_p0).cache, colontmpD__15);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						T66_ = NIM_NIL;
						T66_ = newIdentNode__ast_u5164(colontmpD__16, (*tempNode_1).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T66_); goto LA52_;}
						eqsink___ast_u3261(&(*tempNode_1)._kind_6.sons.p->data[((NI)0)], T66_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						eqdestroy___idents_u155(colontmpD__16);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						eqdestroy___system_u2691(colontmpD__15);
					}
					goto LA53_;
LA64_: ;
LA53_: ;
					{
						LA52_:;
					}
					{
						eqdestroy___system_u2691(examinedOpX60gensym6545__1);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				}
LA50_: ;
				{
					LA46_:;
				}
				{
					oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(tempNode_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin46_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA44_: ;
		}
LA29_: ;
	}
	goto LA1_;
LA27_: ;
	{
		if (!((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA72_;
		{
			if (!eqStrings((*(*(*n_p1))._kind_5.ident).s, TM__rF9caJawfOjYTjsgLVUSGFA_1356)) goto LA76_;
			eqcopy___ast_u3255(&(*n_p1), (*ids_p4).p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA76_: ;
	}
	goto LA1_;
LA72_: ;
LA1_: ;
	{
		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 LA80;
				i_1 = i_2;
				processQuotations__sem_u26237(c_p0, &(*(*n_p1))._kind_6.sons.p->data[i_1], op_p2, quotes_p3, ids_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA80: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBodyDirty__sem_u11548)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T3_;
		s_1 = NIM_NIL;
		T3_ = 0;
		s_1 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T3_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA6_;
			colontmpD_ = NIM_NIL;
			{
				NIM_BOOL T11_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
				T11_ = (NIM_BOOL)0;
				colontmpD_ = owner__ast_u6254(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				T11_ = (colontmpD_ == (*c_p0).owner);
				if (!(T11_)) goto LA12_;
				T11_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA12_: ;
				if (!T11_) goto LA13_;
				T15_ = NIM_NIL;
				T15_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA8_;}
				eqsink___ast_u3261(&result, T15_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
			goto LA9_;
LA13_: ;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2533__1;
				NIM_BOOL T17_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
				xX60gensym2533__1 = (*s_1).itemId;
				T17_ = (NIM_BOOL)0;
				T17_ = contains__astalgo_u2846((&(*c_p0).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2533__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2533__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				if (!T17_) goto LA18_;
				T20_ = NIM_NIL;
				T20_ = symChoice__sem_u10236((*c_p0).c, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto LA8_;}
				eqsink___ast_u3261(&result, T20_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
			goto LA9_;
LA18_: ;
LA9_: ;
			{
				LA8_:;
			}
			{
				oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				*nimErr_ = oldNimErrFin8_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
LA6_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)55):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
		T26_ = NIM_NIL;
		T26_ = semTemplBodyDirty__sem_u11548(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
		tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* T28_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T29_;
		T28_ = NIM_NIL;
		T28_ = (*c_p0).c;
		T29_ = NIM_NIL;
		T29_ = semBindStmt__sem_u10302(T28_, n_p1, (&(*c_p0).toBind));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T29_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T29_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)24):
	{
	}
	break;
	default:
	{
		{
			NIM_BOOL T34_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
			tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T39_;
			T34_ = (NIM_BOOL)0;
			T34_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
			if (T34_) goto LA35_;
			T34_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53));
LA35_: ;
			if (!T34_) goto LA36_;
			s_2 = NIM_NIL;
			T39_ = 0;
			s_2 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T39_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			{
				NIM_BOOL T42_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2537__1;
				T42_ = (NIM_BOOL)0;
				T42_ = !((s_2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
				if (!(T42_)) goto LA43_;
				xX60gensym2537__1 = (*s_2).itemId;
				T42_ = contains__astalgo_u2846((&(*c_p0).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2537__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2537__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
LA43_: ;
				if (!T42_) goto LA44_;
				result = symChoice__sem_u10236((*c_p0).c, n_p1, s_2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA44_: ;
			{
				LA38_:;
			}
			{
				oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin38_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA36_: ;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			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* T51_;
					if (!(i_2 < colontmp_)) goto LA50;
					i_1 = i_2;
					T51_ = NIM_NIL;
					T51_ = semTemplBodyDirty__sem_u11548(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T51_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T51_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA50: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplSymbol__sem_u10631)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, NIM_BOOL isField_p3, NIM_BOOL isAmbiguous_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin102_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	(*s_p2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
	markOwnerModuleAsUsed__sigmatch_u106((*c_p0).c, s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*s_p2).kind) {
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) ... ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20):
	{
		result = symChoice__sem_u10236((*c_p0).c, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)1), isField_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = !(isField_p3);
			if (!(T5_)) goto LA6_;
			T5_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
LA6_: ;
			if (!T5_) goto LA7_;
			{
				if (!(((*(*c_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA11_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
					if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA15_;
					T17_ = NIM_NIL;
					T17_ = newOpenSym__ast_u5175(result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T17_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA13_;
LA15_: ;
				{
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA13_: ;
			}
			goto LA9_;
LA11_: ;
			{
				(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
				eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA9_: ;
		}
LA7_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4):
	{
		{
			NIM_BOOL T23_;
			T23_ = (NIM_BOOL)0;
			T23_ = isField_p3;
			if (!(T23_)) goto LA24_;
			T23_ = (((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0);
LA24_: ;
			if (!T23_) goto LA25_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA21_;
LA25_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			colontmpD_ = NIM_NIL;
			result = newSymNodeTypeDesc__semfold_u820(s_p2, (*(*c_p0).c).Sup.idgen, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T30_;
				T30_ = (NIM_BOOL)0;
				T30_ = !(isField_p3);
				if (!(T30_)) goto LA31_;
				colontmpD_ = owner__ast_u6254(s_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T30_ = !((colontmpD_ == (*c_p0).owner));
LA31_: ;
				if (!T30_) goto LA32_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
					if (!(((*(*c_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA36_;
					T38_ = NIM_NIL;
					T38_ = newOpenSym__ast_u5175(result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T38_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA34_;
LA36_: ;
				{
					(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA34_: ;
			}
LA32_: ;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA21_: ;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
	{
		{
			NIM_BOOL T44_;
			T44_ = (NIM_BOOL)0;
			T44_ = isField_p3;
			if (!(T44_)) goto LA45_;
			T44_ = (((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0);
LA45_: ;
			if (!T44_) goto LA46_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA42_;
LA46_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			colontmpD__2 = NIM_NIL;
			{
				if (!isAmbiguous_p4) goto LA52_;
				result = symChoice__sem_u10236((*c_p0).c, n_p1, s_p2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)1), isField_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			}
			goto LA50_;
LA52_: ;
			{
				result = newSymNodeTypeDesc__semfold_u820(s_p2, (*(*c_p0).c).Sup.idgen, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			}
LA50_: ;
			{
				NIM_BOOL T57_;
				NIM_BOOL T58_;
				NIM_BOOL T60_;
				NIM_BOOL T61_;
				T57_ = (NIM_BOOL)0;
				T58_ = (NIM_BOOL)0;
				T58_ = !(isField_p3);
				if (!(T58_)) goto LA59_;
				T60_ = (NIM_BOOL)0;
				T61_ = (NIM_BOOL)0;
				colontmpD__2 = owner__ast_u6254(s_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				T61_ = (colontmpD__2 == (*c_p0).owner);
				if (!(T61_)) goto LA62_;
				T61_ = !(((*s_p2).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA62_: ;
				T60_ = T61_;
				if (!(T60_)) goto LA63_;
				T60_ = ((*(*s_p2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
LA63_: ;
				T58_ = !(T60_);
LA59_: ;
				T57_ = T58_;
				if (!(T57_)) goto LA64_;
				T57_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
LA64_: ;
				if (!T57_) goto LA65_;
				{
					if (!(((*(*c_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA69_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T75_;
						if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA73_;
						T75_ = NIM_NIL;
						T75_ = newOpenSym__ast_u5175(result);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T75_); goto LA49_;}
						eqsink___ast_u3261(&result, T75_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					}
					goto LA71_;
LA73_: ;
					{
						eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					}
LA71_: ;
				}
				goto LA67_;
LA69_: ;
				{
					(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				}
LA67_: ;
			}
LA65_: ;
			{
				LA49_:;
			}
			{
				oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin49_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA42_: ;
	}
	break;
	default:
	{
		{
			NIM_BOOL T83_;
			T83_ = (NIM_BOOL)0;
			T83_ = isField_p3;
			if (!(T83_)) goto LA84_;
			T83_ = (((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0);
LA84_: ;
			if (!T83_) goto LA85_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA81_;
LA85_: ;
		{
			result = newSymNode__ast_u5171(s_p2, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!!(isField_p3)) goto LA90_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T96_;
					if (!(((*(*c_p0).c).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)21)))&31U)))!=0)) goto LA94_;
					T96_ = NIM_NIL;
					T96_ = newOpenSym__ast_u5175(result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T96_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T96_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA92_;
LA94_: ;
				{
					(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25))) & 31);
					eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA92_: ;
			}
LA90_: ;
		}
LA81_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			if (!!(isField_p3)) goto LA100_;
			colontmpD__3 = NIM_NIL;
			{
				NIM_BOOL T105_;
				NIM_BOOL T106_;
				NIM_BOOL T107_;
				NIM_BOOL T108_;
				NIM_BOOL T109_;
				tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T110_;
				T105_ = (NIM_BOOL)0;
				T106_ = (NIM_BOOL)0;
				T107_ = (NIM_BOOL)0;
				T108_ = (NIM_BOOL)0;
				T109_ = (NIM_BOOL)0;
				T110_ = 0;
				T109_ = !(((229376 & (*(*(*(*c_p0).c).graph).config).globalOptions) == T110_));
				if (!(T109_)) goto LA111_;
				T109_ = (((*(*(*(*c_p0).c).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA111_: ;
				T108_ = T109_;
				if (!(T108_)) goto LA112_;
				colontmpD__3 = getModule__modulegraphs_u14809((*(*c_p0).c).graph, (*n_p1).info.fileIndex);
				if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
				T108_ = belongsToProjectPackageMaybeNil__packages_u85((*(*(*c_p0).c).graph).config, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
LA112_: ;
				T107_ = T108_;
				if (!(T107_)) goto LA113_;
				T107_ = !(((*s_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA113_: ;
				T106_ = T107_;
				if (!(T106_)) goto LA114_;
				T106_ = (((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*s_p2).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA114_: ;
				T105_ = T106_;
				if (!(T105_)) goto LA115_;
				T105_ = !((((*s_p2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA115_: ;
				if (!T105_) goto LA116_;
				styleCheckUseImpl__linter_u198((*(*(*c_p0).c).graph).config, (*n_p1).info, s_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
			}
LA116_: ;
			{
				LA102_:;
			}
			{
				oldNimErrFin102_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin102_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA100_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBodySons__sem_u10926)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		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* T4_;
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				T4_ = NIM_NIL;
				T4_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T4_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openScope__sem_u10464)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0) {
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	colontmpD_ = openScope__lookups_u65((*c_p0).c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___lookups_u74(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, closeScope__sem_u10466)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	closeScope__lookups_u102((*c_p0).c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBodyScope__sem_u10468)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	openScope__sem_u10464(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = semTemplBody__sem_u10461(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	closeScope__sem_u10466(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA, symBinding__sem_u10192)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA result;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA)0);
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
				if (!(i_2 < colontmp_)) goto LA3;
				it_1 = NIM_NIL;
				key_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&it_1, (*n_p0)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				T5_ = NIM_NIL;
				{
					if (!((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA8_;
					eqcopy___ast_u3255(&key_1, (*it_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA6_;
LA8_: ;
				{
					key_1 = it_1;
					eqwasMoved___ast_u3249(&it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA6_: ;
				{
					tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T15_;
					if (!((*key_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA13_;
					T15_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
					T15_ = whichKeyword__idents_u360((*key_1)._kind_5.ident);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					switch (T15_) {
					case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)212):
					{
						result = ((tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA)1);
						eqdestroy___ast_u3252(key_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
					break;
					case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)213):
					{
						result = ((tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA)2);
						eqdestroy___ast_u3252(key_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
					break;
					default:
					{
					}
					break;
					}
				}
LA13_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(key_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isTemplParam__sem_u10423)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_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_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
	if (!(T2_)) goto LA3_;
	colontmpD_ = owner__ast_u6254(s_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = (colontmpD_ == (*c_p0).owner);
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)40)))&63U)))!=0);
LA4_: ;
	result = T1_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getIdentReplaceParams__sem_u10442)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyTuple__pod1b7gjdRZb0inVGup1nQ* Result) {
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__pod1b7gjdRZb0inVGup1nQ));
	switch ((*(*n_p1)).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
	{
		getIdentReplaceParams__sem_u10442(c_p0, &(*(*n_p1))._kind_6.sons.p->data[((NI)1)], Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		getIdentReplaceParams__sem_u10442(c_p0, &(*(*n_p1))._kind_6.sons.p->data[((NI)0)], Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmp_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		NIM_BOOL colontmp__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T5_;
		colontmp_ = NIM_NIL;
		s_1 = NIM_NIL;
		eqcopy___ast_u3255(&colontmp_, (*n_p1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		colontmp__2 = NIM_FALSE;
		blitTmp_1 = colontmp_;
		eqwasMoved___ast_u3249(&colontmp_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		(*Result).Field0 = blitTmp_1;
		(*Result).Field1 = colontmp__2;
		T5_ = 0;
		s_1 = qualifiedLookUp__lookups_u5229((*c_p0).c, (*n_p1), T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		{
			NIM_BOOL T8_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmp__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
			NIM_BOOL colontmp__4;
			tyTuple__pod1b7gjdRZb0inVGup1nQ T13_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_2;
			T8_ = (NIM_BOOL)0;
			T8_ = !((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T8_)) goto LA9_;
			T8_ = isTemplParam__sem_u10423((&(*c_p0)), s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
LA9_: ;
			if (!T8_) goto LA10_;
			colontmp__3 = NIM_NIL;
			T12_ = NIM_NIL;
			T12_ = newSymNode__ast_u5171(s_1, (*(*n_p1)).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA4_;}
			eqsink___ast_u3261(&(*n_p1), T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			eqcopy___ast_u3255(&colontmp__3, (*n_p1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			colontmp__4 = NIM_TRUE;
			nimZeroMem((void*)(&T13_), sizeof(tyTuple__pod1b7gjdRZb0inVGup1nQ));
			blitTmp_2 = colontmp__3;
			T13_.Field0 = blitTmp_2;
			T13_.Field1 = colontmp__4;
			eqsink___importer_u3673(Result, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		}
LA10_: ;
		{
			LA4_:;
		}
		{
			oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmp_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin4_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmp__5;
		NIM_BOOL colontmp__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_3;
		colontmp__5 = NIM_NIL;
		eqcopy___ast_u3255(&colontmp__5, (*n_p1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp__6 = isTemplParam__sem_u10423((&(*c_p0)), (*(*n_p1))._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		blitTmp_3 = colontmp__5;
		(*Result).Field0 = blitTmp_3;
		(*Result).Field1 = colontmp__6;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmp__7;
		NIM_BOOL colontmp__8;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_4;
		colontmp__7 = NIM_NIL;
		eqcopy___ast_u3255(&colontmp__7, (*n_p1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		colontmp__8 = NIM_FALSE;
		blitTmp_4 = colontmp__7;
		eqwasMoved___ast_u3249(&colontmp__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		(*Result).Field0 = blitTmp_4;
		(*Result).Field1 = colontmp__8;
		{
			NI i_1;
			NI colontmp__9;
			NI i_2;
			i_1 = (NI)0;
			colontmp__9 = (NI)0;
			colontmp__9 = safeLen__ast_u3197((*n_p1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyTuple__pod1b7gjdRZb0inVGup1nQ tmpTuple_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ident_1;
					NIM_BOOL hasParam_1;
					if (!(i_2 < colontmp__9)) goto LA21;
					nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__pod1b7gjdRZb0inVGup1nQ));
					ident_1 = NIM_NIL;
					i_1 = i_2;
					getIdentReplaceParams__sem_u10442(c_p0, &(*(*n_p1))._kind_6.sons.p->data[i_1], (&tmpTuple_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					ident_1 = tmpTuple_1.Field0;
					eqwasMoved___ast_u3249(&tmpTuple_1.Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					hasParam_1 = tmpTuple_1.Field1;
					{
						if (!hasParam_1) goto LA25_;
						eqsink___ast_u3261(&(*(*Result).Field0)._kind_6.sons.p->data[i_1], ident_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						eqwasMoved___ast_u3249(&ident_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						(*Result).Field1 = NIM_TRUE;
					}
LA25_: ;
					i_2 += ((NI)1);
					{
						LA22_:;
					}
					{
						oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(ident_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						eqdestroy___importer_u3664(tmpTuple_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						*nimErr_ = oldNimErrFin22_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				} LA21: ;
			}
		}
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmp__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmp__10;
		NIM_BOOL colontmp__11;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_5;
		colontmp__10 = NIM_NIL;
		illFormedAst__semdata_u4665((*n_p1), (*(*(*c_p0).c).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		eqcopy___ast_u3255(&colontmp__10, (*n_p1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		colontmp__11 = NIM_FALSE;
		blitTmp_5 = colontmp__10;
		eqwasMoved___ast_u3249(&colontmp__10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		(*Result).Field0 = blitTmp_5;
		(*Result).Field1 = colontmp__11;
		{
			LA32_:;
		}
		{
			oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmp__10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin32_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newGenSym__sem_u10472)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = considerQuotedIdent__lookups_u31((*c_p2).c, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	result = newSym__ast_u4205(kind_p0, colontmpD_, (*(*c_p2).c).Sup.idgen, (*c_p2).owner, (*n_p1).info, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63);
	(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)25))) & 63);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, replaceIdentBySym__sem_u10409)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*(*n_p1)).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
	{
		replaceIdentBySym__sem_u10409(c_p0, &(*(*n_p1))._kind_6.sons.p->data[((NI)1)], s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		replaceIdentBySym__sem_u10409(c_p0, &(*(*n_p1))._kind_6.sons.p->data[((NI)0)], s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		eqcopy___ast_u3255(&(*n_p1), s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		illFormedAst__semdata_u4665((*n_p1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addLocalDecl__sem_u10485)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q k_p2) {
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL oldNimErrFin76_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA T6_;
		tyTuple__pod1b7gjdRZb0inVGup1nQ tmpTuple_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ident_1;
		NIM_BOOL hasParam_1;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43));
		if (!(T4_)) goto LA5_;
		T6_ = (tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA)0;
		T6_ = symBinding__sem_u10192((*(*n_p1))._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T4_ = (T6_ == ((tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA)2));
LA5_: ;
		T3_ = T4_;
		if (T3_) goto LA7_;
		T3_ = (k_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19));
LA7_: ;
		if (!T3_) goto LA8_;
		nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__pod1b7gjdRZb0inVGup1nQ));
		ident_1 = NIM_NIL;
		getIdentReplaceParams__sem_u10442(c_p0, n_p1, (&tmpTuple_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		ident_1 = tmpTuple_1.Field0;
		eqwasMoved___ast_u3249(&tmpTuple_1.Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		hasParam_1 = tmpTuple_1.Field1;
		{
			if (!!(hasParam_1)) goto LA13_;
			{
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
				if (!!((k_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19)))) goto LA17_;
				colontmpD_ = NIM_NIL;
				colontmpD_ = considerQuotedIdent__lookups_u31((*c_p0).c, ident_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				incl__pureZcollectionsZintsets_u366((&(*c_p0).toInject), (*colontmpD_).id);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				{
					LA19_:;
				}
				{
					oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___idents_u155(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					*nimErr_ = oldNimErrFin19_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
LA17_: ;
		}
LA13_: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___importer_u3664(tmpTuple_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA8_: ;
	{
		tyTuple__pod1b7gjdRZb0inVGup1nQ tmpTuple_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ident_2;
		NIM_BOOL hasParam_2;
		nimZeroMem((void*)(&tmpTuple_2), sizeof(tyTuple__pod1b7gjdRZb0inVGup1nQ));
		ident_2 = NIM_NIL;
		{
			NIM_BOOL T28_;
			NIM_BOOL T29_;
			NI T31_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaNode_1;
			T28_ = (NIM_BOOL)0;
			T29_ = (NIM_BOOL)0;
			T29_ = ((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43));
			if (!(T29_)) goto LA30_;
			T31_ = (NI)0;
			T31_ = len__ast_u3190((*n_p1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			T29_ = (((NI)2) <= T31_);
LA30_: ;
			T28_ = T29_;
			if (!(T28_)) goto LA32_;
			T28_ = ((*(*(*n_p1))._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90));
LA32_: ;
			if (!T28_) goto LA33_;
			pragmaNode_1 = NIM_NIL;
			eqcopy___ast_u3255(&pragmaNode_1, (*(*n_p1))._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3190(pragmaNode_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ni_1;
						NIM_BOOL found_1;
						if (!(i_2 < colontmp_)) goto LA38;
						ni_1 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&ni_1, (*pragmaNode_1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
						found_1 = NIM_FALSE;
						{
							if (!((*ni_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA42_;
							{
								tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw a_1;
								NI i_3;
								a_1 = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
								i_3 = ((NI)0);
								{
									while (1) {
										if (!(i_3 <= ((NI)303))) goto LA46;
										{
											if (!((TM__rF9caJawfOjYTjsgLVUSGFA_1362[(NU)((((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw) (i_3))))>>3] &(1U<<((NU)((((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw) (i_3))))&7U)))!=0)) goto LA49_;
											a_1 = ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw) (i_3));
											{
												if (!((*(*ni_1)._kind_5.ident).id == a_1)) goto LA53_;
												found_1 = NIM_TRUE;
												goto LA44;
											}
LA53_: ;
										}
LA49_: ;
										i_3 += ((NI)1);
									} LA46: ;
								}
							} LA44: ;
						}
LA42_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T59_;
							if (!!(found_1)) goto LA57_;
							openScope__sem_u10464(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							T59_ = NIM_NIL;
							T59_ = semTemplBody__sem_u10461(c_p0, (*pragmaNode_1)._kind_6.sons.p->data[i_1]);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T59_); goto LA39_;}
							eqsink___ast_u3261(&(*pragmaNode_1)._kind_6.sons.p->data[i_1], T59_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
							closeScope__sem_u10466(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
						}
LA57_: ;
						i_2 += ((NI)1);
						{
							LA39_:;
						}
						{
							oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(ni_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							*nimErr_ = oldNimErrFin39_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					} LA38: ;
				}
			}
			{
				LA35_:;
			}
			{
				oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(pragmaNode_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				*nimErr_ = oldNimErrFin35_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		}
LA33_: ;
		getIdentReplaceParams__sem_u10442(c_p0, n_p1, (&tmpTuple_2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		ident_2 = tmpTuple_2.Field0;
		eqwasMoved___ast_u3249(&tmpTuple_2.Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		hasParam_2 = tmpTuple_2.Field1;
		{
			if (!!(hasParam_2)) goto LA66_;
			{
				NIM_BOOL T70_;
				NIM_BOOL T72_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* local_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				T70_ = (NIM_BOOL)0;
				T70_ = !(((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
				if (!(T70_)) goto LA71_;
				T72_ = (NIM_BOOL)0;
				T72_ = ((*(*n_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
				if (!(T72_)) goto LA73_;
				T72_ = ((*(*(*n_p1))._kind_5.ident).id == ((NI)74));
LA73_: ;
				T70_ = !(T72_);
LA71_: ;
				if (!T70_) goto LA74_;
				local_1 = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				local_1 = newGenSym__sem_u10472(k_p2, ident_2, c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
				addPrelimDecl__lookups_u3792((*c_p0).c, local_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
				{
					NIM_BOOL T79_;
					NIM_BOOL T80_;
					NIM_BOOL T81_;
					NIM_BOOL T82_;
					NIM_BOOL T83_;
					NIM_BOOL T84_;
					NIM_BOOL T85_;
					NIM_BOOL T86_;
					NIM_BOOL T87_;
					NIM_BOOL T88_;
					NIM_BOOL T89_;
					tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T91_;
					NIM_BOOL T100_;
					tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T103_;
					T79_ = (NIM_BOOL)0;
					T80_ = (NIM_BOOL)0;
					T81_ = (NIM_BOOL)0;
					T82_ = (NIM_BOOL)0;
					T83_ = (NIM_BOOL)0;
					T84_ = (NIM_BOOL)0;
					T85_ = (NIM_BOOL)0;
					T86_ = (NIM_BOOL)0;
					T87_ = (NIM_BOOL)0;
					T88_ = (NIM_BOOL)0;
					T89_ = (NIM_BOOL)0;
					T89_ = (((*(*(*(*c_p0).c).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
					if (!(T89_)) goto LA90_;
					T91_ = 0;
					T89_ = !(((229376 & (*(*(*(*c_p0).c).graph).config).globalOptions) == T91_));
LA90_: ;
					T88_ = T89_;
					if (!(T88_)) goto LA92_;
					T88_ = (((*(*(*(*c_p0).c).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA92_: ;
					T87_ = T88_;
					if (!(T87_)) goto LA93_;
					colontmpD__2 = getModule__modulegraphs_u14809((*(*c_p0).c).graph, (*(*n_p1)).info.fileIndex);
					if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
					T87_ = belongsToProjectPackageMaybeNil__packages_u85((*(*(*c_p0).c).graph).config, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
LA93_: ;
					T86_ = T87_;
					if (!(T86_)) goto LA94_;
					T86_ = !((((*(*(*(*c_p0).c).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA94_: ;
					T85_ = T86_;
					if (!(T85_)) goto LA95_;
					T85_ = !(((*local_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA95_: ;
					T84_ = T85_;
					if (!(T84_)) goto LA96_;
					T84_ = !(((*local_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA96_: ;
					T83_ = T84_;
					if (!(T83_)) goto LA97_;
					T83_ = (((NU8)((*(*local_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*local_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA97_: ;
					T82_ = T83_;
					if (!(T82_)) goto LA98_;
					T82_ = !(((*local_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*local_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA98_: ;
					T81_ = T82_;
					if (!(T81_)) goto LA99_;
					T100_ = (NIM_BOOL)0;
					T100_ = ((*local_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (T100_) goto LA101_;
					T100_ = !(((*(*local_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA101_: ;
					T81_ = T100_;
LA99_: ;
					T80_ = T81_;
					if (!(T80_)) goto LA102_;
					T103_ = 0;
					T80_ = ((192 & (*local_1).flags) == T103_);
LA102_: ;
					T79_ = T80_;
					if (!(T79_)) goto LA104_;
					T79_ = !((((*local_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA104_: ;
					if (!T79_) goto LA105_;
					nep1CheckDefImpl__linter_u146((*(*(*c_p0).c).graph).config, (*(*n_p1)).info, local_1, (*local_1).kind);
					if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
				}
LA105_: ;
				colontmpD__3 = newSymNode__ast_u5171(local_1, (*(*n_p1)).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
				replaceIdentBySym__sem_u10409((*c_p0).c, n_p1, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
				{
					NIM_BOOL T109_;
					T109_ = (NIM_BOOL)0;
					T109_ = (k_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
					if (!(T109_)) goto LA110_;
					T109_ = (((NI)0) < (*c_p0).inTemplateHeader);
LA110_: ;
					if (!T109_) goto LA111_;
					(*local_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)40))) & 63);
				}
LA111_: ;
				{
					LA76_:;
				}
				{
					oldNimErrFin76_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					eqdestroy___ast_u4574(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					eqdestroy___ast_u4574(local_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					*nimErr_ = oldNimErrFin76_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			}
LA74_: ;
		}
LA66_: ;
		{
			LA25_:;
		}
		{
			oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(ident_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___importer_u3664(tmpTuple_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin25_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, semTemplIdentDef__sem_u10902)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p2) {
	NI T1_;
	NI T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
	NI T4_;
	NI T5_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	checkMinSonsLen__semdata_u4675(a_p1, ((NI)3), (*(*(*c_p0).c).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NI)0;
	T1_ = len__ast_u3190(a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = (NI)0;
	T2_ = len__ast_u3190(a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = NIM_NIL;
	T3_ = semTemplBody__sem_u10461(c_p0, (*a_p1)._kind_6.sons.p->data[(NI)(T2_ - ((NI)2))]);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*a_p1)._kind_6.sons.p->data[(NI)(T1_ - ((NI)2))], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T4_ = (NI)0;
	T4_ = len__ast_u3190(a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T5_ = (NI)0;
	T5_ = len__ast_u3190(a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = NIM_NIL;
	T6_ = semTemplBody__sem_u10461(c_p0, (*a_p1)._kind_6.sons.p->data[(NI)(T5_ - ((NI)1))]);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*a_p1)._kind_6.sons.p->data[(NI)(T4_ - ((NI)1))], T6_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI j_1;
		NI colontmp_;
		NI T8_;
		NI i_1;
		j_1 = (NI)0;
		colontmp_ = (NI)0;
		T8_ = (NI)0;
		T8_ = len__ast_u3190(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T8_ - ((NI)2));
		i_1 = ((NI)0);
		{
			while (1) {
				if (!(i_1 < colontmp_)) goto LA10;
				j_1 = i_1;
				addLocalDecl__sem_u10485(c_p0, &(*a_p1)._kind_6.sons.p->data[j_1], symKind_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_1 += ((NI)1);
			} LA10: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, semTemplSomeDecl__sem_u10911)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p2, NI start_p3) {
NIM_BOOL oldNimErrFin5_;
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 = start_p3;
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					a_1 = NIM_NIL;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					switch ((*a_1).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
					{
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA4;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36):
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
					{
						semTemplIdentDef__sem_u10902(c_p0, a_1, symKind_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
					break;
					default:
					{
						illFormedAst__semdata_u4665(a_1, (*(*(*c_p0).c).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
					break;
					}
					{
						LA5_:;
					}
					{
						oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin5_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA4: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semRoutineInTemplName__sem_u10748)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL explicitInject_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T6_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA3_;
		s_1 = NIM_NIL;
		T6_ = 0;
		s_1 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA9_;
			colontmpD_ = NIM_NIL;
			{
				NIM_BOOL T13_;
				NIM_BOOL T15_;
				NIM_BOOL T17_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T21_;
				T13_ = (NIM_BOOL)0;
				colontmpD_ = owner__ast_u6254(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				T13_ = (colontmpD_ == (*c_p0).owner);
				if (!(T13_)) goto LA14_;
				T15_ = (NIM_BOOL)0;
				T15_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
				if (T15_) goto LA16_;
				T17_ = (NIM_BOOL)0;
				T17_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0);
				if (!(T17_)) goto LA18_;
				T17_ = !(explicitInject_p2);
LA18_: ;
				T15_ = T17_;
LA16_: ;
				T13_ = T15_;
LA14_: ;
				if (!T13_) goto LA19_;
				(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
				T21_ = NIM_NIL;
				T21_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T21_); goto LA5_;}
				eqsink___ast_u3261(&result, T21_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
LA19_: ;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA9_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			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) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T28_;
					if (!(i_2 < colontmp_)) goto LA27;
					i_1 = i_2;
					T28_ = NIM_NIL;
					T28_ = semRoutineInTemplName__sem_u10748(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], explicitInject_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T28_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T28_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA27: ;
			}
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semRoutineInTemplBody__sem_u10786)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q k_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin9_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T61_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T70_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	checkSonsLen__semdata_u4671(n_p1, ((NI)7), (*(*(*c_p0).c).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA binding_1;
		if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52)))) goto LA3_;
		binding_1 = symBinding__sem_u10192((*n_p1)._kind_6.sons.p->data[((NI)4)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyTuple__pod1b7gjdRZb0inVGup1nQ tmpTuple_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ident_1;
			NIM_BOOL hasParam_1;
			if (!(binding_1 == ((tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA)1))) goto LA7_;
			nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__pod1b7gjdRZb0inVGup1nQ));
			ident_1 = NIM_NIL;
			getIdentReplaceParams__sem_u10442(c_p0, &(*n_p1)._kind_6.sons.p->data[((NI)0)], (&tmpTuple_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			ident_1 = tmpTuple_1.Field0;
			eqwasMoved___ast_u3249(&tmpTuple_1.Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			hasParam_1 = tmpTuple_1.Field1;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
				if (!!(hasParam_1)) goto LA12_;
				s_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				s_1 = newGenSym__sem_u10472(k_p2, ident_1, c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				eqcopy___ast_u3255(&(*s_1).ast, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				addPrelimDecl__lookups_u3792((*c_p0).c, s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				{
					NIM_BOOL T17_;
					NIM_BOOL T18_;
					NIM_BOOL T19_;
					NIM_BOOL T20_;
					NIM_BOOL T21_;
					NIM_BOOL T22_;
					NIM_BOOL T23_;
					NIM_BOOL T24_;
					NIM_BOOL T25_;
					NIM_BOOL T26_;
					NIM_BOOL T27_;
					tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T29_;
					NIM_BOOL T38_;
					tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T41_;
					T17_ = (NIM_BOOL)0;
					T18_ = (NIM_BOOL)0;
					T19_ = (NIM_BOOL)0;
					T20_ = (NIM_BOOL)0;
					T21_ = (NIM_BOOL)0;
					T22_ = (NIM_BOOL)0;
					T23_ = (NIM_BOOL)0;
					T24_ = (NIM_BOOL)0;
					T25_ = (NIM_BOOL)0;
					T26_ = (NIM_BOOL)0;
					T27_ = (NIM_BOOL)0;
					T27_ = (((*(*(*(*c_p0).c).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
					if (!(T27_)) goto LA28_;
					T29_ = 0;
					T27_ = !(((229376 & (*(*(*(*c_p0).c).graph).config).globalOptions) == T29_));
LA28_: ;
					T26_ = T27_;
					if (!(T26_)) goto LA30_;
					T26_ = (((*(*(*(*c_p0).c).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA30_: ;
					T25_ = T26_;
					if (!(T25_)) goto LA31_;
					colontmpD_ = getModule__modulegraphs_u14809((*(*c_p0).c).graph, (*n_p1).info.fileIndex);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					T25_ = belongsToProjectPackageMaybeNil__packages_u85((*(*(*c_p0).c).graph).config, colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
LA31_: ;
					T24_ = T25_;
					if (!(T24_)) goto LA32_;
					T24_ = !((((*(*(*(*c_p0).c).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA32_: ;
					T23_ = T24_;
					if (!(T23_)) goto LA33_;
					T23_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA33_: ;
					T22_ = T23_;
					if (!(T22_)) goto LA34_;
					T22_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA34_: ;
					T21_ = T22_;
					if (!(T21_)) goto LA35_;
					T21_ = (((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA35_: ;
					T20_ = T21_;
					if (!(T20_)) goto LA36_;
					T20_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA36_: ;
					T19_ = T20_;
					if (!(T19_)) goto LA37_;
					T38_ = (NIM_BOOL)0;
					T38_ = ((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (T38_) goto LA39_;
					T38_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA39_: ;
					T19_ = T38_;
LA37_: ;
					T18_ = T19_;
					if (!(T18_)) goto LA40_;
					T41_ = 0;
					T18_ = ((192 & (*s_1).flags) == T41_);
LA40_: ;
					T17_ = T18_;
					if (!(T17_)) goto LA42_;
					T17_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA42_: ;
					if (!T17_) goto LA43_;
					nep1CheckDefImpl__linter_u146((*(*(*c_p0).c).graph).config, (*n_p1).info, s_1, (*s_1).kind);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				}
LA43_: ;
				T45_ = NIM_NIL;
				T45_ = newSymNode__ast_u5171(s_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto LA14_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T45_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				{
					LA14_:;
				}
				{
					oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					*nimErr_ = oldNimErrFin14_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
			goto LA10_;
LA12_: ;
			{
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], ident_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqwasMoved___ast_u3249(&ident_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
LA10_: ;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(ident_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___importer_u3664(tmpTuple_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T52_;
			T52_ = NIM_NIL;
			T52_ = semRoutineInTemplName__sem_u10748(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (binding_1 == ((tyEnum_TSymBinding__V7PhpK3qzSsTcm7J4vWhFA)2)));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T52_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T52_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
LA3_: ;
	openScope__sem_u10464(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T56_;
				if (!(res_1 <= ((NI)2))) goto LA55;
				i_1 = ((NI) (res_1));
				T56_ = NIM_NIL;
				T56_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T56_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T56_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				res_1 += ((NI)1);
			} LA55: ;
		}
	}
	{
		if (!(k_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA59_;
		(*c_p0).inTemplateHeader += ((NI)1);
	}
LA59_: ;
	T61_ = NIM_NIL;
	T61_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)3)]);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T61_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)3)], T61_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(k_p2 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18))) goto LA64_;
		(*c_p0).inTemplateHeader -= ((NI)1);
	}
LA64_: ;
	{
		NI i_2;
		NI res_2;
		i_2 = (NI)0;
		res_2 = ((NI)4);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T69_;
				if (!(res_2 <= ((NI)5))) goto LA68;
				i_2 = ((NI) (res_2));
				T69_ = NIM_NIL;
				T69_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[i_2]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T69_); goto BeforeRet_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_2], T69_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				res_2 += ((NI)1);
			} LA68: ;
		}
	}
	(*c_p0).scopeN += ((NI)1);
	openScope__sem_u10464(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T70_ = NIM_NIL;
	T70_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)6)]);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T70_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)6)], T70_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	closeScope__sem_u10466(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*c_p0).scopeN -= ((NI)1);
	closeScope__sem_u10466(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplBody__sem_u10461)(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin46_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin73_;
NIM_BOOL oldNimErrFin95_;
NIM_BOOL oldNimErrFin137_;
NIM_BOOL oldNimErrFin165_;
NIM_BOOL oldNimErrFin180_;
NIM_BOOL oldNimErrFin206_;
NIM_BOOL oldNimErrFin241_;
NIM_BOOL oldNimErrFin279_;
NIM_BOOL oldNimErrFin277_;
NIM_BOOL oldNimErrFin344_;
NIM_BOOL oldNimErrFin319_;
NIM_BOOL oldNimErrFin313_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T8_;
		s_1 = NIM_NIL;
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = contains__astalgo_u2846((&(*c_p0).toInject), (*(*n_p1)._kind_5.ident).id);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (!T5_) goto LA6_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA6_: ;
		(*(*c_p0).c).isAmbiguous = NIM_FALSE;
		T8_ = 0;
		s_1 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
			if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA11_;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			{
				NIM_BOOL T16_;
				NIM_BOOL T17_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
				T16_ = (NIM_BOOL)0;
				T17_ = (NIM_BOOL)0;
				colontmpD_ = owner__ast_u6254(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				T17_ = (colontmpD_ == (*c_p0).owner);
				if (!(T17_)) goto LA18_;
				T17_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA18_: ;
				T16_ = T17_;
				if (!(T16_)) goto LA19_;
				T16_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)40)))&63U)))!=0);
LA19_: ;
				if (!T16_) goto LA20_;
				(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
				T22_ = NIM_NIL;
				T22_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA13_;}
				eqsink___ast_u3261(&result, T22_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
			goto LA14_;
LA20_: ;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2388__1;
				NIM_BOOL T24_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T27_;
				xX60gensym2388__1 = (*s_1).itemId;
				T24_ = (NIM_BOOL)0;
				T24_ = contains__astalgo_u2846((&(*c_p0).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2388__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2388__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				if (!T24_) goto LA25_;
				T27_ = NIM_NIL;
				T27_ = symChoice__sem_u10236((*c_p0).c, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), (((NI)0) < (*c_p0).noGenSym));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T27_); goto LA13_;}
				eqsink___ast_u3261(&result, T27_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
			goto LA14_;
LA25_: ;
			{
				NIM_BOOL T29_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
				T29_ = (NIM_BOOL)0;
				T29_ = contains__astalgo_u2846((&(*c_p0).toMixin), (*(*s_1).name).id);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				if (!T29_) goto LA30_;
				T32_ = NIM_NIL;
				T32_ = symChoice__sem_u10236((*c_p0).c, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), (((NI)0) < (*c_p0).noGenSym));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA13_;}
				eqsink___ast_u3261(&result, T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
			goto LA14_;
LA30_: ;
			{
				NIM_BOOL T34_;
				NIM_BOOL T35_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T40_;
				T34_ = (NIM_BOOL)0;
				T35_ = (NIM_BOOL)0;
				colontmpD__2 = owner__ast_u6254(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				T35_ = (colontmpD__2 == (*c_p0).owner);
				if (!(T35_)) goto LA36_;
				T35_ = (((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0);
LA36_: ;
				T34_ = T35_;
				if (!(T34_)) goto LA37_;
				T34_ = ((*c_p0).noGenSym == ((NI)0));
LA37_: ;
				if (!T34_) goto LA38_;
				(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
				T40_ = NIM_NIL;
				T40_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T40_); goto LA13_;}
				eqsink___ast_u3261(&result, T40_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
			goto LA14_;
LA38_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T49_;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
					if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10))) goto LA44_;
					colontmpD__3 = NIM_NIL;
					colontmpD__3 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, 5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
					(void)(colontmpD__3);
					{
						LA46_:;
					}
					{
						oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						*nimErr_ = oldNimErrFin46_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				}
LA44_: ;
				T49_ = NIM_NIL;
				T49_ = semTemplSymbol__sem_u10631(c_p0, n_p1, s_1, (((NI)0) < (*c_p0).noGenSym), (*(*c_p0).c).isAmbiguous);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T49_); goto LA13_;}
				eqsink___ast_u3261(&result, T49_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
LA14_: ;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqdestroy___ast_u4574(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
LA11_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)55):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T55_;
		T55_ = NIM_NIL;
		T55_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T55_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T55_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
		tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* T57_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T58_;
		T57_ = NIM_NIL;
		T57_ = (*c_p0).c;
		T58_ = NIM_NIL;
		T58_ = semBindStmt__sem_u10302(T57_, n_p1, (&(*c_p0).toBind));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T58_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T58_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
			if (!(((NI)0) < (*c_p0).scopeN)) goto LA62_;
			T64_ = NIM_NIL;
			T64_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T64_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA60_;
LA62_: ;
		{
			tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* T66_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T67_;
			T66_ = NIM_NIL;
			T66_ = (*c_p0).c;
			T67_ = NIM_NIL;
			T67_ = semMixinStmt__sem_u10382(T66_, n_p1, (&(*c_p0).toMixin));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T67_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T67_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA60_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)24):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	{
		{
			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;
					if (!(i_2 < colontmp_)) goto LA72;
					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 LA73_;
					{
						NI T76_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T79_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T80_;
						T76_ = (NI)0;
						T76_ = len__ast_u3190(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						if (!(T76_ == ((NI)2))) goto LA77_;
						openScope__sem_u10464(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						T79_ = NIM_NIL;
						T79_ = semTemplBody__sem_u10461(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T79_); goto LA73_;}
						eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T79_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						T80_ = NIM_NIL;
						T80_ = semTemplBody__sem_u10461(c_p0, (*it_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T80_); goto LA73_;}
						eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)1)], T80_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
						closeScope__sem_u10466(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
					}
					goto LA74_;
LA77_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T82_;
						T82_ = NIM_NIL;
						T82_ = semTemplBodyScope__sem_u10468(c_p0, it_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T82_); goto LA73_;}
						eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T82_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
					}
LA74_: ;
					i_2 += ((NI)1);
					{
						LA73_:;
					}
					{
						oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin73_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA72: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	{
		openScope__sem_u10464(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			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) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T89_;
					if (!(i_4 < colontmp__2)) goto LA88;
					i_3 = i_4;
					T89_ = NIM_NIL;
					T89_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T89_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_3], T89_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA88: ;
			}
		}
		closeScope__sem_u10466(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T91_;
		openScope__sem_u10464(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T91_ = NIM_NIL;
		T91_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T91_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T91_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_6 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					NI T101_;
					NI T102_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T103_;
					if (!(i_6 < colontmp__3)) goto LA94;
					a_1 = NIM_NIL;
					i_5 = i_6;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
					checkMinSonsLen__semdata_u4675(a_1, ((NI)1), (*(*(*c_p0).c).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
					{
						NI j_1;
						NI colontmp__4;
						NI T97_;
						NI i_7;
						j_1 = (NI)0;
						colontmp__4 = (NI)0;
						T97_ = (NI)0;
						T97_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
						colontmp__4 = (NI)(T97_ - ((NI)1));
						i_7 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T100_;
								if (!(i_7 < colontmp__4)) goto LA99;
								j_1 = i_7;
								T100_ = NIM_NIL;
								T100_ = semTemplBody__sem_u10461(c_p0, (*a_1)._kind_6.sons.p->data[j_1]);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T100_); goto LA95_;}
								eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[j_1], T100_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
								i_7 += ((NI)1);
							} LA99: ;
						}
					}
					T101_ = (NI)0;
					T101_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
					T102_ = (NI)0;
					T102_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
					T103_ = NIM_NIL;
					T103_ = semTemplBodyScope__sem_u10468(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T102_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T103_); goto LA95_;}
					eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[(NI)(T101_ - ((NI)1))], T103_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
					i_6 += ((NI)1);
					{
						LA95_:;
					}
					{
						oldNimErrFin95_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin95_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA94: ;
			}
		}
		closeScope__sem_u10466(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
	{
		NI T107_;
		NI T108_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T109_;
		NI T123_;
		NI T124_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T125_;
		openScope__sem_u10464(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T107_ = (NI)0;
		T107_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T108_ = (NI)0;
		T108_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T109_ = NIM_NIL;
		T109_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T108_ - ((NI)2))]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T109_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T107_ - ((NI)2))], T109_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_8;
			NI colontmp__5;
			NI T111_;
			NI i_9;
			i_8 = (NI)0;
			colontmp__5 = (NI)0;
			T111_ = (NI)0;
			T111_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp__5 = (NI)(T111_ - ((NI)2));
			i_9 = ((NI)0);
			{
				while (1) {
					if (!(i_9 < colontmp__5)) goto LA113;
					i_8 = i_9;
					{
						if (!((*(*n_p1)._kind_6.sons.p->data[i_8]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA116_;
						{
							NI j_2;
							NI colontmp__6;
							NI T119_;
							NI i_10;
							j_2 = (NI)0;
							colontmp__6 = (NI)0;
							T119_ = (NI)0;
							T119_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[i_8]);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							colontmp__6 = (NI)(T119_ - ((NI)1));
							i_10 = ((NI)0);
							{
								while (1) {
									if (!(i_10 < colontmp__6)) goto LA121;
									j_2 = i_10;
									addLocalDecl__sem_u10485(c_p0, &(*(*n_p1)._kind_6.sons.p->data[i_8])._kind_6.sons.p->data[j_2], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21));
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									i_10 += ((NI)1);
								} LA121: ;
							}
						}
					}
					goto LA114_;
LA116_: ;
					{
						addLocalDecl__sem_u10485(c_p0, &(*n_p1)._kind_6.sons.p->data[i_8], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA114_: ;
					i_9 += ((NI)1);
				} LA113: ;
			}
		}
		openScope__sem_u10464(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T123_ = (NI)0;
		T123_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T124_ = (NI)0;
		T124_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T125_ = NIM_NIL;
		T125_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T124_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T125_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T123_ - ((NI)1))], T125_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		closeScope__sem_u10466(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		closeScope__sem_u10466(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)129):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T131_;
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*(*c_p0).c).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		openScope__sem_u10464(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA129_;
			addLocalDecl__sem_u10485(c_p0, &(*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)22));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA129_: ;
		T131_ = NIM_NIL;
		T131_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T131_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T131_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		closeScope__sem_u10466(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)154):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T133_;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*(*c_p0).c).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T133_ = NIM_NIL;
		T133_ = semTemplBodyScope__sem_u10468(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T133_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T133_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_11;
			NI colontmp__7;
			NI i_12;
			i_11 = (NI)0;
			colontmp__7 = (NI)0;
			colontmp__7 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_12 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
					NI T150_;
					NI T151_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T152_;
					if (!(i_12 < colontmp__7)) goto LA136;
					a_2 = NIM_NIL;
					i_11 = i_12;
					eqcopy___ast_u3255(&a_2, (*n_p1)._kind_6.sons.p->data[i_11]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					checkMinSonsLen__semdata_u4675(a_2, ((NI)1), (*(*(*c_p0).c).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					openScope__sem_u10464(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					{
						NI j_3;
						NI colontmp__8;
						NI T139_;
						NI i_13;
						j_3 = (NI)0;
						colontmp__8 = (NI)0;
						T139_ = (NI)0;
						T139_ = len__ast_u3190(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
						colontmp__8 = (NI)(T139_ - ((NI)1));
						i_13 = ((NI)0);
						{
							while (1) {
								if (!(i_13 < colontmp__8)) goto LA141;
								j_3 = i_13;
								{
									NIM_BOOL T144_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T147_;
									T144_ = (NIM_BOOL)0;
									T144_ = isInfixAs__ast_u7333((*a_2)._kind_6.sons.p->data[j_3]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
									if (!T144_) goto LA145_;
									addLocalDecl__sem_u10485(c_p0, &(*(*a_2)._kind_6.sons.p->data[j_3])._kind_6.sons.p->data[((NI)2)], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
									if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
									T147_ = NIM_NIL;
									T147_ = semTemplBody__sem_u10461(c_p0, (*(*a_2)._kind_6.sons.p->data[j_3])._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T147_); goto LA137_;}
									eqsink___ast_u3261(&(*(*a_2)._kind_6.sons.p->data[j_3])._kind_6.sons.p->data[((NI)1)], T147_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
								}
								goto LA142_;
LA145_: ;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T149_;
									T149_ = NIM_NIL;
									T149_ = semTemplBody__sem_u10461(c_p0, (*a_2)._kind_6.sons.p->data[j_3]);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T149_); goto LA137_;}
									eqsink___ast_u3261(&(*a_2)._kind_6.sons.p->data[j_3], T149_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
								}
LA142_: ;
								i_13 += ((NI)1);
							} LA141: ;
						}
					}
					T150_ = (NI)0;
					T150_ = len__ast_u3190(a_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					T151_ = (NI)0;
					T151_ = len__ast_u3190(a_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					T152_ = NIM_NIL;
					T152_ = semTemplBodyScope__sem_u10468(c_p0, (*a_2)._kind_6.sons.p->data[(NI)(T151_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T152_); goto LA137_;}
					eqsink___ast_u3261(&(*a_2)._kind_6.sons.p->data[(NI)(T150_ - ((NI)1))], T152_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					closeScope__sem_u10466(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
					i_12 += ((NI)1);
					{
						LA137_:;
					}
					{
						oldNimErrFin137_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin137_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA136: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
	{
		semTemplSomeDecl__sem_u10911(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
	{
		semTemplSomeDecl__sem_u10911(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T158_;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*(*c_p0).c).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		semTemplSomeDecl__sem_u10911(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3), ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T158_ = NIM_NIL;
		T158_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T158_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T158_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
	{
		semTemplSomeDecl__sem_u10911(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	{
		{
			NI i_14;
			NI colontmp__9;
			NI i_15;
			i_14 = (NI)0;
			colontmp__9 = (NI)0;
			colontmp__9 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_15 = ((NI)0);
			{
				while (1) {
					if (!(i_15 < colontmp__9)) goto LA163;
					i_14 = i_15;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_3;
						a_3 = NIM_NIL;
						eqcopy___ast_u3255(&a_3, (*n_p1)._kind_6.sons.p->data[i_14]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
						{
							if (!((*a_3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA168_;
							eqdestroy___ast_u3252(a_3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA164;
						}
LA168_: ;
						{
							if (!!(((*a_3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103)))) goto LA172_;
							illFormedAst__semdata_u4665(a_3, (*(*(*c_p0).c).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
						}
LA172_: ;
						checkSonsLen__semdata_u4671(a_3, ((NI)3), (*(*(*c_p0).c).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
						addLocalDecl__sem_u10485(c_p0, &(*a_3)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
						if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
						{
							LA165_:;
						}
						{
							oldNimErrFin165_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin165_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA164: ;
					i_15 += ((NI)1);
				} LA163: ;
			}
		}
		{
			NI i_16;
			NI colontmp__10;
			NI i_17;
			i_16 = (NI)0;
			colontmp__10 = (NI)0;
			colontmp__10 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_17 = ((NI)0);
			{
				while (1) {
					if (!(i_17 < colontmp__10)) goto LA178;
					i_16 = i_17;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_4;
						a_4 = NIM_NIL;
						eqcopy___ast_u3255(&a_4, (*n_p1)._kind_6.sons.p->data[i_16]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
						{
							if (!((*a_4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA183_;
							eqdestroy___ast_u3252(a_4);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA179;
						}
LA183_: ;
						{
							if (!!(((*a_4).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103)))) goto LA187_;
							illFormedAst__semdata_u4665(a_4, (*(*(*c_p0).c).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
						}
LA187_: ;
						checkSonsLen__semdata_u4671(a_4, ((NI)3), (*(*(*c_p0).c).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T193_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T194_;
							if (!!(((*(*a_4)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA191_;
							openScope__sem_u10464(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
							T193_ = NIM_NIL;
							T193_ = semTemplBody__sem_u10461(c_p0, (*a_4)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T193_); goto LA180_;}
							eqsink___ast_u3261(&(*a_4)._kind_6.sons.p->data[((NI)1)], T193_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
							T194_ = NIM_NIL;
							T194_ = semTemplBody__sem_u10461(c_p0, (*a_4)._kind_6.sons.p->data[((NI)2)]);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T194_); goto LA180_;}
							eqsink___ast_u3261(&(*a_4)._kind_6.sons.p->data[((NI)2)], T194_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
							closeScope__sem_u10466(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
						}
						goto LA189_;
LA191_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T196_;
							T196_ = NIM_NIL;
							T196_ = semTemplBody__sem_u10461(c_p0, (*a_4)._kind_6.sons.p->data[((NI)2)]);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T196_); goto LA180_;}
							eqsink___ast_u3261(&(*a_4)._kind_6.sons.p->data[((NI)2)], T196_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
						}
LA189_: ;
						{
							LA180_:;
						}
						{
							oldNimErrFin180_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_4);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin180_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA179: ;
					i_17 += ((NI)1);
				} LA178: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T200_;
		openScope__sem_u10464(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T200_ = NIM_NIL;
		T200_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T200_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T200_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		closeScope__sem_u10466(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			NI i_18;
			NI colontmp__11;
			NI i_19;
			i_18 = (NI)0;
			colontmp__11 = (NI)0;
			colontmp__11 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_19 = ((NI)0);
			{
				while (1) {
					if (!(i_19 < colontmp__11)) goto LA204;
					i_18 = i_19;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_5;
						a_5 = NIM_NIL;
						eqcopy___ast_u3255(&a_5, (*n_p1)._kind_6.sons.p->data[i_18]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						switch ((*a_5).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
						{
							eqdestroy___ast_u3252(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA205;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
						{
							semTemplIdentDef__sem_u10902(c_p0, a_5, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19));
							if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)140):
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T210_;
							T210_ = NIM_NIL;
							T210_ = semTemplBody__sem_u10461(c_p0, a_5);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T210_); goto LA206_;}
							eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_18], T210_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						}
						break;
						default:
						{
							illFormedAst__semdata_u4665(a_5, (*(*(*c_p0).c).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA206_;
						}
						break;
						}
						{
							LA206_:;
						}
						{
							oldNimErrFin206_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_5);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin206_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA205: ;
					i_19 += ((NI)1);
				} LA204: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		semTemplIdentDef__sem_u10902(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_20;
			NI colontmp__12;
			NI i_21;
			i_20 = (NI)0;
			colontmp__12 = (NI)0;
			colontmp__12 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_21 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T218_;
					if (!(i_21 < colontmp__12)) goto LA217;
					i_20 = i_21;
					T218_ = NIM_NIL;
					T218_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[i_20]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T218_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_20], T218_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_21 += ((NI)1);
				} LA217: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T220_;
		T220_ = NIM_NIL;
		T220_ = semRoutineInTemplBody__sem_u10786(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T220_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T220_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T222_;
		T222_ = NIM_NIL;
		T222_ = semRoutineInTemplBody__sem_u10786(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T222_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T222_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T224_;
		T224_ = NIM_NIL;
		T224_ = semRoutineInTemplBody__sem_u10786(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T224_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T224_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T226_;
		T226_ = NIM_NIL;
		T226_ = semRoutineInTemplBody__sem_u10786(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T226_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T226_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T228_;
		T228_ = NIM_NIL;
		T228_ = semRoutineInTemplBody__sem_u10786(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T228_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T228_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T230_;
		T230_ = NIM_NIL;
		T230_ = semRoutineInTemplBody__sem_u10786(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T230_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T230_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T232_;
		T232_ = NIM_NIL;
		T232_ = semRoutineInTemplBody__sem_u10786(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T232_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T232_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T234_;
		T234_ = NIM_NIL;
		T234_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T234_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T234_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T236_;
		T236_ = NIM_NIL;
		T236_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T236_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T236_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	{
		{
			NI i_22;
			NI colontmp__13;
			NI i_23;
			i_22 = (NI)0;
			colontmp__13 = (NI)0;
			colontmp__13 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_23 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
					tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw prag_1;
					if (!(i_23 < colontmp__13)) goto LA240;
					x_1 = NIM_NIL;
					i_22 = i_23;
					eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[i_22]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA241_;
					prag_1 = whichPragma__trees_u218(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA241_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T246_;
						if (!(prag_1 == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0))) goto LA244_;
						T246_ = NIM_NIL;
						T246_ = semTemplBody__sem_u10461(c_p0, x_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T246_); goto LA241_;}
						eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_22], T246_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA241_;
					}
					goto LA242_;
LA244_: ;
					{
						if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28))) goto LA248_;
						{
							NI j_4;
							NI colontmp__14;
							NI i_24;
							j_4 = (NI)0;
							colontmp__14 = (NI)0;
							colontmp__14 = len__ast_u3190(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA241_;
							i_24 = ((NI)1);
							{
								while (1) {
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T253_;
									if (!(i_24 < colontmp__14)) goto LA252;
									j_4 = i_24;
									T253_ = NIM_NIL;
									T253_ = semTemplBody__sem_u10461(c_p0, (*x_1)._kind_6.sons.p->data[j_4]);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T253_); goto LA241_;}
									eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[j_4], T253_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA241_;
									i_24 += ((NI)1);
								} LA252: ;
							}
						}
					}
					goto LA242_;
LA248_: ;
LA242_: ;
					i_23 += ((NI)1);
					{
						LA241_:;
					}
					{
						oldNimErrFin241_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin241_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA240: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T265_;
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__4;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T261_;
			if (!((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA259_;
			colontmpD__4 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			T261_ = NIM_NIL;
			T261_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T261_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T261_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__4 = getIdent__idents_u206((*(*c_p0).c).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1363);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__5 = newIdentNode__ast_u5164(colontmpD__4, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(result, colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_25;
				NI colontmp__15;
				NI i_26;
				i_25 = (NI)0;
				colontmp__15 = (NI)0;
				colontmp__15 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_26 = ((NI)0);
				{
					while (1) {
						if (!(i_26 < colontmp__15)) goto LA264;
						i_25 = i_26;
						add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_25]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_26 += ((NI)1);
					} LA264: ;
				}
			}
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA259_: ;
		T265_ = NIM_NIL;
		T265_ = semTemplBodySons__sem_u10926(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T265_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T265_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T275_;
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__6;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T271_;
			if (!((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA269_;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			T271_ = NIM_NIL;
			T271_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T271_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T271_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__6 = getIdent__idents_u206((*(*c_p0).c).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1364);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmpD__7 = newIdentNode__ast_u5164(colontmpD__6, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215(result, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_27;
				NI colontmp__16;
				NI i_28;
				i_27 = (NI)0;
				colontmp__16 = (NI)0;
				colontmp__16 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_28 = ((NI)0);
				{
					while (1) {
						if (!(i_28 < colontmp__16)) goto LA274;
						i_27 = i_28;
						add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_27]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_28 += ((NI)1);
					} LA274: ;
				}
			}
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA269_: ;
		T275_ = NIM_NIL;
		T275_ = semTemplBodySons__sem_u10926(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T275_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T275_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_1;
		a_6 = NIM_NIL;
		b_1 = NIM_NIL;
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*(*c_p0).c).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
		eqcopy___ast_u3255(&a_6, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
		eqcopy___ast_u3255(&b_1, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
		k_1 = (*a_6).kind;
		switch (k_1) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a0_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T288_;
			a0_1 = NIM_NIL;
			{
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__8;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T284_;
				if (!((*a_6).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA282_;
				colontmpD__8 = NIM_NIL;
				colontmpD__9 = NIM_NIL;
				T284_ = NIM_NIL;
				T284_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T284_); goto LA279_;}
				eqsink___ast_u3261(&result, T284_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
				colontmpD__8 = getIdent__idents_u206((*(*c_p0).c).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1365);
				if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
				colontmpD__9 = newIdentNode__ast_u5164(colontmpD__8, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
				add__ast_u3215(result, colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
				{
					NI i_29;
					NI colontmp__17;
					NI i_30;
					i_29 = (NI)0;
					colontmp__17 = (NI)0;
					colontmp__17 = len__ast_u3190(a_6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
					i_30 = ((NI)0);
					{
						while (1) {
							if (!(i_30 < colontmp__17)) goto LA287;
							i_29 = i_30;
							add__ast_u3215(result, (*a_6)._kind_6.sons.p->data[i_29]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
							i_30 += ((NI)1);
						} LA287: ;
					}
				}
				add__ast_u3215(result, b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
				eqdestroy___ast_u3252(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
				eqdestroy___idents_u155(colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
			}
LA282_: ;
			a0_1 = semTemplBody__sem_u10461(c_p0, (*a_6)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
			T288_ = NIM_NIL;
			T288_ = semTemplBodySons__sem_u10926(c_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T288_); goto LA279_;}
			eqsink___ast_u3261(&result, T288_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA279_;
			{
				LA279_:;
			}
			{
				oldNimErrFin279_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a0_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
				*nimErr_ = oldNimErrFin279_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T300_;
			{
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__10;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T296_;
				if (!((*a_6).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA294_;
				colontmpD__10 = NIM_NIL;
				colontmpD__11 = NIM_NIL;
				T296_ = NIM_NIL;
				T296_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T296_); goto LA277_;}
				eqsink___ast_u3261(&result, T296_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
				colontmpD__10 = getIdent__idents_u206((*(*c_p0).c).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1366);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
				colontmpD__11 = newIdentNode__ast_u5164(colontmpD__10, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
				add__ast_u3215(result, colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
				{
					NI i_31;
					NI colontmp__18;
					NI i_32;
					i_31 = (NI)0;
					colontmp__18 = (NI)0;
					colontmp__18 = len__ast_u3190(a_6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
					i_32 = ((NI)0);
					{
						while (1) {
							if (!(i_32 < colontmp__18)) goto LA299;
							i_31 = i_32;
							add__ast_u3215(result, (*a_6)._kind_6.sons.p->data[i_31]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
							i_32 += ((NI)1);
						} LA299: ;
					}
				}
				add__ast_u3215(result, b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
				eqdestroy___ast_u3252(colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
				eqdestroy___idents_u155(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
			}
LA294_: ;
			T300_ = NIM_NIL;
			T300_ = semTemplBodySons__sem_u10926(c_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T300_); goto LA277_;}
			eqsink___ast_u3261(&result, T300_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
		}
		break;
		default:
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T302_;
			T302_ = NIM_NIL;
			T302_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T302_); goto LA277_;}
			eqsink___ast_u3261(&result, T302_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
		}
		break;
		}
		{
			LA277_:;
		}
		{
			oldNimErrFin277_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin277_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			NIM_BOOL T308_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T311_;
			T308_ = (NIM_BOOL)0;
			T308_ = isRunnableExamples__trees_u411((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T308_)) goto LA309_;
			T311_ = NIM_NIL;
			T311_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T311_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T311_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA309_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T314_;
		s_2 = NIM_NIL;
		(*(*c_p0).c).isAmbiguous = NIM_FALSE;
		T314_ = 0;
		s_2 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, T314_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__12;
			if (!!((s_2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA317_;
			colontmpD__12 = NIM_NIL;
			{
				NIM_BOOL T322_;
				NIM_BOOL T323_;
				NIM_BOOL T324_;
				NI T328_;
				T322_ = (NIM_BOOL)0;
				T323_ = (NIM_BOOL)0;
				T324_ = (NIM_BOOL)0;
				colontmpD__12 = owner__ast_u6254(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				T324_ = (colontmpD__12 == (*c_p0).owner);
				if (!(T324_)) goto LA325_;
				T324_ = ((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA325_: ;
				T323_ = T324_;
				if (!(T323_)) goto LA326_;
				T323_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53));
LA326_: ;
				T322_ = T323_;
				if (!(T322_)) goto LA327_;
				T328_ = (NI)0;
				T328_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				T322_ = (T328_ == ((NI)1));
LA327_: ;
				if (!T322_) goto LA329_;
				(*s_2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
				result = newSymNode__ast_u5171(s_2, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				eqdestroy___ast_u4574(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA320_;
LA329_: ;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym2509__1;
				NIM_BOOL T332_;
				xX60gensym2509__1 = (*s_2).itemId;
				T332_ = (NIM_BOOL)0;
				T332_ = contains__astalgo_u2846((&(*c_p0).toBind), (NI)((NI)((NU32)(((NI) (xX60gensym2509__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym2509__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				if (!T332_) goto LA333_;
				result = symChoice__sem_u10236((*c_p0).c, n_p1, s_2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), (((NI)0) < (*c_p0).noGenSym));
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				eqdestroy___ast_u4574(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA320_;
LA333_: ;
			{
				NIM_BOOL T336_;
				T336_ = (NIM_BOOL)0;
				T336_ = contains__astalgo_u2846((&(*c_p0).toMixin), (*(*s_2).name).id);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				if (!T336_) goto LA337_;
				result = symChoice__sem_u10236((*c_p0).c, n_p1, s_2, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)2), (((NI)0) < (*c_p0).noGenSym));
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				eqdestroy___ast_u4574(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA320_;
LA337_: ;
			{
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__13;
					if (!((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10))) goto LA342_;
					colontmpD__13 = NIM_NIL;
					colontmpD__13 = qualifiedLookUp__lookups_u5229((*c_p0).c, n_p1, 5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA344_;
					(void)(colontmpD__13);
					{
						LA344_:;
					}
					{
						oldNimErrFin344_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD__13);
						if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
						*nimErr_ = oldNimErrFin344_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				}
LA342_: ;
				result = semTemplSymbol__sem_u10631(c_p0, n_p1, s_2, (((NI)0) < (*c_p0).noGenSym), (*(*c_p0).c).isAmbiguous);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				eqdestroy___ast_u4574(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA320_: ;
			{
				LA319_:;
			}
			{
				oldNimErrFin319_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				*nimErr_ = oldNimErrFin319_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
		}
LA317_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T353_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T354_;
			if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA351_;
			eqcopy___ast_u3255(&result, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
			T353_ = NIM_NIL;
			T353_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T353_); goto LA313_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T353_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
			(*c_p0).noGenSym += ((NI)1);
			T354_ = NIM_NIL;
			T354_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T354_); goto LA313_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T354_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
			(*c_p0).noGenSym -= ((NI)1);
			{
				NIM_BOOL T357_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* choice_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__14;
				T357_ = (NIM_BOOL)0;
				T357_ = ((*(*result)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T357_)) goto LA358_;
				T357_ = ((*(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA358_: ;
				if (!T357_) goto LA359_;
				choice_1 = NIM_NIL;
				colontmpD__14 = NIM_NIL;
				colontmpD__14 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), (*c_p0).c, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				choice_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57), (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				add__ast_u3215(choice_1, (*result)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], choice_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
				eqdestroy___ast_u3378(colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
			}
LA359_: ;
		}
		goto LA349_;
LA351_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T362_;
			T362_ = NIM_NIL;
			T362_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T362_); goto LA313_;}
			eqsink___ast_u3261(&result, T362_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA313_;
		}
LA349_: ;
		{
			LA313_:;
		}
		{
			oldNimErrFin313_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin313_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	{
		{
			NI T368_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T371_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T372_;
			T368_ = (NI)0;
			T368_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T368_ == ((NI)2))) goto LA369_;
			(*c_p0).noGenSym += ((NI)1);
			T371_ = NIM_NIL;
			T371_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T371_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T371_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*c_p0).noGenSym -= ((NI)1);
			T372_ = NIM_NIL;
			T372_ = semTemplBody__sem_u10461(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T372_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T372_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA366_;
LA369_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T374_;
			T374_ = NIM_NIL;
			T374_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T374_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T374_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA366_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)54):
	{
		{
			NI i_33;
			NI colontmp__19;
			NI i_34;
			i_33 = (NI)0;
			colontmp__19 = (NI)0;
			colontmp__19 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_34 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T379_;
					if (!(i_34 < colontmp__19)) goto LA378;
					i_33 = i_34;
					T379_ = NIM_NIL;
					T379_ = semTemplBodySons__sem_u10926(c_p0, (*n_p1)._kind_6.sons.p->data[i_33]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T379_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_33], T379_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_34 += ((NI)1);
				} LA378: ;
			}
		}
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T381_;
		T381_ = NIM_NIL;
		T381_ = semTemplBodySons__sem_u10926(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T381_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T381_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTemplateDef__sem_u11788)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__2;
	tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ ctx_1;
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* colontmpD__3;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
	tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w tmpTuple_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* proto_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T13_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T44_;
	NIM_BOOL allUntyped_1;
	NIM_BOOL nullary_1;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin101_;
	NIM_BOOL comesFromShadowscope_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ));
	nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__VbNHT7Wp79cUjeDBRUPb9a2w));
	proto_1 = NIM_NIL;
	result = semProcAnnotation__sem_u11784(c_p0, n_p1, TM__rF9caJawfOjYTjsgLVUSGFA_1362);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA4_;
		eqdestroy___ast_u4574(proto_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___procfind_u79(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u11990((&ctx_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = isTopLevel__semdata_u4679(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T8_) goto LA9_;
		s_1 = semIdentVis__sem_u467(c_p0, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18), (*n_p1)._kind_6.sons.p->data[((NI)0)], 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
	}
	goto LA6_;
LA9_: ;
	{
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T12_;
		T12_ = 0;
		s_1 = semIdentVis__sem_u467(c_p0, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18), (*n_p1)._kind_6.sons.p->data[((NI)0)], T12_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	info_1 = getLineInfo__sem_u4358((*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T13_ = NIM_NIL;
	T13_ = (*c_p0).graph;
	suggestSym__sigmatch_u6643(T13_, info_1, s_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T16_;
		NIM_BOOL T17_;
		NIM_BOOL T18_;
		NIM_BOOL T19_;
		NIM_BOOL T20_;
		NIM_BOOL T21_;
		NIM_BOOL T22_;
		NIM_BOOL T23_;
		NIM_BOOL T24_;
		NIM_BOOL T25_;
		NIM_BOOL T26_;
		tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T28_;
		NIM_BOOL T37_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T40_;
		T16_ = (NIM_BOOL)0;
		T17_ = (NIM_BOOL)0;
		T18_ = (NIM_BOOL)0;
		T19_ = (NIM_BOOL)0;
		T20_ = (NIM_BOOL)0;
		T21_ = (NIM_BOOL)0;
		T22_ = (NIM_BOOL)0;
		T23_ = (NIM_BOOL)0;
		T24_ = (NIM_BOOL)0;
		T25_ = (NIM_BOOL)0;
		T26_ = (NIM_BOOL)0;
		T26_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
		if (!(T26_)) goto LA27_;
		T28_ = 0;
		T26_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T28_));
LA27_: ;
		T25_ = T26_;
		if (!(T25_)) goto LA29_;
		T25_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA29_: ;
		T24_ = T25_;
		if (!(T24_)) goto LA30_;
		colontmpD_ = getModule__modulegraphs_u14809((*c_p0).graph, (*s_1).info.fileIndex);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T24_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA30_: ;
		T23_ = T24_;
		if (!(T23_)) goto LA31_;
		T23_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA31_: ;
		T22_ = T23_;
		if (!(T22_)) goto LA32_;
		T22_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA32_: ;
		T21_ = T22_;
		if (!(T21_)) goto LA33_;
		T21_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA33_: ;
		T20_ = T21_;
		if (!(T20_)) goto LA34_;
		T20_ = (((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA34_: ;
		T19_ = T20_;
		if (!(T19_)) goto LA35_;
		T19_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA35_: ;
		T18_ = T19_;
		if (!(T18_)) goto LA36_;
		T37_ = (NIM_BOOL)0;
		T37_ = ((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T37_) goto LA38_;
		T37_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA38_: ;
		T18_ = T37_;
LA36_: ;
		T17_ = T18_;
		if (!(T17_)) goto LA39_;
		T40_ = 0;
		T17_ = ((192 & (*s_1).flags) == T40_);
LA39_: ;
		T16_ = T17_;
		if (!(T16_)) goto LA41_;
		T16_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA41_: ;
		if (!T16_) goto LA42_;
		nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*s_1).info, s_1, (*s_1).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA42_: ;
	(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)47))) & 63);
	pushOwner__semdata_u432(c_p0, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T44_ = NIM_NIL;
	T44_ = newSymNode__ast_u5168(s_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T44_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T44_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*s_1).ast, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pragmaCallable__pragmas_u2536(c_p0, s_1, n_p1, TM__rF9caJawfOjYTjsgLVUSGFA_1362, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	implicitPragmas__pragmas_u2378(c_p0, s_1, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1362);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	setGenericParamsMisc__sem_u9966(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	allUntyped_1 = NIM_TRUE;
	nullary_1 = NIM_TRUE;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* retType_1;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)3)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA47_;
		retType_1 = NIM_NIL;
		semParamList__sem_u100(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)3)], (*n_p1)._kind_6.sons.p->data[((NI)2)], s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
		retType_1 = returnType__ast_u5354((*s_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
		{
			NIM_BOOL T52_;
			T52_ = (NIM_BOOL)0;
			T52_ = !((retType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T52_)) goto LA53_;
			T52_ = !(((*retType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6)));
LA53_: ;
			if (!T52_) goto LA54_;
			allUntyped_1 = NIM_FALSE;
		}
LA54_: ;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190((*(*s_1).typ).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
					if (!(i_2 < colontmp_)) goto LA58;
					param_1 = NIM_NIL;
					i_1 = i_2;
					eqcopy___ast_u4577(&param_1, (*(*(*(*s_1).typ).n)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					{
						if (!!(((*(*param_1).name).id == ((NI)74)))) goto LA61_;
						(*param_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)40))) & 63);
						(*param_1).flags &= ~(((NU64)1) << (((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63));
					}
LA61_: ;
					{
						if (!!(((*(*param_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6)))) goto LA65_;
						allUntyped_1 = NIM_FALSE;
					}
LA65_: ;
					{
						if (!((*param_1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA69_;
						nullary_1 = NIM_FALSE;
					}
LA69_: ;
					i_2 += ((NI)1);
					eqdestroy___ast_u4574(param_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				} LA58: ;
			}
		}
		{
			LA49_:;
		}
		{
			oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(retType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin49_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA45_;
LA47_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T74_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T75_;
		colontmpD__5 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		T74_ = NIM_NIL;
		T74_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T74_); goto LA1_;}
		eqsink___ast_u3387(&(*s_1).typ, T74_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T75_ = NIM_NIL;
		T75_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T75_); goto LA1_;}
		eqsink___ast_u3261(&(*(*s_1).typ).n, T75_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__5 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		rawAddSon__ast_u6706((*s_1).typ, colontmpD__5, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__6 = returnType__ast_u5354((*s_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__7 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*n_p1).info, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215((*(*s_1).typ).n, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA45_: ;
	{
		NI T78_;
		T78_ = (NI)0;
		T78_ = safeLen__ast_u3197((*n_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T78_ == ((NI)0))) goto LA79_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)2)], (*(*n_p1)._kind_6.sons.p->data[((NI)5)])._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)5)], (*(*c_p0).graph).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA79_: ;
	{
		if (!allUntyped_1) goto LA83_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)61))) & 63);
	}
LA83_: ;
	{
		NIM_BOOL T87_;
		NIM_BOOL T88_;
		T87_ = (NIM_BOOL)0;
		T88_ = (NIM_BOOL)0;
		T88_ = nullary_1;
		if (!(T88_)) goto LA89_;
		T88_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA89_: ;
		T87_ = T88_;
		if (!(T87_)) goto LA90_;
		T87_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA90_: ;
		if (!T87_) goto LA91_;
		(*s_1).flags &= ~(((NU64)1) << (((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)47))) & 63));
	}
LA91_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T97_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA95_;
		T97_ = NIM_NIL;
		T97_ = semPattern__sem_u10922(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], s_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T97_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T97_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA95_: ;
	nimZeroMem((void*)(&ctx_1), sizeof(tyObject_TemplCtx__JvvDCyBMSHiaw2UaZzOOzQ));
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toBind));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toMixin));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&ctx_1.toInject));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = eqdup___semdata_u4222(c_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	ctx_1.c = colontmpD__3;
	colontmpD__4 = eqdup___ast_u4580(s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	ctx_1.owner = colontmpD__4;
	{
		NI i_3;
		NI colontmp__2;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = len__ast_u3190((*(*s_1).typ).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_4 = ((NI)1);
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_2;
				if (!(i_4 < colontmp__2)) goto LA100;
				param_2 = NIM_NIL;
				i_3 = i_4;
				eqcopy___ast_u4577(&param_2, (*(*(*(*s_1).typ).n)._kind_6.sons.p->data[i_3])._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
				{
					if (!!(((*param_2).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA104_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T110_;
						if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)56)))&63U)))!=0)) goto LA108_;
						T110_ = NIM_NIL;
						T110_ = semTemplBodyDirty__sem_u11548((&ctx_1), (*param_2).ast);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T110_); goto LA101_;}
						eqsink___ast_u3261(&(*param_2).ast, T110_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
					}
					goto LA106_;
LA108_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T112_;
						T112_ = NIM_NIL;
						T112_ = semTemplBody__sem_u10461((&ctx_1), (*param_2).ast);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T112_); goto LA101_;}
						eqsink___ast_u3261(&(*param_2).ast, T112_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
					}
LA106_: ;
					{
						NIM_BOOL T115_;
						T115_ = (NIM_BOOL)0;
						T115_ = referencesAnotherParam__sem_u1333((*param_2).ast, s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
						if (!T115_) goto LA116_;
						(*(*param_2).ast).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)19))) & 31);
					}
LA116_: ;
				}
LA104_: ;
				i_4 += ((NI)1);
				{
					LA101_:;
				}
				{
					oldNimErrFin101_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(param_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin101_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA100: ;
		}
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T124_;
		if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)56)))&63U)))!=0)) goto LA122_;
		T124_ = NIM_NIL;
		T124_ = semTemplBodyDirty__sem_u11548((&ctx_1), (*n_p1)._kind_6.sons.p->data[((NI)6)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T124_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)6)], T124_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA120_;
LA122_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T126_;
		T126_ = NIM_NIL;
		T126_ = semTemplBody__sem_u10461((&ctx_1), (*n_p1)._kind_6.sons.p->data[((NI)6)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T126_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)6)], T126_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA120_: ;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	popOwner__semdata_u439(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)57)))&63U)))!=0)) goto LA129_;
		{
			NimStringV2 colontmpD__8;
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA133_;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1368, (*(*s_1).name).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)6)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1369, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
			{
				LA135_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA133_: ;
	}
	goto LA127_;
LA129_: ;
	{
		NimStringV2 colontmpD__9;
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA139_;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		colontmpD__9 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1370, (*(*s_1).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA141_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1371, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA141_;
		{
			LA141_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__9);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA127_;
LA139_: ;
LA127_: ;
	searchForProc__procfind_u64(c_p0, (*c_p0).currentScope, s_1, (&tmpTuple_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	proto_1 = tmpTuple_1.Field0;
	eqwasMoved___ast_u4571(&tmpTuple_1.Field0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	comesFromShadowscope_1 = tmpTuple_1.Field1;
	{
		if (!(proto_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA146_;
		addInterfaceOverloadableSymAt__lookups_u3846(c_p0, (*c_p0).currentScope, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA144_;
LA146_: ;
	{
		if (!!(comesFromShadowscope_1)) goto LA149_;
		{
			tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T153_;
			T153_ = 0;
			if (!((IL64(4611686155866341376) & (*s_1).flags) == T153_)) goto LA154_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)76), (*(*s_1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1372, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA154_: ;
		symTabReplace__astalgo_u2636((&(*(*c_p0).currentScope).symbols), proto_1, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA144_;
LA149_: ;
LA144_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA158_;
		blitTmp_1 = s_1;
		eqwasMoved___ast_u4571(&s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__renderer_u83((&(*c_p0).patterns), blitTmp_1);
	}
LA158_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(proto_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___procfind_u79(tmpTuple_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u11990((&ctx_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semQuoteAst__sem_u120)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* quotedBlock_1;
	NimStringV2 op_1;
	tySequence__9ahcSjIErJohSBBFLwuF56Q quotes_1;
	tySequence__9ahcSjIErJohSBBFLwuF56Q ids_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dummyTemplateSym_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dummyTemplate_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tmpl_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* identNodeSym_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* identNode_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
	NI T10_;
	NimStringV2 T11_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL oldNimErrFin28_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T57_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T63_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T65_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T66_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	quotedBlock_1 = NIM_NIL;
	op_1.len = 0; op_1.p = NIM_NIL;
	quotes_1.len = 0; quotes_1.p = NIM_NIL;
	ids_1.len = 0; ids_1.p = NIM_NIL;
	colontmpD_ = NIM_NIL;
	dummyTemplateSym_1 = NIM_NIL;
	dummyTemplate_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	tmpl_1 = NIM_NIL;
	identNodeSym_1 = NIM_NIL;
	identNode_1 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	colontmpD__5 = NIM_NIL;
	colontmpD__6 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NI T5_;
		NI T7_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NI)0;
		T5_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = !((T5_ == ((NI)2)));
		if (!(T4_)) goto LA6_;
		T7_ = (NI)0;
		T7_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = !((T7_ == ((NI)3)));
LA6_: ;
		if (!T4_) goto LA8_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1345, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1346, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(identNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(identNodeSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tmpl_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dummyTemplate_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(dummyTemplateSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3696(ids_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3696(quotes_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(op_1);
		eqdestroy___ast_u3252(quotedBlock_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA8_: ;
	T10_ = (NI)0;
	T10_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&quotedBlock_1, (*n_p1)._kind_6.sons.p->data[(NI)(T10_ - ((NI)1))]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T11_.len = 0; T11_.p = NIM_NIL;
	{
		NI T14_;
		T14_ = (NI)0;
		T14_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T14_ == ((NI)3))) goto LA15_;
		op_1 = expectString__sem_u26172(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA12_;
LA15_: ;
	{
		op_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1351;
	}
LA12_: ;
	quotes_1 = newSeq__closureiters_u2254(((NI)2));
	ids_1 = newSeq__closureiters_u2254(((NI)1));
	{
		if (!!(((*quotedBlock_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115)))) goto LA20_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)5), TM__rF9caJawfOjYTjsgLVUSGFA_1353, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1354, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA20_: ;
	colontmpD_ = newAnonSym__sem_u26181(c_p0, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T22_ = NIM_NIL;
	T22_ = newSymNode__ast_u5168(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA1_;}
	eqsink___ast_u3261(&ids_1.p->data[((NI)0)], T22_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	processQuotations__sem_u26237(c_p0, &quotedBlock_1, op_1, (&quotes_1), (&ids_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	dummyTemplateSym_1 = newAnonSym__sem_u26181(c_p0, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*dummyTemplateSym_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)62))) & 63);
	colontmpD__2 = newSymNode__ast_u5168(dummyTemplateSym_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	dummyTemplate_1 = newProcNode__ast_u5430(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83), (*quotedBlock_1).info, quotedBlock_1, (*(*c_p0).graph).emptyNode, colontmpD__2, (*(*c_p0).graph).emptyNode, (*(*c_p0).graph).emptyNode, (*(*c_p0).graph).emptyNode, (*(*c_p0).graph).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T25_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__7;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T29_;
		tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T30_;
		T25_ = ids_1.len;
		if (!(((NI)0) < T25_)) goto LA26_;
		colontmpD__7 = NIM_NIL;
		colontmpD__8 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		colontmpD__10 = NIM_NIL;
		colontmpD__11 = NIM_NIL;
		T29_ = NIM_NIL;
		T29_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T29_); goto LA28_;}
		eqsink___ast_u3261(&(*dummyTemplate_1)._kind_6.sons.p->data[((NI)3)], T29_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		colontmpD__7 = getSysSym__magicsys_u17((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1358);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		colontmpD__8 = newSymNode__ast_u5168(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		add__ast_u3215((*dummyTemplate_1)._kind_6.sons.p->data[((NI)3)], colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		nimZeroMem((void*)T30_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
		T30_[0] = ids_1.p->data[((NI)0)];
		colontmpD__9 = getSysSym__magicsys_u17((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1360);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		colontmpD__10 = newSymNode__ast_u5168(colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		T30_[1] = colontmpD__10;
		T30_[2] = (*(*c_p0).graph).emptyNode;
		colontmpD__11 = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*n_p1).info, T30_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		add__ast_u3215((*dummyTemplate_1)._kind_6.sons.p->data[((NI)3)], colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			NI i_1;
			NI colontmp_;
			NI T32_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T32_ = ids_1.len;
			colontmp_ = T32_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* exp_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T36_;
					if (!(i_2 < colontmp_)) goto LA34;
					exp_1 = NIM_NIL;
					typ_1 = NIM_NIL;
					i_1 = i_2;
					T36_ = 0;
					exp_1 = semExprWithType__sem_u63(c_p0, quotes_1.p->data[(NI)(i_1 + ((NI)1))], T36_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					eqcopy___ast_u3381(&typ_1, (*exp_1).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					{
						NIM_BOOL T39_;
						NIM_BOOL T40_;
						NIM_BOOL T41_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
						tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T47_;
						T39_ = (NIM_BOOL)0;
						T40_ = (NIM_BOOL)0;
						T41_ = (NIM_BOOL)0;
						T41_ = !((((*typ_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)33)))&63U)))!=0));
						if (!(T41_)) goto LA42_;
						T41_ = !(((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60)));
LA42_: ;
						T40_ = T41_;
						if (!(T40_)) goto LA43_;
						T40_ = ((*exp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA43_: ;
						T39_ = T40_;
						if (!(T39_)) goto LA44_;
						T39_ = !(((*(*exp_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*(*exp_1)._kind_4.sym).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) && (*(*exp_1)._kind_4.sym).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18)));
LA44_: ;
						if (!T39_) goto LA45_;
						colontmpD__12 = NIM_NIL;
						colontmpD__13 = NIM_NIL;
						nimZeroMem((void*)T47_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
						T47_[0] = ids_1.p->data[i_1];
						colontmpD__12 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*n_p1).info, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						T47_[1] = colontmpD__12;
						T47_[2] = (*(*c_p0).graph).emptyNode;
						colontmpD__13 = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*n_p1).info, T47_, 3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						add__ast_u3215((*dummyTemplate_1)._kind_6.sons.p->data[((NI)3)], colontmpD__13);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						eqdestroy___ast_u3252(colontmpD__13);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						eqdestroy___ast_u3252(colontmpD__12);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					}
					goto LA37_;
LA45_: ;
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__14;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__16;
						tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T50_;
						colontmpD__14 = NIM_NIL;
						colontmpD__15 = NIM_NIL;
						colontmpD__16 = NIM_NIL;
						nimZeroMem((void*)T50_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
						T50_[0] = ids_1.p->data[i_1];
						colontmpD__14 = getSysSym__magicsys_u17((*c_p0).graph, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1361);
						if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
						colontmpD__15 = newSymNode__ast_u5168(colontmpD__14);
						if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
						T50_[1] = colontmpD__15;
						T50_[2] = (*(*c_p0).graph).emptyNode;
						colontmpD__16 = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*n_p1).info, T50_, 3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
						add__ast_u3215((*dummyTemplate_1)._kind_6.sons.p->data[((NI)3)], colontmpD__16);
						if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
						{
							LA49_:;
						}
						{
							oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__16);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							eqdestroy___ast_u3252(colontmpD__15);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							eqdestroy___ast_u4574(colontmpD__14);
							if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
							*nimErr_ = oldNimErrFin49_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					}
LA37_: ;
					i_2 += ((NI)1);
					{
						LA35_:;
					}
					{
						oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
						eqdestroy___ast_u3252(exp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
						*nimErr_ = oldNimErrFin35_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
				} LA34: ;
			}
		}
		{
			LA28_:;
		}
		{
			oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin28_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA26_: ;
	tmpl_1 = semTemplateDef__sem_u11788(c_p0, dummyTemplate_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&quotes_1.p->data[((NI)0)], (*tmpl_1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	identNodeSym_1 = getCompilerProc__magicsys_u150((*c_p0).graph, TM__rF9caJawfOjYTjsgLVUSGFA_1374);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T57_ = NIM_NIL;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__17;
		if (!(identNodeSym_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA60_;
		colontmpD__17 = NIM_NIL;
		colontmpD__17 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1375);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		identNode_1 = newIdentNode__ast_u5164(colontmpD__17, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___idents_u155(colontmpD__17);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA58_;
LA60_: ;
	{
		identNode_1 = newSymNode__ast_u5168(identNodeSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA58_: ;
	nimZeroMem((void*)T63_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	T63_[0] = identNode_1;
	colontmpD__3 = newStrNode__ast_u5422(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), TM__rF9caJawfOjYTjsgLVUSGFA_1376);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T63_[1] = colontmpD__3;
	T64_ = NIM_NIL;
	T64_ = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, T63_, 2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto LA1_;}
	eqsink___ast_u3261(&quotes_1.p->data[((NI)1)], T64_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T65_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	colontmpD__4 = createMagic__modulegraphs_u10814((*c_p0).graph, (*c_p0).Sup.idgen, TM__rF9caJawfOjYTjsgLVUSGFA_1378, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)27));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__5 = newSymNode__ast_u5168(colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T65_[0] = colontmpD__5;
	colontmpD__6 = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, ((quotes_1).p) ? (quotes_1.p->data) : NIM_NIL, quotes_1.len);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T65_[1] = colontmpD__6;
	result = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, T65_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T66_ = NIM_NIL;
	T66_ = semExpandToAst__sem_u26186(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T66_); goto LA1_;}
	eqsink___ast_u3261(&result, T66_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(identNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(identNodeSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tmpl_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dummyTemplate_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(dummyTemplateSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3696(ids_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3696(quotes_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(op_1);
		eqdestroy___ast_u3252(quotedBlock_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, createFlowVar__sem_u26501)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9), (*c_p0).Sup.idgen, (*c_p0).module, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getCompilerProc__magicsys_u150((*c_p0).graph, TM__rF9caJawfOjYTjsgLVUSGFA_1386);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addSonSkipIntLit__magicsys_u135(result, (*colontmpD_).typ, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addSonSkipIntLit__magicsys_u135(result, t_p1, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = instGenericContainer__sem_u1274(c_p0, info_p2, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T2_); goto LA1_;}
	eqsink___ast_u3387(&result, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, instantiateCreateFlowVarCall__sem_u26506)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
	tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A bindings_1;
	tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA T6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	sym_1 = NIM_NIL;
	nimZeroMem((void*)(&bindings_1), sizeof(tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A));
	sym_1 = getCompilerProc__magicsys_u150((*c_p0).graph, TM__rF9caJawfOjYTjsgLVUSGFA_1388);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(sym_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_p2, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1390, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1391, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	T6_ = initIdTable__layeredtable_u16();
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___layeredtable_u149(T6_); goto LA1_;}
	initLayeredTypeMap__layeredtable_u9(T6_, (&bindings_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	put__layeredtable_u734((&bindings_1), (*(*(*(*(*sym_1).ast)._kind_6.sons.p->data[((NI)2)])._kind_6.sons.p->data[((NI)0)]).typField).itemId, t_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = (*c_p0).semGenerateInstance.ClE_0? (*c_p0).semGenerateInstance.ClP_0(c_p0, sym_1, bindings_1, info_p2, (*c_p0).semGenerateInstance.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1392)((*c_p0).semGenerateInstance.ClP_0))(c_p0, sym_1, bindings_1, info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((*result).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)18)))&63U)))!=0)) goto LA9_;
		(*result).flags = ((*result).flags & ~ 262336);
		eqsink___system_u2700((&(*result).loc.snippet), TM__rF9caJawfOjYTjsgLVUSGFA_1393);
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___layeredtable_u233(bindings_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(sym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSizeof__sem_u26532)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* configX60gensym6616__1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nodeX60gensym6616__1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typX60gensym6616__1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T12_;
	NI64 sizeX60gensym6616__1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	configX60gensym6616__1 = NIM_NIL;
	nodeX60gensym6616__1 = NIM_NIL;
	typX60gensym6616__1 = NIM_NIL;
	{
		NI T4_;
		NimStringV2 colontmpD_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((T4_ == ((NI)2)))) goto LA5_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1394, TM__rF9caJawfOjYTjsgLVUSGFA_1396);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1397, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA5_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		T11_ = NIM_NIL;
		T11_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], 1024, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	T12_ = NIM_NIL;
	T12_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T12_); goto LA1_;}
	eqsink___ast_u3387(&(*n_p1).typField, T12_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___options_u2138(&configX60gensym6616__1, (*(*c_p0).graph).config);
	eqcopy___ast_u3255(&nodeX60gensym6616__1, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&typX60gensym6616__1, (*(*nodeX60gensym6616__1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	computeSizeAlign__types_u3070(configX60gensym6616__1, typX60gensym6616__1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	sizeX60gensym6616__1 = (*typX60gensym6616__1).size;
	T13_ = NIM_NIL;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resX60gensym6616__1;
		if (!(IL64(0) <= sizeX60gensym6616__1)) goto LA16_;
		resX60gensym6616__1 = NIM_NIL;
		resX60gensym6616__1 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), sizeX60gensym6616__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*resX60gensym6616__1).info = (*nodeX60gensym6616__1).info;
		eqcopy___ast_u3381(&(*resX60gensym6616__1).typField, (*nodeX60gensym6616__1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = resX60gensym6616__1;
	}
	goto LA14_;
LA16_: ;
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(typX60gensym6616__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(nodeX60gensym6616__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(configX60gensym6616__1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMagic__sem_u26546)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL oldNimErrFin82_;
NIM_BOOL oldNimErrFin58_;
NIM_BOOL oldNimErrFin108_;
NIM_BOOL oldNimErrFin100_;
NIM_BOOL oldNimErrFin123_;
NIM_BOOL oldNimErrFin138_;
NIM_BOOL oldNimErrFin150_;
NIM_BOOL oldNimErrFin143_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*s_p2).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)16):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T2_ = NIM_NIL;
		T2_ = semAddr__sem_u23464(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T2_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)18):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T4_ = NIM_NIL;
		T4_ = semTypeOf__sem_u142(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T4_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)1):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
		colontmpD_ = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD_ = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = NIM_NIL;
		T7_ = semDefined__sem_u26119(c_p0, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA6_;}
		eqsink___ast_u3261(&result, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)2):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
		colontmpD__2 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		colontmpD__2 = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T12_ = NIM_NIL;
		T12_ = semDeclared__sem_u26147(c_p0, colontmpD__2, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA11_;}
		eqsink___ast_u3261(&result, T12_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)3):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
		colontmpD__3 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		colontmpD__3 = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		T17_ = NIM_NIL;
		T17_ = semDeclared__sem_u26147(c_p0, colontmpD__3, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA16_;}
		eqsink___ast_u3261(&result, T17_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		{
			LA16_:;
		}
		{
			oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin16_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)4):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
		colontmpD__4 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		colontmpD__4 = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		T22_ = NIM_NIL;
		T22_ = semCompiles__sem_u26484(c_p0, colontmpD__4, flags_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA21_;}
		eqsink___ast_u3261(&result, T22_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)14):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T27_;
		colontmpD__5 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		colontmpD__5 = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		T27_ = NIM_NIL;
		T27_ = semIs__sem_u23092(c_p0, colontmpD__5, flags_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T27_); goto LA26_;}
		eqsink___ast_u3261(&result, T27_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		{
			LA26_:;
		}
		{
			oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin26_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)21):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T31_ = NIM_NIL;
		T31_ = semShallowCopy__sem_u23935(c_p0, n_p1, flags_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T31_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)27):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T33_ = NIM_NIL;
		T33_ = semExpandToAst__sem_u26231(c_p0, n_p1, s_p2, flags_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T33_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T33_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)28):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T35_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T35_ = NIM_NIL;
		T35_ = semQuoteAst__sem_u120(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T35_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T35_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)139):
	{
		NimStringV2 colontmpD__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T39_;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		colontmpD__6 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)1)], 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		T38_ = NIM_NIL;
		T38_ = newStrNodeT__semfold_u63(colontmpD__6, n_p1, (*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA37_;}
		eqsink___ast_u3261(&result, T38_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		T39_ = NIM_NIL;
		T39_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T39_); goto LA37_;}
		eqsink___ast_u3387(&(*result).typField, T39_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		{
			LA37_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)140):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T53_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T54_;
		x_1 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		{
			if (!!((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)2)))&31U)))!=0))) goto LA46_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1380, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1381, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
LA46_: ;
		T48_ = NIM_NIL;
		T48_ = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA43_;}
		eqsink___ast_u3261(&result, T48_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		x_1 = lastSon__ast_u5208(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		{
			if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52))) goto LA51_;
			eqcopy___ast_u3255(&x_1, (*x_1)._kind_6.sons.p->data[((NI)6)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
LA51_: ;
		(*c_p0).inParallelStmt += ((NI)1);
		T53_ = 0;
		T54_ = NIM_NIL;
		T54_ = semStmt__sem_u93(c_p0, x_1, T53_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T54_); goto LA43_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T54_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		(*c_p0).inParallelStmt -= ((NI)1);
		{
			LA43_:;
		}
		{
			oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin43_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)199):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T59_;
		NI T76_;
		typ_1 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		T59_ = NIM_NIL;
		T59_ = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T59_); goto LA58_;}
		eqsink___ast_u3261(&result, T59_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		{
			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 LA58_;
			i_2 = ((NI)1);
			{
				while (1) {
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T63_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
					if (!(i_2 < colontmp_)) goto LA62;
					i_1 = i_2;
					T63_ = 0;
					T64_ = NIM_NIL;
					T64_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], T63_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto LA58_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T64_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					i_2 += ((NI)1);
				} LA62: ;
			}
		}
		{
			NIM_BOOL T67_;
			NI T68_;
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			NimStringV2 T73_;
			T67_ = (NIM_BOOL)0;
			T68_ = (NI)0;
			T68_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			T67_ = (((NI)1) < T68_);
			if (!(T67_)) goto LA69_;
			T67_ = !(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32)));
LA69_: ;
			if (!T67_) goto LA70_;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			T73_.len = 0; T73_.p = NIM_NIL;
			colontmpD__7 = dollar___renderer_u2166((*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			T73_ = rawNewString(colontmpD__7.len + 38);
appendString((&T73_), TM__rF9caJawfOjYTjsgLVUSGFA_1383);
appendString((&T73_), colontmpD__7);
			colontmpD__8 = T73_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1384, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			result = errorNode__semdata_u4571(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA72_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		}
LA70_: ;
		T76_ = (NI)0;
		T76_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		eqcopy___ast_u3381(&typ_1, (*(*result)._kind_6.sons.p->data[(NI)(T76_ - ((NI)1))]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		{
			NIM_BOOL T79_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			T79_ = (NIM_BOOL)0;
			T79_ = isEmptyType__ast_u7234(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			if (!!(T79_)) goto LA80_;
			colontmpD__9 = NIM_NIL;
			colontmpD__10 = NIM_NIL;
			{
				tyEnum_TSpawnResult__Fi6IYHzmOR0d8zopbmZXuw T85_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T88_;
				T85_ = (tyEnum_TSpawnResult__Fi6IYHzmOR0d8zopbmZXuw)0;
				T85_ = spawnResult__spawn_u29(typ_1, (((NI)0) < (*c_p0).inParallelStmt));
				if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
				if (!(T85_ == ((tyEnum_TSpawnResult__Fi6IYHzmOR0d8zopbmZXuw)1))) goto LA86_;
				T88_ = NIM_NIL;
				T88_ = createFlowVar__sem_u26501(c_p0, typ_1, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T88_); goto LA82_;}
				eqsink___ast_u3387(&(*result).typField, T88_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
			}
			goto LA83_;
LA86_: ;
			{
				eqcopy___ast_u3381(&(*result).typField, typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
			}
LA83_: ;
			colontmpD__9 = instantiateCreateFlowVarCall__sem_u26506(c_p0, typ_1, (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
			colontmpD__10 = newSymNode__ast_u5168(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
			add__ast_u3215(result, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
			{
				LA82_:;
			}
			{
				oldNimErrFin82_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
				eqdestroy___ast_u4574(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
				*nimErr_ = oldNimErrFin82_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		}
		goto LA77_;
LA80_: ;
		{
			add__ast_u3215(result, (*(*c_p0).graph).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		}
LA77_: ;
		{
			LA58_:;
		}
		{
			oldNimErrFin58_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin58_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)204):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T96_;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T97_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T98_;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T96_ = NIM_NIL;
		T96_ = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T96_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T96_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T97_ = 0;
		T98_ = NIM_NIL;
		T98_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], T97_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T98_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T98_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3381(&(*result).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)19):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T101_;
		nOrig_1 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
		nOrig_1 = copyTree__ast_u6891(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
		T101_ = NIM_NIL;
		T101_ = semOverloadedCallAnalyseEffects__sem_u24589(c_p0, n_p1, nOrig_1, flags_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T101_); goto LA100_;}
		eqsink___ast_u3261(&result, T101_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T106_;
			if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA104_;
			T106_ = NIM_NIL;
			T106_ = errorNode__semdata_u4571(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T106_); goto LA100_;}
			eqsink___ast_u3261(&result, T106_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
		}
		goto LA102_;
LA104_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callee_1;
			callee_1 = NIM_NIL;
			eqcopy___ast_u4577(&callee_1, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			{
				if (!((*callee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0))) goto LA111_;
				semFinishOperands__sem_u24680(c_p0, result, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			}
LA111_: ;
			activate__sem_u117(c_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			fixAbstractType__sem_u23347(c_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			analyseIfAddressTakenInCall__semdata_u7430(c_p0, result, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T117_;
				if (!!(((*callee_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)))) goto LA115_;
				T117_ = NIM_NIL;
				T117_ = magicsAfterOverloadResolution__sem_u24312(c_p0, result, flags_p3, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T117_); goto LA108_;}
				eqsink___ast_u3261(&result, T117_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			}
LA115_: ;
			{
				LA108_:;
			}
			{
				oldNimErrFin108_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(callee_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
				*nimErr_ = oldNimErrFin108_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
		}
LA102_: ;
		{
			LA100_:;
		}
		{
			oldNimErrFin100_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(nOrig_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin100_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)268):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
		colontmpD__11 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
		{
			NIM_BOOL T126_;
			NIM_BOOL T127_;
			NI T129_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T133_;
			T126_ = (NIM_BOOL)0;
			T127_ = (NIM_BOOL)0;
			T127_ = ((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)14) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)15) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)16) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)21) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)22) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)23) || (*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)24));
			if (!(T127_)) goto LA128_;
			T129_ = (NI)0;
			T129_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
			T127_ = (((NI)2) <= T129_);
LA128_: ;
			T126_ = T127_;
			if (!(T126_)) goto LA130_;
			colontmpD__11 = lastSon__ast_u5208(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
			T126_ = ((*colontmpD__11).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115));
LA130_: ;
			if (!T126_) goto LA131_;
			T133_ = NIM_NIL;
			T133_ = setMs__sem_u26528(n_p1, s_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T133_); goto LA123_;}
			eqsink___ast_u3261(&result, T133_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
		}
		goto LA124_;
LA131_: ;
		{
			eqcopy___ast_u3255(&result, (*(*c_p0).graph).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
		}
LA124_: ;
		{
			LA123_:;
		}
		{
			oldNimErrFin123_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin123_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)10):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T139_;
		colontmpD__12 = NIM_NIL;
		markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_p2, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
		colontmpD__12 = setMs__sem_u26528(n_p1, s_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
		T139_ = NIM_NIL;
		T139_ = semSizeof__sem_u26532(c_p0, colontmpD__12);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T139_); goto LA138_;}
		eqsink___ast_u3261(&result, T139_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
		{
			LA138_:;
		}
		{
			oldNimErrFin138_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin138_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)143):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)144):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expected_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T161_;
		expected_1 = NIM_NIL;
		{
			NIM_BOOL T146_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arrayType_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__13;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T158_;
			T146_ = (NIM_BOOL)0;
			T146_ = !((expectedType_p4 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T146_)) goto LA147_;
			expected_1 = skipTypes__ast_u5379(expectedType_p4, TM__rF9caJawfOjYTjsgLVUSGFA_6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
			T146_ = ((*expected_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*expected_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27));
LA147_: ;
			if (!T146_) goto LA148_;
			arrayType_1 = NIM_NIL;
			colontmpD__13 = NIM_NIL;
			colontmpD__13 = owner__ast_u6246(expected_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
			arrayType_1 = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27), (*c_p0).Sup.idgen, colontmpD__13, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
			rawAddSon__ast_u6706(arrayType_1, (*expected_1).sons.p->data[((NI)0)], NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
			{
				NIM_BOOL T153_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T157_;
				T153_ = (NIM_BOOL)0;
				T153_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T153_)) goto LA154_;
				T153_ = (((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2)))&63U)))!=0);
LA154_: ;
				if (!T153_) goto LA155_;
				T157_ = NIM_NIL;
				T157_ = newSymNode__ast_u5171((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).instantiatedFrom, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T157_); goto LA150_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T157_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
			}
LA155_: ;
			T158_ = NIM_NIL;
			T158_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], flags_p3, arrayType_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T158_); goto LA150_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T158_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
			{
				LA150_:;
			}
			{
				oldNimErrFin150_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD__13);
				if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
				eqdestroy___ast_u3378(arrayType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
				*nimErr_ = oldNimErrFin150_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
		}
LA148_: ;
		T161_ = NIM_NIL;
		T161_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T161_); goto LA143_;}
		eqsink___ast_u3261(&result, T161_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
		{
			LA143_:;
		}
		{
			oldNimErrFin143_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(expected_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin143_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T165_;
		T165_ = NIM_NIL;
		T165_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p3, expectedType_p4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T165_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T165_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newDeref__lowerings_u12)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = elementType__ast_u5331((*n_p0).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65), (*n_p0).info, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, resolveIndirectCall__sem_u24648)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3, tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	initCandidate__sigmatch_u245(c_p0, t_p3, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	matches__sigmatch_u5087(c_p0, n_p1, nOrig_p2, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, overloadedCallOpr__sem_u23149)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* par_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	NIM_BOOL amb_1;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	par_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	par_1 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1408);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	amb_1 = NIM_FALSE;
	{
		colontmpD_ = searchInScopes__lookups_u2425(c_p0, par_1, (&amb_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA4_;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		colontmpD__2 = NIM_NIL;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD__2 = newIdentNode__ast_u5164(par_1, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			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 LA7_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA10;
					i_1 = i_2;
					add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					i_2 += ((NI)1);
				} LA10: ;
			}
		}
		T11_ = NIM_NIL;
		T11_ = semExpr__sem_u58(c_p0, result, 524288, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA7_;}
		eqsink___ast_u3261(&result, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(par_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIndirectOp__sem_u24737)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prc_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nOrig_1;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin81_;
NIM_BOOL oldNimErrFin96_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	prc_1 = NIM_NIL;
	t_1 = NIM_NIL;
	nOrig_1 = NIM_NIL;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&prc_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n0_1;
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA4_;
		n0_1 = NIM_NIL;
		checkSonsLen__semdata_u4671((*n_p1)._kind_6.sons.p->data[((NI)0)], ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		n0_1 = semFieldAccess__sem_u21875(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], 1048576);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			if (!((*n0_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)25))) goto LA9_;
			eqsink___ast_u3261(&result, n0_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqwasMoved___ast_u3249(&n0_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)27));
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)11))) & 31);
			{
				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 LA6_;
				i_2 = ((NI)1);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA13;
						i_1 = i_2;
						add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						i_2 += ((NI)1);
					} LA13: ;
				}
			}
			result = semExpr__sem_u58(c_p0, result, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqdestroy___ast_u3252(n0_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(nOrig_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA7_;
LA9_: ;
		{
			NIM_BOOL T15_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T21_;
			T15_ = (NIM_BOOL)0;
			T15_ = ((*(*n0_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
			if (!(T15_)) goto LA16_;
			T15_ = (((NI)0) < (*c_p0).inGenericContext);
LA16_: ;
			if (!T15_) goto LA17_;
			colontmpD_ = NIM_NIL;
			T20_ = NIM_NIL;
			T20_ = semGenericStmt__sem_u690(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto LA19_;}
			eqsink___ast_u3261(&result, T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			colontmpD_ = copyTree__ast_u6891(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			T21_ = NIM_NIL;
			T21_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T21_); goto LA19_;}
			eqsink___ast_u3387(&(*result).typField, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqdestroy___ast_u3252(n0_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(nOrig_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA7_;
LA17_: ;
		{
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], n0_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqwasMoved___ast_u3249(&n0_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA7_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(n0_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T29_;
		t_2 = NIM_NIL;
		T29_ = NIM_NIL;
		T29_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], 33619968, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T29_); goto LA28_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T29_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		eqcopy___ast_u3381(&t_2, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			NIM_BOOL T32_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
			T32_ = (NIM_BOOL)0;
			T32_ = !((t_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T32_)) goto LA33_;
			T32_ = ((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47));
LA33_: ;
			if (!T32_) goto LA34_;
			T36_ = NIM_NIL;
			T36_ = newDeref__lowerings_u12((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA28_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T36_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		}
		goto LA30_;
LA34_: ;
		{
			NIM_BOOL T38_;
			T38_ = (NIM_BOOL)0;
			T38_ = isSymChoice__sem_u22017((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			if (!(T38_)) goto LA39_;
			T38_ = !((((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)9)))&31U)))!=0));
LA39_: ;
			if (!T38_) goto LA40_;
			result = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			eqdestroy___ast_u3378(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(nOrig_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA30_;
LA40_: ;
LA30_: ;
		{
			LA28_:;
		}
		{
			oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin28_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	t_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T48_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA46_;
		T48_ = NIM_NIL;
		T48_ = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1398);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T48_); goto LA1_;}
		eqsink___ast_u3387(&t_1, T48_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA46_: ;
	{
		NIM_BOOL T51_;
		T51_ = (NIM_BOOL)0;
		T51_ = !((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T51_)) goto LA52_;
		T51_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA52_: ;
		if (!T51_) goto LA53_;
		{
			NI T57_;
			T57_ = (NI)0;
			T57_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T57_ == ((NI)1))) goto LA58_;
			result = semObjConstr__sem_u23432(c_p0, n_p1, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(nOrig_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA58_: ;
		result = semConv__sem_u22833(c_p0, n_p1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(nOrig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(prc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA53_: ;
	nOrig_1 = copyTree__ast_u6891(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	semOpAux__sem_u97(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T62_;
		tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g m_1;
		T62_ = (NIM_BOOL)0;
		T62_ = !((t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T62_)) goto LA63_;
		T62_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA63_: ;
		if (!T62_) goto LA64_;
		nimZeroMem((void*)(&m_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
		resolveIndirectCall__sem_u24648(c_p0, n_p1, nOrig_1, t_1, (&m_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		{
			if (!!((m_1.state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1)))) goto LA69_;
			{
				tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw T73_;
				T73_ = 0;
				if (!((*(*(*c_p0).graph).config).m.errorOutputs == T73_)) goto LA74_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1399, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__rF9caJawfOjYTjsgLVUSGFA_1400, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
				eqcopy___ast_u3255(&result, (*(*c_p0).graph).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
				eqdestroy___sigmatch_u162((&m_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(nOrig_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(prc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA71_;
LA74_: ;
			{
				NimStringV2 msg_1;
				NIM_BOOL hasErrorType_1;
				msg_1.len = 0; msg_1.p = NIM_NIL;
				hasErrorType_1 = NIM_FALSE;
				msg_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1401;
				{
					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 LA77_;
					i_4 = ((NI)1);
					{
						while (1) {
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* nt_1;
							NimStringV2 colontmpD__2;
							if (!(i_4 < colontmp__2)) goto LA80;
							nt_1 = NIM_NIL;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							i_3 = i_4;
							{
								if (!(((NI)1) < i_3)) goto LA84_;
								prepareAdd((&msg_1), 2);
appendString((&msg_1), TM__rF9caJawfOjYTjsgLVUSGFA_1402);
							}
LA84_: ;
							eqcopy___ast_u3381(&nt_1, (*(*n_p1)._kind_6.sons.p->data[i_3]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							colontmpD__2 = typeToString__types_u54(nt_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
							if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
							prepareAdd((&msg_1), colontmpD__2.len + 0);
appendString((&msg_1), colontmpD__2);
							{
								if (!((*nt_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50))) goto LA88_;
								hasErrorType_1 = NIM_TRUE;
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___ast_u3378(nt_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
								goto LA78;
							}
LA88_: ;
							i_4 += ((NI)1);
							{
								LA81_:;
							}
							{
								oldNimErrFin81_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___ast_u3378(nt_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
								*nimErr_ = oldNimErrFin81_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
						} LA80: ;
					}
				} LA78: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					NimStringV2 T97_;
					if (!!(hasErrorType_1)) goto LA94_;
					typ_1 = NIM_NIL;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					eqcopy___ast_u3381(&typ_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
					if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
					T97_.len = 0; T97_.p = NIM_NIL;
					colontmpD__3 = typeToString__types_u54(typ_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
					T97_ = rawNewString(colontmpD__3.len + 23);
appendString((&T97_), TM__rF9caJawfOjYTjsgLVUSGFA_1404);
appendString((&T97_), colontmpD__3);
					colontmpD__4 = T97_;
					prepareAdd((&msg_1), colontmpD__4.len + 0);
appendString((&msg_1), colontmpD__4);
					{
						NIM_BOOL T100_;
						NIM_BOOL T101_;
						NimStringV2 colontmpD__5;
						NimStringV2 colontmpD__6;
						NimStringV2 T107_;
						T100_ = (NIM_BOOL)0;
						T101_ = (NIM_BOOL)0;
						T101_ = !(((*typ_1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T101_)) goto LA102_;
						T101_ = !((((*(*typ_1).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA102_: ;
						T100_ = T101_;
						if (!(T100_)) goto LA103_;
						T100_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA103_: ;
						if (!T100_) goto LA104_;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
						T107_.len = 0; T107_.p = NIM_NIL;
						colontmpD__5 = typeToString__types_u54(typ_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
						T107_ = rawNewString(colontmpD__5.len + 3);
appendString((&T107_), TM__rF9caJawfOjYTjsgLVUSGFA_1406);
appendString((&T107_), colontmpD__5);
						colontmpD__6 = T107_;
						prepareAdd((&msg_1), colontmpD__6.len + 0);
appendString((&msg_1), colontmpD__6);
						{
							LA106_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__6);
							eqdestroy___system_u2691(colontmpD__5);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
					}
LA104_: ;
					addDeclaredLocMaybe__astmsgs_u58((&msg_1), (*(*c_p0).graph).config, typ_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), msg_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1407, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
					{
						LA96_:;
					}
					{
						oldNimErrFin96_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___system_u2691(colontmpD__4);
						eqdestroy___system_u2691(colontmpD__3);
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
						*nimErr_ = oldNimErrFin96_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				}
LA94_: ;
				result = errorNode__semdata_u4571(c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				eqdestroy___system_u2691(msg_1);
				eqdestroy___sigmatch_u162((&m_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(nOrig_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(prc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
				{
					LA77_:;
				}
				{
					eqdestroy___system_u2691(msg_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			}
LA71_: ;
		}
		goto LA67_;
LA69_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T115_;
			T115_ = NIM_NIL;
			T115_ = compactVoidArgs__sem_u3922(m_1.call);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T115_); goto LA66_;}
			eqsink___ast_u3261(&result, T115_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			instGenericConvertersSons__sem_u3445(c_p0, result, (&m_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			markConvertersUsed__sem_u3461(c_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		}
LA67_: ;
		{
			LA66_:;
		}
		{
			oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___sigmatch_u162((&m_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin66_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA60_;
LA64_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T119_;
		T119_ = NIM_NIL;
		T119_ = overloadedCallOpr__sem_u23149(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T119_); goto LA1_;}
		eqsink___ast_u3261(&result, T119_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T122_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T126_;
			T122_ = (NIM_BOOL)0;
			T122_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (T122_) goto LA123_;
			T122_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA123_: ;
			if (!T122_) goto LA124_;
			eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqsink___ast_u3261(&(*nOrig_1)._kind_6.sons.p->data[((NI)0)], prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqwasMoved___ast_u3249(&prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*n_p1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)12))) & 31);
			T126_ = NIM_NIL;
			T126_ = semOverloadedCallAnalyseEffects__sem_u24589(c_p0, n_p1, nOrig_1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T126_); goto LA1_;}
			eqsink___ast_u3261(&result, T126_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA129_;
				result = errorNode__semdata_u4571(c_p0, n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(nOrig_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(prc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA129_: ;
		}
		goto LA120_;
LA124_: ;
		{
			if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32)))) goto LA132_;
			eqdestroy___ast_u3252(nOrig_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(prc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA120_;
LA132_: ;
LA120_: ;
	}
LA60_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T138_;
		if (!((*(*result)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA136_;
		T138_ = NIM_NIL;
		T138_ = afterCallActions__sem_u24693(c_p0, result, nOrig_1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T138_); goto LA1_;}
		eqsink___ast_u3261(&result, T138_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA134_;
LA136_: ;
	{
		fixAbstractType__sem_u23347(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		analyseIfAddressTakenInCall__semdata_u7430(c_p0, result, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA134_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(nOrig_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(prc_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, isExplicitGenericCall__sem_u28551)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	a_1 = NIM_NIL;
	result = NIM_FALSE;
	eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*a_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = isSymChoice__sem_u22017((*a_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T5_) goto LA6_;
			result = NIM_TRUE;
		}
		goto LA3_;
LA6_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sX60gensym7258__1;
			tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T10_;
			sX60gensym7258__1 = NIM_NIL;
			T10_ = 0;
			sX60gensym7258__1 = qualifiedLookUp__lookups_u5229(c_p0, (*a_1)._kind_6.sons.p->data[((NI)0)], T10_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				NIM_BOOL T13_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
				T13_ = (NIM_BOOL)0;
				T13_ = !((sX60gensym7258__1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
				if (!(T13_)) goto LA14_;
				T13_ = ((*sX60gensym7258__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*sX60gensym7258__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*sX60gensym7258__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*sX60gensym7258__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*sX60gensym7258__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*sX60gensym7258__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*sX60gensym7258__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA14_: ;
				if (!T13_) goto LA15_;
				result = NIM_TRUE;
				T17_ = NIM_NIL;
				T17_ = semSymGenericInstantiation__sem_u22003(c_p0, (*a_1)._kind_6.sons.p->data[((NI)0)], sX60gensym7258__1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA9_;}
				eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[((NI)0)], T17_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
LA15_: ;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(sX60gensym7258__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA3_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		b_1 = NIM_NIL;
		eqcopy___ast_u3255(&b_1, (*a_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_1;
			if (!((*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA24_;
			name_1 = NIM_NIL;
			name_1 = getPIdent__ast_u2825(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
			{
				NIM_BOOL T29_;
				NIM_BOOL T30_;
				T29_ = (NIM_BOOL)0;
				T30_ = (NIM_BOOL)0;
				T30_ = eqeq___idents_u366(name_1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				T29_ = !(T30_);
				if (!(T29_)) goto LA31_;
				T29_ = eqStrings((*name_1).s, TM__rF9caJawfOjYTjsgLVUSGFA_1409);
LA31_: ;
				if (!T29_) goto LA32_;
				{
					NIM_BOOL T36_;
					T36_ = (NIM_BOOL)0;
					T36_ = isSymChoice__sem_u22017((*a_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					if (!T36_) goto LA37_;
					result = NIM_TRUE;
				}
				goto LA34_;
LA37_: ;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sX60gensym7265__1;
					tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T41_;
					sX60gensym7265__1 = NIM_NIL;
					T41_ = 0;
					sX60gensym7265__1 = qualifiedLookUp__lookups_u5229(c_p0, (*a_1)._kind_6.sons.p->data[((NI)1)], T41_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
					{
						NIM_BOOL T44_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
						T44_ = (NIM_BOOL)0;
						T44_ = !((sX60gensym7265__1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T44_)) goto LA45_;
						T44_ = ((*sX60gensym7265__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*sX60gensym7265__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*sX60gensym7265__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*sX60gensym7265__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*sX60gensym7265__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*sX60gensym7265__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*sX60gensym7265__1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18));
LA45_: ;
						if (!T44_) goto LA46_;
						result = NIM_TRUE;
						T48_ = NIM_NIL;
						T48_ = semSymGenericInstantiation__sem_u22003(c_p0, (*a_1)._kind_6.sons.p->data[((NI)1)], sX60gensym7265__1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA40_;}
						eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[((NI)1)], T48_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
					}
LA46_: ;
					{
						LA40_:;
					}
					{
						oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(sX60gensym7265__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
						*nimErr_ = oldNimErrFin40_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				}
LA34_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* be_1;
					if (!result) goto LA53_;
					be_1 = NIM_NIL;
					be_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), (*a_1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
					{
						NI i_1;
						NI colontmp_;
						NI i_2;
						i_1 = (NI)0;
						colontmp_ = (NI)0;
						colontmp_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
						i_2 = ((NI)1);
						{
							while (1) {
								if (!(i_2 < colontmp_)) goto LA57;
								i_1 = i_2;
								add__ast_u3215(be_1, (*a_1)._kind_6.sons.p->data[i_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
								i_2 += ((NI)1);
							} LA57: ;
						}
					}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], be_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
				}
LA53_: ;
			}
LA32_: ;
			{
				LA26_:;
			}
			{
				oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(name_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
				*nimErr_ = oldNimErrFin26_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		}
LA24_: ;
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(a_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, isGeneric__sem_u28602)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ T6_;
		NIM_BOOL T7_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53))) goto LA3_;
		s_1 = NIM_NIL;
		T6_ = 0;
		s_1 = qualifiedLookUp__lookups_u5229(c_p0, n_p1, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T7_ = (NIM_BOOL)0;
		T7_ = !((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T7_)) goto LA8_;
		T7_ = isGenericRoutineStrict__ast_u7092(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
LA8_: ;
		result = T7_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, asBracketExpr__sem_u28598)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (((NI)1) < T4_);
		if (!(T3_)) goto LA5_;
		T3_ = isGeneric__sem_u28602(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA5_: ;
		if (!T3_) goto LA6_;
		b_1 = NIM_NIL;
		eqcopy___ast_u3255(&b_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			if (!((*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57))) goto LA11_;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3190(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA15;
						i_1 = i_2;
						{
							NIM_BOOL T18_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
							T18_ = (NIM_BOOL)0;
							T18_ = ((*(*b_1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
							if (!(T18_)) goto LA19_;
							T18_ = ((*(*(*b_1)._kind_6.sons.p->data[i_1])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5));
LA19_: ;
							if (!T18_) goto LA20_;
							T22_ = NIM_NIL;
							T22_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA8_;}
							eqsink___ast_u3261(&result, T22_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
							{
								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 LA8_;
								i_4 = ((NI)1);
								{
									while (1) {
										if (!(i_4 < colontmp__2)) goto LA25;
										i_3 = i_4;
										add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
										i_4 += ((NI)1);
									} LA25: ;
								}
							}
							eqdestroy___ast_u3252(b_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA20_: ;
						i_2 += ((NI)1);
					} LA15: ;
				}
			}
		}
LA11_: ;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA6_: ;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipAddr__trees_u429)(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)63) || (*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(NIM_BOOL, isOpenArraySym__sem_u28645)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	x_2 = NIM_NIL;
	eqcopy___ast_u3255(&x_2, x_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			switch ((*x_2).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
			{
				eqcopy___ast_u3255(&x_2, (*x_2)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
			{
				eqcopy___ast_u3255(&x_2, (*x_2)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
		}
	} LA2: ;
	result = ((*x_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(x_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, hoistParamsUsedInDefault__sem_u28653)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** call_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** letSection_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** defExpr_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T7_;
		NIM_BOOL T9_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		NI paramPos_1;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*(*defExpr_p3)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*(*defExpr_p3))._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		colontmpD_ = owner__ast_u6254((*(*defExpr_p3))._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T7_ = (colontmpD_ == (*(*(*call_p1))._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
		if (T7_) goto LA8_;
		T9_ = (NIM_BOOL)0;
		T9_ = (((*(*(*(*call_p1))._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2)))&63U)))!=0);
		if (!(T9_)) goto LA10_;
		colontmpD__2 = owner__ast_u6254((*(*defExpr_p3))._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T9_ = (colontmpD__2 == (*(*(*(*call_p1))._kind_6.sons.p->data[((NI)0)])._kind_4.sym).instantiatedFrom);
LA10_: ;
		T7_ = T9_;
LA8_: ;
		T3_ = T7_;
LA6_: ;
		if (!T3_) goto LA11_;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		paramPos_1 = (NI)((*(*(*defExpr_p3))._kind_4.sym).position + ((NI)1));
		{
			NIM_BOOL T15_;
			NIM_BOOL T17_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* hoistedVarSym_1;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
			tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T21_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
			T15_ = (NIM_BOOL)0;
			colontmpD__3 = skipAddr__trees_u429((*(*call_p1))._kind_6.sons.p->data[paramPos_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T15_ = !(((*colontmpD__3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
			if (!(T15_)) goto LA16_;
			T17_ = (NIM_BOOL)0;
			colontmpD__4 = skipTypes__ast_u5379((*(*(*call_p1))._kind_6.sons.p->data[paramPos_1]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_776);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T17_ = ((*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48));
			if (!(T17_)) goto LA18_;
			T17_ = isOpenArraySym__sem_u28645((*(*call_p1))._kind_6.sons.p->data[paramPos_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
			T15_ = !(T17_);
LA16_: ;
			if (!T15_) goto LA19_;
			hoistedVarSym_1 = NIM_NIL;
			colontmpD__5 = NIM_NIL;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			colontmpD__8 = NIM_NIL;
			colontmpD__5 = getIdent__idents_u206((*(*c_p0).graph).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1411);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			hoistedVarSym_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), colontmpD__5, (*c_p0).Sup.idgen, (*(*c_p0).p).owner, (*(*letSection_p2)).info, (*(*(*c_p0).p).owner).options);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___ast_u3381(&(*hoistedVarSym_1).typ, (*(*(*call_p1))._kind_6.sons.p->data[paramPos_1]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)T21_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
			colontmpD__6 = newSymNode__ast_u5168(hoistedVarSym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T21_[0] = colontmpD__6;
			colontmpD__7 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*letSection_p2)).info);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T21_[1] = colontmpD__7;
			T21_[2] = (*(*call_p1))._kind_6.sons.p->data[paramPos_1];
			colontmpD__8 = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*(*letSection_p2)).info, T21_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3215((*letSection_p2), colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T22_ = NIM_NIL;
			T22_ = newSymNode__ast_u5168(hoistedVarSym_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*(*call_p1))._kind_6.sons.p->data[paramPos_1], T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(hoistedVarSym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA19_: ;
		eqcopy___ast_u3255(&(*defExpr_p3), (*(*call_p1))._kind_6.sons.p->data[paramPos_1]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA11_: ;
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3197((*defExpr_p3));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA26;
					i_1 = i_2;
					hoistParamsUsedInDefault__sem_u28653(c_p0, call_p1, letSection_p2, &(*(*defExpr_p3))._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA26: ;
			}
		}
	}
LA1_: ;
	eqdestroy___ast_u4574(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrayAccess__sem_u25513)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = semSubscript__sem_u23536(c_p0, n_p1, flags_p2, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T6_;
		if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1412);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD__2 = buildOverloadedSubscripts__sem_u25377(n_p1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T6_ = NIM_NIL;
		T6_ = semExpr__sem_u58(c_p0, colontmpD__2, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T6_); goto LA5_;}
		eqsink___ast_u3261(&result, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg, checkPar__sem_u26911)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)0))) goto LA4_;
		result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)3);
	}
	goto LA1_;
LA4_: ;
	{
		NI T7_;
		T7_ = (NI)0;
		T7_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T7_ == ((NI)1))) goto LA8_;
		{
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA12_;
			result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)2);
		}
		goto LA10_;
LA12_: ;
		{
			if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA15_;
			result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)3);
		}
		goto LA10_;
LA15_: ;
		{
			result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)1);
		}
LA10_: ;
	}
	goto LA1_;
LA8_: ;
	{
		{
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA21_;
			result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)2);
		}
		goto LA19_;
LA21_: ;
		{
			result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)3);
		}
LA19_: ;
		{
			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 LA26;
					i_1 = i_2;
					{
						if (!(result == ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)2))) goto LA29_;
						{
							NIM_BOOL T33_;
							T33_ = (NIM_BOOL)0;
							T33_ = !(((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34)));
							if (T33_) goto LA34_;
							T33_ = !(((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53)));
LA34_: ;
							if (!T33_) goto LA35_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1415, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1416, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)0);
							goto BeforeRet_;
						}
LA35_: ;
					}
					goto LA27_;
LA29_: ;
					{
						{
							if (!((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA40_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1418, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1419, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							result = ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)0);
							goto BeforeRet_;
						}
LA40_: ;
					}
LA27_: ;
					i_2 += ((NI)1);
				} LA26: ;
			}
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasEmpty__sem_u14915)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		if (!((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16) || (*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19))) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = elementType__ast_u5331(typ_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3));
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18))) goto LA6_;
		result = NIM_FALSE;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_1;
			s_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI T10_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T10_ = (*typ_p0).sons.len;
				colontmp_ = T10_;
				i_2 = ((NI)0);
				{
					while (1) {
						NIM_BOOL T13_;
						if (!(i_2 < colontmp_)) goto LA12;
						i_1 = i_2;
						eqcopy___ast_u3381(&s_1, (*typ_p0).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T13_ = (NIM_BOOL)0;
						T13_ = result;
						if (T13_) goto LA14_;
						T13_ = hasEmpty__sem_u14915(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA14_: ;
						result = T13_;
						i_2 += ((NI)1);
					} LA12: ;
				}
			}
			eqdestroy___ast_u3378(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	goto LA1_;
LA6_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTuplePositionsConstr__sem_u27060)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expected_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* oldType_1;
	NIM_BOOL isGeneric_1;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	expected_1 = NIM_NIL;
	typ_1 = NIM_NIL;
	oldType_1 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)160));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	expected_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T6_;
		if (!!((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T6_); goto LA1_;}
		eqsink___ast_u3387(&expected_1, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T9_;
			NI T11_;
			NI T12_;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*expected_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
			if (!(T9_)) goto LA10_;
			T11_ = (NI)0;
			T11_ = len__ast_u5502(expected_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T12_ = (NI)0;
			T12_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T9_ = (T11_ == T12_);
LA10_: ;
			if (!!(T9_)) goto LA13_;
			eqsink___ast_u3387(&expected_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA13_: ;
	}
LA4_: ;
	typ_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	isGeneric_1 = NIM_FALSE;
	{
		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)0);
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedElemType_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T19_;
				tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T25_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T26_;
				if (!(i_2 < colontmp_)) goto LA17;
				expectedElemType_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				i_1 = i_2;
				T19_ = NIM_NIL;
				{
					if (!!((expected_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA22_;
					eqcopy___ast_u3381(&expectedElemType_1, (*expected_1).sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				}
				goto LA20_;
LA22_: ;
				{
					expectedElemType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
				}
LA20_: ;
				T25_ = 0;
				T26_ = NIM_NIL;
				T26_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], T25_, expectedElemType_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T26_); goto LA18_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T26_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				{
					NIM_BOOL T29_;
					T29_ = (NIM_BOOL)0;
					T29_ = !(((*(*n_p1)._kind_6.sons.p->data[i_1]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T29_)) goto LA30_;
					T29_ = ((*(*(*n_p1)._kind_6.sons.p->data[i_1]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA30_: ;
					if (!T29_) goto LA31_;
					isGeneric_1 = NIM_TRUE;
				}
				goto LA27_;
LA31_: ;
				{
					NIM_BOOL T34_;
					NIM_BOOL T36_;
					NIM_BOOL T38_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* conversion_1;
					T34_ = (NIM_BOOL)0;
					T34_ = !((expectedElemType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T34_)) goto LA35_;
					T36_ = (NIM_BOOL)0;
					T36_ = !(((*expectedElemType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5)));
					if (!(T36_)) goto LA37_;
					T38_ = (NIM_BOOL)0;
					T38_ = hasEmpty__sem_u14915(expectedElemType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					T36_ = !(T38_);
LA37_: ;
					T34_ = T36_;
LA35_: ;
					if (!T34_) goto LA39_;
					conversion_1 = NIM_NIL;
					conversion_1 = indexTypesMatch__sem_u129(c_p0, expectedElemType_1, (*(*n_p1)._kind_6.sons.p->data[i_1]).typField, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					{
						if (!!((conversion_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA44_;
						eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], conversion_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqwasMoved___ast_u3249(&conversion_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					}
LA44_: ;
					{
						LA41_:;
					}
					{
						oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(conversion_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						*nimErr_ = oldNimErrFin41_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				}
				goto LA27_;
LA39_: ;
LA27_: ;
				colontmpD_ = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[i_1]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_782);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				addSonSkipIntLit__magicsys_u135(typ_1, colontmpD_, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				i_2 += ((NI)1);
				{
					LA18_:;
				}
				{
					oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(expectedElemType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin18_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA17: ;
		}
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T64_;
		if (!isGeneric_1) goto LA52_;
		colontmpD__2 = NIM_NIL;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA57;
					i_3 = i_4;
					{
						NIM_BOOL T60_;
						T60_ = (NIM_BOOL)0;
						T60_ = !(((*(*result)._kind_6.sons.p->data[i_3]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
						if (!(T60_)) goto LA61_;
						T60_ = isIntLit__types_u179((*(*result)._kind_6.sons.p->data[i_3]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
LA61_: ;
						if (!T60_) goto LA62_;
						eqsink___ast_u3387(&(*(*result)._kind_6.sons.p->data[i_3]).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					}
LA62_: ;
					i_4 += ((NI)1);
				} LA57: ;
			}
		}
		colontmpD__2 = copyTree__ast_u6891(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		T64_ = NIM_NIL;
		T64_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T64_); goto LA54_;}
		eqsink___ast_u3387(&(*result).typField, T64_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(oldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expected_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA54_:;
		}
		{
			oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin54_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA52_: ;
	eqcopy___ast_u3381(&oldType_1, (*n_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*result).typField, typ_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T69_;
		NIM_BOOL T71_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* conversion_2;
		T69_ = (NIM_BOOL)0;
		T69_ = !((oldType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T69_)) goto LA70_;
		T71_ = (NIM_BOOL)0;
		T71_ = hasEmpty__sem_u14915(oldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T69_ = !(T71_);
LA70_: ;
		if (!T69_) goto LA72_;
		conversion_2 = NIM_NIL;
		conversion_2 = indexTypesMatch__sem_u129(c_p0, oldType_1, typ_1, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
		{
			if (!!((conversion_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA77_;
			eqsink___ast_u3387(&(*result).typField, oldType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
			eqwasMoved___ast_u3375(&oldType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
		}
LA77_: ;
		{
			LA74_:;
		}
		{
			oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(conversion_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin74_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA72_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(oldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expected_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isTypeTupleField__sem_u28506)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*(*n_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*(*n_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
	if (!(T3_)) goto LA4_;
	T3_ = ((*(*(*n_p0).typField).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4));
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTupleConstr__sem_u28521)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tupexp_1;
	NIM_BOOL isTupleType_1;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	tupexp_1 = NIM_NIL;
	result = semTuplePositionsConstr__sem_u27060(c_p0, n_p1, flags_p2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61))) goto LA4_;
		eqdestroy___ast_u3252(tupexp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&tupexp_1, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			if (!((*tupexp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA7;
			eqcopy___ast_u3255(&tupexp_1, (*tupexp_1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA7: ;
	}
	isTupleType_1 = NIM_FALSE;
	{
		NI T10_;
		T10_ = (NI)0;
		T10_ = len__ast_u3190(tupexp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((NI)0) < T10_)) goto LA11_;
		{
			NimStringV2 argX60gensym7243__1;
			if (!!(((*tupexp_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160)))) goto LA15_;
			argX60gensym7243__1.len = 0; argX60gensym7243__1.p = NIM_NIL;
			argX60gensym7243__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1420);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym7243__1, TM__rF9caJawfOjYTjsgLVUSGFA_1420);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			{
				LA17_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym7243__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA15_: ;
		isTupleType_1 = isTypeTupleField__sem_u28506((*tupexp_1)._kind_6.sons.p->data[((NI)0)]);
		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(tupexp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA22;
					i_1 = i_2;
					{
						NIM_BOOL T25_;
						T25_ = (NIM_BOOL)0;
						T25_ = isTypeTupleField__sem_u28506((*tupexp_1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						if (!!((isTupleType_1 == T25_))) goto LA26_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*tupexp_1)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1422, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1423, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						result = errorNode__semdata_u4571(c_p0, n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(tupexp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA26_: ;
					i_2 += ((NI)1);
				} LA22: ;
			}
		}
	}
LA11_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T33_;
		if (!isTupleType_1) goto LA30_;
		typ_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		colontmpD_ = semTypeNode__sem_u89(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		typ_1 = skipTypes__ast_u5379(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		T33_ = NIM_NIL;
		T33_ = makeTypeDesc__semdata_u4621(c_p0, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T33_); goto LA32_;}
		eqsink___ast_u3387(&(*result).typField, T33_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		{
			LA32_:;
		}
		{
			oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin32_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA30_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(tupexp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTupleFieldsConstr__sem_u26968)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expected_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA ids_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* oldType_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
	NIM_BOOL isGeneric_1;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL oldNimErrFin94_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	expected_1 = NIM_NIL;
	typ_1 = NIM_NIL;
	nimZeroMem((void*)(&ids_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	oldType_1 = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	expected_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T6_;
		if (!!((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T6_); goto LA1_;}
		eqsink___ast_u3387(&expected_1, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T9_;
			NI T11_;
			NI T12_;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*expected_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
			if (!(T9_)) goto LA10_;
			T11_ = (NI)0;
			T11_ = len__ast_u5502(expected_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T12_ = (NI)0;
			T12_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T9_ = (T11_ == T12_);
LA10_: ;
			if (!!(T9_)) goto LA13_;
			eqsink___ast_u3387(&expected_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA13_: ;
	}
LA4_: ;
	typ_1 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T15_ = NIM_NIL;
	T15_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA1_;}
	eqsink___ast_u3261(&(*typ_1).n, T15_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&ids_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	isGeneric_1 = NIM_FALSE;
	{
		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)0);
		{
			while (1) {
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedElemType_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* f_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T32_;
				tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T38_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T39_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T66_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T67_;
				if (!(i_2 < colontmp_)) goto LA18;
				id_1 = NIM_NIL;
				expectedElemType_1 = NIM_NIL;
				f_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				i_1 = i_2;
				{
					if (!!(((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34)))) goto LA22_;
					illFormedAst__semdata_u4665((*n_p1)._kind_6.sons.p->data[i_1], (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				}
LA22_: ;
				id_1 = considerQuotedIdent__lookups_u31(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				{
					NIM_BOOL T26_;
					NimStringV2 colontmpD__3;
					T26_ = (NIM_BOOL)0;
					T26_ = containsOrIncl__astyaml_u223((&ids_1), (*id_1).id);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
					if (!T26_) goto LA27_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1424, (*id_1).s);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1425, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					{
						LA29_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__3);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				}
LA27_: ;
				T32_ = NIM_NIL;
				{
					if (!!((expected_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA35_;
					eqcopy___ast_u3381(&expectedElemType_1, (*expected_1).sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				}
				goto LA33_;
LA35_: ;
				{
					expectedElemType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
				}
LA33_: ;
				T38_ = 0;
				T39_ = NIM_NIL;
				T39_ = semExprWithType__sem_u63(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], T38_, expectedElemType_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T39_); goto LA19_;}
				eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], T39_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				{
					NIM_BOOL T42_;
					T42_ = (NIM_BOOL)0;
					T42_ = !(((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T42_)) goto LA43_;
					T42_ = ((*(*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA43_: ;
					if (!T42_) goto LA44_;
					isGeneric_1 = NIM_TRUE;
				}
				goto LA40_;
LA44_: ;
				{
					NIM_BOOL T47_;
					NIM_BOOL T49_;
					NIM_BOOL T51_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* conversion_1;
					T47_ = (NIM_BOOL)0;
					T47_ = !((expectedElemType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T47_)) goto LA48_;
					T49_ = (NIM_BOOL)0;
					T49_ = !(((*expectedElemType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5)));
					if (!(T49_)) goto LA50_;
					T51_ = (NIM_BOOL)0;
					T51_ = hasEmpty__sem_u14915(expectedElemType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
					T49_ = !(T51_);
LA50_: ;
					T47_ = T49_;
LA48_: ;
					if (!T47_) goto LA52_;
					conversion_1 = NIM_NIL;
					conversion_1 = indexTypesMatch__sem_u129(c_p0, expectedElemType_1, (*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					{
						if (!!((conversion_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA57_;
						eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], conversion_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
						eqwasMoved___ast_u3249(&conversion_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					}
LA57_: ;
					{
						LA54_:;
					}
					{
						oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(conversion_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						*nimErr_ = oldNimErrFin54_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				}
				goto LA40_;
LA52_: ;
LA40_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T65_;
					if (!((*(*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA63_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1427, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1428, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
					T65_ = NIM_NIL;
					T65_ = errorType__semdata_u4564(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T65_); goto LA19_;}
					eqsink___ast_u3387(&(*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField, T65_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				}
LA63_: ;
				f_1 = newSymS__sem_u436(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19), (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)], c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				colontmpD_ = skipTypes__ast_u5379((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_782);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				T66_ = NIM_NIL;
				T66_ = skipIntLit__magicsys_u120(colontmpD_, (*c_p0).Sup.idgen);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T66_); goto LA19_;}
				eqsink___ast_u3387(&(*f_1).typ, T66_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				(*f_1).position = i_1;
				rawAddSon__ast_u6706(typ_1, (*f_1).typ, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				colontmpD__2 = newSymNode__ast_u5168(f_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				add__ast_u3215((*typ_1).n, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				T67_ = NIM_NIL;
				T67_ = newSymNode__ast_u5168(f_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T67_); goto LA19_;}
				eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)], T67_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
				i_2 += ((NI)1);
				{
					LA19_:;
				}
				{
					oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(f_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(expectedElemType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___idents_u155(id_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin19_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA18: ;
		}
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T84_;
		if (!isGeneric_1) goto LA72_;
		colontmpD__4 = NIM_NIL;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA77;
					i_3 = i_4;
					{
						NIM_BOOL T80_;
						T80_ = (NIM_BOOL)0;
						T80_ = !(((*(*(*result)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[((NI)1)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
						if (!(T80_)) goto LA81_;
						T80_ = isIntLit__types_u179((*(*(*result)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[((NI)1)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
LA81_: ;
						if (!T80_) goto LA82_;
						eqsink___ast_u3387(&(*(*(*result)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[((NI)1)]).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
					}
LA82_: ;
					i_4 += ((NI)1);
				} LA77: ;
			}
		}
		colontmpD__4 = copyTree__ast_u6891(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
		T84_ = NIM_NIL;
		T84_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T84_); goto LA74_;}
		eqsink___ast_u3387(&(*result).typField, T84_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
		eqdestroy___ast_u3252(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(oldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&ids_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expected_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA74_:;
		}
		{
			oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin74_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA72_: ;
	eqcopy___ast_u3381(&oldType_1, (*n_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*result).typField, typ_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T89_;
		NIM_BOOL T91_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* conversion_2;
		T89_ = (NIM_BOOL)0;
		T89_ = !((oldType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T89_)) goto LA90_;
		T91_ = (NIM_BOOL)0;
		T91_ = hasEmpty__sem_u14915(oldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T89_ = !(T91_);
LA90_: ;
		if (!T89_) goto LA92_;
		conversion_2 = NIM_NIL;
		conversion_2 = indexTypesMatch__sem_u129(c_p0, oldType_1, typ_1, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
		{
			if (!!((conversion_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA97_;
			eqsink___ast_u3387(&(*result).typField, oldType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
			eqwasMoved___ast_u3375(&oldType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
		}
LA97_: ;
		{
			LA94_:;
		}
		{
			oldNimErrFin94_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(conversion_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin94_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA92_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(oldType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&ids_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expected_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semSetConstr__sem_u26785)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedElementType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expected_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin112_;
NIM_BOOL oldNimErrFin134_;
NIM_BOOL oldNimErrFin128_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	expectedElementType_1 = NIM_NIL;
	expected_1 = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T2_); goto LA1_;}
	eqsink___ast_u3387(&(*result).typField, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*result).typField).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)43))) & 63);
	expectedElementType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = !((expectedType_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T5_)) goto LA6_;
		expected_1 = skipTypes__ast_u5379(expectedType_p2, TM__rF9caJawfOjYTjsgLVUSGFA_6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = ((*expected_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19));
LA6_: ;
		if (!T5_) goto LA7_;
		eqcopy___ast_u3381(&expectedElementType_1, (*expected_1).sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		NI T11_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T15_;
		T11_ = (NI)0;
		T11_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T11_ == ((NI)0))) goto LA12_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		T15_ = NIM_NIL;
		{
			NIM_BOOL T18_;
			tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw T20_;
			T18_ = (NIM_BOOL)0;
			T18_ = !((expectedElementType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T18_)) goto LA19_;
			T20_ = 0;
			colontmpD_ = typeAllowed__typeallowed_u465(expectedElementType_1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), c_p0, T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T18_ = (colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA19_: ;
			if (!T18_) goto LA21_;
			colontmpD__2 = expectedElementType_1;
			eqwasMoved___ast_u3375(&expectedElementType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T15_ = colontmpD__2;
		}
		goto LA16_;
LA21_: ;
		{
			colontmpD__3 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T15_ = colontmpD__3;
		}
LA16_: ;
		rawAddSon__ast_u6706((*result).typField, T15_, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA9_;
LA12_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		NIM_BOOL isGeneric_1;
		typ_1 = NIM_NIL;
		typ_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		isGeneric_1 = NIM_FALSE;
		{
			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 LA27_;
			i_2 = ((NI)0);
			{
				while (1) {
					NIM_BOOL doSetType_1;
					if (!(i_2 < colontmp_)) goto LA30;
					i_1 = i_2;
					doSetType_1 = (typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					{
						NIM_BOOL T33_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T37_;
						T33_ = (NIM_BOOL)0;
						T33_ = isRange__trees_u189((*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						if (!T33_) goto LA34_;
						checkSonsLen__semdata_u4671((*n_p1)._kind_6.sons.p->data[i_1], ((NI)3), (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						T36_ = NIM_NIL;
						T36_ = semExprWithType__sem_u63(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], 4194304, expectedElementType_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA27_;}
						eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], T36_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						T37_ = NIM_NIL;
						T37_ = semExprWithType__sem_u63(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)2)], 4194304, expectedElementType_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T37_); goto LA27_;}
						eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)2)], T37_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						{
							NIM_BOOL T40_;
							NIM_BOOL T41_;
							NIM_BOOL T44_;
							T40_ = (NIM_BOOL)0;
							T41_ = (NIM_BOOL)0;
							T41_ = !(((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
							if (!(T41_)) goto LA42_;
							T41_ = ((*(*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA42_: ;
							T40_ = T41_;
							if (T40_) goto LA43_;
							T44_ = (NIM_BOOL)0;
							T44_ = !(((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)2)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
							if (!(T44_)) goto LA45_;
							T44_ = ((*(*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)2)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA45_: ;
							T40_ = T44_;
LA43_: ;
							if (!T40_) goto LA46_;
							isGeneric_1 = NIM_TRUE;
						}
						goto LA38_;
LA46_: ;
						{
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T53_;
								if (!doSetType_1) goto LA51_;
								T53_ = NIM_NIL;
								T53_ = skipTypes__ast_u5379((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1429);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T53_); goto LA27_;}
								eqsink___ast_u3387(&typ_1, T53_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							}
LA51_: ;
							eqcopy___ast_u3381(&(*(*n_p1)._kind_6.sons.p->data[i_1]).typField, (*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)2)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
LA38_: ;
					}
					goto LA31_;
LA34_: ;
					{
						if (!((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA55_;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T61_;
							if (!doSetType_1) goto LA59_;
							T61_ = NIM_NIL;
							T61_ = skipTypes__ast_u5379((*(*(*n_p1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1429);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T61_); goto LA27_;}
							eqsink___ast_u3387(&typ_1, T61_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
LA59_: ;
					}
					goto LA31_;
LA55_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T63_;
						T63_ = NIM_NIL;
						T63_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], 4194304, expectedElementType_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T63_); goto LA27_;}
						eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_1], T63_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						{
							NIM_BOOL T66_;
							T66_ = (NIM_BOOL)0;
							T66_ = !(((*(*n_p1)._kind_6.sons.p->data[i_1]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
							if (!(T66_)) goto LA67_;
							T66_ = ((*(*(*n_p1)._kind_6.sons.p->data[i_1]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA67_: ;
							if (!T66_) goto LA68_;
							isGeneric_1 = NIM_TRUE;
						}
						goto LA64_;
LA68_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T73_;
							if (!doSetType_1) goto LA71_;
							T73_ = NIM_NIL;
							T73_ = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[i_1]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1429);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T73_); goto LA27_;}
							eqsink___ast_u3387(&typ_1, T73_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
						goto LA64_;
LA71_: ;
LA64_: ;
					}
LA31_: ;
					{
						NIM_BOOL T76_;
						T76_ = (NIM_BOOL)0;
						T76_ = doSetType_1;
						if (!(T76_)) goto LA77_;
						T76_ = !(isGeneric_1);
LA77_: ;
						if (!T76_) goto LA78_;
						{
							NIM_BOOL T82_;
							NimStringV2 colontmpD__4;
							NimStringV2 colontmpD__5;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T86_;
							T82_ = (NIM_BOOL)0;
							T82_ = isOrdinalType__types_u283(typ_1, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							if (!!(T82_)) goto LA83_;
							colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
							colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
							colontmpD__4 = typeToString__types_u54(typ_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
							colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1430, colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1431, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
							T86_ = NIM_NIL;
							T86_ = makeRangeType__semdata_u4597(c_p0, IL64(0), IL64(65535), (*n_p1).info, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T86_); goto LA85_;}
							eqsink___ast_u3387(&typ_1, T86_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
							{
								LA85_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__5);
								eqdestroy___system_u2691(colontmpD__4);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
						goto LA80_;
LA83_: ;
						{
							NIM_BOOL T90_;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T93_;
							T90_ = (NIM_BOOL)0;
							T90_ = isIntLit__types_u179(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							if (!T90_) goto LA91_;
							T93_ = NIM_NIL;
							T93_ = makeRangeType__semdata_u4597(c_p0, IL64(0), IL64(255), (*n_p1).info, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T93_); goto LA27_;}
							eqsink___ast_u3387(&typ_1, T93_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
						goto LA80_;
LA91_: ;
						{
							tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T95_;
							NIM_BOOL T96_;
							NimStringV2 colontmpD__6;
							NimStringV2 colontmpD__7;
							NimStringV2 T100_;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T101_;
							T95_ = lengthOrd__types_u1491((*(*c_p0).graph).config, typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							T96_ = (NIM_BOOL)0;
							T96_ = lt___int128_u959(IL64(65536), T95_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
							if (!T96_) goto LA97_;
							colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
							colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
							T100_.len = 0; T100_.p = NIM_NIL;
							colontmpD__6 = typeToString__types_u54(typ_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
							T100_ = rawNewString(colontmpD__6.len + 121);
appendString((&T100_), TM__rF9caJawfOjYTjsgLVUSGFA_1433);
appendString((&T100_), colontmpD__6);
appendString((&T100_), TM__rF9caJawfOjYTjsgLVUSGFA_1435);
							colontmpD__7 = T100_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)75), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1436, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
							T101_ = NIM_NIL;
							T101_ = makeRangeType__semdata_u4597(c_p0, IL64(0), IL64(65535), (*n_p1).info, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T101_); goto LA99_;}
							eqsink___ast_u3387(&typ_1, T101_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
							{
								LA99_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__7);
								eqdestroy___system_u2691(colontmpD__6);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
						goto LA80_;
LA97_: ;
LA80_: ;
						{
							if (!(expectedElementType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA106_;
							eqcopy___ast_u3381(&expectedElementType_1, typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						}
LA106_: ;
					}
LA78_: ;
					i_2 += ((NI)1);
				} LA30: ;
			}
		}
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T122_;
			if (!isGeneric_1) goto LA110_;
			colontmpD__8 = NIM_NIL;
			{
				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 LA112_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA115;
						i_3 = i_4;
						{
							NIM_BOOL T118_;
							T118_ = (NIM_BOOL)0;
							T118_ = !(((*(*n_p1)._kind_6.sons.p->data[i_3]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
							if (!(T118_)) goto LA119_;
							T118_ = isIntLit__types_u179((*(*n_p1)._kind_6.sons.p->data[i_3]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
LA119_: ;
							if (!T118_) goto LA120_;
							eqsink___ast_u3387(&(*(*n_p1)._kind_6.sons.p->data[i_3]).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
						}
LA120_: ;
						add__ast_u3215(result, (*n_p1)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
						i_4 += ((NI)1);
					} LA115: ;
				}
			}
			colontmpD__8 = copyTree__ast_u6891(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
			T122_ = NIM_NIL;
			T122_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T122_); goto LA112_;}
			eqsink___ast_u3387(&(*result).typField, T122_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(expected_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(expectedElementType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA112_:;
			}
			{
				oldNimErrFin112_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				*nimErr_ = oldNimErrFin112_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		}
LA110_: ;
		addSonSkipIntLit__magicsys_u135((*result).typField, typ_1, (*c_p0).Sup.idgen);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			i_6 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
					if (!(i_6 < colontmp__3)) goto LA127;
					m_1 = NIM_NIL;
					i_5 = i_6;
					m_1 = 0;
					info_1 = (*(*n_p1)._kind_6.sons.p->data[i_5]).info;
					{
						NIM_BOOL T131_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
						T131_ = (NIM_BOOL)0;
						T131_ = isRange__trees_u189((*n_p1)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
						if (!T131_) goto LA132_;
						colontmpD__9 = NIM_NIL;
						colontmpD__10 = NIM_NIL;
						m_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44), info_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						colontmpD__9 = fitNode__sem_u79(c_p0, typ_1, (*(*n_p1)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)1)], info_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						add__ast_u3215(m_1, colontmpD__9);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						colontmpD__10 = fitNode__sem_u79(c_p0, typ_1, (*(*n_p1)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)2)], info_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						add__ast_u3215(m_1, colontmpD__10);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						{
							LA134_:;
						}
						{
							oldNimErrFin134_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__10);
							if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
							eqdestroy___ast_u3252(colontmpD__9);
							if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
							*nimErr_ = oldNimErrFin134_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					}
					goto LA129_;
LA132_: ;
					{
						if (!((*(*n_p1)._kind_6.sons.p->data[i_5]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA138_;
						eqcopy___ast_u3255(&m_1, (*n_p1)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					}
					goto LA129_;
LA138_: ;
					{
						m_1 = fitNode__sem_u79(c_p0, typ_1, (*n_p1)._kind_6.sons.p->data[i_5], info_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					}
LA129_: ;
					add__ast_u3215(result, m_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA128_;
					i_6 += ((NI)1);
					{
						LA128_:;
					}
					{
						oldNimErrFin128_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(m_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
						*nimErr_ = oldNimErrFin128_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				} LA127: ;
			}
		}
		{
			LA27_:;
		}
		{
			oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin27_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(expected_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expectedElementType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, setIndexType__ast_u5360)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* idx_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___ast_u3381(&(*n_p0).sons.p->data[((NI)0)], idx_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semArrayConstr__sem_u23243)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedElementType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedIndexType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedBase_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* indexType_1;
	NIM_BOOL constructType_1;
	NIM_BOOL T2_;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg firstIndex_1;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg lastIndex_1;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg lastValidIndex_1;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin90_;
NIM_BOOL oldNimErrFin105_;
NIM_BOOL oldNimErrFin84_;
NIM_BOOL oldNimErrFin132_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin159_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	expectedElementType_1 = NIM_NIL;
	expectedIndexType_1 = NIM_NIL;
	expectedBase_1 = NIM_NIL;
	indexType_1 = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*n_p1).typField == 0);
	if (T2_) goto LA3_;
	T2_ = ((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA3_: ;
	constructType_1 = T2_;
	expectedElementType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	expectedIndexType_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	expectedBase_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T8_;
		if (!constructType_1) goto LA6_;
		T8_ = NIM_NIL;
		T8_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T8_); goto LA1_;}
		eqsink___ast_u3387(&(*result).typField, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		rawAddSon__ast_u6706((*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL), NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T13_;
			if (!!((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T13_); goto LA1_;}
			eqsink___ast_u3387(&expectedBase_1, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA11_: ;
	}
	goto LA4_;
LA6_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T15_;
		eqcopy___ast_u3381(&(*result).typField, (*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T15_ = NIM_NIL;
		T15_ = skipTypes__ast_u5379((*n_p1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_241);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T15_); goto LA1_;}
		eqsink___ast_u3387(&expectedBase_1, T15_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		if (!!((expectedBase_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA18_;
		switch ((*expectedBase_1).kind) {
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
		{
			eqcopy___ast_u3381(&expectedIndexType_1, (*expectedBase_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqcopy___ast_u3381(&expectedElementType_1, (*expectedBase_1).sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
		{
			eqcopy___ast_u3381(&expectedElementType_1, (*expectedBase_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		default:
		{
		}
		break;
		}
	}
LA18_: ;
	firstIndex_1 = Zero__int128_u8;
	lastIndex_1 = Zero__int128_u8;
	indexType_1 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	lastValidIndex_1 = lastOrd__types_u1298((*(*c_p0).graph).config, indexType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T25_;
		T25_ = (NI)0;
		T25_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T25_ == ((NI)0))) goto LA26_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T33_;
			if (!constructType_1) goto LA30_;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			T33_ = NIM_NIL;
			{
				NIM_BOOL T36_;
				tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw T38_;
				T36_ = (NIM_BOOL)0;
				T36_ = !((expectedElementType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T36_)) goto LA37_;
				T38_ = 0;
				colontmpD_ = typeAllowed__typeallowed_u465(expectedElementType_1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), c_p0, T38_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				T36_ = (colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
LA37_: ;
				if (!T36_) goto LA39_;
				colontmpD__2 = expectedElementType_1;
				eqwasMoved___ast_u3375(&expectedElementType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				T33_ = colontmpD__2;
			}
			goto LA34_;
LA39_: ;
			{
				colontmpD__3 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				T33_ = colontmpD__3;
			}
LA34_: ;
			rawAddSon__ast_u6706((*result).typField, T33_, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			{
				LA32_:;
			}
			{
				oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin32_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA30_: ;
		lastIndex_1 = toInt128__types_u1207(((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA23_;
LA26_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* yy_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		NIM_BOOL isGeneric_1;
		x_1 = NIM_NIL;
		yy_1 = NIM_NIL;
		typ_1 = NIM_NIL;
		eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		{
			NIM_BOOL T48_;
			NI T50_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idx_1;
			T48_ = (NIM_BOOL)0;
			T48_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
			if (!(T48_)) goto LA49_;
			T50_ = (NI)0;
			T50_ = len__ast_u3190(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			T48_ = (T50_ == ((NI)2));
LA49_: ;
			if (!T48_) goto LA51_;
			idx_1 = NIM_NIL;
			idx_1 = semConstExpr__sem_u631(c_p0, (*x_1)._kind_6.sons.p->data[((NI)0)], expectedIndexType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			{
				NIM_BOOL T56_;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				NimStringV2 colontmpD__6;
				NimStringV2 T60_;
				tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T61_;
				T56_ = (NIM_BOOL)0;
				T56_ = isOrdinalType__types_u283((*idx_1).typField, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				if (!!(T56_)) goto LA57_;
				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;
				T60_.len = 0; T60_.p = NIM_NIL;
				T61_ = 0;
				colontmpD__4 = renderTree__renderer_u59(idx_1, T61_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
				colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1440, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
				T60_ = rawNewString(colontmpD__5.len + 33);
appendString((&T60_), TM__rF9caJawfOjYTjsgLVUSGFA_1438);
appendString((&T60_), colontmpD__5);
				colontmpD__6 = T60_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*idx_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1441, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
				{
					LA59_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__6);
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			}
			goto LA54_;
LA57_: ;
			{
				firstIndex_1 = getOrdValue__types_u167(idx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				lastIndex_1 = firstIndex_1;
				eqcopy___ast_u3381(&indexType_1, (*idx_1).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				lastValidIndex_1 = lastOrd__types_u1298((*(*c_p0).graph).config, indexType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				eqcopy___ast_u3255(&x_1, (*x_1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			}
LA54_: ;
			{
				LA53_:;
			}
			{
				oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(idx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				*nimErr_ = oldNimErrFin53_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		}
LA51_: ;
		yy_1 = semExprWithType__sem_u63(c_p0, x_1, 4194304, expectedElementType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		isGeneric_1 = NIM_FALSE;
		{
			NIM_BOOL T69_;
			T69_ = (NIM_BOOL)0;
			T69_ = !(((*yy_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T69_)) goto LA70_;
			T69_ = ((*(*yy_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA70_: ;
			if (!T69_) goto LA71_;
			isGeneric_1 = NIM_TRUE;
			typ_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
		}
		goto LA67_;
LA71_: ;
		{
			if (!constructType_1) goto LA74_;
			eqcopy___ast_u3381(&typ_1, (*yy_1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			{
				if (!(expectedElementType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA78_;
				eqcopy___ast_u3381(&expectedElementType_1, typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			}
LA78_: ;
		}
		goto LA67_;
LA74_: ;
		{
			eqcopy___ast_u3381(&typ_1, expectedElementType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		}
LA67_: ;
		add__ast_u3215(result, yy_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		{
			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 LA45_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* xx_1;
					if (!(i_2 < colontmp_)) goto LA83;
					xx_1 = NIM_NIL;
					i_1 = i_2;
					{
						NIM_BOOL T87_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* validIndex_1;
						NimStringV2 colontmpD__7;
						NimStringV2 colontmpD__8;
						NimStringV2 colontmpD__9;
						NimStringV2 colontmpD__10;
						NI64 T91_;
						NI64 T92_;
						NimStringV2 T93_;
						tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T94_;
						NI T95_;
						T87_ = (NIM_BOOL)0;
						T87_ = eqeq___int128_u412(lastIndex_1, lastValidIndex_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
						if (!T87_) goto LA88_;
						validIndex_1 = NIM_NIL;
						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;
						T91_ = (NI64)0;
						T91_ = toInt64__int128_u53(firstIndex_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						T92_ = (NI64)0;
						T92_ = toInt64__int128_u53(lastValidIndex_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						validIndex_1 = makeRangeType__semdata_u4597(c_p0, T91_, T92_, (*n_p1).info, indexType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						T93_.len = 0; T93_.p = NIM_NIL;
						colontmpD__7 = typeToString__types_u54(validIndex_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						T94_[0] = colontmpD__7;
						T95_ = (NI)0;
						T95_ = len__ast_u3190(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						colontmpD__8 = dollar___systemZdollars_u9((NI)(T95_ - i_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						T94_[1] = colontmpD__8;
						colontmpD__9 = percent___sem_u23314(T94_, 2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						T93_ = rawNewString(colontmpD__9.len + 37);
appendString((&T93_), TM__rF9caJawfOjYTjsgLVUSGFA_1443);
appendString((&T93_), colontmpD__9);
						colontmpD__10 = T93_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__10, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1444, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
						{
							LA90_:;
						}
						{
							oldNimErrFin90_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___system_u2691(colontmpD__10);
							eqdestroy___system_u2691(colontmpD__9);
							eqdestroy___system_u2691(colontmpD__8);
							eqdestroy___system_u2691(colontmpD__7);
							eqdestroy___ast_u3378(validIndex_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
							*nimErr_ = oldNimErrFin90_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
					}
LA88_: ;
					eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
					{
						NIM_BOOL T100_;
						NI T102_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idx_2;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T106_;
						T100_ = (NIM_BOOL)0;
						T100_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
						if (!(T100_)) goto LA101_;
						T102_ = (NI)0;
						T102_ = len__ast_u3190(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
						T100_ = (T102_ == ((NI)2));
LA101_: ;
						if (!T100_) goto LA103_;
						idx_2 = NIM_NIL;
						idx_2 = semConstExpr__sem_u631(c_p0, (*x_1)._kind_6.sons.p->data[((NI)0)], indexType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
						T106_ = NIM_NIL;
						T106_ = fitNode__sem_u79(c_p0, indexType_1, idx_2, (*x_1).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T106_); goto LA105_;}
						eqsink___ast_u3261(&idx_2, T106_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
						{
							tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T109_;
							tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T110_;
							NIM_BOOL T111_;
							T109_ = plus___int128_u1015(lastIndex_1, IL64(1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
							T110_ = getOrdValue__types_u167(idx_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
							T111_ = (NIM_BOOL)0;
							T111_ = eqeq___int128_u412(T109_, T110_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
							if (!!(T111_)) goto LA112_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*x_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1446, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1447, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
						}
LA112_: ;
						eqcopy___ast_u3255(&x_1, (*x_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
						{
							LA105_:;
						}
						{
							oldNimErrFin105_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(idx_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
							*nimErr_ = oldNimErrFin105_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
					}
LA103_: ;
					xx_1 = semExprWithType__sem_u63(c_p0, x_1, 4194304, expectedElementType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
					add__ast_u3215(result, xx_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
					{
						NIM_BOOL T118_;
						T118_ = (NIM_BOOL)0;
						T118_ = !(((*xx_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
						if (!(T118_)) goto LA119_;
						T118_ = ((*(*xx_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
LA119_: ;
						if (!T118_) goto LA120_;
						isGeneric_1 = NIM_TRUE;
					}
					goto LA116_;
LA120_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T125_;
						if (!constructType_1) goto LA123_;
						T125_ = NIM_NIL;
						T125_ = commonType__sem_u256(c_p0, typ_1, (*xx_1).typField);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T125_); goto LA84_;}
						eqsink___ast_u3387(&typ_1, T125_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
					}
					goto LA116_;
LA123_: ;
LA116_: ;
					inc__int128_u338((&lastIndex_1), ((NU32)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
					i_2 += ((NI)1);
					{
						LA84_:;
					}
					{
						oldNimErrFin84_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(xx_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						*nimErr_ = oldNimErrFin84_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				} LA83: ;
			}
		}
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T142_;
			if (!isGeneric_1) goto LA130_;
			colontmpD__11 = NIM_NIL;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__ast_u3190(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA132_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA135;
						i_3 = i_4;
						{
							NIM_BOOL T138_;
							T138_ = (NIM_BOOL)0;
							T138_ = !(((*(*result)._kind_6.sons.p->data[i_3]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
							if (!(T138_)) goto LA139_;
							T138_ = isIntLit__types_u179((*(*result)._kind_6.sons.p->data[i_3]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA132_;
LA139_: ;
							if (!T138_) goto LA140_;
							eqsink___ast_u3387(&(*(*result)._kind_6.sons.p->data[i_3]).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA132_;
						}
LA140_: ;
						i_4 += ((NI)1);
					} LA135: ;
				}
			}
			eqsink___ast_u3387(&(*result).typField, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA132_;
			colontmpD__11 = copyTree__ast_u6891(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA132_;
			T142_ = NIM_NIL;
			T142_ = makeTypeFromExpr__semdata_u4430(c_p0, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T142_); goto LA132_;}
			eqsink___ast_u3387(&(*result).typField, T142_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA132_;
			eqdestroy___ast_u3252(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(yy_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(indexType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(expectedBase_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(expectedIndexType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(expectedElementType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
			{
				LA132_:;
			}
			{
				oldNimErrFin132_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				*nimErr_ = oldNimErrFin132_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		}
LA130_: ;
		{
			if (!constructType_1) goto LA147_;
			addSonSkipIntLit__magicsys_u135((*result).typField, typ_1, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		}
LA147_: ;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			i_6 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T152_;
					if (!(i_6 < colontmp__3)) goto LA151;
					i_5 = i_6;
					T152_ = NIM_NIL;
					T152_ = fitNode__sem_u79(c_p0, typ_1, (*result)._kind_6.sons.p->data[i_5], (*(*result)._kind_6.sons.p->data[i_5]).info);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T152_); goto LA45_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_5], T152_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					i_6 += ((NI)1);
				} LA151: ;
			}
		}
		{
			LA45_:;
		}
		{
			oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(yy_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin45_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA23_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__12;
		NI64 T160_;
		NI64 T161_;
		if (!constructType_1) goto LA157_;
		colontmpD__12 = NIM_NIL;
		T160_ = (NI64)0;
		T160_ = toInt64__int128_u53(firstIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
		T161_ = (NI64)0;
		T161_ = toInt64__int128_u53(lastIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
		colontmpD__12 = makeRangeType__semdata_u4597(c_p0, T160_, T161_, (*n_p1).info, indexType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
		setIndexType__ast_u5360((*result).typField, colontmpD__12);
		if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
		{
			LA159_:;
		}
		{
			oldNimErrFin159_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin159_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA157_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(indexType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expectedBase_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expectedIndexType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expectedElementType_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, isCastable__sem_u22720)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dst_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
NIM_BOOL oldNimErrFin18_;
	NI64 dstSize_1;
	NI64 srcSize_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	src_2 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	conf_1 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	src_2 = skipTypes__ast_u5379(src_p2, TM__rF9caJawfOjYTjsgLVUSGFA_1455);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		colontmpD_ = skipTypes__ast_u5379(dst_p1, TM__rF9caJawfOjYTjsgLVUSGFA_1456);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27))) goto LA4_;
		result = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		colontmpD__2 = skipTypes__ast_u5379(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_94);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8))) goto LA8_;
		result = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA8_: ;
	{
		colontmpD__3 = skipTypes__ast_u5379(dst_p1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51))) goto LA12_;
		result = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA12_: ;
	eqcopy___options_u2138(&conf_1, (*(*c_p0).graph).config);
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* d_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_1;
		if (!((*conf_1).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*conf_1).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*conf_1).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6))) goto LA16_;
		d_1 = NIM_NIL;
		s_1 = NIM_NIL;
		d_1 = skipTypes__ast_u5379(dst_p1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		s_1 = skipTypes__ast_u5379(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			NIM_BOOL T21_;
			NIM_BOOL T22_;
			NIM_BOOL T25_;
			NIM_BOOL T26_;
			T21_ = (NIM_BOOL)0;
			T22_ = (NIM_BOOL)0;
			T22_ = ((*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
			if (!(T22_)) goto LA23_;
			T22_ = ((*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA23_: ;
			T21_ = T22_;
			if (!(T21_)) goto LA24_;
			T25_ = (NIM_BOOL)0;
			T25_ = isFinal__types_u772((*s_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			T26_ = (NIM_BOOL)0;
			T26_ = isFinal__types_u772((*d_1).sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			T21_ = !((T25_ == T26_));
LA24_: ;
			if (!T21_) goto LA27_;
			result = NIM_FALSE;
			eqdestroy___ast_u3378(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(d_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___options_u2135(conf_1);
			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___ast_u3378(src_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA19_;
LA27_: ;
		{
			NIM_BOOL T30_;
			T30_ = (NIM_BOOL)0;
			T30_ = ((*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*d_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*d_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*d_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
			if (!(T30_)) goto LA31_;
			T30_ = ((*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) || (*s_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
LA31_: ;
			if (!T30_) goto LA32_;
			result = NIM_FALSE;
			eqdestroy___ast_u3378(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(d_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___options_u2135(conf_1);
			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___ast_u3378(src_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA19_;
LA32_: ;
LA19_: ;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(d_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA16_: ;
	dstSize_1 = (NI64)0;
	srcSize_1 = (NI64)0;
	dstSize_1 = computeSize__types_u3379(conf_1, dst_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	srcSize_1 = computeSize__types_u3379(conf_1, src_2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T38_;
		T38_ = (NIM_BOOL)0;
		T38_ = (dstSize_1 == IL64(-3));
		if (T38_) goto LA39_;
		T38_ = (srcSize_1 == IL64(-3));
LA39_: ;
		if (!T38_) goto LA40_;
		result = NIM_TRUE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA40_: ;
	{
		if (!(dstSize_1 < IL64(0))) goto LA44_;
		result = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA42_;
LA44_: ;
	{
		if (!(srcSize_1 < IL64(0))) goto LA47_;
		result = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA42_;
LA47_: ;
	{
		colontmpD__4 = typeAllowed__typeallowed_u465(dst_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3), c_p0, 256);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((colontmpD__4 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA50_;
		result = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA42_;
LA50_: ;
	{
		NIM_BOOL T53_;
		NIM_BOOL T57_;
		T53_ = (NIM_BOOL)0;
		T53_ = ((*dst_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
		if (!(T53_)) goto LA54_;
		T53_ = ((*dst_p1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA54_: ;
		if (!T53_) goto LA55_;
		T57_ = (NIM_BOOL)0;
		T57_ = ((*src_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
		if (!(T57_)) goto LA58_;
		T57_ = ((*src_2).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA58_: ;
		result = T57_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA42_;
LA55_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
		NIM_BOOL T60_;
		NIM_BOOL T61_;
		colontmpD__5 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		T60_ = (NIM_BOOL)0;
		T61_ = (NIM_BOOL)0;
		T61_ = (srcSize_1 <= dstSize_1);
		if (T61_) goto LA62_;
		colontmpD__5 = skipTypes__ast_u5379(dst_p1, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T61_ = ((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*colontmpD__5).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*colontmpD__5).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
LA62_: ;
		T60_ = T61_;
		if (T60_) goto LA63_;
		colontmpD__6 = skipTypes__ast_u5379(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_94);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T60_ = ((*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*colontmpD__6).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*colontmpD__6).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*colontmpD__6).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
LA63_: ;
		result = T60_;
		eqdestroy___ast_u3378(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA42_: ;
	{
		NIM_BOOL T66_;
		T66_ = (NIM_BOOL)0;
		T66_ = result;
		if (!(T66_)) goto LA67_;
		T66_ = ((*src_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5));
LA67_: ;
		if (!T66_) goto LA68_;
		result = ((*dst_p1).size <= ((NI64) ((*conf_1).target.ptrSize)));
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA68_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___options_u2135(conf_1);
		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___ast_u3378(src_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCast__sem_u22959)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* targetType_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* castedExpr_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	targetType_1 = NIM_NIL;
	castedExpr_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	targetType_1 = semTypeNode__sem_u89(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	castedExpr_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], T2_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*castedExpr_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56))) goto LA5_;
		errorUseQualifier__lookups_u5141(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, castedExpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	{
		if (!(targetType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA9_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1450, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1451, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		if (!(((*targetType_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)21)))&63U)))!=0)) goto LA13_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__2 = typeToString__types_u54(targetType_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1453, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1454, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	{
		NIM_BOOL T20_;
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		T20_ = (NIM_BOOL)0;
		T20_ = isCastable__sem_u22720(c_p0, targetType_1, (*castedExpr_1).typField, (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T20_)) goto LA21_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__4 = typeToString__types_u54(targetType_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1458, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1459, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			LA23_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA21_: ;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___ast_u3387(&(*result).typField, targetType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___ast_u3375(&targetType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = copyTree__ast_u6891((*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, castedExpr_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(castedExpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(targetType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprBranch__sem_u15036)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = semExpr__sem_u58(c_p0, n_p1, flags_p2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA3_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
			if (!((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA7_;
			T9_ = NIM_NIL;
			T9_ = newDeref__lowerings_u12(result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_u429)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dummy_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	dummy_1 = NIM_NIL;
	dummy_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	result = endsInNoReturn__sem_u15095(n_p0, &dummy_1, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(dummy_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, commonType__sem_u431)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = endsInNoReturn__sem_u429(y_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		eqcopy___ast_u3381(&result, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	result = commonType__sem_u256(c_p0, x_p1, (*y_p2).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprBranchScope__sem_u15050)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	result = semExprBranch__sem_u15036(c_p0, n_p1, T2_, expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIf__sem_u15228)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
	NIM_BOOL hasElse_1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	typ_1 = NIM_NIL;
	expectedType_2 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) nimNewObj(sizeof(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg), NIM_ALIGNOF(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg));
	(*T2_).kind = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6);
	typ_1 = T2_;
	eqcopy___ast_u3381(&expectedType_2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hasElse_1 = NIM_FALSE;
	{
		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)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				if (!(i_2 < colontmp_)) goto LA5;
				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 LA6_;
				{
					NI T9_;
					tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T13_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T16_;
					T9_ = (NI)0;
					T9_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					if (!(T9_ == ((NI)2))) goto LA10_;
					colontmpD_ = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					colontmpD__3 = NIM_NIL;
					colontmpD_ = openScope__lookups_u65(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T13_ = 0;
					colontmpD__2 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					colontmpD__3 = semExprWithType__sem_u63(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], T13_, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T14_ = NIM_NIL;
					T14_ = forceBool__sem_u4381(c_p0, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA12_;}
					eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T14_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T15_ = NIM_NIL;
					T15_ = semExprBranch__sem_u15036(c_p0, (*it_1)._kind_6.sons.p->data[((NI)1)], flags_p2, expectedType_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA12_;}
					eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)1)], T15_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T16_ = NIM_NIL;
					T16_ = commonType__sem_u431(c_p0, typ_1, (*it_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T16_); goto LA12_;}
					eqsink___ast_u3387(&typ_1, T16_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						NIM_BOOL T19_;
						T19_ = (NIM_BOOL)0;
						T19_ = endsInNoReturn__sem_u429((*it_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						if (!!(T19_)) goto LA20_;
						eqcopy___ast_u3381(&expectedType_2, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					}
LA20_: ;
					closeScope__lookups_u102(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						eqdestroy___ast_u3378(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						eqdestroy___lookups_u74(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
				goto LA7_;
LA10_: ;
				{
					NI T25_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T28_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T29_;
					T25_ = (NI)0;
					T25_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					if (!(T25_ == ((NI)1))) goto LA26_;
					hasElse_1 = NIM_TRUE;
					T28_ = NIM_NIL;
					T28_ = semExprBranchScope__sem_u15050(c_p0, (*it_1)._kind_6.sons.p->data[((NI)0)], expectedType_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T28_); goto LA6_;}
					eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[((NI)0)], T28_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T29_ = NIM_NIL;
					T29_ = commonType__sem_u431(c_p0, typ_1, (*it_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T29_); goto LA6_;}
					eqsink___ast_u3387(&typ_1, T29_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NIM_BOOL T32_;
						T32_ = (NIM_BOOL)0;
						T32_ = endsInNoReturn__sem_u429((*it_1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!!(T32_)) goto LA33_;
						eqcopy___ast_u3381(&expectedType_2, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA33_: ;
				}
				goto LA7_;
LA26_: ;
				{
					illFormedAst__semdata_u4665(it_1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA7_: ;
				i_2 += ((NI)1);
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	{
		NIM_BOOL T40_;
		NIM_BOOL T41_;
		NIM_BOOL T44_;
		T40_ = (NIM_BOOL)0;
		T41_ = (NIM_BOOL)0;
		T41_ = isEmptyType__ast_u7234(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T41_) goto LA42_;
		T41_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5) || (*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6));
LA42_: ;
		T40_ = T41_;
		if (T40_) goto LA43_;
		T44_ = (NIM_BOOL)0;
		T44_ = !(hasElse_1);
		if (!(T44_)) goto LA45_;
		T44_ = !(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0));
LA45_: ;
		T40_ = T44_;
LA43_: ;
		if (!T40_) goto LA46_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_2;
			it_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(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				i_4 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
						if (!(i_4 < colontmp__2)) goto LA52;
						colontmpD__4 = NIM_NIL;
						i_3 = i_4;
						eqcopy___ast_u3255(&it_2, (*n_p1)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						colontmpD__4 = lastSon__ast_u5208(it_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						discardCheck__sem_u15189(c_p0, colontmpD__4, flags_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						i_4 += ((NI)1);
						{
							LA53_:;
						}
						{
							oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
							*nimErr_ = oldNimErrFin53_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					} LA52: ;
				}
			}
			{
				LA49_:;
			}
			{
				oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(it_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin49_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)92));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!(typ_1 == (*c_p0).enforceVoidContext)) goto LA60_;
			eqcopy___ast_u3381(&(*result).typField, (*c_p0).enforceVoidContext);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA60_: ;
	}
	goto LA38_;
LA46_: ;
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_3;
			it_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(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
				i_6 = ((NI)0);
				{
					while (1) {
						NI j_1;
						NI T68_;
						if (!(i_6 < colontmp__3)) goto LA67;
						i_5 = i_6;
						eqcopy___ast_u3255(&it_3, (*n_p1)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						T68_ = (NI)0;
						T68_ = len__ast_u3190(it_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						j_1 = (NI)(T68_ - ((NI)1));
						{
							NIM_BOOL T71_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T74_;
							T71_ = (NIM_BOOL)0;
							T71_ = endsInNoReturn__sem_u429((*it_3)._kind_6.sons.p->data[j_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
							if (!!(T71_)) goto LA72_;
							T74_ = NIM_NIL;
							T74_ = fitNode__sem_u79(c_p0, typ_1, (*it_3)._kind_6.sons.p->data[j_1], (*(*it_3)._kind_6.sons.p->data[j_1]).info);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T74_); goto LA64_;}
							eqsink___ast_u3261(&(*it_3)._kind_6.sons.p->data[j_1], T74_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						}
LA72_: ;
						i_6 += ((NI)1);
					} LA67: ;
				}
			}
			{
				LA64_:;
			}
			{
				oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(it_3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin64_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)48));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqsink___ast_u3387(&(*result).typField, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA38_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(expectedType_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTableConstr__sem_u26880)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NI lastKey_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T19_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	lastKey_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 BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
				if (!(i_2 < colontmp_)) goto LA3;
				x_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T6_;
					NI T8_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pair_1;
					T6_ = (NIM_BOOL)0;
					T6_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
					if (!(T6_)) goto LA7_;
					T8_ = (NI)0;
					T8_ = len__ast_u3190(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T6_ = (T8_ == ((NI)2));
LA7_: ;
					if (!T6_) goto LA9_;
					pair_1 = NIM_NIL;
					{
						NI j_1;
						NI i_3;
						j_1 = (NI)0;
						i_3 = lastKey_1;
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pair_2;
								if (!(i_3 < i_1)) goto LA13;
								pair_2 = NIM_NIL;
								j_1 = i_3;
								pair_2 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160), (*x_1).info);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								add__ast_u3215(pair_2, (*n_p1)._kind_6.sons.p->data[j_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								add__ast_u3215(pair_2, (*x_1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								add__ast_u3215(result, pair_2);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								i_3 += ((NI)1);
								eqdestroy___ast_u3252(pair_2);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							} LA13: ;
						}
					}
					pair_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160), (*x_1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					add__ast_u3215(pair_1, (*x_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					add__ast_u3215(pair_1, (*x_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					add__ast_u3215(result, pair_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					lastKey_1 = (NI)(i_1 + ((NI)1));
					eqdestroy___ast_u3252(pair_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA9_: ;
				i_2 += ((NI)1);
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	{
		NI T16_;
		T16_ = (NI)0;
		T16_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!((lastKey_1 == T16_))) goto LA17_;
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA17_: ;
	T19_ = 0;
	T20_ = NIM_NIL;
	T20_ = semExpr__sem_u58(c_p0, result, T19_, expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T20_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBlock__sem_u28238)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	NIM_BOOL oldBreakInLoop_1;
NIM_BOOL oldNimErrFin6_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*c_p0).p).nestedBlockCounter += ((NI)1);
	oldBreakInLoop_1 = (*(*c_p0).p).breakInLoop;
	(*(*c_p0).p).breakInLoop = NIM_FALSE;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* labl_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
		tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T15_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA4_;
		labl_1 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		labl_1 = newSymG__sem_u441(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)22), (*n_p1)._kind_6.sons.p->data[((NI)0)], c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			if (!!((((*labl_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA9_;
			addDecl__lookups_u3789(c_p0, labl_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA7_;
LA9_: ;
		{
			colontmpD__2 = owner__ast_u6254(labl_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			if (!(colontmpD__2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA12_;
			setOwner__icZic_u12851(labl_1, (*(*c_p0).p).owner);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA7_;
LA12_: ;
LA7_: ;
		T14_ = NIM_NIL;
		T14_ = newSymNode__ast_u5171(labl_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA6_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T15_ = NIM_NIL;
		T15_ = (*c_p0).graph;
		suggestSym__sigmatch_u6643(T15_, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, labl_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T18_;
			NIM_BOOL T19_;
			NIM_BOOL T20_;
			NIM_BOOL T21_;
			NIM_BOOL T22_;
			NIM_BOOL T23_;
			NIM_BOOL T24_;
			NIM_BOOL T25_;
			NIM_BOOL T26_;
			NIM_BOOL T27_;
			NIM_BOOL T28_;
			tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T30_;
			NIM_BOOL T39_;
			tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T42_;
			T18_ = (NIM_BOOL)0;
			T19_ = (NIM_BOOL)0;
			T20_ = (NIM_BOOL)0;
			T21_ = (NIM_BOOL)0;
			T22_ = (NIM_BOOL)0;
			T23_ = (NIM_BOOL)0;
			T24_ = (NIM_BOOL)0;
			T25_ = (NIM_BOOL)0;
			T26_ = (NIM_BOOL)0;
			T27_ = (NIM_BOOL)0;
			T28_ = (NIM_BOOL)0;
			T28_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
			if (!(T28_)) goto LA29_;
			T30_ = 0;
			T28_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T30_));
LA29_: ;
			T27_ = T28_;
			if (!(T27_)) goto LA31_;
			T27_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA31_: ;
			T26_ = T27_;
			if (!(T26_)) goto LA32_;
			colontmpD__3 = getModule__modulegraphs_u14809((*c_p0).graph, (*labl_1).info.fileIndex);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T26_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
LA32_: ;
			T25_ = T26_;
			if (!(T25_)) goto LA33_;
			T25_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA33_: ;
			T24_ = T25_;
			if (!(T24_)) goto LA34_;
			T24_ = !(((*labl_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA34_: ;
			T23_ = T24_;
			if (!(T23_)) goto LA35_;
			T23_ = !(((*labl_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA35_: ;
			T22_ = T23_;
			if (!(T22_)) goto LA36_;
			T22_ = (((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*labl_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA36_: ;
			T21_ = T22_;
			if (!(T21_)) goto LA37_;
			T21_ = !(((*labl_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*labl_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA37_: ;
			T20_ = T21_;
			if (!(T20_)) goto LA38_;
			T39_ = (NIM_BOOL)0;
			T39_ = ((*labl_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (T39_) goto LA40_;
			T39_ = !(((*(*labl_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA40_: ;
			T20_ = T39_;
LA38_: ;
			T19_ = T20_;
			if (!(T19_)) goto LA41_;
			T42_ = 0;
			T19_ = ((192 & (*labl_1).flags) == T42_);
LA41_: ;
			T18_ = T19_;
			if (!(T18_)) goto LA43_;
			T18_ = !((((*labl_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA43_: ;
			if (!T18_) goto LA44_;
			nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*labl_1).info, labl_1, (*labl_1).kind);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA44_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(labl_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	T48_ = NIM_NIL;
	T48_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], flags_p2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T48_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*n_p1).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T51_;
		T51_ = (NIM_BOOL)0;
		T51_ = isEmptyType__ast_u7234((*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T51_) goto LA52_;
		transitionSonsKind__ast_u6769(n_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)112));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA49_;
LA52_: ;
	{
		transitionSonsKind__ast_u6769(n_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)127));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA49_: ;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*c_p0).p).breakInLoop = oldBreakInLoop_1;
	(*(*c_p0).p).nestedBlockCounter -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, inferConceptStaticParam__sem_u21753)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* inferred_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	typ_1 = NIM_NIL;
	res_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	eqcopy___ast_u3381(&typ_1, (*inferred_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	res_1 = semConstExpr__sem_u631(c_p0, n_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T4_;
		NIM_BOOL T5_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 colontmpD__7;
		NimStringV2 T9_;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T10_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T11_;
		colontmpD_ = base__ast_u5351(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = 0;
		T5_ = (NIM_BOOL)0;
		T5_ = sameType__types_u1812((*res_1).typField, colontmpD_, T4_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T5_)) goto LA6_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		T9_.len = 0; T9_.p = NIM_NIL;
		T11_ = 0;
		colontmpD__2 = renderTree__renderer_u59(inferred_p1, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T10_[0] = colontmpD__2;
		colontmpD__3 = typeToString__types_u54((*res_1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T10_[1] = colontmpD__3;
		colontmpD__4 = base__ast_u5351(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		colontmpD__5 = typeToString__types_u54(colontmpD__4, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T10_[2] = colontmpD__5;
		colontmpD__6 = percent___sem_u21759(T10_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T9_ = rawNewString(colontmpD__6.len + 65);
appendString((&T9_), TM__rF9caJawfOjYTjsgLVUSGFA_1463);
appendString((&T9_), colontmpD__6);
		colontmpD__7 = T9_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1464, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	eqsink___ast_u3261(&(*typ_1).n, res_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___ast_u3249(&res_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(res_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStmtList__sem_u21764)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NIM_BOOL voidContext_1;
	NI last_1;
	NI T1_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)115));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	voidContext_1 = NIM_FALSE;
	T1_ = (NI)0;
	T1_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	last_1 = (NI)(T1_ - ((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 LA4;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T7_;
					x_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					m_1 = NIM_NIL;
					T7_ = NIM_NIL;
					{
						NI T10_;
						T10_ = (NI)0;
						T10_ = len__ast_u3190(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!(i_1 == (NI)(T10_ - ((NI)1)))) goto LA11_;
						eqcopy___ast_u3381(&colontmpD_, expectedType_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T7_ = colontmpD_;
					}
					goto LA8_;
LA11_: ;
					{
						colontmpD__2 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
						T7_ = colontmpD__2;
					}
LA8_: ;
					x_1 = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], flags_p2, T7_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[i_1], x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NIM_BOOL T16_;
						NIM_BOOL T17_;
						NIM_BOOL T20_;
						T16_ = (NIM_BOOL)0;
						T17_ = (NIM_BOOL)0;
						T17_ = !(((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL)));
						if (!(T17_)) goto LA18_;
						T17_ = !(((*x_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA18_: ;
						T16_ = T17_;
						if (!(T16_)) goto LA19_;
						T20_ = (NIM_BOOL)0;
						T20_ = !((((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)17)))&31U)))!=0));
						if (T20_) goto LA21_;
						T20_ = !((i_1 == last_1));
LA21_: ;
						T16_ = T20_;
LA19_: ;
						if (!T16_) goto LA22_;
						switch ((*(*x_1).typField).kind) {
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1):
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* verdict_1;
							verdict_1 = NIM_NIL;
							{
								NIM_BOOL T28_;
								NIM_BOOL T29_;
								T28_ = (NIM_BOOL)0;
								T29_ = (NIM_BOOL)0;
								T29_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
								if (!(T29_)) goto LA30_;
								T29_ = ((*(*x_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA30_: ;
								T28_ = T29_;
								if (!(T28_)) goto LA31_;
								T28_ = eqStrings((*(*(*(*x_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_1461);
LA31_: ;
								if (!T28_) goto LA32_;
								{
									NIM_BOOL T36_;
									T36_ = (NIM_BOOL)0;
									T36_ = isUnresolvedStatic__ast_u4629((*(*x_1)._kind_6.sons.p->data[((NI)1)]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
									if (!T36_) goto LA37_;
									inferConceptStaticParam__sem_u21753(c_p0, (*x_1)._kind_6.sons.p->data[((NI)1)], (*x_1)._kind_6.sons.p->data[((NI)2)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
									eqdestroy___ast_u3252(verdict_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___ast_u3252(m_1);
									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___ast_u3252(x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									goto LA5;
								}
								goto LA34_;
LA37_: ;
								{
									NIM_BOOL T40_;
									T40_ = (NIM_BOOL)0;
									T40_ = isUnresolvedStatic__ast_u4629((*(*x_1)._kind_6.sons.p->data[((NI)2)]).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
									if (!T40_) goto LA41_;
									inferConceptStaticParam__sem_u21753(c_p0, (*x_1)._kind_6.sons.p->data[((NI)2)], (*x_1)._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
									eqdestroy___ast_u3252(verdict_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									eqdestroy___ast_u3252(m_1);
									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___ast_u3252(x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									goto LA5;
								}
								goto LA34_;
LA41_: ;
LA34_: ;
							}
LA32_: ;
							verdict_1 = semConstExpr__sem_u631(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							{
								NIM_BOOL T45_;
								NIM_BOOL T46_;
								T45_ = (NIM_BOOL)0;
								T46_ = (NIM_BOOL)0;
								T46_ = (verdict_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
								if (T46_) goto LA47_;
								T46_ = !(((*verdict_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6)));
LA47_: ;
								T45_ = T46_;
								if (T45_) goto LA48_;
								T45_ = ((*verdict_1)._kind_1.intVal == IL64(0));
LA48_: ;
								if (!T45_) goto LA49_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*result).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1466, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1467, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							}
LA49_: ;
							{
								LA25_:;
							}
							{
								oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(verdict_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								*nimErr_ = oldNimErrFin25_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
						break;
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61):
						{
							eqdestroy___ast_u3252(m_1);
							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___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA5;
						}
						break;
						default:
						{
						}
						break;
						}
					}
LA22_: ;
					{
						if (!((*(*n_p1)._kind_6.sons.p->data[i_1]).typField == (*c_p0).enforceVoidContext)) goto LA57_;
						voidContext_1 = NIM_TRUE;
						eqcopy___ast_u3381(&(*n_p1).typField, (*c_p0).enforceVoidContext);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA57_: ;
					{
						NIM_BOOL T61_;
						NIM_BOOL T63_;
						NI T64_;
						tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T66_;
						T61_ = (NIM_BOOL)0;
						T61_ = (i_1 == last_1);
						if (!(T61_)) goto LA62_;
						T63_ = (NIM_BOOL)0;
						T64_ = (NI)0;
						T64_ = len__ast_u3190(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T63_ = (T64_ == ((NI)1));
						if (T63_) goto LA65_;
						T66_ = 0;
						T63_ = !(((4112 & flags_p2) == T66_));
LA65_: ;
						T61_ = T63_;
LA62_: ;
						if (!T61_) goto LA67_;
						eqcopy___ast_u3381(&(*n_p1).typField, (*(*n_p1)._kind_6.sons.p->data[i_1]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NIM_BOOL T71_;
							T71_ = (NIM_BOOL)0;
							T71_ = isEmptyType__ast_u7234((*n_p1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!!(T71_)) goto LA72_;
							transitionSonsKind__ast_u6769(n_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)126));
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA72_: ;
					}
					goto LA59_;
LA67_: ;
					{
						NIM_BOOL T75_;
						T75_ = (NIM_BOOL)0;
						T75_ = !((i_1 == last_1));
						if (T75_) goto LA76_;
						T75_ = voidContext_1;
LA76_: ;
						if (!T75_) goto LA77_;
						discardCheck__sem_u15189(c_p0, (*n_p1)._kind_6.sons.p->data[i_1], flags_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
					goto LA59_;
LA77_: ;
					{
						eqcopy___ast_u3381(&(*n_p1).typField, (*(*n_p1)._kind_6.sons.p->data[i_1]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NIM_BOOL T82_;
							T82_ = (NIM_BOOL)0;
							T82_ = isEmptyType__ast_u7234((*n_p1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!!(T82_)) goto LA83_;
							transitionSonsKind__ast_u6769(n_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)126));
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA83_: ;
					}
LA59_: ;
					eqcopy___ast_u3255(&m_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						while (1) {
							NIM_BOOL T87_;
							NI T89_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T90_;
							T87_ = (NIM_BOOL)0;
							T87_ = ((*m_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126) || (*m_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115));
							if (!(T87_)) goto LA88_;
							T89_ = (NI)0;
							T89_ = len__ast_u3190(m_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							T87_ = (((NI)0) < T89_);
LA88_: ;
							if (!T87_) goto LA86;
							T90_ = NIM_NIL;
							T90_ = lastSon__ast_u5208(m_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T90_); goto LA6_;}
							eqsink___ast_u3261(&m_1, T90_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						} LA86: ;
					}
					{
						NIM_BOOL T93_;
						T93_ = (NIM_BOOL)0;
						T93_ = endsInNoReturn__sem_u429(m_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!T93_) goto LA94_;
						{
							NI j_1;
							NI colontmp__2;
							NI colontmp__3;
							NI i_3;
							j_1 = (NI)0;
							colontmp__2 = (NI)0;
							colontmp__3 = (NI)0;
							colontmp__2 = (NI)(i_1 + ((NI)1));
							colontmp__3 = len__ast_u3190(n_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							i_3 = colontmp__2;
							{
								while (1) {
									if (!(i_3 < colontmp__3)) goto LA98;
									j_1 = i_3;
									switch ((*(*n_p1)._kind_6.sons.p->data[j_1]).kind) {
									case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
									case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
									case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
									case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
									case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)157):
									{
									}
									break;
									default:
									{
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[j_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)51), TM__rF9caJawfOjYTjsgLVUSGFA_1468, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1469, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									}
									break;
									}
									i_3 += ((NI)1);
								} LA98: ;
							}
						}
					}
					goto LA91_;
LA94_: ;
					{
					}
LA91_: ;
					{
						LA6_:;
					}
					{
						oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(m_1);
						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___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin6_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA5: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	{
		NIM_BOOL T106_;
		NIM_BOOL T107_;
		NIM_BOOL T108_;
		NI T109_;
		T106_ = (NIM_BOOL)0;
		T107_ = (NIM_BOOL)0;
		T108_ = (NIM_BOOL)0;
		T109_ = (NI)0;
		T109_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T108_ = (T109_ == ((NI)1));
		if (!(T108_)) goto LA110_;
		T108_ = ((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL));
LA110_: ;
		T107_ = T108_;
		if (!(T107_)) goto LA111_;
		T107_ = !((((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)16)))&31U)))!=0));
LA111_: ;
		T106_ = T107_;
		if (!(T106_)) goto LA112_;
		T106_ = !(((*(*result)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)105)));
LA112_: ;
		if (!T106_) goto LA113_;
		eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA113_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semRaise__sem_u17213)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T6_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA3_;
		typ_1 = NIM_NIL;
		T6_ = 0;
		T7_ = NIM_NIL;
		T7_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T6_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA5_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eqcopy___ast_u3381(&typ_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NIM_BOOL T10_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T14_;
			T10_ = (NIM_BOOL)0;
			T10_ = isImportedException__ast_u7302(typ_1, (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			if (!!(T10_)) goto LA11_;
			colontmpD_ = NIM_NIL;
			T14_ = NIM_NIL;
			T14_ = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_1470);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T14_); goto LA13_;}
			eqsink___ast_u3387(&typ_1, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			{
				if (!!(((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22)))) goto LA17_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1472, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1473, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
LA17_: ;
			{
				NIM_BOOL T21_;
				NI T22_;
				NIM_BOOL T24_;
				NimStringV2 colontmpD__2;
				NimStringV2 colontmpD__3;
				T21_ = (NIM_BOOL)0;
				T22_ = (NI)0;
				T22_ = len__ast_u5502(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				T21_ = (((NI)0) < T22_);
				if (!(T21_)) goto LA23_;
				colontmpD_ = elementType__ast_u5331(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				T24_ = (NIM_BOOL)0;
				T24_ = isException__types_u4100(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
				T21_ = !(T24_);
LA23_: ;
				if (!T21_) goto LA25_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__2 = typeToString__types_u54(typ_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1475, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1476, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				{
					LA27_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__3);
					eqdestroy___system_u2691(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			}
LA25_: ;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA11_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semVarMacroPragma__sem_u15764)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		NIM_BOOL T3_;
		NI T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_1;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (T4_ == ((NI)3));
		if (!(T3_)) goto LA5_;
		T3_ = ((*(*a_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43));
LA5_: ;
		if (!T3_) goto LA6_;
		b_1 = NIM_NIL;
		pragmas_1 = NIM_NIL;
		b_1 = (*a_p1)._kind_6.sons.p->data[((NI)0)];
		eqcopy___ast_u3255(&pragmas_1, (*b_1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(pragmas_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA11;
					i_1 = i_2;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
						it_1 = NIM_NIL;
						key_1 = NIM_NIL;
						eqcopy___ast_u3255(&it_1, (*pragmas_1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						T14_ = NIM_NIL;
						{
							NIM_BOOL T17_;
							NI T19_;
							T17_ = (NIM_BOOL)0;
							T17_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28));
							if (!(T17_)) goto LA18_;
							T19_ = (NI)0;
							T19_ = len__ast_u3190(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							T17_ = (((NI)1) <= T19_);
LA18_: ;
							if (!T17_) goto LA20_;
							eqcopy___ast_u3255(&key_1, (*it_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						}
						goto LA15_;
LA20_: ;
						{
							eqcopy___ast_u3255(&key_1, it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						}
LA15_: ;
						{
							NIM_BOOL T25_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* oldExpr_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newPragmas_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* unarySection_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_1;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_1;
							T25_ = (NIM_BOOL)0;
							T25_ = isPossibleMacroPragma__sem_u15720(c_p0, it_1, key_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							if (!T25_) goto LA26_;
							x_1 = NIM_NIL;
							oldExpr_1 = NIM_NIL;
							newPragmas_1 = NIM_NIL;
							unarySection_1 = NIM_NIL;
							r_1 = NIM_NIL;
							m_1 = NIM_NIL;
							x_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*key_1).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							add__ast_u3215(x_1, key_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								NIM_BOOL T31_;
								NI T33_;
								T31_ = (NIM_BOOL)0;
								T31_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28));
								if (!(T31_)) goto LA32_;
								T33_ = (NI)0;
								T33_ = len__ast_u3190(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								T31_ = (((NI)1) < T33_);
LA32_: ;
								if (!T31_) goto LA34_;
								{
									NI i_3;
									NI colontmp__2;
									NI i_4;
									i_3 = (NI)0;
									colontmp__2 = (NI)0;
									colontmp__2 = len__ast_u3190(it_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
									i_4 = ((NI)1);
									{
										while (1) {
											if (!(i_4 < colontmp__2)) goto LA38;
											i_3 = i_4;
											add__ast_u3215(x_1, (*it_1)._kind_6.sons.p->data[i_3]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
											i_4 += ((NI)1);
										} LA38: ;
									}
								}
							}
LA34_: ;
							eqcopy___ast_u3255(&oldExpr_1, (*a_p1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							newPragmas_1 = copyExcept__sem_u15755(pragmas_1, i_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								NIM_BOOL T41_;
								NI T43_;
								T41_ = (NIM_BOOL)0;
								T41_ = !(((*newPragmas_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
								if (!(T41_)) goto LA42_;
								T43_ = (NI)0;
								T43_ = len__ast_u3190(newPragmas_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								T41_ = (T43_ == ((NI)0));
LA42_: ;
								if (!T41_) goto LA44_;
								eqcopy___ast_u3255(&(*a_p1)._kind_6.sons.p->data[((NI)0)], (*oldExpr_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
							goto LA39_;
LA44_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T47_;
								T47_ = NIM_NIL;
								T47_ = copyNode__ast_u6736(oldExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T47_); goto LA28_;}
								eqsink___ast_u3261(&(*a_p1)._kind_6.sons.p->data[((NI)0)], T47_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								add__ast_u3215((*a_p1)._kind_6.sons.p->data[((NI)0)], (*oldExpr_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								add__ast_u3215((*a_p1)._kind_6.sons.p->data[((NI)0)], newPragmas_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
LA39_: ;
							unarySection_1 = newNodeI__ast_u4091((*n_p2).kind, (*a_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							add__ast_u3215(unarySection_1, a_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							add__ast_u3215(x_1, unarySection_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							r_1 = semOverloadedCall__sem_u4008(c_p0, x_1, x_1, 393216, 524288, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								if (!(r_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA50_;
								eqcopy___ast_u3255(&(*a_p1)._kind_6.sons.p->data[((NI)0)], oldExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								eqdestroy___ast_u4574(m_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(r_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(unarySection_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(newPragmas_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(oldExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(key_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
								eqdestroy___ast_u3252(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
								goto LA12;
							}
LA50_: ;
							{
								if (!!(((*(*r_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA54_;
								failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_1478);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
LA54_: ;
							eqcopy___ast_u4577(&m_1, (*(*r_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							switch ((*m_1).kind) {
							case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
							{
								tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T57_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T58_;
								T57_ = 0;
								T58_ = NIM_NIL;
								T58_ = semMacroExpr__sem_u541(c_p0, r_1, r_1, m_1, T57_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T58_); goto LA28_;}
								eqsink___ast_u3261(&result, T58_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
							break;
							case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
							{
								tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T60_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T61_;
								T60_ = 0;
								T61_ = NIM_NIL;
								T61_ = semTemplateExpr__sem_u535(c_p0, r_1, m_1, T60_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T61_); goto LA28_;}
								eqsink___ast_u3261(&result, T61_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
							break;
							default:
							{
								eqsink___ast_u3261(&(*a_p1)._kind_6.sons.p->data[((NI)0)], oldExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								eqwasMoved___ast_u3249(&oldExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								eqdestroy___ast_u4574(m_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(r_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(unarySection_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(newPragmas_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(oldExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(key_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
								eqdestroy___ast_u3252(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
								goto LA12;
							}
							break;
							}
							{
								if (!!(!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))))) goto LA65_;
								failedAssertImpl__stdZassertions_u79(TM__rF9caJawfOjYTjsgLVUSGFA_1480);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
LA65_: ;
							eqdestroy___ast_u4574(m_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							eqdestroy___ast_u3252(r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							eqdestroy___ast_u3252(unarySection_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							eqdestroy___ast_u3252(newPragmas_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							eqdestroy___ast_u3252(oldExpr_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							eqdestroy___ast_u3252(key_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
							eqdestroy___ast_u3252(pragmas_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
							{
								LA28_:;
							}
							{
								oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(m_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(r_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(unarySection_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(newPragmas_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(oldExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								eqdestroy___ast_u3252(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								*nimErr_ = oldNimErrFin28_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						}
LA26_: ;
						{
							LA13_:;
						}
						{
							oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(key_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
							*nimErr_ = oldNimErrFin13_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					} LA12: ;
					i_2 += ((NI)1);
				} LA11: ;
			}
		}
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(pragmas_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA6_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addToVarSection__sem_u15517)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
		if (!!(((*(*result_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115)))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = makeStmtList__ast_u7245((*result_p1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T5_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*result_p1), T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	add__ast_u3215((*result_p1), n_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addToVarSection__sem_u15525)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* identDefs_p3) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* o_1;
		if (!((*(*result_p1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA3_;
		o_1 = NIM_NIL;
		o_1 = copyNode__ast_u6736(orig_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(o_1, identDefs_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215((*result_p1), o_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(o_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		add__ast_u3215((*result_p1), identDefs_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeVarTupleSection__sem_u15883)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p4, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symkind_p5, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** origResult_p6) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tempNode_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lastDef_1;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD_;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__2;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw defkind_1;
	NIM_BOOL useTemp_1;
	NIM_BOOL T26_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	tempNode_1 = NIM_NIL;
	lastDef_1 = NIM_NIL;
	colontmpD_ = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__2 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		tyArray__YgExxhfgKcesA5EOUj1MOA T7_;
		if (!!(((*typ_p4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18)))) goto LA4_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__3 = typeToString__types_u54(typ_p4, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_[0] = colontmpD__3;
		colontmpD__4 = percent___sem_u15896(T7_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1489, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NI T11_;
		NI T12_;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T16_;
		NI T17_;
		NI T18_;
		T11_ = (NI)0;
		T11_ = len__ast_u3190(a_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_ = (NI)0;
		T12_ = len__ast_u5502(typ_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(((NI)(T11_ - ((NI)2)) == T12_))) goto LA13_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		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;
		T17_ = (NI)0;
		T17_ = len__ast_u3190(a_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD__5 = dollar___systemZdollars_u9((NI)(T17_ - ((NI)2)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_[0] = colontmpD__5;
		colontmpD__6 = typeToString__types_u54(typ_p4, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_[1] = colontmpD__6;
		T18_ = (NI)0;
		T18_ = len__ast_u5502(typ_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD__7 = dollar___systemZdollars_u9(T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T16_[2] = colontmpD__7;
		colontmpD__8 = percent___sem_u15901(T16_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1490, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA13_: ;
LA2_: ;
	tempNode_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		if (!(symkind_p5 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10))) goto LA23_;
		colontmpD_ = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102);
		defkind_1 = colontmpD_;
	}
	goto LA21_;
LA23_: ;
	{
		colontmpD__2 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35);
		defkind_1 = colontmpD__2;
	}
LA21_: ;
	T26_ = (NIM_BOOL)0;
	T26_ = !(((*def_p3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*def_p3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160)));
	if (T26_) goto LA27_;
	T26_ = (symkind_p5 == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10));
LA27_: ;
	useTemp_1 = T26_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* temp_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__9;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__10;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T33_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T34_;
		NI T35_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
		if (!useTemp_1) goto LA30_;
		temp_1 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		colontmpD__10 = NIM_NIL;
		colontmpD__9 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1492);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		colontmpD__10 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		T33_ = 0;
		temp_1 = newSym__ast_u4205(symkind_p5, colontmpD__9, (*c_p0).Sup.idgen, colontmpD__10, (*n_p1).info, T33_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		eqcopy___ast_u3381(&(*temp_1).typ, typ_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		(*temp_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63);
		lastDef_1 = newNodeI__ast_u4091(defkind_1, (*a_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		newSons__ast_u6108(lastDef_1, ((NI)3));
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		T34_ = NIM_NIL;
		T34_ = newSymNode__ast_u5168(temp_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T34_); goto LA32_;}
		eqsink___ast_u3261(&(*lastDef_1)._kind_6.sons.p->data[((NI)0)], T34_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		T35_ = (NI)0;
		T35_ = len__ast_u3190(a_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		eqcopy___ast_u3255(&(*lastDef_1)._kind_6.sons.p->data[((NI)1)], (*a_p2)._kind_6.sons.p->data[(NI)(T35_ - ((NI)2))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		eqcopy___ast_u3255(&(*lastDef_1)._kind_6.sons.p->data[((NI)2)], def_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		eqcopy___ast_u3255(&(*temp_1).ast, lastDef_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		addToVarSection__sem_u15525(c_p0, origResult_p6, n_p1, lastDef_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		T36_ = NIM_NIL;
		T36_ = newSymNode__ast_u5168(temp_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA32_;}
		eqsink___ast_u3261(&tempNode_1, T36_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		{
			LA32_:;
		}
		{
			oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(temp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin32_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA30_: ;
	result = newNodeI__ast_u4091((*n_p1).kind, (*a_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI j_1;
		NI colontmp_;
		NI T40_;
		NI i_1;
		j_1 = (NI)0;
		colontmp_ = (NI)0;
		T40_ = (NI)0;
		T40_ = len__ast_u3190(a_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmp_ = (NI)(T40_ - ((NI)2));
		i_1 = ((NI)0);
		{
			while (1) {
				if (!(i_1 < colontmp_)) goto LA42;
				j_1 = i_1;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* name_1;
					NI T65_;
					name_1 = NIM_NIL;
					eqcopy___ast_u3255(&name_1, (*a_p2)._kind_6.sons.p->data[j_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					{
						NIM_BOOL T47_;
						NIM_BOOL T48_;
						T47_ = (NIM_BOOL)0;
						T48_ = (NIM_BOOL)0;
						T48_ = useTemp_1;
						if (!(T48_)) goto LA49_;
						T48_ = ((*name_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA49_: ;
						T47_ = T48_;
						if (!(T47_)) goto LA50_;
						T47_ = ((*(*name_1)._kind_5.ident).id == ((NI)74));
LA50_: ;
						if (!T47_) goto LA51_;
						eqdestroy___ast_u3252(name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA43;
					}
LA51_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T57_;
						NI T58_;
						if (!((*name_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA55_;
						T57_ = NIM_NIL;
						T57_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36), (*name_1).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T57_); goto LA44_;}
						eqsink___ast_u3261(&lastDef_1, T57_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						T58_ = (NI)0;
						T58_ = len__ast_u3190(name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						newSons__ast_u6108(lastDef_1, T58_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						{
							NI k_1;
							NI colontmp__2;
							NI T60_;
							NI i_2;
							k_1 = (NI)0;
							colontmp__2 = (NI)0;
							T60_ = (NI)0;
							T60_ = len__ast_u3190(name_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
							colontmp__2 = (NI)(T60_ - ((NI)2));
							i_2 = ((NI)0);
							{
								while (1) {
									if (!(i_2 < colontmp__2)) goto LA62;
									k_1 = i_2;
									eqcopy___ast_u3255(&(*lastDef_1)._kind_6.sons.p->data[k_1], (*name_1)._kind_6.sons.p->data[k_1]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
									i_2 += ((NI)1);
								} LA62: ;
							}
						}
					}
					goto LA53_;
LA55_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
						T64_ = NIM_NIL;
						T64_ = newNodeI__ast_u4091(defkind_1, (*name_1).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto LA44_;}
						eqsink___ast_u3261(&lastDef_1, T64_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						newSons__ast_u6108(lastDef_1, ((NI)3));
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						eqsink___ast_u3261(&(*lastDef_1)._kind_6.sons.p->data[((NI)0)], name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						eqwasMoved___ast_u3249(&name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					}
LA53_: ;
					T65_ = (NI)0;
					T65_ = len__ast_u3190(lastDef_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					eqcopy___ast_u3255(&(*lastDef_1)._kind_6.sons.p->data[(NI)(T65_ - ((NI)2))], (*(*c_p0).graph).emptyNode);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					{
						NI T70_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T71_;
						if (!useTemp_1) goto LA68_;
						T70_ = (NI)0;
						T70_ = len__ast_u3190(lastDef_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						T71_ = NIM_NIL;
						T71_ = newTupleAccessRaw__lowerings_u105(tempNode_1, j_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T71_); goto LA44_;}
						eqsink___ast_u3261(&(*lastDef_1)._kind_6.sons.p->data[(NI)(T70_ - ((NI)1))], T71_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					}
					goto LA66_;
LA68_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_1;
						NI T77_;
						val_1 = NIM_NIL;
						eqcopy___ast_u3255(&val_1, (*def_p3)._kind_6.sons.p->data[j_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						{
							if (!((*val_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA75_;
							eqcopy___ast_u3255(&val_1, (*val_1)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						}
LA75_: ;
						T77_ = (NI)0;
						T77_ = len__ast_u3190(lastDef_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						eqsink___ast_u3261(&(*lastDef_1)._kind_6.sons.p->data[(NI)(T77_ - ((NI)1))], val_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					}
LA66_: ;
					add__ast_u3215(result, lastDef_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					{
						LA44_:;
					}
					{
						oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin44_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA43: ;
				i_1 += ((NI)1);
			} LA42: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(lastDef_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(tempNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fillPartialObject__sem_u15669)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2) {
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* y_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T7_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)2))) goto LA4_;
		x_1 = NIM_NIL;
		y_1 = NIM_NIL;
		obj_1 = NIM_NIL;
		T7_ = 0;
		x_1 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T7_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		y_1 = considerQuotedIdent__lookups_u31(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		obj_1 = skipTypes__ast_u5379((*x_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_493);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T10_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T14_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T15_;
			NI T16_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*obj_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17));
			if (!(T10_)) goto LA11_;
			T10_ = (((*obj_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)16)))&63U)))!=0);
LA11_: ;
			if (!T10_) goto LA12_;
			field_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			colontmpD_ = getIdent__idents_u206((*c_p0).cache, (*y_1).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T14_ = 0;
			field_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19), colontmpD_, (*c_p0).Sup.idgen, (*obj_1).sym, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).info, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T15_ = NIM_NIL;
			T15_ = skipIntLit__magicsys_u120(typ_p2, (*c_p0).Sup.idgen);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T15_); goto LA6_;}
			eqsink___ast_u3387(&(*field_1).typ, T15_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T16_ = (NI)0;
			T16_ = len__ast_u3190((*obj_1).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			(*field_1).position = T16_;
			colontmpD__2 = newSymNode__ast_u5168(field_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			add__ast_u3215((*obj_1).n, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T17_ = NIM_NIL;
			T17_ = makeDeref__sem_u15647(x_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA6_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T17_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T18_ = NIM_NIL;
			T18_ = newSymNode__ast_u5168(field_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto LA6_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T18_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqcopy___ast_u3381(&(*n_p1).typField, (*field_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqdestroy___idents_u155(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			eqdestroy___ast_u4574(field_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA8_;
LA12_: ;
		{
			NimStringV2 colontmpD__3;
			NimStringV2 colontmpD__4;
			NimStringV2 T21_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			T21_.len = 0; T21_.p = NIM_NIL;
			colontmpD__3 = typeToString__types_u54(obj_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			T21_ = rawNewString(colontmpD__3.len + 71);
appendString((&T21_), TM__rF9caJawfOjYTjsgLVUSGFA_1496);
appendString((&T21_), colontmpD__3);
			colontmpD__4 = T21_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1497, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				LA20_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA8_: ;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(obj_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1499, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1500, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscardUnderscore__sem_u15535)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p0) {
	NIM_BOOL result;
	{
		if (!((*(*v_p0).name).id == ((NI)74))) goto LA3_;
		(*v_p0).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37))) & 63);
		result = NIM_TRUE;
	}
	goto LA1_;
LA3_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	return result;
}
static N_INLINE(void, addInterfaceDecl__lookups_u3823)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	addInterfaceDeclAt__lookups_u3819(c_p0, (*c_p0).currentScope, sym_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, findShadowedVar__sem_u15443)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* scope_1;
		scope_1 = NIM_NIL;
		{
			tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* s_1;
			tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* current_1;
			s_1 = NIM_NIL;
			current_1 = NIM_NIL;
			current_1 = (*(*c_p0).currentScope).parent;
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* shadowed_1;
					if (!!((current_1 == ((tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww*) NIM_NIL)))) goto LA5;
					shadowed_1 = NIM_NIL;
					s_1 = current_1;
					{
						if (!(s_1 == (*c_p0).topLevelScope)) goto LA9_;
						eqdestroy___ast_u4574(shadowed_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						goto LA3;
					}
LA9_: ;
					eqcopy___lookups_u77(&scope_1, s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					shadowed_1 = strTableGet__astalgo_u2726((*scope_1).symbols, (*v_p1).name);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NIM_BOOL T13_;
						T13_ = (NIM_BOOL)0;
						T13_ = !((shadowed_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
						if (!(T13_)) goto LA14_;
						T13_ = ((*shadowed_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*shadowed_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*shadowed_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*shadowed_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*shadowed_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
LA14_: ;
						if (!T13_) goto LA15_;
						result = shadowed_1;
						eqwasMoved___ast_u4571(&shadowed_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						eqdestroy___ast_u4574(shadowed_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						eqdestroy___lookups_u74(scope_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA15_: ;
					current_1 = (*current_1).parent;
					{
						LA6_:;
					}
					{
						oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(shadowed_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						*nimErr_ = oldNimErrFin6_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				} LA5: ;
			}
		} LA3: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___lookups_u74(scope_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkDefineType__sem_u15685)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2) {
	tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD_;
	tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__2;
	tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__3;
	tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__4;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
	tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg typeKinds_1;
	tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg skipped_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)colontmpD_, sizeof(tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg));
	nimZeroMem((void*)colontmpD__2, sizeof(tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg));
	nimZeroMem((void*)colontmpD__3, sizeof(tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg));
	nimZeroMem((void*)colontmpD__4, sizeof(tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg));
	colontmpD__5 = NIM_NIL;
	nimZeroMem((void*)typeKinds_1, sizeof(tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg));
	switch ((*v_p1).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)265):
	{
		nimCopyMem((void*)colontmpD_, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_1513, 9);
		nimCopyMem((void*)typeKinds_1, (NIM_CONST void*)colontmpD_, 9);
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)264):
	{
		nimCopyMem((void*)colontmpD__2, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_1514, 9);
		nimCopyMem((void*)typeKinds_1, (NIM_CONST void*)colontmpD__2, 9);
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)266):
	{
		nimCopyMem((void*)colontmpD__3, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_1515, 9);
		nimCopyMem((void*)typeKinds_1, (NIM_CONST void*)colontmpD__3, 9);
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)267):
	{
		nimCopyMem((void*)colontmpD__4, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_1516, 9);
		nimCopyMem((void*)typeKinds_1, (NIM_CONST void*)colontmpD__4, 9);
	}
	break;
	default:
	{
		raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_1517);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	nimZeroMem((void*)skipped_1, sizeof(tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg));
	nimCopyMem((void*)skipped_1, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_1294, 9);
	{
		if (!((*v_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)267))) goto LA9_;
		skipped_1[(NU)((((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13)))>>3] &= ~(1U<<((((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13))&7U));
	}
LA9_: ;
	{
		NimStringV2 name_1;
		NimStringV2 colontmpD__6;
		NimStringV2 colontmpD__7;
		NimStringV2 T16_;
		NimStringV2 T22_;
		colontmpD__5 = skipTypes__ast_u5379(t_p2, skipped_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(((typeKinds_1[(NU)(((*colontmpD__5).kind))>>3] &(1U<<((NU)(((*colontmpD__5).kind))&7U)))!=0))) goto LA13_;
		name_1.len = 0; name_1.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		T16_.len = 0; T16_.p = NIM_NIL;
		switch ((*v_p1).magic) {
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)265):
		{
			name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1519;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)264):
		{
			name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1521;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)266):
		{
			name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1523;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)267):
		{
			name_1 = TM__rF9caJawfOjYTjsgLVUSGFA_1525;
		}
		break;
		default:
		{
			raiseAssert__stdZassertions_u15(TM__rF9caJawfOjYTjsgLVUSGFA_1526);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		}
		break;
		}
		T22_.len = 0; T22_.p = NIM_NIL;
		colontmpD__6 = typeToString__types_u54(t_p2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T22_ = rawNewString((*(*v_p1).name).s.len + name_1.len + colontmpD__6.len + 48);
appendString((&T22_), TM__rF9caJawfOjYTjsgLVUSGFA_1528);
appendString((&T22_), (*(*v_p1).name).s);
appendString((&T22_), TM__rF9caJawfOjYTjsgLVUSGFA_1530);
appendString((&T22_), name_1);
appendString((&T22_), TM__rF9caJawfOjYTjsgLVUSGFA_1532);
appendString((&T22_), colontmpD__6);
		colontmpD__7 = T22_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*v_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1533, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(colontmpD__6);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA13_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setVarType__sem_u15704)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T5_;
		NIM_BOOL T6_;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T10_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*v_p1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T5_ = 0;
		T6_ = (NIM_BOOL)0;
		T6_ = sameTypeOrNil__types_u1837((*v_p1).typ, typ_p2, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = !(T6_);
LA4_: ;
		if (!T3_) goto LA7_;
		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;
		T10_.len = 0; T10_.p = NIM_NIL;
		colontmpD_ = typeToString__types_u54((*v_p1).typ, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD__2 = typeToString__types_u54(typ_p2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T10_ = rawNewString((*(*v_p1).name).s.len + colontmpD_.len + colontmpD__2.len + 82);
appendString((&T10_), TM__rF9caJawfOjYTjsgLVUSGFA_1507);
appendString((&T10_), (*(*v_p1).name).s);
appendString((&T10_), TM__rF9caJawfOjYTjsgLVUSGFA_1509);
appendString((&T10_), colontmpD_);
appendString((&T10_), TM__rF9caJawfOjYTjsgLVUSGFA_1511);
appendString((&T10_), colontmpD__2);
		colontmpD__3 = T10_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*v_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1512, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			LA9_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA7_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*v_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10));
		if (!(T15_)) goto LA16_;
		T15_ = ((*v_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)267) || (*v_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)264) || (*v_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)265) || (*v_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)266));
LA16_: ;
		if (!T15_) goto LA17_;
		checkDefineType__sem_u15685(c_p0, v_p1, typ_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA17_: ;
	eqcopy___ast_u3381(&(*v_p1).typ, typ_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, defaultConstructionError__sem_u148)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* objType_1;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	objType_1 = NIM_NIL;
	eqcopy___ast_u3381(&objType_1, t_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T4_;
			if (!!(((*objType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*objType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13)))) goto LA3;
			T4_ = NIM_NIL;
			T4_ = last__ast_u5278(objType_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T4_); goto LA1_;}
			eqsink___ast_u3387(&objType_1, T4_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	}
	{
		tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ constrCtx_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA initResult_1;
		if (!((*objType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA7_;
		nimZeroMem((void*)(&constrCtx_1), sizeof(tyObject_ObjConstrContext__9aJbRZfgtMt0sVyIrpxcF9aQ));
		colontmpD_ = NIM_NIL;
		nimZeroMem((void*)(&initResult_1), sizeof(tyTuple__9a7FtHC0ylCJwz9bpSmsAyJA));
		colontmpD_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38), info_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		initConstrContext__sem_u28048(objType_1, colontmpD_, (&constrCtx_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		initResult_1 = semConstructTypeAux__sem_u27980(c_p0, (&constrCtx_1), 16777216);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			NI T12_;
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			NimStringV2 colontmpD__4;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T16_;
			T12_ = constrCtx_1.missingFields.len;
			if (!(((NI)0) < T12_)) goto LA13_;
			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__2 = typeToString__types_u54(t_p1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			T16_[0] = colontmpD__2;
			colontmpD__3 = listSymbolNames__astalgo_u3461(((constrCtx_1.missingFields).p) ? (constrCtx_1.missingFields.p->data) : NIM_NIL, constrCtx_1.missingFields.len);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			T16_[1] = colontmpD__3;
			colontmpD__4 = percent___sem_u28133(T16_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, info_p2, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1535, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				LA15_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___system_u2691(colontmpD__3);
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		}
LA13_: ;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___sem_u27504(initResult_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___sem_u28059(constrCtx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA5_;
LA7_: ;
	{
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		if (!((*objType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13))) goto LA22_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__5 = typeToString__types_u54(t_p1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		colontmpD__6 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1537, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, info_p2, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1538, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			LA24_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA5_;
LA22_: ;
	{
	}
LA5_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(objType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkNilable__sem_u15492)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_p1) {
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		T3_ = (NIM_BOOL)0;
		T3_ = ((72 & (*v_p1).flags) == 8);
		if (!(T3_)) goto LA4_;
		T3_ = requiresInit__typeallowed_u563((*v_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
		if (!T3_) goto LA5_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		{
			colontmpD_ = astdef__ast_u4596(v_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			if (!(colontmpD_ == 0)) goto LA10_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*v_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), (*(*v_p1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1539, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA10_: ;
		{
			NIM_BOOL T13_;
			NIM_BOOL T14_;
			T13_ = (NIM_BOOL)0;
			T14_ = (NIM_BOOL)0;
			T14_ = (((*(*v_p1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0);
			if (!(T14_)) goto LA15_;
			colontmpD__2 = astdef__ast_u4596(v_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			T14_ = !(((*colontmpD__2).typField == 0));
LA15_: ;
			T13_ = T14_;
			if (!(T13_)) goto LA16_;
			colontmpD__3 = astdef__ast_u4596(v_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			T13_ = !((((*(*colontmpD__3).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0));
LA16_: ;
			if (!T13_) goto LA17_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*v_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)47), (*(*v_p1).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1540, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA17_: ;
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, usesLocalVar__sem_u15833)(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)3):
	{
		NIM_BOOL T2_;
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T7_;
		NIM_BOOL T11_;
		NIM_BOOL T12_;
		T2_ = (NIM_BOOL)0;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T7_ = 0;
		T6_ = !(((2056 & (*(*n_p0)._kind_4.sym).flags) == T7_));
		if (T6_) goto LA8_;
		T6_ = ((*(*(*n_p0)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA8_: ;
		T5_ = T6_;
		if (T5_) goto LA9_;
		T5_ = (((*(*n_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0);
LA9_: ;
		T3_ = !(T5_);
LA4_: ;
		T2_ = T3_;
		if (T2_) goto LA10_;
		T11_ = (NIM_BOOL)0;
		T12_ = (NIM_BOOL)0;
		T12_ = ((*(*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)15));
		if (!(T12_)) goto LA13_;
		T12_ = !((((*(*n_p0)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA13_: ;
		T11_ = T12_;
		if (!(T11_)) goto LA14_;
		T11_ = ((*(*(*n_p0)._kind_4.sym).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA14_: ;
		T2_ = T11_;
LA10_: ;
		result = T2_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		result = NIM_FALSE;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA18;
					i_1 = i_2;
					{
						NIM_BOOL T21_;
						T21_ = (NIM_BOOL)0;
						T21_ = usesLocalVar__sem_u15833((*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T21_) goto LA22_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA22_: ;
					i_2 += ((NI)1);
				} LA18: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	{
		result = NIM_FALSE;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA27;
					i_3 = i_4;
					{
						NIM_BOOL T30_;
						T30_ = (NIM_BOOL)0;
						T30_ = usesLocalVar__sem_u15833((*n_p0)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T30_) goto LA31_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA31_: ;
					i_4 += ((NI)1);
				} LA27: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	{
		result = usesLocalVar__sem_u15833((*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	{
		result = usesLocalVar__sem_u15833((*n_p0)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, globalVarInitCheck__sem_u15878)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = usesLocalVar__sem_u15833(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1547, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1548, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semVarOrLet__sem_u15954)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symkind_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformed_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin125_;
NIM_BOOL oldNimErrFin101_;
NIM_BOOL oldNimErrFin160_;
NIM_BOOL oldNimErrFin158_;
NIM_BOOL oldNimErrFin237_;
NIM_BOOL oldNimErrFin277_;
NIM_BOOL oldNimErrFin314_;
NIM_BOOL oldNimErrFin183_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	b_1 = NIM_NIL;
	transformed_1 = NIM_NIL;
	n_2 = NIM_NIL;
	result = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	transformed_1 = copyNode__ast_u6736(n_p1);
	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)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
				if (!(i_2 < colontmp_)) goto LA4;
				a_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					NIM_BOOL T8_;
					NIM_BOOL T9_;
					NI T11_;
					NI T13_;
					T8_ = (NIM_BOOL)0;
					T9_ = (NIM_BOOL)0;
					T9_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35));
					if (!(T9_)) goto LA10_;
					T11_ = (NI)0;
					T11_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T9_ = (((NI)3) < T11_);
LA10_: ;
					T8_ = T9_;
					if (!(T8_)) goto LA12_;
					T13_ = (NI)0;
					T13_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = !(((*(*a_1)._kind_6.sons.p->data[(NI)(T13_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA12_: ;
					if (!T8_) goto LA14_;
					{
						NI j_1;
						NI colontmp__2;
						NI T17_;
						NI i_3;
						j_1 = (NI)0;
						colontmp__2 = (NI)0;
						T17_ = (NI)0;
						T17_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						colontmp__2 = (NI)(T17_ - ((NI)2));
						i_3 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_2;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
								NI T21_;
								NI T22_;
								if (!(i_3 < colontmp__2)) goto LA19;
								b_2 = NIM_NIL;
								colontmpD_ = NIM_NIL;
								j_1 = i_3;
								b_2 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*a_1).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								add__ast_u3215(b_2, (*a_1)._kind_6.sons.p->data[j_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								T21_ = (NI)0;
								T21_ = len__ast_u3190(a_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								add__ast_u3215(b_2, (*a_1)._kind_6.sons.p->data[(NI)(T21_ - ((NI)2))]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								T22_ = (NI)0;
								T22_ = len__ast_u3190(a_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								colontmpD_ = copyTree__ast_u6891((*a_1)._kind_6.sons.p->data[(NI)(T22_ - ((NI)1))]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								add__ast_u3215(b_2, colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								add__ast_u3215(transformed_1, b_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								i_3 += ((NI)1);
								{
									LA20_:;
								}
								{
									oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
									eqdestroy___ast_u3252(b_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
									*nimErr_ = oldNimErrFin20_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							} LA19: ;
						}
					}
				}
				goto LA6_;
LA14_: ;
				{
					add__ast_u3215(transformed_1, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
LA6_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA4: ;
		}
	}
	n_2 = transformed_1;
	eqwasMoved___ast_u3249(&transformed_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_4;
		NI colontmp__3;
		NI i_5;
		i_4 = (NI)0;
		colontmp__3 = (NI)0;
		colontmp__3 = len__ast_u3190(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_5 = ((NI)0);
		{
			while (1) {
				if (!(i_5 < colontmp__3)) goto LA30;
				i_4 = i_5;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tup_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
					NIM_BOOL hasUserSpecifiedType_1;
					tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw typFlags_1;
					a_2 = NIM_NIL;
					typ_1 = NIM_NIL;
					def_1 = NIM_NIL;
					tup_1 = NIM_NIL;
					eqcopy___ast_u3255(&a_2, (*n_2)._kind_6.sons.p->data[i_4]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					{
						if (!((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12))) goto LA35_;
						suggestStmt__sigmatch_u7748(c_p0, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					}
LA35_: ;
					{
						if (!((*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA39_;
						eqdestroy___ast_u3378(tup_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA31;
					}
LA39_: ;
					{
						if (!!(((*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35) || (*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36)))) goto LA43_;
						illFormedAst__semdata_u4665(a_2, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					}
LA43_: ;
					checkMinSonsLen__semdata_u4675(a_2, ((NI)3), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					T45_ = NIM_NIL;
					T45_ = semVarMacroPragma__sem_u15764(c_p0, a_2, n_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto LA32_;}
					eqsink___ast_u3261(&b_1, T45_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					{
						if (!!((b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA48_;
						addToVarSection__sem_u15517(c_p0, &result, b_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						eqdestroy___ast_u3378(tup_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA31;
					}
LA48_: ;
					hasUserSpecifiedType_1 = NIM_FALSE;
					typ_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
					{
						NI T52_;
						NI T55_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T56_;
						T52_ = (NI)0;
						T52_ = len__ast_u3190(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						if (!!(((*(*a_2)._kind_6.sons.p->data[(NI)(T52_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA53_;
						T55_ = (NI)0;
						T55_ = len__ast_u3190(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						T56_ = NIM_NIL;
						T56_ = semTypeNode__sem_u89(c_p0, (*a_2)._kind_6.sons.p->data[(NI)(T55_ - ((NI)2))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T56_); goto LA32_;}
						eqsink___ast_u3387(&typ_1, T56_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						hasUserSpecifiedType_1 = NIM_TRUE;
					}
LA53_: ;
					typFlags_1 = 0;
					eqcopy___ast_u3255(&def_1, (*(*c_p0).graph).emptyNode);
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					{
						NIM_BOOL T59_;
						NIM_BOOL T60_;
						NIM_BOOL T61_;
						NI T65_;
						NI T68_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T69_;
						T59_ = (NIM_BOOL)0;
						T60_ = (NIM_BOOL)0;
						T61_ = (NIM_BOOL)0;
						T61_ = !((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
						if (!(T61_)) goto LA62_;
						T61_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20));
LA62_: ;
						T60_ = T61_;
						if (!(T60_)) goto LA63_;
						T60_ = isDefined__options_u959((*(*c_p0).graph).config, TM__rF9caJawfOjYTjsgLVUSGFA_1481);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
LA63_: ;
						T59_ = T60_;
						if (!(T59_)) goto LA64_;
						T65_ = (NI)0;
						T65_ = len__ast_u3190(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						T59_ = ((*(*a_2)._kind_6.sons.p->data[(NI)(T65_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA64_: ;
						if (!T59_) goto LA66_;
						T68_ = (NI)0;
						T68_ = len__ast_u3190(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						T69_ = NIM_NIL;
						T69_ = firstRange__sem_u6658((*(*c_p0).graph).config, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T69_); goto LA32_;}
						eqsink___ast_u3261(&(*a_2)._kind_6.sons.p->data[(NI)(T68_ - ((NI)1))], T69_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					}
LA66_: ;
					{
						NI T72_;
						NI T75_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T76_;
						T72_ = (NI)0;
						T72_ = len__ast_u3190(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						if (!!(((*(*a_2)._kind_6.sons.p->data[(NI)(T72_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA73_;
						T75_ = (NI)0;
						T75_ = len__ast_u3190(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						T76_ = NIM_NIL;
						T76_ = semExprWithType__sem_u63(c_p0, (*a_2)._kind_6.sons.p->data[(NI)(T75_ - ((NI)1))], 4194304, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T76_); goto LA32_;}
						eqsink___ast_u3261(&def_1, T76_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						{
							NIM_BOOL T79_;
							T79_ = (NIM_BOOL)0;
							T79_ = ((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
							if (!(T79_)) goto LA80_;
							T79_ = ((*(*def_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*(*def_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA80_: ;
							if (!T79_) goto LA81_;
							typFlags_1 |= ((NU16)1)<<(((((tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw)6))) & 15);
						}
						goto LA77_;
LA81_: ;
						{
							NIM_BOOL T84_;
							T84_ = (NIM_BOOL)0;
							T84_ = ((*(*def_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
							if (!(T84_)) goto LA85_;
							T84_ = !(((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
LA85_: ;
							if (!T84_) goto LA86_;
							typFlags_1 |= ((NU16)1)<<(((((tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw)7))) & 15);
						}
						goto LA77_;
LA86_: ;
LA77_: ;
						{
							if (!!((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA90_;
							{
								NIM_BOOL T94_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T97_;
								T94_ = (NIM_BOOL)0;
								T94_ = isMetaType__ast_u4607(typ_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
								if (!T94_) goto LA95_;
								T97_ = NIM_NIL;
								T97_ = inferWithMetatype__sem_u250(c_p0, typ_1, def_1, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T97_); goto LA32_;}
								eqsink___ast_u3261(&def_1, T97_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
								eqcopy___ast_u3381(&typ_1, (*def_1).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							}
							goto LA92_;
LA95_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T99_;
								T99_ = NIM_NIL;
								T99_ = fitNodeConsiderViewType__sem_u235(c_p0, typ_1, def_1, (*def_1).info);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T99_); goto LA32_;}
								eqsink___ast_u3261(&def_1, T99_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							}
LA92_: ;
						}
						goto LA88_;
LA90_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T102_;
							colontmpD__2 = NIM_NIL;
							colontmpD__2 = skipTypes__ast_u5379((*def_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1482);
							if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
							T102_ = NIM_NIL;
							T102_ = skipIntLit__magicsys_u120(colontmpD__2, (*c_p0).Sup.idgen);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T102_); goto LA101_;}
							eqsink___ast_u3387(&typ_1, T102_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
							{
								NIM_BOOL T105_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T109_;
								T105_ = (NIM_BOOL)0;
								T105_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52) || (*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53));
								if (!(T105_)) goto LA106_;
								T105_ = (((*typ_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)10)))&63U)))!=0);
LA106_: ;
								if (!T105_) goto LA107_;
								T109_ = NIM_NIL;
								T109_ = last__ast_u5278(typ_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T109_); goto LA101_;}
								eqsink___ast_u3387(&typ_1, T109_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
							}
LA107_: ;
							{
								NIM_BOOL T112_;
								NimStringV2 colontmpD__3;
								NimStringV2 colontmpD__4;
								T112_ = (NIM_BOOL)0;
								T112_ = hasEmpty__sem_u14915(typ_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
								if (!T112_) goto LA113_;
								colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
								colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
								colontmpD__3 = toHumanStr__ast_u7604((*typ_1).kind);
								if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
								colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1484, colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*def_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1485, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
								{
									LA115_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__4);
									eqdestroy___system_u2691(colontmpD__3);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
							}
							goto LA110_;
LA113_: ;
							{
								NIM_BOOL T119_;
								NIM_BOOL T120_;
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_1;
								NimStringV2 err_1;
								NimStringV2 T126_;
								T119_ = (NIM_BOOL)0;
								T120_ = (NIM_BOOL)0;
								T120_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
								if (!(T120_)) goto LA121_;
								T120_ = ((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA121_: ;
								T119_ = T120_;
								if (!(T119_)) goto LA122_;
								T119_ = isGenericRoutine__ast_u7081((*(*def_1)._kind_4.sym).ast);
								if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
LA122_: ;
								if (!T119_) goto LA123_;
								owner_1 = NIM_NIL;
								err_1.len = 0; err_1.p = NIM_NIL;
								owner_1 = owner__ast_u6246(typ_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
								T126_.len = 0; T126_.p = NIM_NIL;
								{
									NIM_BOOL T129_;
									NimStringV2 colontmpD__5;
									tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T134_;
									T129_ = (NIM_BOOL)0;
									T129_ = !((owner_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
									if (!(T129_)) goto LA130_;
									T129_ = ((*owner_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*owner_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA130_: ;
									if (!T129_) goto LA131_;
									colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
									T134_ = 0;
									colontmpD__5 = renderTree__renderer_u59(def_1, T134_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA133_;
									err_1 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1486, colontmpD__5);
									if (NIM_UNLIKELY(*nimErr_)) goto LA133_;
									{
										LA133_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__5);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
								}
								goto LA127_;
LA131_: ;
								{
									NimStringV2 colontmpD__6;
									tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T139_;
									colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
									T139_ = 0;
									colontmpD__6 = renderTree__renderer_u59(def_1, T139_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
									err_1 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1487, colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
									{
										LA138_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__6);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
								}
LA127_: ;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*def_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), err_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1488, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
								{
									LA125_:;
								}
								{
									oldNimErrFin125_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___system_u2691(err_1);
									eqdestroy___ast_u4574(owner_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
									*nimErr_ = oldNimErrFin125_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
							}
							goto LA110_;
LA123_: ;
LA110_: ;
							{
								LA101_:;
							}
							{
								oldNimErrFin101_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
								*nimErr_ = oldNimErrFin101_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						}
LA88_: ;
					}
LA73_: ;
					{
						if (!(typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA148_;
						eqdestroy___ast_u3378(tup_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA31;
					}
LA148_: ;
					{
						if (!!(((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL)))) goto LA152_;
						typFlags_1 |= ((NU16)1)<<(((((tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw)3))) & 15);
					}
LA152_: ;
					typeAllowedCheck__sem_u478(c_p0, (*a_2).info, typ_1, symkind_p2, typFlags_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					tup_1 = skipTypes__ast_u5379(typ_1, TM__rF9caJawfOjYTjsgLVUSGFA_326);
					if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assignments_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resSection_1;
						if (!((*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA156_;
						assignments_1 = NIM_NIL;
						resSection_1 = NIM_NIL;
						assignments_1 = makeVarTupleSection__sem_u15883(c_p0, n_2, a_2, def_1, tup_1, symkind_p2, &result);
						if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
						resSection_1 = semVarOrLet__sem_u15954(c_p0, assignments_1, symkind_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resDef_1;
							resDef_1 = NIM_NIL;
							resDef_1 = 0;
							{
								NI i_6;
								NI colontmp__4;
								NI i_7;
								i_6 = (NI)0;
								colontmp__4 = (NI)0;
								colontmp__4 = safeLen__ast_u3197(resSection_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
								i_7 = ((NI)0);
								{
									while (1) {
										if (!(i_7 < colontmp__4)) goto LA163;
										i_6 = i_7;
										eqcopy___ast_u3255(&resDef_1, (*resSection_1)._kind_6.sons.p->data[i_6]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
										addToVarSection__sem_u15525(c_p0, &result, n_2, resDef_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
										i_7 += ((NI)1);
									} LA163: ;
								}
							}
							{
								LA160_:;
							}
							{
								oldNimErrFin160_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(resDef_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
								*nimErr_ = oldNimErrFin160_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
						}
						{
							LA158_:;
						}
						{
							oldNimErrFin158_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(resSection_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							eqdestroy___ast_u3252(assignments_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							*nimErr_ = oldNimErrFin158_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
					}
					goto LA154_;
LA156_: ;
					{
						{
							NIM_BOOL T171_;
							NIM_BOOL T172_;
							NI T175_;
							T171_ = (NIM_BOOL)0;
							T172_ = (NIM_BOOL)0;
							T172_ = ((*tup_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
							if (!(T172_)) goto LA173_;
							T172_ = ((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160));
LA173_: ;
							T171_ = T172_;
							if (!(T171_)) goto LA174_;
							T175_ = (NI)0;
							T175_ = len__ast_u3190(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							T171_ = (((NI)3) < T175_);
LA174_: ;
							if (!T171_) goto LA176_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)44), TM__rF9caJawfOjYTjsgLVUSGFA_1493, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1494, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
						}
LA176_: ;
						{
							NI j_2;
							NI colontmp__5;
							NI T179_;
							NI i_8;
							j_2 = (NI)0;
							colontmp__5 = (NI)0;
							T179_ = (NI)0;
							T179_ = len__ast_u3190(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
							colontmp__5 = (NI)(T179_ - ((NI)2));
							i_8 = ((NI)0);
							{
								while (1) {
									if (!(i_8 < colontmp__5)) goto LA181;
									j_2 = i_8;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__7;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T258_;
										NI T272_;
										tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T325_;
										v_1 = NIM_NIL;
										colontmpD__7 = NIM_NIL;
										colontmpD__8 = NIM_NIL;
										{
											if (!((*(*a_2)._kind_6.sons.p->data[j_2]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA186_;
											fillPartialObject__sem_u15669(c_p0, (*a_2)._kind_6.sons.p->data[j_2], typ_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											addToVarSection__sem_u15525(c_p0, &result, n_2, a_2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											eqdestroy___ast_u3252(colontmpD__8);
											if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
											eqdestroy___ast_u4574(colontmpD__7);
											if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
											eqdestroy___ast_u4574(v_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
											goto LA182;
										}
LA186_: ;
										v_1 = semIdentDef__sem_u15470(c_p0, (*a_2)._kind_6.sons.p->data[j_2], symkind_p2, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										{
											NIM_BOOL T190_;
											NIM_BOOL T191_;
											NIM_BOOL T192_;
											NIM_BOOL T193_;
											NIM_BOOL T194_;
											NIM_BOOL T195_;
											NIM_BOOL T196_;
											NIM_BOOL T197_;
											NIM_BOOL T198_;
											NIM_BOOL T199_;
											NIM_BOOL T200_;
											tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T202_;
											NIM_BOOL T211_;
											tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T214_;
											T190_ = (NIM_BOOL)0;
											T191_ = (NIM_BOOL)0;
											T192_ = (NIM_BOOL)0;
											T193_ = (NIM_BOOL)0;
											T194_ = (NIM_BOOL)0;
											T195_ = (NIM_BOOL)0;
											T196_ = (NIM_BOOL)0;
											T197_ = (NIM_BOOL)0;
											T198_ = (NIM_BOOL)0;
											T199_ = (NIM_BOOL)0;
											T200_ = (NIM_BOOL)0;
											T200_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
											if (!(T200_)) goto LA201_;
											T202_ = 0;
											T200_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T202_));
LA201_: ;
											T199_ = T200_;
											if (!(T199_)) goto LA203_;
											T199_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA203_: ;
											T198_ = T199_;
											if (!(T198_)) goto LA204_;
											colontmpD__7 = getModule__modulegraphs_u14809((*c_p0).graph, (*v_1).info.fileIndex);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											T198_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__7);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
LA204_: ;
											T197_ = T198_;
											if (!(T197_)) goto LA205_;
											T197_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA205_: ;
											T196_ = T197_;
											if (!(T196_)) goto LA206_;
											T196_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA206_: ;
											T195_ = T196_;
											if (!(T195_)) goto LA207_;
											T195_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA207_: ;
											T194_ = T195_;
											if (!(T194_)) goto LA208_;
											T194_ = (((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA208_: ;
											T193_ = T194_;
											if (!(T193_)) goto LA209_;
											T193_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA209_: ;
											T192_ = T193_;
											if (!(T192_)) goto LA210_;
											T211_ = (NIM_BOOL)0;
											T211_ = ((*v_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
											if (T211_) goto LA212_;
											T211_ = !(((*(*v_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA212_: ;
											T192_ = T211_;
LA210_: ;
											T191_ = T192_;
											if (!(T191_)) goto LA213_;
											T214_ = 0;
											T191_ = ((192 & (*v_1).flags) == T214_);
LA213_: ;
											T190_ = T191_;
											if (!(T190_)) goto LA215_;
											T190_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA215_: ;
											if (!T190_) goto LA216_;
											nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*v_1).info, v_1, (*v_1).kind);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA216_: ;
										{
											if (!!((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA220_;
											{
												NIM_BOOL T224_;
												T224_ = (NIM_BOOL)0;
												T224_ = isDiscardUnderscore__sem_u15535(v_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
												if (!!(T224_)) goto LA225_;
												addInterfaceDecl__lookups_u3823(c_p0, v_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											}
LA225_: ;
										}
										goto LA218_;
LA220_: ;
										{
											tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
											colontmpD__9 = NIM_NIL;
											{
												colontmpD__9 = owner__ast_u6254(v_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
												if (!(colontmpD__9 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA230_;
												setOwner__icZic_u12851(v_1, (*(*c_p0).p).owner);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											}
LA230_: ;
											eqdestroy___ast_u4574(colontmpD__9);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA218_: ;
										{
											if (!(((NI)0) < (*c_p0).inUnrolledContext)) goto LA234_;
											(*v_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)25))) & 63);
										}
										goto LA232_;
LA234_: ;
										{
											tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* shadowed_1;
											shadowed_1 = NIM_NIL;
											shadowed_1 = findShadowedVar__sem_u15443(c_p0, v_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA237_;
											{
												if (!!((shadowed_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA240_;
												(*shadowed_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)25))) & 63);
												{
													NIM_BOOL T244_;
													T244_ = (NIM_BOOL)0;
													T244_ = ((*shadowed_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
													if (!(T244_)) goto LA245_;
													T244_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0));
LA245_: ;
													if (!T244_) goto LA246_;
													liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)59), TM__rF9caJawfOjYTjsgLVUSGFA_1501, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1502, NIM_FALSE, NIM_FALSE);
													if (NIM_UNLIKELY(*nimErr_)) goto LA237_;
												}
LA246_: ;
											}
LA240_: ;
											{
												LA237_:;
											}
											{
												oldNimErrFin237_ = *nimErr_; *nimErr_ = NIM_FALSE;
												eqdestroy___ast_u4574(shadowed_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
												*nimErr_ = oldNimErrFin237_;
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA232_: ;
										{
											if (!!(((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA252_;
											{
												if (!(((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)26)))&63U)))!=0)) goto LA256_;
												liMessage__msgs_u1227((*(*c_p0).graph).config, (*def_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1504, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1505, NIM_FALSE, NIM_FALSE);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											}
LA256_: ;
										}
LA252_: ;
										setVarType__sem_u15704(c_p0, v_1, typ_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										T258_ = NIM_NIL;
										T258_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*a_2).info);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T258_); goto LA183_;}
										eqsink___ast_u3261(&b_1, T258_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										{
											NIM_BOOL T261_;
											NimStringV2 colontmpD__10;
											T261_ = (NIM_BOOL)0;
											T261_ = importantComments__options_u3569((*(*c_p0).graph).config);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											if (!T261_) goto LA262_;
											colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
											colontmpD__10 = comment__ast_u836(a_2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA264_;
											commenteq___ast_u1334(b_1, colontmpD__10);
											if (NIM_UNLIKELY(*nimErr_)) goto LA264_;
											{
												LA264_:;
											}
											{
												eqdestroy___system_u2691(colontmpD__10);
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA262_: ;
										{
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
											if (!((*(*a_2)._kind_6.sons.p->data[j_2]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA269_;
											p_1 = NIM_NIL;
											colontmpD__11 = NIM_NIL;
											p_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43), (*a_2).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											colontmpD__11 = newSymNode__ast_u5168(v_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											add__ast_u3215(p_1, colontmpD__11);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											add__ast_u3215(p_1, (*(*a_2)._kind_6.sons.p->data[j_2])._kind_6.sons.p->data[((NI)1)]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											add__ast_u3215(b_1, p_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											eqdestroy___ast_u3252(colontmpD__11);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											eqdestroy___ast_u3252(p_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
										goto LA267_;
LA269_: ;
										{
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
											colontmpD__12 = NIM_NIL;
											colontmpD__12 = newSymNode__ast_u5168(v_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											add__ast_u3215(b_1, colontmpD__12);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
											eqdestroy___ast_u3252(colontmpD__12);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA267_: ;
										T272_ = (NI)0;
										T272_ = len__ast_u3190(a_2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										add__ast_u3215(b_1, (*a_2)._kind_6.sons.p->data[(NI)(T272_ - ((NI)2))]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										colontmpD__8 = copyTree__ast_u6891(def_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										add__ast_u3215(b_1, colontmpD__8);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										addToVarSection__sem_u15525(c_p0, &result, n_2, b_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										eqsink___ast_u3261(&(*v_1).ast, b_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										eqwasMoved___ast_u3249(&b_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										{
											tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actualType_1;
											if (!((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA275_;
											actualType_1 = NIM_NIL;
											actualType_1 = skipTypes__ast_u5379((*v_1).typ, TM__rF9caJawfOjYTjsgLVUSGFA_1534);
											if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
											{
												NIM_BOOL T280_;
												T280_ = (NIM_BOOL)0;
												T280_ = ((*actualType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*actualType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13));
												if (!(T280_)) goto LA281_;
												T280_ = requiresInit__typeallowed_u563(actualType_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
LA281_: ;
												if (!T280_) goto LA282_;
												defaultConstructionError__sem_u148(c_p0, (*v_1).typ, (*v_1).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
											}
											goto LA278_;
LA282_: ;
											{
												checkNilable__sem_u15492(c_p0, v_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
											}
LA278_: ;
											{
												NIM_BOOL T287_;
												NIM_BOOL T288_;
												NIM_BOOL T291_;
												NIM_BOOL T293_;
												NIM_BOOL T294_;
												NIM_BOOL T296_;
												NIM_BOOL T297_;
												tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T298_;
												NIM_BOOL T302_;
												NIM_BOOL T303_;
												T287_ = (NIM_BOOL)0;
												T288_ = (NIM_BOOL)0;
												T288_ = ((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
												if (!(T288_)) goto LA289_;
												T288_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0));
LA289_: ;
												T287_ = T288_;
												if (!(T287_)) goto LA290_;
												T291_ = (NIM_BOOL)0;
												T291_ = !((((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)18)))&31U)))!=0));
												if (T291_) goto LA292_;
												T293_ = (NIM_BOOL)0;
												T294_ = (NIM_BOOL)0;
												T294_ = ((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
												if (!(T294_)) goto LA295_;
												T296_ = (NIM_BOOL)0;
												T297_ = (NIM_BOOL)0;
												T298_ = 0;
												T297_ = !(((2056 & (*v_1).flags) == T298_));
												if (T297_) goto LA299_;
												T297_ = ((*(*v_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA299_: ;
												T296_ = T297_;
												if (T296_) goto LA300_;
												T296_ = (((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0);
LA300_: ;
												T294_ = !(T296_);
LA295_: ;
												T293_ = T294_;
												if (T293_) goto LA301_;
												T302_ = (NIM_BOOL)0;
												T303_ = (NIM_BOOL)0;
												T303_ = ((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
												if (!(T303_)) goto LA304_;
												T303_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA304_: ;
												T302_ = T303_;
												if (!(T302_)) goto LA305_;
												T302_ = ((*(*v_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA305_: ;
												T293_ = T302_;
LA301_: ;
												T291_ = !(T293_);
LA292_: ;
												T287_ = T291_;
LA290_: ;
												if (!T287_) goto LA306_;
												liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1542, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1543, NIM_FALSE, NIM_FALSE);
												if (NIM_UNLIKELY(*nimErr_)) goto LA277_;
											}
LA306_: ;
											{
												LA277_:;
											}
											{
												oldNimErrFin277_ = *nimErr_; *nimErr_ = NIM_FALSE;
												eqdestroy___ast_u3378(actualType_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
												*nimErr_ = oldNimErrFin277_;
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA275_: ;
										{
											tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
											if (!(((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)28)))&63U)))!=0)) goto LA312_;
											x_1 = NIM_NIL;
											x_1 = newNodeI__ast_u4091((*result).kind, (*v_1).info);
											if (NIM_UNLIKELY(*nimErr_)) goto LA314_;
											add__ast_u3215(x_1, (*result)._kind_6.sons.p->data[i_4]);
											if (NIM_UNLIKELY(*nimErr_)) goto LA314_;
											setupCompileTimeVar__vm_u14318((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, x_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA314_;
											{
												LA314_:;
											}
											{
												oldNimErrFin314_ = *nimErr_; *nimErr_ = NIM_FALSE;
												eqdestroy___ast_u3252(x_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
												*nimErr_ = oldNimErrFin314_;
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA312_: ;
										{
											if (!(((*v_1).flags & 67108872) == 8)) goto LA319_;
											liMessage__msgs_u1227((*(*c_p0).graph).config, (*v_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)116), TM__rF9caJawfOjYTjsgLVUSGFA_1544, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1545, NIM_FALSE, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA319_: ;
										{
											if (!((2056 & ~ (*v_1).flags)==0)) goto LA323_;
											globalVarInitCheck__sem_u15878(c_p0, def_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										}
LA323_: ;
										T325_ = NIM_NIL;
										T325_ = (*c_p0).graph;
										suggestSym__sigmatch_u6643(T325_, (*v_1).info, v_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA183_;
										{
											LA183_:;
										}
										{
											oldNimErrFin183_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__8);
											if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
											eqdestroy___ast_u4574(colontmpD__7);
											if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
											eqdestroy___ast_u4574(v_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
											*nimErr_ = oldNimErrFin183_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
									} LA182: ;
									i_8 += ((NI)1);
								} LA181: ;
							}
						}
					}
LA154_: ;
					{
						LA32_:;
					}
					{
						oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(tup_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin32_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA31: ;
				i_5 += ((NI)1);
			} LA30: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(transformed_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, fitRemoveHiddenConv__sem_u15409)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = fitNode__sem_u79(c_p0, typ_p1, n_p2, (*n_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r1_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA3_;
		r1_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		eqcopy___ast_u3255(&r1_1, (*result)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NIM_BOOL T8_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
			T8_ = (NIM_BOOL)0;
			T8_ = ((*r1_1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*r1_1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
			if (!(T8_)) goto LA9_;
			colontmpD_ = skipTypes__ast_u5379(typ_p1, TM__rF9caJawfOjYTjsgLVUSGFA_241);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T8_ = ((*colontmpD_).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39));
LA9_: ;
			if (!T8_) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = newFloatNode__ast_u5418(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16), ((NF) ((*r1_1)._kind_1.intVal)));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA5_;}
			eqsink___ast_u3261(&result, T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			(*result).info = (*n_p2).info;
			eqcopy___ast_u3381(&(*result).typField, typ_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			{
				NIM_BOOL T15_;
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T19_;
				T15_ = (NIM_BOOL)0;
				T15_ = floatRangeCheck__types_u1420((*result)._kind_2.floatVal, typ_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				if (!!(T15_)) goto LA16_;
				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__3 = dollar___system_u4730((*result)._kind_2.floatVal);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				T19_[0] = colontmpD__3;
				colontmpD__4 = typeToString__types_u54(typ_p1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				T19_[1] = colontmpD__4;
				colontmpD__5 = percent___sem_u15430(T19_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1549, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				{
					LA18_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(colontmpD__3);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
LA16_: ;
		}
		goto LA6_;
LA10_: ;
		{
			NIM_BOOL T23_;
			T23_ = (NIM_BOOL)0;
			T23_ = ((*r1_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T23_)) goto LA24_;
			colontmpD__2 = skipTypes__ast_u5379(typ_p1, TM__rF9caJawfOjYTjsgLVUSGFA_241);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T23_ = ((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29));
LA24_: ;
			if (!T23_) goto LA25_;
		}
		goto LA6_;
LA25_: ;
		{
			changeType__sem_u84(c_p0, r1_1, typ_p1, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			eqsink___ast_u3261(&result, r1_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			eqwasMoved___ast_u3249(&r1_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA6_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(r1_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T31_;
		NIM_BOOL T32_;
		T31_ = 0;
		T32_ = (NIM_BOOL)0;
		T32_ = sameType__types_u1812((*result).typField, typ_p1, T31_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T32_)) goto LA33_;
		changeType__sem_u84(c_p0, result, typ_p1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA33_: ;
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConst__sem_u16298)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
NIM_BOOL oldNimErrFin76_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL oldNimErrFin145_;
NIM_BOOL oldNimErrFin89_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	b_1 = NIM_NIL;
	result = copyNode__ast_u6736(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*c_p0).inStaticContext += ((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 LA1_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
					tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T19_;
					NIM_BOOL hasUserSpecifiedType_1;
					tySet_tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw typFlags_1;
					NI T31_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T56_;
					a_1 = NIM_NIL;
					typ_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					def_1 = NIM_NIL;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						if (!((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12))) goto LA9_;
						suggestStmt__sigmatch_u7748(c_p0, a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA9_: ;
					{
						if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA13_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___lookups_u74(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA5;
					}
LA13_: ;
					{
						if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102) || (*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36)))) goto LA17_;
						illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA17_: ;
					checkMinSonsLen__semdata_u4675(a_1, ((NI)3), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T19_ = NIM_NIL;
					T19_ = semVarMacroPragma__sem_u15764(c_p0, a_1, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T19_); goto LA6_;}
					eqsink___ast_u3261(&b_1, T19_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						if (!!((b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA22_;
						addToVarSection__sem_u15517(c_p0, &result, b_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___lookups_u74(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA5;
					}
LA22_: ;
					hasUserSpecifiedType_1 = NIM_FALSE;
					typ_1 = ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL);
					{
						NI T26_;
						NI T29_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T30_;
						T26_ = (NI)0;
						T26_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!!(((*(*a_1)._kind_6.sons.p->data[(NI)(T26_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA27_;
						T29_ = (NI)0;
						T29_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						T30_ = NIM_NIL;
						T30_ = semTypeNode__sem_u89(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T29_ - ((NI)2))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T30_); goto LA6_;}
						eqsink___ast_u3387(&typ_1, T30_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						hasUserSpecifiedType_1 = NIM_TRUE;
					}
LA27_: ;
					typFlags_1 = 0;
					colontmpD_ = openScope__lookups_u65(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T31_ = (NI)0;
					T31_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					def_1 = semExprWithType__sem_u63(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T31_ - ((NI)1))], 4194304, typ_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NIM_BOOL T34_;
						T34_ = (NIM_BOOL)0;
						T34_ = ((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T34_)) goto LA35_;
						T34_ = ((*(*def_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*(*def_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA35_: ;
						if (!T34_) goto LA36_;
						typFlags_1 |= ((NU16)1)<<(((((tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw)6))) & 15);
					}
					goto LA32_;
LA36_: ;
					{
						NIM_BOOL T39_;
						T39_ = (NIM_BOOL)0;
						T39_ = ((*(*def_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
						if (!(T39_)) goto LA40_;
						T39_ = !(((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)));
LA40_: ;
						if (!T39_) goto LA41_;
						typFlags_1 |= ((NU16)1)<<(((((tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw)7))) & 15);
					}
					goto LA32_;
LA41_: ;
LA32_: ;
					{
						if (!!((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA45_;
						{
							NIM_BOOL T49_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T52_;
							T49_ = (NIM_BOOL)0;
							T49_ = isMetaType__ast_u4607(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!T49_) goto LA50_;
							T52_ = NIM_NIL;
							T52_ = inferWithMetatype__sem_u250(c_p0, typ_1, def_1, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T52_); goto LA6_;}
							eqsink___ast_u3261(&def_1, T52_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							eqcopy___ast_u3381(&typ_1, (*def_1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
						goto LA47_;
LA50_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T54_;
							T54_ = NIM_NIL;
							T54_ = fitRemoveHiddenConv__sem_u15409(c_p0, typ_1, def_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T54_); goto LA6_;}
							eqsink___ast_u3261(&def_1, T54_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA47_: ;
					}
					goto LA43_;
LA45_: ;
					{
						eqcopy___ast_u3381(&typ_1, (*def_1).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA43_: ;
					T56_ = NIM_NIL;
					T56_ = semConstExpr__sem_u631(c_p0, def_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T56_); goto LA6_;}
					eqsink___ast_u3261(&def_1, T56_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NI T61_;
						if (!(def_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA59_;
						T61_ = (NI)0;
						T61_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[(NI)(T61_ - ((NI)1))]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1550, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1551, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___lookups_u74(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA5;
					}
LA59_: ;
					{
						if (!!(((*def_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)))) goto LA64_;
						{
							if (!!(((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL)))) goto LA68_;
							typFlags_1 |= ((NU16)1)<<(((((tyEnum_TTypeAllowedFlag__foQVJo6zcVTiG7TNsJ9bicw)3))) & 15);
						}
LA68_: ;
						typeAllowedCheck__sem_u478(c_p0, (*a_1).info, typ_1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10), typFlags_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA64_: ;
					closeScope__lookups_u102(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assignments_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resSection_1;
						if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA72_;
						assignments_1 = NIM_NIL;
						resSection_1 = NIM_NIL;
						assignments_1 = makeVarTupleSection__sem_u15883(c_p0, n_p1, a_1, def_1, typ_1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10), &result);
						if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
						resSection_1 = semConst__sem_u16298(c_p0, assignments_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* resDef_1;
							resDef_1 = NIM_NIL;
							resDef_1 = 0;
							{
								NI i_3;
								NI colontmp__2;
								NI i_4;
								i_3 = (NI)0;
								colontmp__2 = (NI)0;
								colontmp__2 = safeLen__ast_u3197(resSection_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
								i_4 = ((NI)0);
								{
									while (1) {
										if (!(i_4 < colontmp__2)) goto LA79;
										i_3 = i_4;
										eqcopy___ast_u3255(&resDef_1, (*resSection_1)._kind_6.sons.p->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
										addToVarSection__sem_u15525(c_p0, &result, n_p1, resDef_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
										i_4 += ((NI)1);
									} LA79: ;
								}
							}
							{
								LA76_:;
							}
							{
								oldNimErrFin76_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(resDef_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								*nimErr_ = oldNimErrFin76_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
						}
						{
							LA74_:;
						}
						{
							oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(resSection_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							eqdestroy___ast_u3252(assignments_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							*nimErr_ = oldNimErrFin74_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
					goto LA70_;
LA72_: ;
					{
						{
							NI j_1;
							NI colontmp__3;
							NI T86_;
							NI i_5;
							j_1 = (NI)0;
							colontmp__3 = (NI)0;
							T86_ = (NI)0;
							T86_ = len__ast_u3190(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							colontmp__3 = (NI)(T86_ - ((NI)2));
							i_5 = ((NI)0);
							{
								while (1) {
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
									NIM_BOOL fillSymbol_1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T132_;
									if (!(i_5 < colontmp__3)) goto LA88;
									v_1 = NIM_NIL;
									colontmpD__2 = NIM_NIL;
									colontmpD__3 = NIM_NIL;
									colontmpD__4 = NIM_NIL;
									j_1 = i_5;
									v_1 = semIdentDef__sem_u15470(c_p0, (*a_1)._kind_6.sons.p->data[j_1], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10), NIM_TRUE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									{
										if (!!((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA92_;
										addInterfaceDecl__lookups_u3823(c_p0, v_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
									goto LA90_;
LA92_: ;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
										colontmpD__2 = owner__ast_u6254(v_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
										if (!(colontmpD__2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA95_;
										colontmpD__5 = NIM_NIL;
										colontmpD__5 = getCurrOwner__semdata_u425(c_p0);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
										setOwner__icZic_u12851(v_1, colontmpD__5);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
										eqdestroy___ast_u4574(colontmpD__5);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
									goto LA90_;
LA95_: ;
LA90_: ;
									{
										NIM_BOOL T99_;
										NIM_BOOL T100_;
										NIM_BOOL T101_;
										NIM_BOOL T102_;
										NIM_BOOL T103_;
										NIM_BOOL T104_;
										NIM_BOOL T105_;
										NIM_BOOL T106_;
										NIM_BOOL T107_;
										NIM_BOOL T108_;
										NIM_BOOL T109_;
										tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T111_;
										NIM_BOOL T120_;
										tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T123_;
										T99_ = (NIM_BOOL)0;
										T100_ = (NIM_BOOL)0;
										T101_ = (NIM_BOOL)0;
										T102_ = (NIM_BOOL)0;
										T103_ = (NIM_BOOL)0;
										T104_ = (NIM_BOOL)0;
										T105_ = (NIM_BOOL)0;
										T106_ = (NIM_BOOL)0;
										T107_ = (NIM_BOOL)0;
										T108_ = (NIM_BOOL)0;
										T109_ = (NIM_BOOL)0;
										T109_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
										if (!(T109_)) goto LA110_;
										T111_ = 0;
										T109_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T111_));
LA110_: ;
										T108_ = T109_;
										if (!(T108_)) goto LA112_;
										T108_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA112_: ;
										T107_ = T108_;
										if (!(T107_)) goto LA113_;
										colontmpD__3 = getModule__modulegraphs_u14809((*c_p0).graph, (*v_1).info.fileIndex);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
										T107_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
LA113_: ;
										T106_ = T107_;
										if (!(T106_)) goto LA114_;
										T106_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA114_: ;
										T105_ = T106_;
										if (!(T105_)) goto LA115_;
										T105_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA115_: ;
										T104_ = T105_;
										if (!(T104_)) goto LA116_;
										T104_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA116_: ;
										T103_ = T104_;
										if (!(T103_)) goto LA117_;
										T103_ = (((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA117_: ;
										T102_ = T103_;
										if (!(T102_)) goto LA118_;
										T102_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA118_: ;
										T101_ = T102_;
										if (!(T101_)) goto LA119_;
										T120_ = (NIM_BOOL)0;
										T120_ = ((*v_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (T120_) goto LA121_;
										T120_ = !(((*(*v_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA121_: ;
										T101_ = T120_;
LA119_: ;
										T100_ = T101_;
										if (!(T100_)) goto LA122_;
										T123_ = 0;
										T100_ = ((192 & (*v_1).flags) == T123_);
LA122_: ;
										T99_ = T100_;
										if (!(T99_)) goto LA124_;
										T99_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA124_: ;
										if (!T99_) goto LA125_;
										nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*v_1).info, v_1, (*v_1).kind);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
LA125_: ;
									fillSymbol_1 = NIM_TRUE;
									{
										if (!!(((*v_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA129_;
										fillSymbol_1 = NIM_FALSE;
									}
									goto LA127_;
LA129_: ;
									{
										setVarType__sem_u15704(c_p0, v_1, typ_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
LA127_: ;
									T132_ = NIM_NIL;
									T132_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102), (*a_1).info);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T132_); goto LA89_;}
									eqsink___ast_u3261(&b_1, T132_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									{
										NIM_BOOL T135_;
										NimStringV2 colontmpD__6;
										T135_ = (NIM_BOOL)0;
										T135_ = importantComments__options_u3569((*(*c_p0).graph).config);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
										if (!T135_) goto LA136_;
										colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
										colontmpD__6 = comment__ast_u836(a_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
										commenteq___ast_u1334(b_1, colontmpD__6);
										if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
										{
											LA138_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__6);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
LA136_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
										if (!((*(*a_1)._kind_6.sons.p->data[j_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA143_;
										p_1 = NIM_NIL;
										colontmpD__7 = NIM_NIL;
										colontmpD__8 = NIM_NIL;
										p_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43), (*a_1).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
										colontmpD__7 = newSymNode__ast_u5168(v_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
										add__ast_u3215(p_1, colontmpD__7);
										if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
										colontmpD__8 = copyTree__ast_u6891((*(*a_1)._kind_6.sons.p->data[j_1])._kind_6.sons.p->data[((NI)1)]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
										add__ast_u3215(p_1, colontmpD__8);
										if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
										add__ast_u3215(b_1, p_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
										{
											LA145_:;
										}
										{
											oldNimErrFin145_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___ast_u3252(colontmpD__8);
											if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
											eqdestroy___ast_u3252(colontmpD__7);
											if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
											eqdestroy___ast_u3252(p_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
											*nimErr_ = oldNimErrFin145_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
									goto LA141_;
LA143_: ;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
										colontmpD__9 = NIM_NIL;
										colontmpD__9 = newSymNode__ast_u5168(v_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
										add__ast_u3215(b_1, colontmpD__9);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
										eqdestroy___ast_u3252(colontmpD__9);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
LA141_: ;
									add__ast_u3215(b_1, (*a_1)._kind_6.sons.p->data[((NI)1)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									colontmpD__4 = copyTree__ast_u6891(def_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									add__ast_u3215(b_1, colontmpD__4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									{
										if (!fillSymbol_1) goto LA151_;
										eqcopy___ast_u3255(&(*v_1).ast, b_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									}
LA151_: ;
									addToVarSection__sem_u15525(c_p0, &result, n_p1, b_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
									i_5 += ((NI)1);
									{
										LA89_:;
									}
									{
										oldNimErrFin89_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3252(colontmpD__4);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										eqdestroy___ast_u4574(colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										eqdestroy___ast_u4574(colontmpD__2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										eqdestroy___ast_u4574(v_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										*nimErr_ = oldNimErrFin89_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								} LA88: ;
							}
						}
					}
LA70_: ;
					{
						LA6_:;
					}
					{
						oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(def_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___lookups_u74(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3378(typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin6_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA5: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	(*c_p0).inStaticContext -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, typeDefLeftSidePass__sem_u17259)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typeSection_p1, NI i_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typeDef_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* name_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin73_;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	typeDef_1 = NIM_NIL;
	name_1 = NIM_NIL;
	s_1 = NIM_NIL;
	eqcopy___ast_u3255(&typeDef_1, (*typeSection_p1)._kind_6.sons.p->data[i_p2]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkSonsLen__semdata_u4671(typeDef_1, ((NI)3), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&name_1, (*typeDef_1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	{
		NIM_BOOL T4_;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* pkgName_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* typName_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* pkg_1;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*name_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*typeDef_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133));
LA5_: ;
		if (!T4_) goto LA6_;
		pkgName_1 = NIM_NIL;
		typName_1 = NIM_NIL;
		pkg_1 = NIM_NIL;
		pkgName_1 = considerQuotedIdent__lookups_u31(c_p0, (*name_1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		typName_1 = considerQuotedIdent__lookups_u31(c_p0, (*name_1)._kind_6.sons.p->data[((NI)1)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		pkg_1 = strTableGet__astalgo_u2726((*(*c_p0).graph).packageSyms, pkgName_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			NIM_BOOL T11_;
			NimStringV2 colontmpD_;
			NimStringV2 T16_;
			T11_ = (NIM_BOOL)0;
			T11_ = (pkg_1 == 0);
			if (T11_) goto LA12_;
			T11_ = !(((*pkg_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)24)));
LA12_: ;
			if (!T11_) goto LA13_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			T16_.len = 0; T16_.p = NIM_NIL;
			T16_ = rawNewString((*pkgName_1).s.len + 22);
appendString((&T16_), TM__rF9caJawfOjYTjsgLVUSGFA_1553);
appendString((&T16_), (*pkgName_1).s);
			colontmpD_ = T16_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*name_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1554, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				LA15_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
		goto LA9_;
LA13_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* typsym_1;
			typsym_1 = NIM_NIL;
			typsym_1 = strTableGet__astalgo_u2726((*(*c_p0).graph).packageTypes, typName_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T25_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T26_;
				if (!(typsym_1 == 0)) goto LA23_;
				T25_ = NIM_NIL;
				T25_ = semIdentDef__sem_u15470(c_p0, (*name_1)._kind_6.sons.p->data[((NI)1)], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T25_); goto LA20_;}
				eqsink___ast_u4583(&s_1, T25_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				T26_ = NIM_NIL;
				T26_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T26_); goto LA20_;}
				eqsink___ast_u3387(&(*s_1).typ, T26_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqcopy___ast_u4577(&(*(*s_1).typ).sym, s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4))) & 63);
				strTableAdd__astalgo_u2666((&(*(*c_p0).graph).packageTypes), s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				addInterfaceDecl__lookups_u3823(c_p0, s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
			goto LA21_;
LA23_: ;
			{
				NIM_BOOL T28_;
				T28_ = (NIM_BOOL)0;
				T28_ = ((*typsym_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
				if (!(T28_)) goto LA29_;
				T28_ = (((*typsym_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0);
LA29_: ;
				if (!T28_) goto LA30_;
				eqsink___ast_u4583(&s_1, typsym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				eqwasMoved___ast_u4571(&typsym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				addInterfaceDecl__lookups_u3823(c_p0, s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
			goto LA21_;
LA30_: ;
			{
				NimStringV2 colontmpD__2;
				NimStringV2 T34_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				T34_.len = 0; T34_.p = NIM_NIL;
				T34_ = rawNewString((*(*typsym_1).name).s.len + 36);
appendString((&T34_), (*(*typsym_1).name).s);
appendString((&T34_), TM__rF9caJawfOjYTjsgLVUSGFA_1556);
				colontmpD__2 = T34_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*name_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1557, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				eqsink___ast_u4583(&s_1, typsym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				eqwasMoved___ast_u4571(&typsym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				{
					LA33_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
LA21_: ;
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(typsym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA9_: ;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(pkg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(typName_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(pkgName_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T43_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T44_;
		colontmpD__3 = NIM_NIL;
		T43_ = NIM_NIL;
		T43_ = semIdentDef__sem_u15470(c_p0, name_1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T43_); goto LA42_;}
		eqsink___ast_u4583(&s_1, T43_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		T44_ = NIM_NIL;
		T44_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T44_); goto LA42_;}
		eqsink___ast_u3387(&(*s_1).typ, T44_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		eqcopy___ast_u4577(&(*(*s_1).typ).sym, s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* rewritten_1;
			if (!((*name_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA47_;
			rewritten_1 = NIM_NIL;
			rewritten_1 = applyTypeSectionPragmas__sem_u9056(c_p0, (*name_1)._kind_6.sons.p->data[((NI)1)], typeDef_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			{
				if (!!((rewritten_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA52_;
				switch ((*rewritten_1).kind) {
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103):
				{
					eqsink___ast_u3261(&(*typeSection_p1)._kind_6.sons.p->data[i_p2], rewritten_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
					eqwasMoved___ast_u3249(&rewritten_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
				{
					tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T56_;
					T56_ = dotdot___stdZstrbasics_u49(i_p2, i_p2);
					X5BX5Deq___pragmas_u1583((&(*typeSection_p1)._kind_6.sons), T56_, (((*rewritten_1)._kind_6.sons).p) ? ((*rewritten_1)._kind_6.sons.p->data) : NIM_NIL, (*rewritten_1)._kind_6.sons.len);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				}
				break;
				default:
				{
					illFormedAst__semdata_u4665(rewritten_1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				}
				break;
				}
				typeDefLeftSidePass__sem_u17259(c_p0, typeSection_p1, i_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
				eqdestroy___ast_u3252(rewritten_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
				eqdestroy___ast_u4574(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u4574(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(name_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(typeDef_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA52_: ;
			pragma__pragmas_u120(c_p0, s_1, (*name_1)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_284, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			{
				LA49_:;
			}
			{
				oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(rewritten_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
				*nimErr_ = oldNimErrFin49_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		}
LA47_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* pkg_2;
			if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0)) goto LA62_;
			pkg_2 = NIM_NIL;
			pkg_2 = owner__ast_u6254((*c_p0).module);
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			{
				NIM_BOOL T67_;
				NIM_BOOL T68_;
				T67_ = (NIM_BOOL)0;
				T68_ = (NIM_BOOL)0;
				T68_ = isTopLevel__semdata_u4679(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
				T67_ = !(T68_);
				if (T67_) goto LA69_;
				T67_ = (pkg_2 == 0);
LA69_: ;
				if (!T67_) goto LA70_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*name_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1559, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1560, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			}
			goto LA65_;
LA70_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* typsym_2;
				typsym_2 = NIM_NIL;
				typsym_2 = strTableGet__astalgo_u2726((*(*c_p0).graph).packageTypes, (*s_1).name);
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				{
					if (!!((typsym_2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA76_;
					{
						NIM_BOOL T80_;
						T80_ = (NIM_BOOL)0;
						T80_ = !((((*typsym_2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)4)))&63U)))!=0));
						if (T80_) goto LA81_;
						T80_ = !((((*typsym_2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)10)))&63U)))!=0));
LA81_: ;
						if (!T80_) goto LA82_;
						(*typsym_2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)10))) & 63);
						(*typsym_2).info = (*s_1).info;
					}
					goto LA78_;
LA82_: ;
					{
						NimStringV2 colontmpD__4;
						NimStringV2 colontmpD__5;
						NimStringV2 T86_;
						colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						T86_.len = 0; T86_.p = NIM_NIL;
						colontmpD__4 = dollar___msgs_u714((*(*c_p0).graph).config, (*typsym_2).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
						T86_ = rawNewString((*(*s_1).name).s.len + colontmpD__4.len + 66);
appendString((&T86_), TM__rF9caJawfOjYTjsgLVUSGFA_1562);
appendString((&T86_), (*(*s_1).name).s);
appendString((&T86_), TM__rF9caJawfOjYTjsgLVUSGFA_1564);
appendString((&T86_), colontmpD__4);
						colontmpD__5 = T86_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*name_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1565, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
						{
							LA85_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__5);
							eqdestroy___system_u2691(colontmpD__4);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
					}
LA78_: ;
					eqsink___ast_u4583(&s_1, typsym_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
					eqwasMoved___ast_u4571(&typsym_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				}
LA76_: ;
				{
					LA73_:;
				}
				{
					oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(typsym_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
					*nimErr_ = oldNimErrFin73_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			}
LA65_: ;
			{
				LA64_:;
			}
			{
				oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(pkg_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
				*nimErr_ = oldNimErrFin64_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		}
LA62_: ;
		{
			if (!!((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA95_;
			addInterfaceDecl__lookups_u3823(c_p0, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		}
		goto LA93_;
LA95_: ;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
			colontmpD__3 = owner__ast_u6254(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			if (!(colontmpD__3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA98_;
			colontmpD__6 = NIM_NIL;
			colontmpD__6 = getCurrOwner__semdata_u425(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			setOwner__icZic_u12851(s_1, colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			eqdestroy___ast_u4574(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		}
		goto LA93_;
LA98_: ;
LA93_: ;
		{
			LA42_:;
		}
		{
			oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin42_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		if (!((*name_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA104_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T110_;
			if (!((*(*name_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31))) goto LA108_;
			T110_ = NIM_NIL;
			T110_ = newSymNode__ast_u5168(s_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T110_); goto LA1_;}
			eqsink___ast_u3261(&(*(*(*typeDef_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], T110_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA106_;
LA108_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T112_;
			T112_ = NIM_NIL;
			T112_ = newSymNode__ast_u5168(s_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T112_); goto LA1_;}
			eqsink___ast_u3261(&(*(*typeDef_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], T112_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA106_: ;
	}
	goto LA102_;
LA104_: ;
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T118_;
			if (!((*name_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31))) goto LA116_;
			T118_ = NIM_NIL;
			T118_ = newSymNode__ast_u5168(s_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T118_); goto LA1_;}
			eqsink___ast_u3261(&(*(*typeDef_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], T118_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA114_;
LA116_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T120_;
			T120_ = NIM_NIL;
			T120_ = newSymNode__ast_u5168(s_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T120_); goto LA1_;}
			eqsink___ast_u3261(&(*typeDef_1)._kind_6.sons.p->data[((NI)0)], T120_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA114_: ;
	}
LA102_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(name_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(typeDef_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, typeSectionLeftSidePass__sem_u17380)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NI i_1;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	i_1 = ((NI)0);
	{
		while (1) {
			NI T3_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			T3_ = (NI)0;
			T3_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(i_1 < T3_)) goto LA2;
			a_1 = NIM_NIL;
			eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			switch ((*a_1).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
			{
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103):
			{
				typeDefLeftSidePass__sem_u17259(c_p0, n_p1, i_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			}
			break;
			default:
			{
				illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			}
			break;
			}
			i_1 += ((NI)1);
			{
				LA4_:;
			}
			{
				oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, typeSectionTypeName__sem_u17243)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA3_;
		{
			NI T7_;
			T7_ = (NI)0;
			T7_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T7_ == ((NI)0))) goto LA8_;
			illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA8_: ;
		eqcopy___ast_u3255(&result, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	{
		if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31))) goto LA13_;
		{
			NI T17_;
			T17_ = (NI)0;
			T17_ = len__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!((T17_ == ((NI)2)))) goto LA18_;
			illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA18_: ;
		eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	{
		if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA22_;
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA22_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setMagicType__sem_u9768)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, NI size_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*(*m_p1).typ).kind = kind_p2;
	(*(*m_p1).typ).size = ((NI64) (size_p3));
	(*(*m_p1).typ).align = ((NI16) (size_p3));
	{
		NIM_BOOL T3_;
		NI16 T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = (kind_p2 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38) || kind_p2 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) || kind_p2 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) || kind_p2 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) || kind_p2 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || kind_p2 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
		if (!(T3_)) goto LA4_;
		T3_ = (size_p3 == ((NI)8));
LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = (NI16)0;
		T7_ = floatInt64Align__options_u4319(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*(*m_p1).typ).align = T7_;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setMagicIntegral__sem_u9777)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p2, NI size_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	setMagicType__sem_u9768(conf_p0, m_p1, kind_p2, size_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*(*m_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, processMagicType__sem_u9786)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1) {
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*m_p1).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)174):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31), (*(*(*c_p0).graph).config).target.intSize);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)175):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)32), ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)176):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)33), ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)177):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)34), ((NI)4));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)178):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35), ((NI)8));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)179):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40), (*(*(*c_p0).graph).config).target.intSize);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)180):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)41), ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)181):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)42), ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)182):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)43), ((NI)4));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)183):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44), ((NI)8));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)184):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36), (*(*(*c_p0).graph).config).target.floatSize);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)185):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)37), ((NI)4));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)186):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38), ((NI)8));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)187):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39), ((NI)16));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)188):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1), ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)189):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2), ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)190):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		colontmpD_ = NIM_NIL;
		setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		colontmpD_ = getSysType__magicsys_u55((*c_p0).graph, (*m_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		rawAddSon__ast_u6706((*m_p1).typ, colontmpD_, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)45)))&63U)))!=0)) goto LA21_;
			(*(*m_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
		}
LA21_: ;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)191):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29), (*(*(*c_p0).graph).config).target.ptrSize);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		colontmpD__2 = getSysType__magicsys_u55((*c_p0).graph, (*m_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		rawAddSon__ast_u6706((*m_p1).typ, colontmpD__2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		{
			LA26_:;
		}
		{
			oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin26_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)192):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26), (*(*(*c_p0).graph).config).target.ptrSize);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)193):
	{
		setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5), (*(*(*c_p0).graph).config).target.ptrSize);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)194):
	{
		{
			if (!eqStrings((*(*m_p1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_1569)) goto LA34_;
			setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59), ((NI)0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA32_;
LA34_: ;
		{
			setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6), ((NI)0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA32_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)195):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)196):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)17):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmpD__3 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddSon__ast_u6706((*m_p1).typ, colontmpD__3, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)24):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmpD__4 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddSon__ast_u6706((*m_p1).typ, colontmpD__4, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)197):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)160):
	{
		setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)161):
	{
		setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)165):
	{
		setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)162):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		colontmpD__5 = NIM_NIL;
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmpD__5 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddSon__ast_u6706((*m_p1).typ, colontmpD__5, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)163):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)272):
	{
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)49), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)164):
	{
		setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)45)))&63U)))!=0)) goto LA50_;
			(*(*m_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)31))) & 63);
		}
LA50_: ;
		{
			NIM_BOOL T54_;
			T54_ = (NIM_BOOL)0;
			T54_ = NIM_FALSE;
			if (T54_) goto LA55_;
			T54_ = ((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)8));
LA55_: ;
			if (!T54_) goto LA56_;
		}
		goto LA52_;
LA56_: ;
		{
		}
LA52_: ;
		eqcopy___ast_u3381(&(*(*c_p0).graph).sysTypes[(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24))- 0], (*m_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)172):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
		colontmpD__6 = NIM_NIL;
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)15), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmpD__6 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddSon__ast_u6706((*m_p1).typ, colontmpD__6, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)173):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
		colontmpD__7 = NIM_NIL;
		setMagicIntegral__sem_u9777((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)64), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmpD__7 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		rawAddSon__ast_u6706((*m_p1).typ, colontmpD__7, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)198):
	{
		(*(*m_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)33))) & 63);
		(*(*m_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)38))) & 63);
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)269):
	{
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)270):
	{
		if (eqStrings((*(*m_p1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_1570)) goto LA64_;
		if (eqStrings((*(*m_p1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_1571)) goto LA65_;
		if (eqStrings((*(*m_p1).name).s, TM__rF9caJawfOjYTjsgLVUSGFA_1572)) goto LA66_;
		goto LA67_;
		LA64_: ;
		{
			setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47), (*(*(*c_p0).graph).config).target.ptrSize);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA68_;
		LA65_: ;
		{
			setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46), ((NI)-1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA68_;
		LA66_: ;
		{
			setMagicType__sem_u9768((*(*c_p0).graph).config, m_p1, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45), (*(*(*c_p0).graph).config).target.ptrSize);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*(*m_p1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)4))) & 63);
		}
		goto LA68_;
		LA67_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*m_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1573, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1574, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA68_: ;
	}
	break;
	default:
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*m_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1575, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1576, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u32903)(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).genericType0);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3288((&(*(*dest_p0).genericType0)));
		nimRawDispose((*dest_p0).genericType0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__sem_u32968)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___sem_u32903((&(*((tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, traverseSubTypes__sem_u17394)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, void* ClE_0) {
	NIM_BOOL result;
	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A* colonenvP__1;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL oldNimErrFin75_;
NIM_BOOL oldNimErrFin52_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin102_;
NIM_BOOL oldNimErrFin113_;
NIM_BOOL oldNimErrFin122_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenvP__1 = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A*) ClE_0;
	result = NIM_FALSE;
	switch ((*t_p1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12):
	{
		(*t_p1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)36))) & 63);
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* field_1;
			field_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197((*t_p1).n);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				i_2 = ((NI)0);
				{
					while (1) {
						NIM_BOOL subX60gensym4147__1;
						tyProc__rDkYiHqbOJqNwqb2e9asKIQ T8_;
						NIM_BOOL T9_;
						if (!(i_2 < colontmp_)) goto LA7;
						i_1 = i_2;
						eqcopy___ast_u3255(&field_1, (*(*t_p1).n)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						nimZeroMem((void*)(&T8_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
						T8_.ClP_0 = traverseSubTypes__sem_u17394; T8_.ClE_0 = colonenvP__1;
						subX60gensym4147__1 = T8_.ClE_0? T8_.ClP_0(c_p0, (*field_1).typField, T8_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1578)(T8_.ClP_0))(c_p0, (*field_1).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						T9_ = (NIM_BOOL)0;
						T9_ = result;
						if (T9_) goto LA10_;
						T9_ = subX60gensym4147__1;
LA10_: ;
						result = T9_;
						i_2 += ((NI)1);
					} LA7: ;
				}
			}
			{
				LA4_:;
			}
			{
				oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(field_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyProc__rDkYiHqbOJqNwqb2e9asKIQ T15_;
		colontmpD_ = NIM_NIL;
		nimZeroMem((void*)(&T15_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
		T15_.ClP_0 = traverseSubTypes__sem_u17394; T15_.ClE_0 = colonenvP__1;
		colontmpD_ = elementType__ast_u5331(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		result = T15_.ClE_0? T15_.ClP_0(c_p0, colontmpD_, T15_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1579)(T15_.ClP_0))(c_p0, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* subType_1;
			subType_1 = NIM_NIL;
			{
				NI i_3;
				NI colontmp__2;
				NI T22_;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				T22_ = (*t_p1).sons.len;
				colontmp__2 = T22_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA24;
						i_3 = i_4;
						eqcopy___ast_u3381(&subType_1, (*t_p1).sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						{
							NIM_BOOL subX60gensym4150__1;
							tyProc__rDkYiHqbOJqNwqb2e9asKIQ T29_;
							NIM_BOOL T30_;
							if (!!((subType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA27_;
							nimZeroMem((void*)(&T29_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
							T29_.ClP_0 = traverseSubTypes__sem_u17394; T29_.ClE_0 = colonenvP__1;
							subX60gensym4150__1 = T29_.ClE_0? T29_.ClP_0(c_p0, subType_1, T29_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1580)(T29_.ClP_0))(c_p0, subType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
							T30_ = (NIM_BOOL)0;
							T30_ = result;
							if (T30_) goto LA31_;
							T30_ = subX60gensym4150__1;
LA31_: ;
							result = T30_;
						}
LA27_: ;
						i_4 += ((NI)1);
					} LA24: ;
				}
			}
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(subType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		{
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			NimStringV2 T39_;
			if (!result) goto LA36_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			T39_.len = 0; T39_.p = NIM_NIL;
			colontmpD__2 = typeToString__types_u54(t_p1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			T39_ = rawNewString(colontmpD__2.len + 46);
appendString((&T39_), TM__rF9caJawfOjYTjsgLVUSGFA_1582);
appendString((&T39_), colontmpD__2);
			colontmpD__3 = T39_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*colonenvP__1).genericType0).sym).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1583, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
			{
				LA38_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA36_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		tyProc__rDkYiHqbOJqNwqb2e9asKIQ T44_;
		colontmpD__4 = NIM_NIL;
		nimZeroMem((void*)(&T44_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
		T44_.ClP_0 = traverseSubTypes__sem_u17394; T44_.ClE_0 = colonenvP__1;
		colontmpD__4 = elementType__ast_u5331(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		result = T44_.ClE_0? T44_.ClP_0(c_p0, colontmpD__4, T44_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1584)(T44_.ClP_0))(c_p0, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA43_:;
		}
		{
			oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin43_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* targetBody_1;
		targetBody_1 = NIM_NIL;
		targetBody_1 = genericHead__ast_u5376(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u5502(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			i_6 = ((NI)1);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* param_1;
					if (!(i_6 < colontmp__3)) goto LA51;
					param_1 = NIM_NIL;
					i_5 = i_6;
					eqcopy___ast_u3381(&param_1, (*t_p1).sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
					{
						if (!((*param_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12))) goto LA55_;
						{
							tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A formalFlags_1;
							if (!(((*param_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)35)))&63U)))!=0)) goto LA59_;
							formalFlags_1 = (*(*targetBody_1).sons.p->data[(NI)(i_5 - ((NI)1))]).flags;
							{
								NimStringV2 colontmpD__5;
								NimStringV2 T66_;
								if (!!(((formalFlags_1 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)35)))&63U)))!=0))) goto LA63_;
								colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
								T66_.len = 0; T66_.p = NIM_NIL;
								T66_ = rawNewString((*(*(*param_1).sym).name).s.len + 51);
appendString((&T66_), TM__rF9caJawfOjYTjsgLVUSGFA_1586);
appendString((&T66_), (*(*(*param_1).sym).name).s);
appendString((&T66_), TM__rF9caJawfOjYTjsgLVUSGFA_1588);
								colontmpD__5 = T66_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*colonenvP__1).genericType0).sym).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1589, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
								{
									LA65_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__5);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
							}
							goto LA61_;
LA63_: ;
							{
								if (!((formalFlags_1 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)36)))&63U)))!=0)) goto LA70_;
								(*param_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)36))) & 63);
							}
							goto LA61_;
LA70_: ;
LA61_: ;
							result = NIM_TRUE;
						}
						goto LA57_;
LA59_: ;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* formalParam_1;
							if (!(((*param_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)37)))&63U)))!=0)) goto LA73_;
							formalParam_1 = NIM_NIL;
							eqcopy___ast_u4577(&formalParam_1, (*(*targetBody_1).sons.p->data[(NI)(i_5 - ((NI)1))]).sym);
							if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
							{
								NimStringV2 colontmpD__6;
								NimStringV2 T81_;
								if (!!((((*(*formalParam_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)37)))&63U)))!=0))) goto LA78_;
								colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
								T81_.len = 0; T81_.p = NIM_NIL;
								T81_ = rawNewString((*(*(*param_1).sym).name).s.len + 59);
appendString((&T81_), TM__rF9caJawfOjYTjsgLVUSGFA_1591);
appendString((&T81_), (*(*(*param_1).sym).name).s);
appendString((&T81_), TM__rF9caJawfOjYTjsgLVUSGFA_1593);
								colontmpD__6 = T81_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*colonenvP__1).genericType0).sym).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1594, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
								{
									LA80_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__6);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
							}
LA78_: ;
							result = NIM_TRUE;
							{
								LA75_:;
							}
							{
								oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(formalParam_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
								*nimErr_ = oldNimErrFin75_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						}
						goto LA57_;
LA73_: ;
LA57_: ;
					}
					goto LA53_;
LA55_: ;
					{
						NIM_BOOL subX60gensym4172__1;
						tyProc__rDkYiHqbOJqNwqb2e9asKIQ T87_;
						NIM_BOOL T88_;
						nimZeroMem((void*)(&T87_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
						T87_.ClP_0 = traverseSubTypes__sem_u17394; T87_.ClE_0 = colonenvP__1;
						subX60gensym4172__1 = T87_.ClE_0? T87_.ClP_0(c_p0, param_1, T87_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1595)(T87_.ClP_0))(c_p0, param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						T88_ = (NIM_BOOL)0;
						T88_ = result;
						if (T88_) goto LA89_;
						T88_ = subX60gensym4172__1;
LA89_: ;
						result = T88_;
					}
LA53_: ;
					i_6 += ((NI)1);
					{
						LA52_:;
					}
					{
						oldNimErrFin52_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(param_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						*nimErr_ = oldNimErrFin52_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
				} LA51: ;
			}
		}
		{
			LA48_:;
		}
		{
			oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(targetBody_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin48_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)57):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)58):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54):
	{
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		NimStringV2 T96_;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		T96_.len = 0; T96_.p = NIM_NIL;
		colontmpD__7 = typeToString__types_u54(t_p1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
		T96_ = rawNewString(colontmpD__7.len + 63);
appendString((&T96_), TM__rF9caJawfOjYTjsgLVUSGFA_1597);
appendString((&T96_), colontmpD__7);
appendString((&T96_), TM__rF9caJawfOjYTjsgLVUSGFA_1598);
		colontmpD__8 = T96_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*colonenvP__1).genericType0).sym).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1599, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
		{
			LA95_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53):
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*colonenvP__1).genericType0).sym).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1601, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1602, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* fieldType_1;
			fieldType_1 = NIM_NIL;
			{
				NI i_7;
				NI colontmp__4;
				NI T104_;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				T104_ = (*t_p1).sons.len;
				colontmp__4 = T104_;
				i_8 = ((NI)0);
				{
					while (1) {
						NIM_BOOL subX60gensym4182__1;
						tyProc__rDkYiHqbOJqNwqb2e9asKIQ T107_;
						NIM_BOOL T108_;
						if (!(i_8 < colontmp__4)) goto LA106;
						i_7 = i_8;
						eqcopy___ast_u3381(&fieldType_1, (*t_p1).sons.p->data[i_7]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
						nimZeroMem((void*)(&T107_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
						T107_.ClP_0 = traverseSubTypes__sem_u17394; T107_.ClE_0 = colonenvP__1;
						subX60gensym4182__1 = T107_.ClE_0? T107_.ClP_0(c_p0, fieldType_1, T107_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1603)(T107_.ClP_0))(c_p0, fieldType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA102_;
						T108_ = (NIM_BOOL)0;
						T108_ = result;
						if (T108_) goto LA109_;
						T108_ = subX60gensym4182__1;
LA109_: ;
						result = T108_;
						i_8 += ((NI)1);
					} LA106: ;
				}
			}
			{
				LA102_:;
			}
			{
				oldNimErrFin102_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(fieldType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin102_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
		tyProc__rDkYiHqbOJqNwqb2e9asKIQ T118_;
		colontmpD__9 = NIM_NIL;
		colontmpD__10 = NIM_NIL;
		{
			colontmpD__9 = elementType__ast_u5331(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
			if (!((*colontmpD__9).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12))) goto LA116_;
			result = NIM_TRUE;
			eqdestroy___ast_u3378(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA116_: ;
		nimZeroMem((void*)(&T118_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
		T118_.ClP_0 = traverseSubTypes__sem_u17394; T118_.ClE_0 = colonenvP__1;
		colontmpD__10 = elementType__ast_u5331(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
		result = T118_.ClE_0? T118_.ClP_0(c_p0, colontmpD__10, T118_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1604)(T118_.ClP_0))(c_p0, colontmpD__10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA113_;
		eqdestroy___ast_u3378(colontmpD__10);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA113_:;
		}
		{
			oldNimErrFin113_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin113_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__11;
		tyProc__rDkYiHqbOJqNwqb2e9asKIQ T123_;
		colontmpD__11 = NIM_NIL;
		nimZeroMem((void*)(&T123_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
		T123_.ClP_0 = traverseSubTypes__sem_u17394; T123_.ClE_0 = colonenvP__1;
		colontmpD__11 = skipModifier__ast_u5338(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
		result = T123_.ClE_0? T123_.ClP_0(c_p0, colontmpD__11, T123_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1605)(T123_.ClP_0))(c_p0, colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
		eqdestroy___ast_u3378(colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA122_:;
		}
		{
			oldNimErrFin122_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin122_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	{
		{
			NimStringV2 argX60gensym4184__1;
			if (!NIM_TRUE) goto LA129_;
			argX60gensym4184__1.len = 0; argX60gensym4184__1.p = NIM_NIL;
			argX60gensym4184__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1606);
			if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym4184__1, TM__rF9caJawfOjYTjsgLVUSGFA_1606);
			if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
			{
				LA131_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym4184__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA129_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u32934)(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0, ((TNimTypeV2*) ((&NTIv2__f8DEKnrGqGNHpEBRoYo00A_))));
		if (!T3_) goto LA4_;
		eqdestroy___sem_u32903((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkCovariantParamsUsages__sem_u17390)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* genericType_p1) {
	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A* colonenv__1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* body_1;
	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A* T2_;
	tyProc__rDkYiHqbOJqNwqb2e9asKIQ T3_;
	NIM_BOOL T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenv__1 = NIM_NIL;
	body_1 = NIM_NIL;
	T2_ = NIM_NIL;
	T2_ = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A*) nimNewObj(sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A), NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___f8DEKnrGqGNHpEBRoYo00A));
	(*T2_).Sup.m_type = (&NTIv2__f8DEKnrGqGNHpEBRoYo00A_);
	colonenv__1 = T2_;
	eqcopy___ast_u3381(&(*colonenv__1).genericType0, genericType_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	body_1 = typeBodyImpl__ast_u5369((*colonenv__1).genericType0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T3_), sizeof(tyProc__rDkYiHqbOJqNwqb2e9asKIQ));
	T3_.ClP_0 = traverseSubTypes__sem_u17394; T3_.ClE_0 = colonenv__1;
	T4_ = (NIM_BOOL)0;
	T4_ = T3_.ClE_0? T3_.ClP_0(c_p0, body_1, T3_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_1607)(T3_.ClP_0))(c_p0, body_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(void)(T4_);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u32934(colonenv__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, typeSectionRightSidePass__sem_u17467)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin116_;
NIM_BOOL oldNimErrFin111_;
NIM_BOOL oldNimErrFin136_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin189_;
	tySequence__9ahcSjIErJohSBBFLwuF56Q T192_;
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) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* name_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aa_1;
					tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A oldFlags_1;
					a_1 = NIM_NIL;
					name_1 = NIM_NIL;
					s_1 = NIM_NIL;
					aa_1 = NIM_NIL;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					{
						if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA8_;
						eqdestroy___ast_u3252(aa_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA4;
					}
LA8_: ;
					{
						if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103)))) goto LA12_;
						illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA12_: ;
					checkSonsLen__semdata_u4671(a_1, ((NI)3), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					name_1 = typeSectionTypeName__sem_u17243(c_p0, (*a_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					eqcopy___ast_u4577(&s_1, (*name_1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					{
						NIM_BOOL T16_;
						NimStringV2 colontmpD_;
						T16_ = (NIM_BOOL)0;
						T16_ = ((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
						if (!(T16_)) goto LA17_;
						T16_ = ((*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA17_: ;
						if (!T16_) goto LA18_;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1566, (*(*s_1).name).s);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1567, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						{
							LA20_:;
						}
						{
							eqdestroy___system_u2691(colontmpD_);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA18_: ;
					{
						if (!!(((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)))) goto LA25_;
						processMagicType__sem_u9786(c_p0, s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA25_: ;
					oldFlags_1 = (*(*s_1).typ).flags;
					{
						tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__2;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* body_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
						if (!!(((*(*a_1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA29_;
						colontmpD__2 = NIM_NIL;
						body_1 = NIM_NIL;
						colontmpD__2 = openScope__lookups_u65(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						pushOwner__semdata_u432(c_p0, s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						{
							if (!((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0))) goto LA34_;
							(*(*s_1).typ).kind = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10);
						}
LA34_: ;
						T36_ = NIM_NIL;
						T36_ = semGenericParamList__sem_u9832(c_p0, (*a_1)._kind_6.sons.p->data[((NI)1)], (*s_1).typ);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA31_;}
						eqsink___ast_u3261(&(*(*s_1).typ).n, T36_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						eqcopy___ast_u3255(&(*a_1)._kind_6.sons.p->data[((NI)1)], (*(*s_1).typ).n);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						(*(*s_1).typ).size = IL64(-1);
						{
							NIM_BOOL T39_;
							NI T41_;
							T39_ = (NIM_BOOL)0;
							T39_ = ((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48));
							if (!(T39_)) goto LA40_;
							T41_ = (NI)0;
							T41_ = len__ast_u5502((*s_1).typ);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							T39_ = (T41_ == ((NI)1));
LA40_: ;
							if (!T39_) goto LA42_;
						}
						goto LA37_;
LA42_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
							colontmpD__3 = NIM_NIL;
							colontmpD__3 = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							rawAddSon__ast_u6706((*s_1).typ, colontmpD__3, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							eqdestroy___ast_u3378(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						}
LA37_: ;
						eqcopy___ast_u3255(&(*s_1).ast, a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						(*c_p0).inGenericContext += ((NI)1);
						body_1 = semTypeNode__sem_u89(c_p0, (*a_1)._kind_6.sons.p->data[((NI)2)], (*s_1).typ);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						(*c_p0).inGenericContext -= ((NI)1);
						{
							NI T59_;
							if (!!((body_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA47_;
							eqcopy___ast_u4577(&(*body_1).sym, s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							(*body_1).size = IL64(-1);
							{
								if (!((*body_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA51_;
								(*body_1).flags = ((*body_1).flags | oldFlags_1);
								{
									NIM_BOOL T55_;
									T55_ = (NIM_BOOL)0;
									T55_ = ((oldFlags_1 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)3)))&63U)))!=0);
									if (!(T55_)) goto LA56_;
									T55_ = (((*body_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2)))&63U)))!=0);
LA56_: ;
									if (!T55_) goto LA57_;
									(*body_1).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2))) & 63));
								}
LA57_: ;
							}
LA51_: ;
							T59_ = (NI)0;
							T59_ = len__ast_u5502((*s_1).typ);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							eqsink___ast_u3387(&(*(*s_1).typ).sons.p->data[(NI)(T59_ - ((NI)1))], body_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							eqwasMoved___ast_u3375(&body_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							{
								if (!(((*(*s_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)35)))&63U)))!=0)) goto LA62_;
								checkCovariantParamsUsages__sem_u17390(c_p0, (*s_1).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
								{
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* body_2;
									if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0)) goto LA66_;
									body_2 = NIM_NIL;
									body_2 = last__ast_u5278((*s_1).typ);
									if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
									{
										tySequence__9ahcSjIErJohSBBFLwuF56Q T72_;
										if (!((*body_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA70_;
										T72_.len = 0; T72_.p = NIM_NIL;
										T72_.len = 0; T72_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
										eqsink___ast_u3705((&(*(*body_2).n)._kind_6.sons), T72_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
									}
LA70_: ;
									eqdestroy___ast_u3378(body_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
								}
LA66_: ;
							}
LA62_: ;
						}
LA47_: ;
						popOwner__semdata_u439(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						closeScope__lookups_u102(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						{
							LA31_:;
						}
						{
							oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(body_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___lookups_u74(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							*nimErr_ = oldNimErrFin31_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
					goto LA27_;
LA29_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
						if (!!(((*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA76_;
						t_1 = NIM_NIL;
						pushOwner__semdata_u432(c_p0, s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
						t_1 = semTypeNode__sem_u89(c_p0, (*a_1)._kind_6.sons.p->data[((NI)2)], (*s_1).typ);
						if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
						{
							if (!((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA81_;
							eqsink___ast_u3387(&(*s_1).typ, t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
							eqwasMoved___ast_u3375(&t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
						}
						goto LA79_;
LA81_: ;
						{
							NIM_BOOL T84_;
							NIM_BOOL T86_;
							T84_ = (NIM_BOOL)0;
							T84_ = !((t_1 == (*s_1).typ));
							if (!(T84_)) goto LA85_;
							T86_ = (NIM_BOOL)0;
							T86_ = ((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (T86_) goto LA87_;
							T86_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4)));
LA87_: ;
							T84_ = T86_;
LA85_: ;
							if (!T84_) goto LA88_;
							assignType__ast_u6138((*s_1).typ, t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
						}
						goto LA79_;
LA88_: ;
LA79_: ;
						eqcopy___ast_u3255(&(*s_1).ast, a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
						popOwner__semdata_u439(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
						{
							if (!((*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*(*a_1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32))) goto LA92_;
							(*(*a_1)._kind_6.sons.p->data[((NI)2)]).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7))) & 31);
						}
LA92_: ;
						{
							LA78_:;
						}
						{
							oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							*nimErr_ = oldNimErrFin78_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
					goto LA27_;
LA76_: ;
LA27_: ;
					{
						if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)7)))&63U)))!=0)) goto LA98_;
						{
							if (!((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4))) goto LA102_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*name_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1609, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1610, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						}
						goto LA100_;
LA102_: ;
						{
							if (!((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10))) goto LA105_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*name_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1612, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1613, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						}
						goto LA100_;
LA105_: ;
LA100_: ;
					}
LA98_: ;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* body_3;
						if (!(((*(*s_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)32)))&63U)))!=0)) goto LA109_;
						body_3 = NIM_NIL;
						body_3 = skipTypes__ast_u5379((*s_1).typ, TM__rF9caJawfOjYTjsgLVUSGFA_1614);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
							if (!!(((*body_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13)))) goto LA114_;
							t_2 = NIM_NIL;
							t_2 = skipTypes__ast_u5379(body_3, TM__rF9caJawfOjYTjsgLVUSGFA_1615);
							if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
							{
								NIM_BOOL T119_;
								T119_ = (NIM_BOOL)0;
								T119_ = ((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13));
								if (!(T119_)) goto LA120_;
								T119_ = (((*t_2).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)32)))&63U)))!=0);
LA120_: ;
								if (!!(T119_)) goto LA121_;
								(*(*s_1).typ).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)32))) & 63));
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*name_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1617, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1618, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
							}
LA121_: ;
							{
								LA116_:;
							}
							{
								oldNimErrFin116_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(t_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
								*nimErr_ = oldNimErrFin116_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						}
LA114_: ;
						{
							LA111_:;
						}
						{
							oldNimErrFin111_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(body_3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							*nimErr_ = oldNimErrFin111_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA109_: ;
					eqcopy___ast_u3255(&aa_1, (*a_1)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					{
						NIM_BOOL T129_;
						NIM_BOOL T130_;
						NI T132_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* st_1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* objTy_1;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* obj_1;
						NimStringV2 colontmpD__5;
						tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__6;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__7;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* symNode_1;
						NimStringV2 T162_;
						tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T163_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T164_;
						T129_ = (NIM_BOOL)0;
						T130_ = (NIM_BOOL)0;
						T130_ = ((*aa_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141) || (*aa_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142));
						if (!(T130_)) goto LA131_;
						T132_ = (NI)0;
						T132_ = len__ast_u3190(aa_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						T130_ = (T132_ == ((NI)1));
LA131_: ;
						T129_ = T130_;
						if (!(T129_)) goto LA133_;
						T129_ = ((*(*aa_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133));
LA133_: ;
						if (!T129_) goto LA134_;
						st_1 = NIM_NIL;
						colontmpD__4 = NIM_NIL;
						objTy_1 = NIM_NIL;
						obj_1 = NIM_NIL;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						colontmpD__6 = NIM_NIL;
						colontmpD__7 = NIM_NIL;
						symNode_1 = NIM_NIL;
						eqcopy___ast_u3381(&st_1, (*s_1).typ);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T141_;
							if (!((*st_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10))) goto LA139_;
							T141_ = NIM_NIL;
							T141_ = typeBodyImpl__ast_u5369(st_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T141_); goto LA136_;}
							eqsink___ast_u3387(&st_1, T141_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						}
LA139_: ;
						{
							NimStringV2 argX60gensym4237__1;
							if (!!(((*st_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*st_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22)))) goto LA144_;
							argX60gensym4237__1.len = 0; argX60gensym4237__1.p = NIM_NIL;
							argX60gensym4237__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1619);
							if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
							internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym4237__1, TM__rF9caJawfOjYTjsgLVUSGFA_1619);
							if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
							{
								LA146_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym4237__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						}
LA144_: ;
						{
							NimStringV2 argX60gensym4240__1;
							colontmpD__4 = last__ast_u5278(st_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							if (!!(((*colontmpD__4).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA151_;
							argX60gensym4240__1.len = 0; argX60gensym4240__1.p = NIM_NIL;
							argX60gensym4240__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1620);
							if (NIM_UNLIKELY(*nimErr_)) goto LA153_;
							internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym4240__1, TM__rF9caJawfOjYTjsgLVUSGFA_1620);
							if (NIM_UNLIKELY(*nimErr_)) goto LA153_;
							{
								LA153_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym4240__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						}
LA151_: ;
						(*st_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)34))) & 63);
						objTy_1 = last__ast_u5278(st_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						(*objTy_1).flags = ((*objTy_1).flags | oldFlags_1);
						{
							NIM_BOOL T158_;
							T158_ = (NIM_BOOL)0;
							T158_ = ((oldFlags_1 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)3)))&63U)))!=0);
							if (!(T158_)) goto LA159_;
							T158_ = (((*objTy_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2)))&63U)))!=0);
LA159_: ;
							if (!T158_) goto LA160_;
							(*objTy_1).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)2))) & 63));
						}
LA160_: ;
						T162_.len = 0; T162_.p = NIM_NIL;
						T162_ = rawNewString((*(*s_1).name).s.len + 11);
appendString((&T162_), (*(*s_1).name).s);
appendString((&T162_), TM__rF9caJawfOjYTjsgLVUSGFA_1622);
						colontmpD__5 = T162_;
						colontmpD__6 = getIdent__idents_u206((*c_p0).cache, colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						colontmpD__7 = getCurrOwner__semdata_u425(c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						T163_ = 0;
						obj_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), colontmpD__6, (*c_p0).Sup.idgen, colontmpD__7, (*s_1).info, T163_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						(*obj_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)49))) & 63);
						symNode_1 = newSymNode__ast_u5168(obj_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						T164_ = NIM_NIL;
						T164_ = shallowCopy__ast_u6876(a_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T164_); goto LA136_;}
						eqsink___ast_u3261(&(*obj_1).ast, T164_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						switch ((*(*a_1)._kind_6.sons.p->data[((NI)0)]).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
						{
							eqsink___ast_u3261(&(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)], symNode_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							eqwasMoved___ast_u3249(&symNode_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T167_;
							T167_ = NIM_NIL;
							T167_ = shallowCopy__ast_u6876((*a_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T167_); goto LA136_;}
							eqsink___ast_u3261(&(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)], T167_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T172_;
								if (!((*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31))) goto LA170_;
								T172_ = NIM_NIL;
								T172_ = shallowCopy__ast_u6876((*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T172_); goto LA136_;}
								eqsink___ast_u3261(&(*(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], T172_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
								eqcopy___ast_u3255(&(*(*(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], (*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
								eqsink___ast_u3261(&(*(*(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], symNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
								eqwasMoved___ast_u3249(&symNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							}
							goto LA168_;
LA170_: ;
							{
								eqsink___ast_u3261(&(*(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], symNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
								eqwasMoved___ast_u3249(&symNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							}
LA168_: ;
							eqcopy___ast_u3255(&(*(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T175_;
							T175_ = NIM_NIL;
							T175_ = shallowCopy__ast_u6876((*a_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T175_); goto LA136_;}
							eqsink___ast_u3261(&(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)], T175_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							eqcopy___ast_u3255(&(*(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							eqsink___ast_u3261(&(*(*(*obj_1).ast)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], symNode_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
							eqwasMoved___ast_u3249(&symNode_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						}
						break;
						default:
						{
						}
						break;
						}
						eqcopy___ast_u3255(&(*(*obj_1).ast)._kind_6.sons.p->data[((NI)1)], (*a_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						eqcopy___ast_u3255(&(*(*obj_1).ast)._kind_6.sons.p->data[((NI)2)], (*(*a_1)._kind_6.sons.p->data[((NI)2)])._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						{
							if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)11)))&63U)))!=0)) goto LA179_;
							(*obj_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)11))) & 63);
						}
LA179_: ;
						eqcopy___ast_u3381(&(*obj_1).typ, objTy_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						eqsink___ast_u4583(&(*objTy_1).sym, obj_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						eqwasMoved___ast_u4571(&obj_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA136_;
						{
							LA136_:;
						}
						{
							oldNimErrFin136_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(symNode_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u4574(colontmpD__7);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___idents_u155(colontmpD__6);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___system_u2691(colontmpD__5);
							eqdestroy___ast_u4574(obj_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u3378(objTy_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u3378(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u3378(st_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							*nimErr_ = oldNimErrFin136_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA134_: ;
					{
						LA5_:;
					}
					{
						oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(aa_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin5_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA4: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** sk_1;
		NI i_3;
		NI L_1;
		NI T186_;
		sk_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		i_3 = ((NI)0);
		T186_ = (*c_p0).skipTypes.len;
		L_1 = T186_;
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
				if (!(i_3 < L_1)) goto LA188;
				colontmpD__8 = NIM_NIL;
				sk_1 = &(*c_p0).skipTypes.p->data[i_3];
				colontmpD__8 = semTypeNode__sem_u89(c_p0, (*sk_1), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA189_;
				(void)(colontmpD__8);
				i_3 += ((NI)1);
				{
					LA189_:;
				}
				{
					oldNimErrFin189_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__8);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin189_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA188: ;
		}
	}
	T192_.len = 0; T192_.p = NIM_NIL;
	T192_.len = 0; T192_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	eqsink___ast_u3705((&(*c_p0).skipTypes), T192_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkMeta__sem_u17712)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p2, NIM_BOOL* hasError_p3, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* parent_p4) {
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !((t_p2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T6_ = isMetaType__ast_u4607(t_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (T6_) goto LA7_;
		T6_ = ((*t_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0));
LA7_: ;
		T4_ = T6_;
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA8_;
		T3_ = !((((*t_p2).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)25)))&63U)))!=0));
LA8_: ;
		if (!T3_) goto LA9_;
		colontmpD_ = NIM_NIL;
		{
			NIM_BOOL T14_;
			NIM_BOOL T15_;
			NI T17_;
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			T14_ = (NIM_BOOL)0;
			T15_ = (NIM_BOOL)0;
			T15_ = ((*t_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51));
			if (!(T15_)) goto LA16_;
			T17_ = (NI)0;
			T17_ = len__ast_u5502(t_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			T15_ = (T17_ == ((NI)1));
LA16_: ;
			T14_ = T15_;
			if (!(T14_)) goto LA18_;
			colontmpD_ = elementType__ast_u5331(t_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			T14_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA18_: ;
			if (!T14_) goto LA19_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__2 = typeToString__types_u54(t_p2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1627, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1628, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
			{
				LA21_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
		goto LA12_;
LA19_: ;
		{
			NIM_BOOL T25_;
			NimStringV2 colontmpD__4;
			NimStringV2 colontmpD__5;
			T25_ = (NIM_BOOL)0;
			T25_ = ((*t_p2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0));
			if (!(T25_)) goto LA26_;
			T25_ = !((parent_p4 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA26_: ;
			if (!T25_) goto LA27_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__4 = typeToString__types_u54(parent_p4, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			colontmpD__5 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1629, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1630, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			{
				LA29_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__5);
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
		goto LA12_;
LA27_: ;
		{
			NimStringV2 colontmpD__6;
			NimStringV2 colontmpD__7;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__6 = typeToString__types_u54(t_p2, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1631, colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1632, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				LA33_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__7);
				eqdestroy___system_u2691(colontmpD__6);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
LA12_: ;
		(*hasError_p3) = NIM_TRUE;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA9_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkForMetaFields__sem_u17708)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL* hasError_p2) {
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(n_p1 == 0)) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
			s_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 LA7_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA10;
						i_1 = i_2;
						eqcopy___ast_u3255(&s_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						checkForMetaFields__sem_u17708(c_p0, s_1, hasError_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						i_2 += ((NI)1);
					} LA10: ;
				}
			}
			{
				LA7_:;
			}
			{
				oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin7_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = lastSon__ast_u5208(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		checkForMetaFields__sem_u17708(c_p0, colontmpD_, hasError_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		t_1 = NIM_NIL;
		eqcopy___ast_u3381(&t_1, (*(*n_p1)._kind_4.sym).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		switch ((*t_1).kind) {
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
		case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45):
		{
			NI start_1;
			start_1 = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11));
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__ast_u5502(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				i_4 = start_1;
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA22;
						i_3 = i_4;
						checkMeta__sem_u17712(c_p0, n_p1, (*t_1).sons.p->data[i_3], hasError_p2, t_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						i_4 += ((NI)1);
					} LA22: ;
				}
			}
		}
		break;
		default:
		{
			checkMeta__sem_u17712(c_p0, n_p1, t_1, hasError_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		break;
		}
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			NimStringV2 argX60gensym4301__1;
			if (!NIM_TRUE) goto LA29_;
			argX60gensym4301__1.len = 0; argX60gensym4301__1.p = NIM_NIL;
			argX60gensym4301__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_1633);
			if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym4301__1, TM__rF9caJawfOjYTjsgLVUSGFA_1633);
			if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
			{
				LA31_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym4301__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA29_: ;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, typeSectionFinalPass__sem_u17768)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin90_;
NIM_BOOL oldNimErrFin77_;
NIM_BOOL oldNimErrFin69_;
NIM_BOOL oldNimErrFin5_;
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) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* name_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
					a_1 = NIM_NIL;
					name_1 = NIM_NIL;
					s_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					{
						if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA8_;
						eqdestroy___ast_u4574(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA4;
					}
LA8_: ;
					name_1 = typeSectionTypeName__sem_u17243(c_p0, (*a_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					eqcopy___ast_u4577(&s_1, (*name_1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					{
						NIM_BOOL T12_;
						NIM_BOOL T13_;
						NIM_BOOL T14_;
						NIM_BOOL T15_;
						NIM_BOOL T16_;
						NIM_BOOL T17_;
						NIM_BOOL T18_;
						NIM_BOOL T19_;
						NIM_BOOL T20_;
						NIM_BOOL T21_;
						NIM_BOOL T22_;
						tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T24_;
						NIM_BOOL T33_;
						tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T36_;
						T12_ = (NIM_BOOL)0;
						T13_ = (NIM_BOOL)0;
						T14_ = (NIM_BOOL)0;
						T15_ = (NIM_BOOL)0;
						T16_ = (NIM_BOOL)0;
						T17_ = (NIM_BOOL)0;
						T18_ = (NIM_BOOL)0;
						T19_ = (NIM_BOOL)0;
						T20_ = (NIM_BOOL)0;
						T21_ = (NIM_BOOL)0;
						T22_ = (NIM_BOOL)0;
						T22_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
						if (!(T22_)) goto LA23_;
						T24_ = 0;
						T22_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T24_));
LA23_: ;
						T21_ = T22_;
						if (!(T21_)) goto LA25_;
						T21_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA25_: ;
						T20_ = T21_;
						if (!(T20_)) goto LA26_;
						colontmpD_ = getModule__modulegraphs_u14809((*c_p0).graph, (*s_1).info.fileIndex);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						T20_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
LA26_: ;
						T19_ = T20_;
						if (!(T19_)) goto LA27_;
						T19_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA27_: ;
						T18_ = T19_;
						if (!(T18_)) goto LA28_;
						T18_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA28_: ;
						T17_ = T18_;
						if (!(T17_)) goto LA29_;
						T17_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA29_: ;
						T16_ = T17_;
						if (!(T16_)) goto LA30_;
						T16_ = (((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*s_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA30_: ;
						T15_ = T16_;
						if (!(T15_)) goto LA31_;
						T15_ = !(((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA31_: ;
						T14_ = T15_;
						if (!(T14_)) goto LA32_;
						T33_ = (NIM_BOOL)0;
						T33_ = ((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (T33_) goto LA34_;
						T33_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA34_: ;
						T14_ = T33_;
LA32_: ;
						T13_ = T14_;
						if (!(T13_)) goto LA35_;
						T36_ = 0;
						T13_ = ((192 & (*s_1).flags) == T36_);
LA35_: ;
						T12_ = T13_;
						if (!(T12_)) goto LA37_;
						T12_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA37_: ;
						if (!T12_) goto LA38_;
						nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*s_1).info, s_1, (*s_1).kind);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA38_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_1;
						if (!((*(*a_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA42_;
						pragmas_1 = NIM_NIL;
						eqcopy___ast_u3255(&pragmas_1, (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						{
							NI i_3;
							NI colontmp__2;
							NI i_4;
							i_3 = (NI)0;
							colontmp__2 = (NI)0;
							colontmp__2 = len__ast_u3190(pragmas_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
							i_4 = ((NI)0);
							{
								while (1) {
									if (!(i_4 < colontmp__2)) goto LA47;
									i_3 = i_4;
									{
										NIM_BOOL T50_;
										NIM_BOOL T51_;
										tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T54_;
										T50_ = (NIM_BOOL)0;
										T51_ = (NIM_BOOL)0;
										T51_ = ((*(*pragmas_1)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
										if (!(T51_)) goto LA52_;
										T51_ = ((*(*(*pragmas_1)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA52_: ;
										T50_ = T51_;
										if (!(T50_)) goto LA53_;
										T54_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
										T54_ = whichKeyword__idents_u360((*(*(*pragmas_1)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[((NI)0)])._kind_5.ident);
										if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
										T50_ = (T54_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)178));
LA53_: ;
										if (!T50_) goto LA55_;
										{
											NIM_BOOL T59_;
											T59_ = (NIM_BOOL)0;
											T59_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14)));
											if (!(T59_)) goto LA60_;
											T59_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)6)))&63U)))!=0));
LA60_: ;
											if (!T59_) goto LA61_;
											liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*pragmas_1)._kind_6.sons.p->data[i_3]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1624, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1625, NIM_FALSE, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
										}
LA61_: ;
									}
LA55_: ;
									i_4 += ((NI)1);
								} LA47: ;
							}
						}
						{
							LA44_:;
						}
						{
							oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(pragmas_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							*nimErr_ = oldNimErrFin44_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA42_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
						if (!((*(*a_1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA67_;
						x_1 = NIM_NIL;
						eqcopy___ast_u3255(&x_1, (*a_1)._kind_6.sons.p->data[((NI)2)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
						{
							NIM_BOOL T72_;
							T72_ = (NIM_BOOL)0;
							T72_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
							if (!(T72_)) goto LA73_;
							T72_ = (((*x_1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7)))&31U)))!=0);
LA73_: ;
							if (!T72_) goto LA74_;
						}
						goto LA70_;
LA74_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_1;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
							NIM_BOOL hasError_1;
							colontmpD__2 = NIM_NIL;
							baseType_1 = NIM_NIL;
							colontmpD__3 = NIM_NIL;
							{
								while (1) {
									NIM_BOOL T80_;
									NI T82_;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T83_;
									T80_ = (NIM_BOOL)0;
									T80_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126));
									if (!(T80_)) goto LA81_;
									T82_ = (NI)0;
									T82_ = len__ast_u3190(x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
									T80_ = (((NI)0) < T82_);
LA81_: ;
									if (!T80_) goto LA79;
									T83_ = NIM_NIL;
									T83_ = lastSon__ast_u5208(x_1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T83_); goto LA77_;}
									eqsink___ast_u3261(&x_1, T83_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
								} LA79: ;
							}
							{
								NIM_BOOL T86_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
								T86_ = (NIM_BOOL)0;
								T86_ = !(((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)146) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
								if (!(T86_)) goto LA87_;
								colontmpD__2 = safeSkipTypes__types_u3656((*s_1).typ, TM__rF9caJawfOjYTjsgLVUSGFA_493);
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
								T86_ = !(((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14)));
LA87_: ;
								if (!T86_) goto LA88_;
								t_1 = NIM_NIL;
								t_1 = semTypeNode__sem_u89(c_p0, x_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
								{
									NIM_BOOL T93_;
									T93_ = (NIM_BOOL)0;
									T93_ = !(((*s_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
									if (!(T93_)) goto LA94_;
									T93_ = !(((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4) || (*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA94_: ;
									if (!T93_) goto LA95_;
									{
										NIM_BOOL T99_;
										NIM_BOOL T101_;
										T99_ = (NIM_BOOL)0;
										T99_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11));
										if (!(T99_)) goto LA100_;
										T101_ = (NIM_BOOL)0;
										T101_ = isMetaType__ast_u4607(t_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
										T99_ = !(T101_);
LA100_: ;
										if (!T99_) goto LA102_;
										assignType__ast_u6138((*s_1).typ, t_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
										(*(*s_1).typ).itemId = (*t_1).itemId;
									}
									goto LA97_;
LA102_: ;
									{
										if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13))) goto LA105_;
										assignType__ast_u6138((*s_1).typ, t_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
										(*(*s_1).typ).itemId = (*t_1).itemId;
									}
									goto LA97_;
LA105_: ;
LA97_: ;
								}
LA95_: ;
								{
									LA90_:;
								}
								{
									oldNimErrFin90_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(t_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
									*nimErr_ = oldNimErrFin90_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
							}
LA88_: ;
							hasError_1 = NIM_FALSE;
							baseType_1 = safeSkipTypes__types_u3656((*s_1).typ, TM__rF9caJawfOjYTjsgLVUSGFA_493);
							if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
							{
								NIM_BOOL T111_;
								NIM_BOOL T112_;
								NIM_BOOL T115_;
								NIM_BOOL T117_;
								NIM_BOOL T118_;
								NI T120_;
								T111_ = (NIM_BOOL)0;
								T112_ = (NIM_BOOL)0;
								T112_ = ((*baseType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17) || (*baseType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18));
								if (!(T112_)) goto LA113_;
								T112_ = !(((*baseType_1).n == 0));
LA113_: ;
								T111_ = T112_;
								if (!(T111_)) goto LA114_;
								T115_ = (NIM_BOOL)0;
								T115_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)134));
								if (T115_) goto LA116_;
								T117_ = (NIM_BOOL)0;
								T118_ = (NIM_BOOL)0;
								T118_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142));
								if (!(T118_)) goto LA119_;
								T120_ = (NI)0;
								T120_ = len__ast_u3190(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
								T118_ = (T120_ == ((NI)1));
LA119_: ;
								T117_ = T118_;
								if (!(T117_)) goto LA121_;
								T117_ = ((*(*x_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133) || (*(*x_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)134));
LA121_: ;
								T115_ = T117_;
LA116_: ;
								T111_ = T115_;
LA114_: ;
								if (!T111_) goto LA122_;
								checkForMetaFields__sem_u17708(c_p0, (*baseType_1).n, (&hasError_1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
							}
LA122_: ;
							{
								NIM_BOOL T126_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T130_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T131_;
								T126_ = (NIM_BOOL)0;
								T126_ = ((*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19) || (*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16) || (*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*(*s_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)49));
								if (!(T126_)) goto LA127_;
								colontmpD__3 = elementType__ast_u5331((*s_1).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
								T126_ = ((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0));
LA127_: ;
								if (!T126_) goto LA128_;
								T130_ = NIM_NIL;
								T130_ = newTypeS__semdata_u4368((*(*s_1).typ).kind, c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T130_); goto LA77_;}
								T131_ = NIM_NIL;
								T131_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51), c_p0, T130_);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T131_); goto LA77_;}
								eqsink___ast_u3387(&(*s_1).typ, T131_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
							}
LA128_: ;
							{
								if (!!(hasError_1)) goto LA134_;
								checkConstructedType__semtypinst_u27((*(*c_p0).graph).config, (*s_1).info, (*s_1).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
							}
LA134_: ;
							{
								LA77_:;
							}
							{
								oldNimErrFin77_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
								eqdestroy___ast_u3378(baseType_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
								eqdestroy___ast_u3378(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
								*nimErr_ = oldNimErrFin77_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
						}
LA70_: ;
						{
							LA69_:;
						}
						{
							oldNimErrFin69_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							*nimErr_ = oldNimErrFin69_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA67_: ;
					{
						LA5_:;
					}
					{
						oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u4574(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u4574(s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(name_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin5_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA4: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTypeSection__sem_u18029)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((((*(*c_p0).module).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)10)))&63U)))!=0));
		if (T3_) goto LA4_;
		T3_ = !((((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7)))&31U)))!=0));
LA4_: ;
		if (!T3_) goto LA5_;
		(*c_p0).inTypeContext += ((NI)1);
		typeSectionLeftSidePass__sem_u17380(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		typeSectionRightSidePass__sem_u17467(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		typeSectionFinalPass__sem_u17768(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*c_p0).inTypeContext -= ((NI)1);
	}
LA5_: ;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semDiscard__sem_u14931)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* sonType_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T6_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw sonKind_1;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA3_;
		sonType_1 = NIM_NIL;
		T6_ = 0;
		T7_ = NIM_NIL;
		T7_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T6_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA5_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eqcopy___ast_u3381(&sonType_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		sonKind_1 = (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind;
		{
			NIM_BOOL T10_;
			NIM_BOOL T11_;
			NIM_BOOL T12_;
			T10_ = (NIM_BOOL)0;
			T11_ = (NIM_BOOL)0;
			T12_ = (NIM_BOOL)0;
			T12_ = isEmptyType__ast_u7234(sonType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			if (T12_) goto LA13_;
			T12_ = hasEmpty__sem_u14915(sonType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
LA13_: ;
			T11_ = T12_;
			if (T11_) goto LA14_;
			T11_ = ((*sonType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0) || (*sonType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8));
LA14_: ;
			T10_ = T11_;
			if (T10_) goto LA15_;
			T10_ = (sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132));
LA15_: ;
			if (!T10_) goto LA16_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1635, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1636, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA16_: ;
		{
			NIM_BOOL T20_;
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NimStringV2 T25_;
			T20_ = (NIM_BOOL)0;
			T20_ = ((*sonType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
			if (!(T20_)) goto LA21_;
			T20_ = !((sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || sonKind_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32)));
LA21_: ;
			if (!T20_) goto LA22_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T25_.len = 0; T25_.p = NIM_NIL;
			colontmpD_ = dollar___renderer_u2166((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T25_ = rawNewString(colontmpD_.len + 38);
appendString((&T25_), TM__rF9caJawfOjYTjsgLVUSGFA_1638);
appendString((&T25_), colontmpD_);
appendString((&T25_), TM__rF9caJawfOjYTjsgLVUSGFA_1639);
			colontmpD__2 = T25_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1640, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA22_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(sonType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semWhile__sem_u15009)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
	NIM_BOOL oldBreakInLoop_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	colontmpD__2 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T2_, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = NIM_NIL;
	T3_ = forceBool__sem_u4381(c_p0, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*c_p0).p).nestedLoopCounter += ((NI)1);
	oldBreakInLoop_1 = (*(*c_p0).p).breakInLoop;
	(*(*c_p0).p).breakInLoop = NIM_TRUE;
	T4_ = NIM_NIL;
	T4_ = semStmt__sem_u93(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], flags_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T4_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*c_p0).p).breakInLoop = oldBreakInLoop_1;
	(*(*c_p0).p).nestedLoopCounter -= ((NI)1);
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField == (*c_p0).enforceVoidContext)) goto LA7_;
		eqcopy___ast_u3381(&(*result).typField, (*c_p0).enforceVoidContext);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA5_;
LA7_: ;
	{
		if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0)) goto LA10_;
		eqcopy___ast_u3381(&(*result).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA5_;
LA10_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = implicitlyDiscardable__sem_u14913((*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T13_) goto LA14_;
		eqcopy___ast_u3381(&(*(*result)._kind_6.sons.p->data[((NI)1)]).typField, (*c_p0).enforceVoidContext);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA5_;
LA14_: ;
LA5_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semTry__sem_u15258)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA check_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
	NI last_1;
	NI T10_;
	NI catchAllExcepts_1;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL oldNimErrFin81_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin157_;
NIM_BOOL oldNimErrFin170_;
NIM_BOOL oldNimErrFin182_;
NIM_BOOL oldNimErrFin165_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&check_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	typ_1 = NIM_NIL;
	expectedType_2 = NIM_NIL;
	initIntSet__pureZcollectionsZintsets_u598((&check_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) nimNewObj(sizeof(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg), NIM_ALIGNOF(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg));
	(*T2_).kind = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6);
	typ_1 = T2_;
	eqcopy___ast_u3381(&expectedType_2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = NIM_NIL;
	T3_ = semExprBranchScope__sem_u15050(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], expectedType_2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T6_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T9_;
		T6_ = (NIM_BOOL)0;
		T6_ = endsInNoReturn__sem_u429((*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T6_)) goto LA7_;
		T9_ = NIM_NIL;
		T9_ = commonType__sem_u256(c_p0, typ_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T9_); goto LA1_;}
		eqsink___ast_u3387(&typ_1, T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3381(&expectedType_2, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	T10_ = (NI)0;
	T10_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	last_1 = (NI)(T10_ - ((NI)1));
	catchAllExcepts_1 = ((NI)0);
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
				tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
				if (!(res_1 <= last_1)) goto LA13;
				a_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				i_1 = ((NI) (res_1));
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				checkMinSonsLen__semdata_u4675(a_1, ((NI)1), (*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				colontmpD_ = openScope__lookups_u65(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87))) goto LA17_;
					{
						NIM_BOOL T21_;
						NI T22_;
						tySequence__9ahcSjIErJohSBBFLwuF56Q colontmpD__2;
						tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T26_;
						T21_ = (NIM_BOOL)0;
						T22_ = (NI)0;
						T22_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						T21_ = (T22_ == ((NI)2));
						if (!(T21_)) goto LA23_;
						T21_ = ((*(*a_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41));
LA23_: ;
						if (!T21_) goto LA24_;
						colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
						T26_ = dotdot___stdZstrbasics_u49(((NI)0), ((NI)0));
						colontmpD__2 = (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons;
						eqwasMoved___ast_u3693((&(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons));
						X5BX5Deq___pragmas_u1583((&(*a_1)._kind_6.sons), T26_, ((colontmpD__2).p) ? (colontmpD__2.p->data) : NIM_NIL, colontmpD__2.len);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						eqdestroy___ast_u3696(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					}
LA24_: ;
					{
						NIM_BOOL T29_;
						NI T30_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typX60gensym3293__1;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* symbol_1;
						NIM_BOOL isImported_1;
						NIM_BOOL isImportedX60gensym3293__1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T53_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T54_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T61_;
						T29_ = (NIM_BOOL)0;
						T30_ = (NI)0;
						T30_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						T29_ = (T30_ == ((NI)2));
						if (!(T29_)) goto LA31_;
						T29_ = isInfixAs__ast_u7333((*a_1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
LA31_: ;
						if (!T29_) goto LA32_;
						typX60gensym3293__1 = NIM_NIL;
						colontmpD__3 = NIM_NIL;
						symbol_1 = NIM_NIL;
						colontmpD__3 = semTypeNode__sem_u89(c_p0, (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						typX60gensym3293__1 = toObject__ast_u7291(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						isImportedX60gensym3293__1 = NIM_FALSE;
						{
							NIM_BOOL T37_;
							T37_ = (NIM_BOOL)0;
							T37_ = isImportedException__ast_u7302(typX60gensym3293__1, (*(*c_p0).graph).config);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
							if (!T37_) goto LA38_;
							isImportedX60gensym3293__1 = NIM_TRUE;
						}
						goto LA35_;
LA38_: ;
						{
							NIM_BOOL T41_;
							T41_ = (NIM_BOOL)0;
							T41_ = isException__types_u4100(typX60gensym3293__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
							if (!!(T41_)) goto LA42_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1641, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1642, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						}
						goto LA35_;
LA42_: ;
						{
							NIM_BOOL T45_;
							T45_ = (NIM_BOOL)0;
							T45_ = isDefectOrCatchableError__types_u4157(typX60gensym3293__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
							if (!!(T45_)) goto LA46_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)79), TM__rF9caJawfOjYTjsgLVUSGFA_1644, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1645, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						}
						goto LA35_;
LA46_: ;
LA35_: ;
						{
							tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym3302__1;
							NIM_BOOL T50_;
							xX60gensym3302__1 = (*typX60gensym3293__1).itemId;
							T50_ = (NIM_BOOL)0;
							T50_ = containsOrIncl__astyaml_u223((&check_1), (NI)((NI)((NU32)(((NI) (xX60gensym3302__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym3302__1.item))));
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
							if (!T50_) goto LA51_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1647, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1648, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						}
LA51_: ;
						T53_ = NIM_NIL;
						T53_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]).info, typX60gensym3293__1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T53_); goto LA34_;}
						eqsink___ast_u3261(&(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], T53_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						isImported_1 = isImportedX60gensym3293__1;
						symbol_1 = newSymG__sem_u441(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9), (*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)2)], c_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						T54_ = NIM_NIL;
						{
							if (!isImported_1) goto LA57_;
							eqcopy___ast_u3381(&(*symbol_1).typ, (*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						}
						goto LA55_;
LA57_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T60_;
							T60_ = NIM_NIL;
							T60_ = toRef__ast_u7280((*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]).typField, (*c_p0).Sup.idgen);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T60_); goto LA34_;}
							eqsink___ast_u3387(&(*symbol_1).typ, T60_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						}
LA55_: ;
						addDecl__lookups_u3789(c_p0, symbol_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						T61_ = NIM_NIL;
						T61_ = newSymNode__ast_u5171(symbol_1, (*(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)2)]).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T61_); goto LA34_;}
						eqsink___ast_u3261(&(*(*a_1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)2)], T61_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
						{
							LA34_:;
						}
						{
							oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(symbol_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							eqdestroy___ast_u3378(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							eqdestroy___ast_u3378(typX60gensym3293__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							*nimErr_ = oldNimErrFin34_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					}
					goto LA27_;
LA32_: ;
					{
						NI T65_;
						T65_ = (NI)0;
						T65_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						if (!(T65_ == ((NI)1))) goto LA66_;
						catchAllExcepts_1 += ((NI)1);
						{
							if (!(((*(*(*c_p0).graph).config).legacyFeatures &((NU8)1<<((NU)((((tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA)6)))&7U)))!=0)) goto LA70_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)79), TM__rF9caJawfOjYTjsgLVUSGFA_1650, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1651, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						}
LA70_: ;
					}
					goto LA27_;
LA66_: ;
					{
						NIM_BOOL isNative_1;
						NIM_BOOL isImported_2;
						{
							if (!(((NI)0) < catchAllExcepts_1)) goto LA75_;
							catchAllExcepts_1 += ((NI)1);
						}
LA75_: ;
						isNative_1 = NIM_FALSE;
						isImported_2 = NIM_FALSE;
						{
							NI j_1;
							NI colontmp_;
							NI T78_;
							NI i_2;
							j_1 = (NI)0;
							colontmp_ = (NI)0;
							T78_ = (NI)0;
							T78_ = len__ast_u3190(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							colontmp_ = (NI)(T78_ - ((NI)1));
							i_2 = ((NI)0);
							{
								while (1) {
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typX60gensym3324__1;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
									NIM_BOOL tmp_1;
									NIM_BOOL isImportedX60gensym3324__1;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T100_;
									if (!(i_2 < colontmp_)) goto LA80;
									typX60gensym3324__1 = NIM_NIL;
									colontmpD__4 = NIM_NIL;
									j_1 = i_2;
									colontmpD__4 = semTypeNode__sem_u89(c_p0, (*a_1)._kind_6.sons.p->data[j_1], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									typX60gensym3324__1 = toObject__ast_u7291(colontmpD__4);
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									isImportedX60gensym3324__1 = NIM_FALSE;
									{
										NIM_BOOL T84_;
										T84_ = (NIM_BOOL)0;
										T84_ = isImportedException__ast_u7302(typX60gensym3324__1, (*(*c_p0).graph).config);
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
										if (!T84_) goto LA85_;
										isImportedX60gensym3324__1 = NIM_TRUE;
									}
									goto LA82_;
LA85_: ;
									{
										NIM_BOOL T88_;
										T88_ = (NIM_BOOL)0;
										T88_ = isException__types_u4100(typX60gensym3324__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
										if (!!(T88_)) goto LA89_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[j_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1652, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1642, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									}
									goto LA82_;
LA89_: ;
									{
										NIM_BOOL T92_;
										T92_ = (NIM_BOOL)0;
										T92_ = isDefectOrCatchableError__types_u4157(typX60gensym3324__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
										if (!!(T92_)) goto LA93_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)79), TM__rF9caJawfOjYTjsgLVUSGFA_1653, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1645, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									}
									goto LA82_;
LA93_: ;
LA82_: ;
									{
										tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym3333__1;
										NIM_BOOL T97_;
										xX60gensym3333__1 = (*typX60gensym3324__1).itemId;
										T97_ = (NIM_BOOL)0;
										T97_ = containsOrIncl__astyaml_u223((&check_1), (NI)((NI)((NU32)(((NI) (xX60gensym3333__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym3333__1.item))));
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
										if (!T97_) goto LA98_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[j_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1654, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1648, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									}
LA98_: ;
									T100_ = NIM_NIL;
									T100_ = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4), (*(*a_1)._kind_6.sons.p->data[j_1]).info, typX60gensym3324__1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T100_); goto LA81_;}
									eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[j_1], T100_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
									tmp_1 = isImportedX60gensym3324__1;
									{
										if (!tmp_1) goto LA103_;
										isImported_2 = NIM_TRUE;
									}
									goto LA101_;
LA103_: ;
									{
										isNative_1 = NIM_TRUE;
									}
LA101_: ;
									i_2 += ((NI)1);
									{
										LA81_:;
									}
									{
										oldNimErrFin81_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3378(colontmpD__4);
										if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
										eqdestroy___ast_u3378(typX60gensym3324__1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
										*nimErr_ = oldNimErrFin81_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
								} LA80: ;
							}
						}
						{
							NIM_BOOL T110_;
							T110_ = (NIM_BOOL)0;
							T110_ = isNative_1;
							if (!(T110_)) goto LA111_;
							T110_ = isImported_2;
LA111_: ;
							if (!T110_) goto LA112_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*a_1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1656, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1657, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						}
LA112_: ;
					}
LA27_: ;
				}
				goto LA15_;
LA17_: ;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA115_;
					{
						NI T119_;
						T119_ = (NI)0;
						T119_ = len__ast_u3190(n_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						if (!!((i_1 == (NI)(T119_ - ((NI)1))))) goto LA120_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1659, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1660, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					}
LA120_: ;
				}
				goto LA15_;
LA115_: ;
				{
					illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				}
LA15_: ;
				{
					if (!(((NI)1) < catchAllExcepts_1)) goto LA125_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1662, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1663, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				}
LA125_: ;
				{
					NI T131_;
					NI T132_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T133_;
					NI T134_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T135_;
					if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107)))) goto LA129_;
					T131_ = (NI)0;
					T131_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					T132_ = (NI)0;
					T132_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					T133_ = NIM_NIL;
					T133_ = semExprBranchScope__sem_u15050(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T132_ - ((NI)1))], expectedType_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T133_); goto LA14_;}
					eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[(NI)(T131_ - ((NI)1))], T133_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					T134_ = (NI)0;
					T134_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					T135_ = NIM_NIL;
					T135_ = commonType__sem_u431(c_p0, typ_1, (*a_1)._kind_6.sons.p->data[(NI)(T134_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T135_); goto LA14_;}
					eqsink___ast_u3387(&typ_1, T135_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					{
						NI T138_;
						NIM_BOOL T139_;
						T138_ = (NI)0;
						T138_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						T139_ = (NIM_BOOL)0;
						T139_ = endsInNoReturn__sem_u429((*a_1)._kind_6.sons.p->data[(NI)(T138_ - ((NI)1))]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						if (!!(T139_)) goto LA140_;
						eqcopy___ast_u3381(&expectedType_2, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					}
LA140_: ;
				}
				goto LA127_;
LA129_: ;
				{
					NI T143_;
					NI T144_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T145_;
					T143_ = (NI)0;
					T143_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					T144_ = (NI)0;
					T144_ = len__ast_u3190(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					T145_ = NIM_NIL;
					T145_ = semExprBranchScope__sem_u15050(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T144_ - ((NI)1))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T145_); goto LA14_;}
					eqsink___ast_u3261(&(*a_1)._kind_6.sons.p->data[(NI)(T143_ - ((NI)1))], T145_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					last_1 -= ((NI)1);
				}
LA127_: ;
				closeScope__lookups_u102(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				res_1 += ((NI)1);
				{
					LA14_:;
				}
				{
					oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___lookups_u74(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin14_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA13: ;
		}
	}
	{
		NIM_BOOL T150_;
		T150_ = (NIM_BOOL)0;
		T150_ = isEmptyType__ast_u7234(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T150_) goto LA151_;
		T150_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5) || (*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6));
LA151_: ;
		if (!T150_) goto LA152_;
		discardCheck__sem_u15189(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			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* colontmpD__5;
					if (!(i_4 < colontmp__2)) goto LA156;
					colontmpD__5 = NIM_NIL;
					i_3 = i_4;
					colontmpD__5 = lastSon__ast_u5208((*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
					discardCheck__sem_u15189(c_p0, colontmpD__5, flags_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
					i_4 += ((NI)1);
					{
						LA157_:;
					}
					{
						oldNimErrFin157_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin157_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA156: ;
			}
		}
		{
			if (!(typ_1 == (*c_p0).enforceVoidContext)) goto LA162_;
			eqcopy___ast_u3381(&(*result).typField, (*c_p0).enforceVoidContext);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA162_: ;
	}
	goto LA148_;
LA152_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		colontmpD__6 = NIM_NIL;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
			colontmpD__6 = lastSon__ast_u5208(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			if (!((*colontmpD__6).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA168_;
			colontmpD__7 = NIM_NIL;
			colontmpD__8 = NIM_NIL;
			colontmpD__7 = lastSon__ast_u5208(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
			colontmpD__8 = lastSon__ast_u5208(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
			discardCheck__sem_u15189(c_p0, colontmpD__8, flags_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA170_;
			{
				LA170_:;
			}
			{
				oldNimErrFin170_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
				eqdestroy___ast_u3252(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
				*nimErr_ = oldNimErrFin170_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
		}
LA168_: ;
		{
			NIM_BOOL T175_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T178_;
			T175_ = (NIM_BOOL)0;
			T175_ = endsInNoReturn__sem_u429((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
			if (!!(T175_)) goto LA176_;
			T178_ = NIM_NIL;
			T178_ = fitNode__sem_u79(c_p0, typ_1, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T178_); goto LA165_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T178_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
		}
LA176_: ;
		{
			NI i_5;
			NI res_2;
			i_5 = (NI)0;
			res_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					NI j_2;
					NI T183_;
					if (!(res_2 <= last_1)) goto LA181;
					it_1 = NIM_NIL;
					i_5 = ((NI) (res_2));
					eqcopy___ast_u3255(&it_1, (*n_p1)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA182_;
					T183_ = (NI)0;
					T183_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA182_;
					j_2 = (NI)(T183_ - ((NI)1));
					{
						NIM_BOOL T186_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T189_;
						T186_ = (NIM_BOOL)0;
						T186_ = endsInNoReturn__sem_u429((*it_1)._kind_6.sons.p->data[j_2]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA182_;
						if (!!(T186_)) goto LA187_;
						T189_ = NIM_NIL;
						T189_ = fitNode__sem_u79(c_p0, typ_1, (*it_1)._kind_6.sons.p->data[j_2], (*(*it_1)._kind_6.sons.p->data[j_2]).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T189_); goto LA182_;}
						eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[j_2], T189_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA182_;
					}
LA187_: ;
					res_2 += ((NI)1);
					{
						LA182_:;
					}
					{
						oldNimErrFin182_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
						*nimErr_ = oldNimErrFin182_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
				} LA181: ;
			}
		}
		eqsink___ast_u3387(&(*result).typField, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
		eqwasMoved___ast_u3375(&typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
		{
			LA165_:;
		}
		{
			oldNimErrFin165_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin165_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA148_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(expectedType_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&check_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semBreakOrContinue__sem_u14957)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA3_;
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T14_;
			if (!!(((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111)))) goto LA7_;
			s_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			s_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
			switch ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T11_;
				T11_ = NIM_NIL;
				T11_ = lookUp__lookups_u5157(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T11_); goto LA9_;}
				eqsink___ast_u4583(&s_1, T11_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
			{
				eqcopy___ast_u4577(&s_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
			break;
			default:
			{
				illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
			break;
			}
			T14_ = NIM_NIL;
			T14_ = getGenSym__semdata_u2268(c_p0, s_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T14_); goto LA9_;}
			eqsink___ast_u4583(&s_1, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				NIM_BOOL T17_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym3135__1;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym3137__1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
				tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* T21_;
				T17_ = (NIM_BOOL)0;
				T17_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)22));
				if (!(T17_)) goto LA18_;
				colontmpD_ = owner__ast_u6254(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				xX60gensym3135__1 = (*colontmpD_).itemId;
				xX60gensym3137__1 = (*(*(*c_p0).p).owner).itemId;
				T17_ = ((NI)((NI)((NU32)(((NI) (xX60gensym3135__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym3135__1.item))) == (NI)((NI)((NU32)(((NI) (xX60gensym3137__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym3137__1.item))));
LA18_: ;
				if (!T17_) goto LA19_;
				x_1 = NIM_NIL;
				x_1 = newSymNode__ast_u5168(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				(*x_1).info = (*n_p1).info;
				(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0))) & 63);
				eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				T21_ = NIM_NIL;
				T21_ = (*c_p0).graph;
				suggestSym__sigmatch_u6643(T21_, (*x_1).info, s_1, &(*(*c_p0).graph).usageSym, NIM_TRUE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
			goto LA15_;
LA19_: ;
			{
				NimStringV2 colontmpD__2;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1665, (*(*s_1).name).s);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1666, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				{
					LA23_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
LA15_: ;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u4574(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1668, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1669, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T30_;
		NIM_BOOL T31_;
		T30_ = (NIM_BOOL)0;
		T31_ = (NIM_BOOL)0;
		T31_ = (((NI)0) < (*(*c_p0).p).nestedBlockCounter);
		if (!(T31_)) goto LA32_;
		T31_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110));
LA32_: ;
		T30_ = T31_;
		if (!(T30_)) goto LA33_;
		T30_ = !((*(*c_p0).p).breakInLoop);
LA33_: ;
		if (!T30_) goto LA34_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)77), TM__rF9caJawfOjYTjsgLVUSGFA_1670, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1671, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA34_: ;
	{
		NIM_BOOL T37_;
		NIM_BOOL T39_;
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		T37_ = (NIM_BOOL)0;
		T37_ = ((*(*c_p0).p).nestedLoopCounter <= ((NI)0));
		if (!(T37_)) goto LA38_;
		T39_ = (NIM_BOOL)0;
		T39_ = ((*(*c_p0).p).nestedBlockCounter <= ((NI)0));
		if (T39_) goto LA40_;
		T39_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111));
LA40_: ;
		T37_ = T39_;
LA38_: ;
		if (!T37_) goto LA41_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__3 = renderTree__renderer_u59(n_p1, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		colontmpD__4 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1672, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1673, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		{
			LA43_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA41_: ;
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleStmtMacro__sem_u17009)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* selector_p2, NimStringV2 magicType_p3, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* maType_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headSymbol_1;
		tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* match_1;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* symx_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* callExpr_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*selector_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*selector_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*selector_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*selector_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*selector_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*selector_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*selector_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32))) goto LA3_;
		maType_1 = NIM_NIL;
		headSymbol_1 = NIM_NIL;
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		match_1 = NIM_NIL;
		symx_1 = NIM_NIL;
		callExpr_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		maType_1 = getCompilerProc__magicsys_u150((*c_p0).graph, magicType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			if (!(maType_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA8_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(callExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(symx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(match_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___lookups_u6249((&o_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(headSymbol_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(maType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA8_: ;
		eqcopy___ast_u3255(&headSymbol_1, (*selector_p2)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
		match_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		symx_1 = initOverloadIter__lookups_u5784((&o_1), c_p0, headSymbol_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T35_;
				if (!!((symx_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA11;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
					if (!((*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*symx_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17))) goto LA14_;
					colontmpD__2 = NIM_NIL;
					{
						NIM_BOOL T19_;
						NI T20_;
						T19_ = (NIM_BOOL)0;
						T20_ = (NI)0;
						T20_ = len__ast_u5502((*symx_1).typ);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						T19_ = (T20_ == ((NI)2));
						if (!(T19_)) goto LA21_;
						colontmpD__2 = firstParamType__ast_u5363((*symx_1).typ);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						T19_ = (colontmpD__2 == (*maType_1).typ);
LA21_: ;
						if (!T19_) goto LA22_;
						{
							if (!(match_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA26_;
							eqsink___ast_u4583(&match_1, symx_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							eqwasMoved___ast_u4571(&symx_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						}
						goto LA24_;
LA26_: ;
						{
							NimStringV2 colontmpD__3;
							NimStringV2 colontmpD__4;
							NimStringV2 colontmpD__5;
							NimStringV2 colontmpD__6;
							tyArray__dyW7vpmfeTYw8kX3EXuaJA T30_;
							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__3 = getProcHeader__types_u219((*(*c_p0).graph).config, match_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0), NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							T30_[0] = colontmpD__3;
							colontmpD__4 = getProcHeader__types_u219((*(*c_p0).graph).config, symx_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0), NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							T30_[1] = colontmpD__4;
							colontmpD__5 = dollar___renderer_u2166(selector_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							T30_[2] = colontmpD__5;
							colontmpD__6 = percent___sem_u3298(T30_, 3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1674, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
							{
								LA29_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__6);
								eqdestroy___system_u2691(colontmpD__5);
								eqdestroy___system_u2691(colontmpD__4);
								eqdestroy___system_u2691(colontmpD__3);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						}
LA24_: ;
					}
LA22_: ;
					{
						LA16_:;
					}
					{
						oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						*nimErr_ = oldNimErrFin16_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
LA14_: ;
				T35_ = NIM_NIL;
				T35_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, headSymbol_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T35_); goto LA5_;}
				eqsink___ast_u4583(&symx_1, T35_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			} LA11: ;
		}
		{
			if (!(match_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA38_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(callExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(symx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(match_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___lookups_u6249((&o_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(headSymbol_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(maType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA38_: ;
		callExpr_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = newSymNode__ast_u5168(match_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(callExpr_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(callExpr_1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		switch ((*match_1).kind) {
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
		{
			result = semMacroExpr__sem_u541(c_p0, callExpr_1, callExpr_1, match_1, flags_p4, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
		{
			result = semTemplateExpr__sem_u535(c_p0, callExpr_1, match_1, flags_p4, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		break;
		default:
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
		break;
		}
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(callExpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(symx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(match_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___lookups_u6249((&o_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(headSymbol_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(maType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleForLoopMacro__sem_u17058)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (NI)0;
	T1_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = handleStmtMacro__sem_u17009(c_p0, n_p1, (*n_p1)._kind_6.sons.p->data[(NI)(T1_ - ((NI)2))], TM__rF9caJawfOjYTjsgLVUSGFA_1676, flags_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprNoDeref__sem_u71)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = semExprCheck__sem_u21910(c_p0, n_p1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T6_;
		if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = renderTree__renderer_u59(result, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1678, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1679, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T6_ = NIM_NIL;
		T6_ = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T6_); goto LA5_;}
		eqsink___ast_u3387(&(*result).typField, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrivalStmtExpr__sem_u16997)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T2_ - ((NI)1));
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					if (!!(((*(*n_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) || (*(*n_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125)))) goto LA7_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
LA7_: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, symForVar__sem_u16733)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	m_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	T2_ = NIM_NIL;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA5_;
		eqcopy___ast_u3255(&m_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA5_: ;
	{
		eqcopy___ast_u3255(&m_1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	result = newSymG__sem_u441(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21), m_1, c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		NIM_BOOL T14_;
		NIM_BOOL T15_;
		NIM_BOOL T16_;
		NIM_BOOL T17_;
		NIM_BOOL T18_;
		NIM_BOOL T19_;
		NIM_BOOL T20_;
		tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T22_;
		NIM_BOOL T31_;
		tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T34_;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T14_ = (NIM_BOOL)0;
		T15_ = (NIM_BOOL)0;
		T16_ = (NIM_BOOL)0;
		T17_ = (NIM_BOOL)0;
		T18_ = (NIM_BOOL)0;
		T19_ = (NIM_BOOL)0;
		T20_ = (NIM_BOOL)0;
		T20_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
		if (!(T20_)) goto LA21_;
		T22_ = 0;
		T20_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T22_));
LA21_: ;
		T19_ = T20_;
		if (!(T19_)) goto LA23_;
		T19_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA23_: ;
		T18_ = T19_;
		if (!(T18_)) goto LA24_;
		colontmpD_ = getModule__modulegraphs_u14809((*c_p0).graph, (*result).info.fileIndex);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T18_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA24_: ;
		T17_ = T18_;
		if (!(T17_)) goto LA25_;
		T17_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA25_: ;
		T16_ = T17_;
		if (!(T16_)) goto LA26_;
		T16_ = !(((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA26_: ;
		T15_ = T16_;
		if (!(T15_)) goto LA27_;
		T15_ = !(((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA27_: ;
		T14_ = T15_;
		if (!(T14_)) goto LA28_;
		T14_ = (((NU8)((*(*result).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*result).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*result).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*result).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*result).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*result).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*result).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*result).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*result).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA28_: ;
		T13_ = T14_;
		if (!(T13_)) goto LA29_;
		T13_ = !(((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA29_: ;
		T12_ = T13_;
		if (!(T12_)) goto LA30_;
		T31_ = (NIM_BOOL)0;
		T31_ = ((*result).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T31_) goto LA32_;
		T31_ = !(((*(*result).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA32_: ;
		T12_ = T31_;
LA30_: ;
		T11_ = T12_;
		if (!(T11_)) goto LA33_;
		T34_ = 0;
		T11_ = ((192 & (*result).flags) == T34_);
LA33_: ;
		T10_ = T11_;
		if (!(T10_)) goto LA35_;
		T10_ = !((((*result).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA35_: ;
		if (!T10_) goto LA36_;
		nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*result).info, result, (*result).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA36_: ;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43))) goto LA40_;
		pragma__pragmas_u120(c_p0, result, (*n_p1)._kind_6.sons.p->data[((NI)1)], TM__rF9caJawfOjYTjsgLVUSGFA_1688, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA40_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(m_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semForVars__sem_u16802)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* iterBase_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* iterType_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* iter_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* iterAfterVarLent_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	NI T2_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T3_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin77_;
NIM_BOOL oldNimErrFin125_;
NIM_BOOL oldNimErrFin152_;
	NIM_BOOL oldBreakInLoop_1;
	NI T179_;
	NI T180_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T181_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	iterBase_1 = NIM_NIL;
	iterType_1 = NIM_NIL;
	iter_1 = NIM_NIL;
	iterAfterVarLent_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NI)0;
	T2_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&iterBase_1, (*(*n_p1)._kind_6.sons.p->data[(NI)(T2_ - ((NI)2))]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = NIM_NIL;
	{
		if (!((*iterBase_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)64))) goto LA6_;
		iterType_1 = skipModifier__ast_u5338(iterBase_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA4_;
LA6_: ;
	{
		iterType_1 = skipTypes__ast_u5379(iterBase_1, TM__rF9caJawfOjYTjsgLVUSGFA_1680);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	iter_1 = skipTypes__ast_u5379(iterType_1, TM__rF9caJawfOjYTjsgLVUSGFA_357);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	iterAfterVarLent_1 = skipTypes__ast_u5379(iter_1, TM__rF9caJawfOjYTjsgLVUSGFA_1681);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NI T14_;
		NI T15_;
		if (!((*iterAfterVarLent_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3))) goto LA11_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T14_ = (NI)0;
		T14_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		T15_ = (NI)0;
		T15_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__2 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[(NI)(T15_ - ((NI)2))], 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1683, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[(NI)(T14_ - ((NI)2))]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1684, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	{
		NIM_BOOL T20_;
		NI T22_;
		T20_ = (NIM_BOOL)0;
		T20_ = !(((*iterAfterVarLent_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18)));
		if (T20_) goto LA21_;
		T22_ = (NI)0;
		T22_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T20_ = (T22_ == ((NI)3));
LA21_: ;
		if (!T20_) goto LA23_;
		{
			NI T27_;
			T27_ = (NI)0;
			T27_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T27_ == ((NI)3))) goto LA28_;
			{
				if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA32_;
				{
					NimStringV2 colontmpD__4;
					NimStringV2 colontmpD__5;
					tyArray__YgExxhfgKcesA5EOUj1MOA T39_;
					if (!!(((*iterAfterVarLent_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18)))) goto LA36_;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
					colontmpD__4 = typeToString__types_u54((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					T39_[0] = colontmpD__4;
					colontmpD__5 = percent___sem_u15896(T39_, 1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1685, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					result = errorNode__semdata_u4571(c_p0, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___lookups_u74(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iterAfterVarLent_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iter_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iterType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iterBase_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
					{
						LA38_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__5);
						eqdestroy___system_u2691(colontmpD__4);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA34_;
LA36_: ;
				{
					NI T43_;
					NI T44_;
					T43_ = (NI)0;
					T43_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T44_ = (NI)0;
					T44_ = len__ast_u5502(iterAfterVarLent_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					if (!!(((NI)(T43_ - ((NI)1)) == T44_))) goto LA45_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1686, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1687, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					result = errorNode__semdata_u4571(c_p0, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___lookups_u74(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iterAfterVarLent_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iter_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iterType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(iterBase_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
				goto LA34_;
LA45_: ;
LA34_: ;
				{
					NI i_1;
					NI colontmp_;
					NI T48_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					T48_ = (NI)0;
					T48_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					colontmp_ = (NI)(T48_ - ((NI)1));
					i_2 = ((NI)0);
					{
						while (1) {
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__7;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T63_;
							if (!(i_2 < colontmp_)) goto LA50;
							v_1 = NIM_NIL;
							colontmpD__6 = NIM_NIL;
							colontmpD__7 = NIM_NIL;
							i_1 = i_2;
							v_1 = symForVar__sem_u16733(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[i_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							{
								colontmpD__6 = getCurrOwner__semdata_u425(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								if (!((*colontmpD__6).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6))) goto LA54_;
								(*v_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
							}
LA54_: ;
							switch ((*iter_1).kind) {
							case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
							case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T57_;
								T57_ = NIM_NIL;
								T57_ = newTypeS__semdata_u4368((*iter_1).kind, c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T57_); goto LA51_;}
								eqsink___ast_u3387(&(*v_1).typ, T57_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								add__ast_u3881((*v_1).typ, (*iterAfterVarLent_1).sons.p->data[i_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								{
									if (!(((*iter_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20)))&63U)))!=0)) goto LA60_;
									(*(*v_1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20))) & 63);
								}
LA60_: ;
							}
							break;
							default:
							{
								eqcopy___ast_u3381(&(*v_1).typ, (*iter_1).sons.p->data[i_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							}
							break;
							}
							T63_ = NIM_NIL;
							T63_ = newSymNode__ast_u5168(v_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T63_); goto LA51_;}
							eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[i_1], T63_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							{
								NIM_BOOL T66_;
								NIM_BOOL T68_;
								T66_ = (NIM_BOOL)0;
								T66_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0));
								if (!(T66_)) goto LA67_;
								T68_ = (NIM_BOOL)0;
								T68_ = isDiscardUnderscore__sem_u15535(v_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								T66_ = !(T68_);
LA67_: ;
								if (!T66_) goto LA69_;
								addDecl__lookups_u3789(c_p0, v_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							}
							goto LA64_;
LA69_: ;
							{
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__8;
								colontmpD__7 = owner__ast_u6254(v_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								if (!(colontmpD__7 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA72_;
								colontmpD__8 = NIM_NIL;
								colontmpD__8 = getCurrOwner__semdata_u425(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								setOwner__icZic_u12851(v_1, colontmpD__8);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
								eqdestroy___ast_u4574(colontmpD__8);
								if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
							}
							goto LA64_;
LA72_: ;
LA64_: ;
							i_2 += ((NI)1);
							{
								LA51_:;
							}
							{
								oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(colontmpD__7);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___ast_u4574(colontmpD__6);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___ast_u4574(v_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								*nimErr_ = oldNimErrFin51_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						} LA50: ;
					}
				}
			}
			goto LA30_;
LA32_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_2;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__9;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__10;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T82_;
				v_2 = NIM_NIL;
				colontmpD__9 = NIM_NIL;
				colontmpD__10 = NIM_NIL;
				v_2 = symForVar__sem_u16733(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				{
					colontmpD__9 = getCurrOwner__semdata_u425(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
					if (!((*colontmpD__9).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6))) goto LA80_;
					(*v_2).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
				}
LA80_: ;
				eqsink___ast_u3387(&(*v_2).typ, iterType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				eqwasMoved___ast_u3375(&iterType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				T82_ = NIM_NIL;
				T82_ = newSymNode__ast_u5168(v_2);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T82_); goto LA77_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T82_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				{
					NIM_BOOL T85_;
					NIM_BOOL T87_;
					T85_ = (NIM_BOOL)0;
					T85_ = !((((*v_2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0));
					if (!(T85_)) goto LA86_;
					T87_ = (NIM_BOOL)0;
					T87_ = isDiscardUnderscore__sem_u15535(v_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
					T85_ = !(T87_);
LA86_: ;
					if (!T85_) goto LA88_;
					addDecl__lookups_u3789(c_p0, v_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				}
				goto LA83_;
LA88_: ;
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__11;
					colontmpD__10 = owner__ast_u6254(v_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
					if (!(colontmpD__10 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA91_;
					colontmpD__11 = NIM_NIL;
					colontmpD__11 = getCurrOwner__semdata_u425(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
					setOwner__icZic_u12851(v_2, colontmpD__11);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
					eqdestroy___ast_u4574(colontmpD__11);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				}
				goto LA83_;
LA91_: ;
LA83_: ;
				{
					LA77_:;
				}
				{
					oldNimErrFin77_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD__10);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(v_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin77_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA30_: ;
		}
		goto LA25_;
LA28_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1689, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1690, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA25_: ;
	}
	goto LA18_;
LA23_: ;
	{
		NI T97_;
		NI T98_;
		T97_ = (NI)0;
		T97_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T98_ = (NI)0;
		T98_ = len__ast_u5502(iterAfterVarLent_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(((NI)(T97_ - ((NI)2)) == T98_))) goto LA99_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1691, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1692, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA18_;
LA99_: ;
	{
		{
			NI i_3;
			NI colontmp__2;
			NI T103_;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			T103_ = (NI)0;
			T103_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmp__2 = (NI)(T103_ - ((NI)2));
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA105;
					i_3 = i_4;
					{
						NIM_BOOL mutable_1;
						NIM_BOOL isLent_1;
						if (!((*(*n_p1)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36))) goto LA108_;
						mutable_1 = NIM_FALSE;
						isLent_1 = NIM_FALSE;
						switch ((*(*iter_1).sons.p->data[i_3]).kind) {
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T111_;
							mutable_1 = NIM_TRUE;
							T111_ = NIM_NIL;
							T111_ = skipTypes__ast_u5379((*iter_1).sons.p->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_638);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T111_); goto LA1_;}
							eqsink___ast_u3387(&(*iter_1).sons.p->data[i_3], T111_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
						break;
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T113_;
							isLent_1 = NIM_TRUE;
							T113_ = NIM_NIL;
							T113_ = skipTypes__ast_u5379((*iter_1).sons.p->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_1693);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T113_); goto LA1_;}
							eqsink___ast_u3387(&(*iter_1).sons.p->data[i_3], T113_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
						break;
						default:
						{
						}
						break;
						}
						{
							NI T117_;
							NI T118_;
							T117_ = (NI)0;
							T117_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							T118_ = (NI)0;
							T118_ = len__ast_u5502((*iter_1).sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!!(((NI)(T117_ - ((NI)1)) == T118_))) goto LA119_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[i_3]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1694, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1695, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
LA119_: ;
						{
							NI j_1;
							NI colontmp__3;
							NI T122_;
							NI i_5;
							j_1 = (NI)0;
							colontmp__3 = (NI)0;
							T122_ = (NI)0;
							T122_ = len__ast_u3190((*n_p1)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							colontmp__3 = (NI)(T122_ - ((NI)1));
							i_5 = ((NI)0);
							{
								while (1) {
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_3;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__12;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__13;
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T140_;
									if (!(i_5 < colontmp__3)) goto LA124;
									v_3 = NIM_NIL;
									colontmpD__12 = NIM_NIL;
									colontmpD__13 = NIM_NIL;
									j_1 = i_5;
									v_3 = symForVar__sem_u16733(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[j_1]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
									{
										colontmpD__12 = getCurrOwner__semdata_u425(c_p0);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
										if (!((*colontmpD__12).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6))) goto LA128_;
										(*v_3).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
									}
LA128_: ;
									{
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T134_;
										if (!mutable_1) goto LA132_;
										T134_ = NIM_NIL;
										T134_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T134_); goto LA125_;}
										eqsink___ast_u3387(&(*v_3).typ, T134_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
										add__ast_u3881((*v_3).typ, (*(*iter_1).sons.p->data[i_3]).sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
									}
									goto LA130_;
LA132_: ;
									{
										tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T138_;
										if (!isLent_1) goto LA136_;
										T138_ = NIM_NIL;
										T138_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T138_); goto LA125_;}
										eqsink___ast_u3387(&(*v_3).typ, T138_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
										add__ast_u3881((*v_3).typ, (*(*iter_1).sons.p->data[i_3]).sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
									}
									goto LA130_;
LA136_: ;
									{
										eqcopy___ast_u3381(&(*v_3).typ, (*(*iter_1).sons.p->data[i_3]).sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
									}
LA130_: ;
									T140_ = NIM_NIL;
									T140_ = newSymNode__ast_u5168(v_3);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T140_); goto LA125_;}
									eqsink___ast_u3261(&(*(*n_p1)._kind_6.sons.p->data[i_3])._kind_6.sons.p->data[j_1], T140_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
									{
										NIM_BOOL T143_;
										T143_ = (NIM_BOOL)0;
										T143_ = isDiscardUnderscore__sem_u15535(v_3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
										if (!!(T143_)) goto LA144_;
										addDecl__lookups_u3789(c_p0, v_3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
									}
									goto LA141_;
LA144_: ;
									{
										tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__14;
										colontmpD__13 = owner__ast_u6254(v_3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
										if (!(colontmpD__13 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA147_;
										colontmpD__14 = NIM_NIL;
										colontmpD__14 = getCurrOwner__semdata_u425(c_p0);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
										setOwner__icZic_u12851(v_3, colontmpD__14);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
										eqdestroy___ast_u4574(colontmpD__14);
										if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
									}
									goto LA141_;
LA147_: ;
LA141_: ;
									i_5 += ((NI)1);
									{
										LA125_:;
									}
									{
										oldNimErrFin125_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u4574(colontmpD__13);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
										eqdestroy___ast_u4574(colontmpD__12);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
										eqdestroy___ast_u4574(v_3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
										*nimErr_ = oldNimErrFin125_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								} LA124: ;
							}
						}
					}
					goto LA106_;
LA108_: ;
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_4;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__15;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__16;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T164_;
						v_4 = NIM_NIL;
						colontmpD__15 = NIM_NIL;
						colontmpD__16 = NIM_NIL;
						v_4 = symForVar__sem_u16733(c_p0, (*n_p1)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
						{
							colontmpD__15 = getCurrOwner__semdata_u425(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
							if (!((*colontmpD__15).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6))) goto LA155_;
							(*v_4).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3))) & 63);
						}
LA155_: ;
						switch ((*iter_1).kind) {
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
						case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T158_;
							T158_ = NIM_NIL;
							T158_ = newTypeS__semdata_u4368((*iter_1).kind, c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T158_); goto LA152_;}
							eqsink___ast_u3387(&(*v_4).typ, T158_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
							add__ast_u3881((*v_4).typ, (*iterAfterVarLent_1).sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
							{
								if (!(((*iter_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20)))&63U)))!=0)) goto LA161_;
								(*(*v_4).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20))) & 63);
							}
LA161_: ;
						}
						break;
						default:
						{
							eqcopy___ast_u3381(&(*v_4).typ, (*iter_1).sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
						}
						break;
						}
						T164_ = NIM_NIL;
						T164_ = newSymNode__ast_u5168(v_4);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T164_); goto LA152_;}
						eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_3], T164_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
						{
							if (!!((((*v_4).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)37)))&63U)))!=0))) goto LA167_;
							{
								NIM_BOOL T171_;
								T171_ = (NIM_BOOL)0;
								T171_ = isDiscardUnderscore__sem_u15535(v_4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
								if (!!(T171_)) goto LA172_;
								addDecl__lookups_u3789(c_p0, v_4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
							}
LA172_: ;
						}
						goto LA165_;
LA167_: ;
						{
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__17;
							colontmpD__16 = owner__ast_u6254(v_4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
							if (!(colontmpD__16 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA175_;
							colontmpD__17 = NIM_NIL;
							colontmpD__17 = getCurrOwner__semdata_u425(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
							setOwner__icZic_u12851(v_4, colontmpD__17);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
							eqdestroy___ast_u4574(colontmpD__17);
							if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
						}
						goto LA165_;
LA175_: ;
LA165_: ;
						{
							LA152_:;
						}
						{
							oldNimErrFin152_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(colontmpD__16);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u4574(colontmpD__15);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u4574(v_4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							*nimErr_ = oldNimErrFin152_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA106_: ;
					i_4 += ((NI)1);
				} LA105: ;
			}
		}
	}
LA18_: ;
	(*(*c_p0).p).nestedLoopCounter += ((NI)1);
	oldBreakInLoop_1 = (*(*c_p0).p).breakInLoop;
	(*(*c_p0).p).breakInLoop = NIM_TRUE;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T179_ = (NI)0;
	T179_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T180_ = (NI)0;
	T180_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T181_ = NIM_NIL;
	T181_ = semExprBranch__sem_u15036(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T180_ - ((NI)1))], flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T181_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T179_ - ((NI)1))], T181_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T186_;
		if (!!(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0))) goto LA184_;
		T186_ = (NI)0;
		T186_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		discardCheck__sem_u15189(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T186_ - ((NI)1))], flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA184_: ;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*(*c_p0).p).breakInLoop = oldBreakInLoop_1;
	(*(*c_p0).p).nestedLoopCounter -= ((NI)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(iterAfterVarLent_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(iter_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(iterType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(iterBase_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, instFieldLoopBody__sem_u16492)(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forLoop_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((c_p0.field == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = isEmptyType__ast_u7234((*c_p0.field).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
		if (!T3_) goto LA5_;
		result = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
		result = copyNode__ast_u6736(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_1;
		ident_1 = NIM_NIL;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		ident_1 = considerQuotedIdent__lookups_u31(c_p0.c, n_p1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			NIM_BOOL T12_;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
			T12_ = (NIM_BOOL)0;
			T12_ = c_p0.replaceByFieldName;
			if (!(T12_)) goto LA13_;
			T12_ = !(((*ident_1).id == ((NI)74)));
LA13_: ;
			if (!T12_) goto LA14_;
			colontmpD_ = NIM_NIL;
			{
				NimStringV2 fieldName_1;
				NimStringV2 T22_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
				colontmpD_ = considerQuotedIdent__lookups_u31(c_p0.c, (*forLoop_p2)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
				if (!((*ident_1).id == (*colontmpD_).id)) goto LA19_;
				fieldName_1.len = 0; fieldName_1.p = NIM_NIL;
				T22_.len = 0; T22_.p = NIM_NIL;
				{
					if (!(c_p0.tupleType == 0)) goto LA25_;
					eqcopy___system_u2694((&fieldName_1), (*(*c_p0.field).name).s);
				}
				goto LA23_;
LA25_: ;
				{
					NimStringV2 colontmpD__2;
					NimStringV2 T30_;
					if (!((*c_p0.tupleType).n == 0)) goto LA28_;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					T30_.len = 0; T30_.p = NIM_NIL;
					colontmpD__2 = dollar___systemZdollars_u9(c_p0.tupleIndex);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					T30_ = rawNewString(colontmpD__2.len + 5);
appendString((&T30_), TM__rF9caJawfOjYTjsgLVUSGFA_1710);
appendString((&T30_), colontmpD__2);
					fieldName_1 = T30_;
					eqdestroy___system_u2691(colontmpD__2);
				}
				goto LA23_;
LA28_: ;
				{
					eqcopy___system_u2694((&fieldName_1), (*(*(*(*(*c_p0.tupleType).n)._kind_6.sons.p->data[c_p0.tupleIndex])._kind_4.sym).name).s);
				}
LA23_: ;
				T32_ = NIM_NIL;
				T32_ = newStrNode__ast_u5422(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), fieldName_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA21_;}
				eqsink___ast_u3261(&result, T32_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
				eqdestroy___system_u2691(fieldName_1);
				eqdestroy___idents_u155(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				eqdestroy___idents_u155(ident_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
				{
					LA21_:;
				}
				{
					eqdestroy___system_u2691(fieldName_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			}
LA19_: ;
			{
				LA16_:;
			}
			{
				oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___idents_u155(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				*nimErr_ = oldNimErrFin16_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		}
LA14_: ;
		{
			NI i_1;
			NI colontmp_;
			NI colontmp__2;
			NI T38_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp__2 = (NI)0;
			colontmp_ = c_p0.replaceByFieldName;
			T38_ = (NI)0;
			T38_ = len__ast_u3190(forLoop_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			colontmp__2 = (NI)(T38_ - ((NI)2));
			i_2 = colontmp_;
			{
				while (1) {
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__3;
					if (!(i_2 < colontmp__2)) goto LA40;
					colontmpD__3 = NIM_NIL;
					i_1 = i_2;
					{
						NIM_BOOL T44_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tupl_1;
						NI T49_;
						T44_ = (NIM_BOOL)0;
						colontmpD__3 = considerQuotedIdent__lookups_u31(c_p0.c, (*forLoop_p2)._kind_6.sons.p->data[i_1], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						T44_ = ((*ident_1).id == (*colontmpD__3).id);
						if (!(T44_)) goto LA45_;
						T44_ = !(((*ident_1).id == ((NI)74)));
LA45_: ;
						if (!T44_) goto LA46_;
						call_1 = NIM_NIL;
						tupl_1 = NIM_NIL;
						T49_ = (NI)0;
						T49_ = len__ast_u3190(forLoop_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqcopy___ast_u3255(&call_1, (*forLoop_p2)._kind_6.sons.p->data[(NI)(T49_ - ((NI)2))]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						eqcopy___ast_u3255(&tupl_1, (*call_1)._kind_6.sons.p->data[(NI)((NI)(i_1 + ((NI)1)) - c_p0.replaceByFieldName)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T54_;
							if (!(c_p0.field == 0)) goto LA52_;
							colontmpD__4 = NIM_NIL;
							T54_ = NIM_NIL;
							T54_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T54_); goto LA48_;}
							eqsink___ast_u3261(&result, T54_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							add__ast_u3215(result, tupl_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							colontmpD__4 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) (c_p0.tupleIndex)));
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							add__ast_u3215(result, colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							eqdestroy___ast_u3252(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						}
						goto LA50_;
LA52_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T56_;
							colontmpD__5 = NIM_NIL;
							T56_ = NIM_NIL;
							T56_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T56_); goto LA48_;}
							eqsink___ast_u3261(&result, T56_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							add__ast_u3215(result, tupl_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							colontmpD__5 = newSymNode__ast_u5171(c_p0.field, (*n_p1).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							add__ast_u3215(result, colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							eqdestroy___ast_u3252(colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						}
LA50_: ;
						eqdestroy___ast_u3252(tupl_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___ast_u3252(call_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						eqdestroy___idents_u155(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						goto LA37;
						{
							LA48_:;
						}
						{
							oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(tupl_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
							eqdestroy___ast_u3252(call_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
							*nimErr_ = oldNimErrFin48_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					}
LA46_: ;
					i_2 += ((NI)1);
					{
						LA41_:;
					}
					{
						oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___idents_u155(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						*nimErr_ = oldNimErrFin41_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				} LA40: ;
			}
		} LA37: ;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(ident_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111))) goto LA66_;
			liMessage__msgs_u1227((*(*c_p0.c).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1712, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1713, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA66_: ;
		result = shallowCopy__ast_u6876(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_3;
			NI colontmp__3;
			NI i_4;
			i_3 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T71_;
					if (!(i_4 < colontmp__3)) goto LA70;
					i_3 = i_4;
					T71_ = NIM_NIL;
					T71_ = instFieldLoopBody__sem_u16492(c_p0, (*n_p1)._kind_6.sons.p->data[i_3], forLoop_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T71_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_3], T71_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA70: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, wrapNewScope__sem_u16487)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* trueLit_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
	tyArray__TAsXwXSUBvAawE1kIQ5ziQ T3_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	trueLit_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	trueLit_1 = newIntLit__lowerings_u465((*c_p0).graph, (*n_p1).info, IL64(1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T2_); goto LA1_;}
	eqsink___ast_u3387(&(*trueLit_1).typField, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)T3_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
	nimZeroMem((void*)T4_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	T4_[0] = trueLit_1;
	T4_[1] = n_p1;
	colontmpD_ = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86), (*n_p1).info, T4_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_[0] = colontmpD_;
	result = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92), (*n_p1).info, T3_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(trueLit_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u16587)(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn(dest_p0.c);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose(dest_p0.c);
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn(dest_p0.field);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3469((&(*dest_p0.field)));
		nimRawDispose(dest_p0.field, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn(dest_p0.tupleType);
		if (!T13_) goto LA14_;
		eqdestroy___ast_u3288((&(*dest_p0.tupleType)));
		nimRawDispose(dest_p0.tupleType, ((NI)8));
	}
LA14_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, semForObjectFields__sem_u16553)(tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* typ_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* forLoop_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p3) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*typ_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA fc_1;
		tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* colontmpD_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T4_;
		nimZeroMem((void*)(&fc_1), sizeof(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA));
		colontmpD__3 = NIM_NIL;
		body_1 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		nimZeroMem((void*)(&fc_1), sizeof(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA));
		colontmpD_ = eqdup___semdata_u4222(c_p0.c, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		fc_1.c = colontmpD_;
		colontmpD__2 = eqdup___ast_u4580((*typ_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		fc_1.field = colontmpD__2;
		fc_1.replaceByFieldName = (c_p0.m == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)127));
		colontmpD__3 = openScope__lookups_u65(c_p0.c);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		(*c_p0.c).inUnrolledContext += ((NI)1);
		colontmpD__4 = lastSon__ast_u5208(forLoop_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		body_1 = instFieldLoopBody__sem_u16492(fc_1, colontmpD__4, forLoop_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		T3_ = NIM_NIL;
		T3_ = wrapNewScope__sem_u16487(c_p0.c, body_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA2_;}
		eqsink___ast_u3261(&body_1, T3_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		T4_ = 0;
		colontmpD__5 = semStmt__sem_u93(c_p0.c, body_1, T4_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		add__ast_u3215(father_p3, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		(*c_p0.c).inUnrolledContext -= ((NI)1);
		closeScope__lookups_u102(c_p0.c);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(body_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___lookups_u74(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___sem_u16587(fc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* caseStmt_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* access_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		NI T10_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T17_;
		call_1 = NIM_NIL;
		caseStmt_1 = NIM_NIL;
		access_1 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		T10_ = (NI)0;
		T10_ = len__ast_u3190(forLoop_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eqcopy___ast_u3255(&call_1, (*forLoop_p2)._kind_6.sons.p->data[(NI)(T10_ - ((NI)2))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			NI T13_;
			T13_ = (NI)0;
			T13_ = len__ast_u3190(call_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			if (!(((NI)2) < T13_)) goto LA14_;
			liMessage__msgs_u1227((*(*c_p0.c).graph).config, (*forLoop_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1715, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1716, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(access_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(caseStmt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(call_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA14_: ;
		semForObjectFields__sem_u16553(c_p0, (*typ_p1)._kind_6.sons.p->data[((NI)0)], forLoop_p2, father_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		caseStmt_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97), (*forLoop_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		access_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), (*forLoop_p2).info, ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eqcopy___ast_u3255(&(*access_1)._kind_6.sons.p->data[((NI)0)], (*call_1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T16_ = NIM_NIL;
		T16_ = newSymNode__ast_u5171((*(*typ_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, (*forLoop_p2).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA9_;}
		eqsink___ast_u3261(&(*access_1)._kind_6.sons.p->data[((NI)1)], T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		T17_ = 0;
		colontmpD__6 = semExprWithType__sem_u63(c_p0.c, access_1, T17_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(caseStmt_1, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(typ_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
					NI T22_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
					NI T24_;
					if (!(i_2 < colontmp_)) goto LA20;
					branch_1 = NIM_NIL;
					colontmpD__7 = NIM_NIL;
					i_1 = i_2;
					branch_1 = copyTree__ast_u6891((*typ_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					T22_ = (NI)0;
					T22_ = len__ast_u3190(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					T23_ = NIM_NIL;
					T23_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*forLoop_p2).info);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA21_;}
					eqsink___ast_u3261(&(*branch_1)._kind_6.sons.p->data[(NI)(T22_ - ((NI)1))], T23_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					colontmpD__7 = lastSon__ast_u5208((*typ_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					T24_ = (NI)0;
					T24_ = len__ast_u3190(branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					semForObjectFields__sem_u16553(c_p0, colontmpD__7, forLoop_p2, (*branch_1)._kind_6.sons.p->data[(NI)(T24_ - ((NI)1))]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					add__ast_u3215(caseStmt_1, branch_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					i_2 += ((NI)1);
					{
						LA21_:;
					}
					{
						oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__7);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						eqdestroy___ast_u3252(branch_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						*nimErr_ = oldNimErrFin21_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				} LA20: ;
			}
		}
		add__ast_u3215(father_p3, caseStmt_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(access_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(caseStmt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(call_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			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(typ_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA34;
						i_3 = i_4;
						eqcopy___ast_u3255(&t_1, (*typ_p1)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						semForObjectFields__sem_u16553(c_p0, t_1, forLoop_p2, father_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						i_4 += ((NI)1);
					} LA34: ;
				}
			}
			{
				LA31_:;
			}
			{
				oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin31_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	default:
	{
		illFormedAstLocal__semdata_u4668(typ_p1, (*(*c_p0.c).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u16713)(tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn(dest_p0.c);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose(dest_p0.c);
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semForFields__sem_u16622)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* trueSymbol_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* stmts_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tupleTypeA_1;
NIM_BOOL oldNimErrFin6_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
	NI T13_;
NIM_BOOL oldNimErrFin27_;
	NIM_BOOL oldBreakInLoop_1;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin56_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	trueSymbol_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	stmts_1 = NIM_NIL;
	call_1 = NIM_NIL;
	tupleTypeA_1 = NIM_NIL;
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96), (*n_p1).info, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1697);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	trueSymbol_1 = systemModuleSym__modulegraphs_u3414((*c_p0).graph, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__2;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
		tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T7_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T8_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T9_;
		if (!(trueSymbol_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA4_;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1699, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1700, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__2 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1702);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__3 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = 0;
		T8_ = NIM_NIL;
		T8_ = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0), colontmpD__2, (*c_p0).Sup.idgen, colontmpD__3, (*n_p1).info, T7_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T8_); goto LA6_;}
		eqsink___ast_u4583(&trueSymbol_1, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T9_ = NIM_NIL;
		T9_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T9_); goto LA6_;}
		eqsink___ast_u3387(&(*trueSymbol_1).typ, T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___idents_u155(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	T12_ = NIM_NIL;
	T12_ = newSymNode__ast_u5171(trueSymbol_1, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA1_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T12_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	stmts_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)1)], stmts_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T13_ = (NI)0;
	T13_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&call_1, (*n_p1)._kind_6.sons.p->data[(NI)(T13_ - ((NI)2))]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T16_;
		NI T17_;
		T16_ = (NI)0;
		T16_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T17_ = (NI)0;
		T17_ = len__ast_u3190(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(((NI)(T16_ - ((NI)2)) == (NI)((NI)(T17_ - ((NI)1)) + (m_p2 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)127)))))) goto LA18_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1703, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1704, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(tupleTypeA_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(stmts_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(trueSymbol_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA18_: ;
	tupleTypeA_1 = skipTypes__ast_u5379((*(*call_1)._kind_6.sons.p->data[((NI)1)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1705);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*tupleTypeA_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18) || (*tupleTypeA_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)))) goto LA22_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1707, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1708, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(tupleTypeA_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(stmts_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(trueSymbol_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA22_: ;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* calli_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tupleTypeB_1;
				if (!(i_2 < colontmp_)) goto LA26;
				calli_1 = NIM_NIL;
				tupleTypeB_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&calli_1, (*call_1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				tupleTypeB_1 = skipTypes__ast_u5379((*calli_1).typField, TM__rF9caJawfOjYTjsgLVUSGFA_1705);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				{
					tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T30_;
					NIM_BOOL T31_;
					T30_ = 0;
					T31_ = (NIM_BOOL)0;
					T31_ = sameType__types_u1812(tupleTypeA_1, tupleTypeB_1, T30_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
					if (!!(T31_)) goto LA32_;
					typeMismatch__types_u4020((*(*c_p0).graph).config, (*calli_1).info, tupleTypeA_1, tupleTypeB_1, calli_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				}
LA32_: ;
				i_2 += ((NI)1);
				{
					LA27_:;
				}
				{
					oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(tupleTypeB_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(calli_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin27_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA26: ;
		}
	}
	(*(*c_p0).p).nestedLoopCounter += ((NI)1);
	oldBreakInLoop_1 = (*(*c_p0).p).breakInLoop;
	(*(*c_p0).p).breakInLoop = NIM_TRUE;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* loopBody_1;
		NI T41_;
		if (!((*tupleTypeA_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18))) goto LA38_;
		loopBody_1 = NIM_NIL;
		T41_ = (NI)0;
		T41_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		eqcopy___ast_u3255(&loopBody_1, (*n_p1)._kind_6.sons.p->data[(NI)(T41_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u5502(tupleTypeA_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
			i_4 = ((NI)0);
			{
				while (1) {
					tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__4;
					tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA fc_1;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
					tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* colontmpD__6;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T46_;
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T47_;
					if (!(i_4 < colontmp__2)) goto LA44;
					colontmpD__4 = NIM_NIL;
					nimZeroMem((void*)(&fc_1), sizeof(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA));
					body_1 = NIM_NIL;
					colontmpD__7 = NIM_NIL;
					i_3 = i_4;
					colontmpD__4 = openScope__lookups_u65(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					nimZeroMem((void*)(&fc_1), sizeof(tyObject_TFieldInstCtx__srPxc9bEy8cFUxSgjiVoAaA));
					colontmpD__5 = eqdup___ast_u3384(tupleTypeA_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					fc_1.tupleType = colontmpD__5;
					fc_1.tupleIndex = i_3;
					colontmpD__6 = eqdup___semdata_u4222(c_p0, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					fc_1.c = colontmpD__6;
					fc_1.replaceByFieldName = (m_p2 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)127));
					body_1 = instFieldLoopBody__sem_u16492(fc_1, loopBody_1, n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					T46_ = NIM_NIL;
					T46_ = wrapNewScope__sem_u16487(c_p0, body_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T46_); goto LA45_;}
					eqsink___ast_u3261(&body_1, T46_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					(*c_p0).inUnrolledContext += ((NI)1);
					T47_ = 0;
					colontmpD__7 = semStmt__sem_u93(c_p0, body_1, T47_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					add__ast_u3215(stmts_1, colontmpD__7);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					(*c_p0).inUnrolledContext -= ((NI)1);
					closeScope__lookups_u102(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					i_4 += ((NI)1);
					{
						LA45_:;
					}
					{
						oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__7);
						if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
						eqdestroy___ast_u3252(body_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
						eqdestroy___sem_u16587(fc_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
						eqdestroy___lookups_u74(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
						*nimErr_ = oldNimErrFin45_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				} LA44: ;
			}
		}
		{
			LA40_:;
		}
		{
			oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(loopBody_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin40_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA36_;
LA38_: ;
	{
		tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w fc_2;
		tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* colontmpD__8;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		nimZeroMem((void*)(&fc_2), sizeof(tyObject_TFieldsCtx__kaGNwInVfT9aUCiKsKy9aK7w));
		t_1 = NIM_NIL;
		fc_2.m = m_p2;
		colontmpD__8 = eqdup___semdata_u4222(c_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		fc_2.c = colontmpD__8;
		t_1 = tupleTypeA_1;
		eqwasMoved___ast_u3375(&tupleTypeA_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T61_;
				if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA55;
				colontmpD__9 = NIM_NIL;
				colontmpD__10 = NIM_NIL;
				semForObjectFields__sem_u16553(fc_2, (*t_1).n, n_p1, stmts_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				{
					colontmpD__9 = baseClass__ast_u5348(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
					if (!(colontmpD__9 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA59_;
					eqdestroy___ast_u3378(colontmpD__10);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					eqdestroy___ast_u3378(colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					goto LA54;
				}
LA59_: ;
				colontmpD__10 = baseClass__ast_u5348(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				T61_ = NIM_NIL;
				T61_ = skipTypes__ast_u5379(colontmpD__10, TM__rF9caJawfOjYTjsgLVUSGFA_185);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T61_); goto LA56_;}
				eqsink___ast_u3387(&t_1, T61_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				{
					LA56_:;
				}
				{
					oldNimErrFin56_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__10);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					eqdestroy___ast_u3378(colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					*nimErr_ = oldNimErrFin56_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			} LA55: ;
		} LA54: ;
		{
			LA53_:;
		}
		{
			oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___sem_u16713(fc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin53_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA36_: ;
	(*(*c_p0).p).breakInLoop = oldBreakInLoop_1;
	(*(*c_p0).p).nestedLoopCounter -= ((NI)1);
	{
		NIM_BOOL T68_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
		T68_ = (NIM_BOOL)0;
		T68_ = containsNode__ast_u7008(stmts_1, TM__rF9caJawfOjYTjsgLVUSGFA_1717);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T68_) goto LA69_;
		b_1 = NIM_NIL;
		colontmpD__11 = NIM_NIL;
		b_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__11 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(b_1, colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(stmts_1, b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA66_;
LA69_: ;
	{
		eqsink___ast_u3261(&result, stmts_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&stmts_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA66_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(tupleTypeA_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(stmts_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(trueSymbol_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, implicitIterator__sem_u16979)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, NimStringV2 it_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p2, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*arg_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getIdent__idents_u206((*c_p0).cache, it_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = newIdentNode__ast_u5164(colontmpD_, (*arg_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*arg_p2).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*arg_p2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*arg_p2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47));
LA5_: ;
		if (!T4_) goto LA6_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = newDeref__lowerings_u12(arg_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		add__ast_u3215(result, arg_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	T9_ = NIM_NIL;
	T9_ = semExprNoDeref__sem_u71(c_p0, result, (flags_p3 | 2));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA1_;}
	eqsink___ast_u3261(&result, T9_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semFor__sem_u17085)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg iteratorFlags_1;
	NI T6_;
	NI T7_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
	NI T9_;
	NIM_BOOL isCallExpr_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	call_1 = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)3), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = handleForLoopMacro__sem_u17058(c_p0, n_p1, flags_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA4_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	iteratorFlags_1 = (flags_p2 & 8);
	T6_ = (NI)0;
	T6_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T7_ = (NI)0;
	T7_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T8_ = NIM_NIL;
	T8_ = semExprNoDeref__sem_u71(c_p0, (*n_p1)._kind_6.sons.p->data[(NI)(T7_ - ((NI)2))], (iteratorFlags_1 | 2));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T6_ - ((NI)2))], T8_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T9_ = (NI)0;
	T9_ = len__ast_u3190(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&call_1, (*n_p1)._kind_6.sons.p->data[(NI)(T9_ - ((NI)2))]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T12_;
		NIM_BOOL T14_;
		NIM_BOOL T16_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
		NI T21_;
		T12_ = (NIM_BOOL)0;
		T12_ = ((*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126));
		if (!(T12_)) goto LA13_;
		T14_ = (NIM_BOOL)0;
		T14_ = isTrivalStmtExpr__sem_u16997(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T14_) goto LA15_;
		T16_ = (NIM_BOOL)0;
		colontmpD__2 = lastSon__ast_u5208(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T16_ = ((*colontmpD__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*colontmpD__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*colontmpD__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*colontmpD__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*colontmpD__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*colontmpD__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*colontmpD__2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
		if (!(T16_)) goto LA17_;
		colontmpD__3 = lastSon__ast_u5208(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T16_ = ((*(*(*colontmpD__3)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15));
LA17_: ;
		T14_ = T16_;
LA15_: ;
		T12_ = T14_;
LA13_: ;
		if (!T12_) goto LA18_;
		T20_ = NIM_NIL;
		T20_ = lastSon__ast_u5208(call_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto LA1_;}
		eqsink___ast_u3261(&call_1, T20_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T21_ = (NI)0;
		T21_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[(NI)(T21_ - ((NI)2))], call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA18_: ;
	isCallExpr_1 = ((*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*call_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
	{
		NIM_BOOL T24_;
		NIM_BOOL T25_;
		T24_ = (NIM_BOOL)0;
		T25_ = (NIM_BOOL)0;
		T25_ = isCallExpr_1;
		if (!(T25_)) goto LA26_;
		T25_ = ((*(*call_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA26_: ;
		T24_ = T25_;
		if (!(T24_)) goto LA27_;
		T24_ = ((*(*(*call_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)126) || (*(*(*call_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)127) || (*(*(*call_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)128));
LA27_: ;
		if (!T24_) goto LA28_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T34_;
			if (!((*(*(*call_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)128))) goto LA32_;
			T34_ = NIM_NIL;
			T34_ = semForVars__sem_u16802(c_p0, n_p1, flags_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T34_); goto LA1_;}
			eqsink___ast_u3261(&result, T34_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)95));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA30_;
LA32_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
			T36_ = NIM_NIL;
			T36_ = semForFields__sem_u16622(c_p0, n_p1, (*(*(*call_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA1_;}
			eqsink___ast_u3261(&result, T36_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA30_: ;
	}
	goto LA22_;
LA28_: ;
	{
		NIM_BOOL T38_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T42_;
		T38_ = (NIM_BOOL)0;
		T38_ = isCallExpr_1;
		if (!(T38_)) goto LA39_;
		colontmpD__4 = skipTypes__ast_u5379((*(*call_1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T38_ = isClosureIterator__ast_u7426(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA39_: ;
		if (!T38_) goto LA40_;
		T42_ = NIM_NIL;
		T42_ = semForVars__sem_u16802(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T42_); goto LA1_;}
		eqsink___ast_u3261(&result, T42_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA22_;
LA40_: ;
	{
		NIM_BOOL T44_;
		NIM_BOOL T45_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T67_;
		T44_ = (NIM_BOOL)0;
		T45_ = (NIM_BOOL)0;
		T45_ = !(isCallExpr_1);
		if (T45_) goto LA46_;
		T45_ = !(((*(*call_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
LA46_: ;
		T44_ = T45_;
		if (T44_) goto LA47_;
		T44_ = !(((*(*(*call_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15)));
LA47_: ;
		if (!T44_) goto LA48_;
		{
			NI T52_;
			NI T55_;
			NI T56_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T57_;
			T52_ = (NI)0;
			T52_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T52_ == ((NI)3))) goto LA53_;
			T55_ = (NI)0;
			T55_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T56_ = (NI)0;
			T56_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T57_ = NIM_NIL;
			T57_ = implicitIterator__sem_u16979(c_p0, TM__rF9caJawfOjYTjsgLVUSGFA_1719, (*n_p1)._kind_6.sons.p->data[(NI)(T56_ - ((NI)2))], iteratorFlags_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T57_); goto LA1_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T55_ - ((NI)2))], T57_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA50_;
LA53_: ;
		{
			NI T59_;
			NI T62_;
			NI T63_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
			T59_ = (NI)0;
			T59_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T59_ == ((NI)4))) goto LA60_;
			T62_ = (NI)0;
			T62_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T63_ = (NI)0;
			T63_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T64_ = NIM_NIL;
			T64_ = implicitIterator__sem_u16979(c_p0, TM__rF9caJawfOjYTjsgLVUSGFA_1721, (*n_p1)._kind_6.sons.p->data[(NI)(T63_ - ((NI)2))], iteratorFlags_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto LA1_;}
			eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[(NI)(T62_ - ((NI)2))], T64_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA50_;
LA60_: ;
		{
			NI T66_;
			T66_ = (NI)0;
			T66_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[(NI)(T66_ - ((NI)2))]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1723, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1724, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA50_: ;
		T67_ = NIM_NIL;
		T67_ = semForVars__sem_u16802(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T67_); goto LA1_;}
		eqsink___ast_u3261(&result, T67_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA22_;
LA48_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T69_;
		T69_ = NIM_NIL;
		T69_ = semForVars__sem_u16802(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T69_); goto LA1_;}
		eqsink___ast_u3261(&result, T69_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA22_: ;
	{
		NIM_BOOL T72_;
		NI T73_;
		NI T75_;
		NI T78_;
		NI T79_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T80_;
		T72_ = (NIM_BOOL)0;
		T73_ = (NI)0;
		T73_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T72_ = !(((*(*n_p1)._kind_6.sons.p->data[(NI)(T73_ - ((NI)2))]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
		if (!(T72_)) goto LA74_;
		T75_ = (NI)0;
		T75_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T72_ = ((*(*(*n_p1)._kind_6.sons.p->data[(NI)(T75_ - ((NI)2))]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)64));
LA74_: ;
		if (!T72_) goto LA76_;
		T78_ = (NI)0;
		T78_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T79_ = (NI)0;
		T79_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T80_ = NIM_NIL;
		T80_ = skipModifier__ast_u5338((*(*n_p1)._kind_6.sons.p->data[(NI)(T79_ - ((NI)2))]).typField);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T80_); goto LA1_;}
		eqsink___ast_u3387(&(*(*n_p1)._kind_6.sons.p->data[(NI)(T78_ - ((NI)2))]).typField, T80_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA76_: ;
	{
		NI T83_;
		T83_ = (NI)0;
		T83_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!((*(*n_p1)._kind_6.sons.p->data[(NI)(T83_ - ((NI)1))]).typField == (*c_p0).enforceVoidContext)) goto LA84_;
		eqcopy___ast_u3381(&(*result).typField, (*c_p0).enforceVoidContext);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA81_;
LA84_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0)) goto LA87_;
		colontmpD__5 = NIM_NIL;
		colontmpD__5 = lastSon__ast_u5208(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3381(&(*result).typField, (*colontmpD__5).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA81_;
LA87_: ;
LA81_: ;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(call_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, handleCaseStmtMacro__sem_u17063)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* toResolve_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tySequence__9bnh9aVmYtKU19btQYqjGktpw errors_1;
	tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g r_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	toResolve_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	errors_1.len = 0; errors_1.p = NIM_NIL;
	nimZeroMem((void*)(&r_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
	toResolve_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1726);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = newIdentNode__ast_u5164(colontmpD_, (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(toResolve_1, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(toResolve_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	errors_1.len = 0; errors_1.p = (tySequence__9bnh9aVmYtKU19btQYqjGktpw_Content*) newSeqPayload(0, sizeof(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw), NIM_ALIGNOF(tyObject_CandidateError__f049c8Bs49cqj6FTSrUbSmlw));
	resolveOverloads__sem_u3022(c_p0, toResolve_1, toResolve_1, 393216, 524288, (&errors_1), NIM_FALSE, (&r_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* match_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* toExpand_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T7_;
		if (!(r_1.state == ((tyEnum_TCandidateState__R72dQoI7m6JFPNDDxnNkHg)1))) goto LA4_;
		match_1 = NIM_NIL;
		toExpand_1 = NIM_NIL;
		eqcopy___ast_u4577(&match_1, r_1.calleeSym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		markUsed__sigmatch_u100(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, match_1, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		eqcopy___ast_u3255(&(*r_1.call)._kind_6.sons.p->data[((NI)1)], n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = 0;
		toExpand_1 = semResolvedCall__sem_u3944(c_p0, (&r_1), r_1.call, T7_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		switch ((*match_1).kind) {
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
		{
			result = semMacroExpr__sem_u541(c_p0, toExpand_1, toExpand_1, match_1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
		{
			result = semTemplateExpr__sem_u535(c_p0, toExpand_1, match_1, flags_p2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		break;
		default:
		{
			result = errorNode__semdata_u4571(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		break;
		}
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(toExpand_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u4574(match_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = errorNode__semdata_u4571(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA16_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1728, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1729, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA16_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___sigmatch_u162((&r_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___sem_u2755(errors_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(toResolve_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semCase__sem_u17157)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* caseTyp_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T3_;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg covered_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T4_;
	NIM_BOOL hasElse_1;
	NIM_BOOL chckCovered_1;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin95_;
NIM_BOOL oldNimErrFin106_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	typ_1 = NIM_NIL;
	expectedType_2 = NIM_NIL;
	caseTyp_1 = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pushCaseContext__semdata_u4693(c_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	T3_ = NIM_NIL;
	T3_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T2_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T3_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	covered_1 = toInt128__types_u1207(((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = NIM_NIL;
	T4_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) nimNewObj(sizeof(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg), NIM_ALIGNOF(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg));
	(*T4_).kind = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6);
	typ_1 = T4_;
	eqcopy___ast_u3381(&expectedType_2, expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hasElse_1 = NIM_FALSE;
	caseTyp_1 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_120);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	chckCovered_1 = shouldCheckCaseCovered__sem_u422(caseTyp_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*caseTyp_1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) ... ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44):
	{
	}
	break;
	default:
	{
		popCaseContext__semdata_u4716(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = handleCaseStmtMacro__sem_u17063(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(caseTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expectedType_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	}
	{
		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* x_1;
				if (!(i_2 < colontmp_)) goto LA9;
				x_1 = NIM_NIL;
				i_1 = i_2;
				setCaseContextIdx__semdata_u4737(c_p0, i_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				eqcopy___ast_u3255(&x_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				switch ((*x_1).kind) {
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
				{
					NI last_1;
					NI T16_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T18_;
					{
						if (!hasElse_1) goto LA14_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*x_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1731, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1732, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA7;
					}
LA14_: ;
					checkMinSonsLen__semdata_u4675(x_1, ((NI)2), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					semCaseBranch__sem_u6958(c_p0, n_p1, x_1, i_1, (&covered_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					T16_ = (NI)0;
					T16_ = len__ast_u3190(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					last_1 = (NI)(T16_ - ((NI)1));
					T17_ = NIM_NIL;
					T17_ = semExprBranchScope__sem_u15050(c_p0, (*x_1)._kind_6.sons.p->data[last_1], expectedType_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA10_;}
					eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[last_1], T17_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					T18_ = NIM_NIL;
					T18_ = commonType__sem_u431(c_p0, typ_1, (*x_1)._kind_6.sons.p->data[last_1]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T18_); goto LA10_;}
					eqsink___ast_u3387(&typ_1, T18_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					{
						NIM_BOOL T21_;
						T21_ = (NIM_BOOL)0;
						T21_ = endsInNoReturn__sem_u429((*x_1)._kind_6.sons.p->data[last_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						if (!!(T21_)) goto LA22_;
						eqcopy___ast_u3381(&expectedType_2, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA22_: ;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
				{
					tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__2;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T30_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T32_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T34_;
					colontmpD__2 = NIM_NIL;
					colontmpD__3 = NIM_NIL;
					colontmpD__4 = NIM_NIL;
					{
						if (!hasElse_1) goto LA28_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*x_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1733, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1732, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						eqdestroy___ast_u3378(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						eqdestroy___lookups_u74(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA7;
					}
LA28_: ;
					chckCovered_1 = NIM_FALSE;
					checkSonsLen__semdata_u4671(x_1, ((NI)2), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					colontmpD__2 = openScope__lookups_u65(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					T30_ = 0;
					colontmpD__3 = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					colontmpD__4 = semExprWithType__sem_u63(c_p0, (*x_1)._kind_6.sons.p->data[((NI)0)], T30_, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					T31_ = NIM_NIL;
					T31_ = forceBool__sem_u4381(c_p0, colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto LA25_;}
					eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[((NI)0)], T31_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					T32_ = 0;
					T33_ = NIM_NIL;
					T33_ = semExprBranch__sem_u15036(c_p0, (*x_1)._kind_6.sons.p->data[((NI)1)], T32_, expectedType_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T33_); goto LA25_;}
					eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[((NI)1)], T33_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					T34_ = NIM_NIL;
					T34_ = commonType__sem_u431(c_p0, typ_1, (*x_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T34_); goto LA25_;}
					eqsink___ast_u3387(&typ_1, T34_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					{
						NIM_BOOL T37_;
						T37_ = (NIM_BOOL)0;
						T37_ = endsInNoReturn__sem_u429((*x_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						if (!!(T37_)) goto LA38_;
						eqcopy___ast_u3381(&expectedType_2, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					}
LA38_: ;
					closeScope__lookups_u102(c_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					{
						LA25_:;
					}
					{
						oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						eqdestroy___ast_u3378(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						eqdestroy___lookups_u74(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						*nimErr_ = oldNimErrFin25_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T43_;
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T44_;
					checkSonsLen__semdata_u4671(x_1, ((NI)1), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					T43_ = NIM_NIL;
					T43_ = semExprBranchScope__sem_u15050(c_p0, (*x_1)._kind_6.sons.p->data[((NI)0)], expectedType_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T43_); goto LA10_;}
					eqsink___ast_u3261(&(*x_1)._kind_6.sons.p->data[((NI)0)], T43_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					T44_ = NIM_NIL;
					T44_ = commonType__sem_u431(c_p0, typ_1, (*x_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T44_); goto LA10_;}
					eqsink___ast_u3387(&typ_1, T44_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					{
						NIM_BOOL T47_;
						T47_ = (NIM_BOOL)0;
						T47_ = endsInNoReturn__sem_u429((*x_1)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						if (!!(T47_)) goto LA48_;
						eqcopy___ast_u3381(&expectedType_2, typ_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA48_: ;
					{
						NIM_BOOL T52_;
						NIM_BOOL T53_;
						tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T55_;
						T52_ = (NIM_BOOL)0;
						T53_ = (NIM_BOOL)0;
						T53_ = chckCovered_1;
						if (!(T53_)) goto LA54_;
						T55_ = toCover__sem_u7012(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						T53_ = eqeq___int128_u412(covered_1, T55_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
LA54_: ;
						T52_ = T53_;
						if (T52_) goto LA56_;
						T52_ = hasElse_1;
LA56_: ;
						if (!T52_) goto LA57_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*x_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)50), TM__rF9caJawfOjYTjsgLVUSGFA_1734, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1735, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					}
LA57_: ;
					hasElse_1 = NIM_TRUE;
					chckCovered_1 = NIM_FALSE;
				}
				break;
				default:
				{
					illFormedAst__semdata_u4665(x_1, (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				}
				break;
				}
				i_2 += ((NI)1);
				{
					LA10_:;
				}
				{
					oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin10_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA9: ;
		}
	} LA7: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		if (!chckCovered_1) goto LA64_;
		colontmpD__5 = NIM_NIL;
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T69_;
			NIM_BOOL T70_;
			T69_ = toCover__sem_u7012(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			T70_ = (NIM_BOOL)0;
			T70_ = eqeq___int128_u412(covered_1, T69_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			if (!T70_) goto LA71_;
			hasElse_1 = NIM_TRUE;
		}
		goto LA67_;
LA71_: ;
		{
			NimStringV2 colontmpD__6;
			NimStringV2 colontmpD__7;
			colontmpD__5 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_241);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			if (!((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2))) goto LA74_;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__6 = formatMissingEnums__sem_u7201(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
			colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1736, colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1737, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
			{
				LA76_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__7);
				eqdestroy___system_u2691(colontmpD__6);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		}
		goto LA67_;
LA74_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1738, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1739, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		}
LA67_: ;
		{
			LA66_:;
		}
		{
			oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin66_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA64_: ;
	popCaseContext__semdata_u4716(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T84_;
		NIM_BOOL T85_;
		NIM_BOOL T88_;
		T84_ = (NIM_BOOL)0;
		T85_ = (NIM_BOOL)0;
		T85_ = isEmptyType__ast_u7234(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T85_) goto LA86_;
		T85_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5) || (*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6));
LA86_: ;
		T84_ = T85_;
		if (T84_) goto LA87_;
		T88_ = (NIM_BOOL)0;
		T88_ = !(hasElse_1);
		if (!(T88_)) goto LA89_;
		T88_ = !(((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0));
LA89_: ;
		T84_ = T88_;
LA87_: ;
		if (!T84_) goto LA90_;
		{
			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* colontmpD__8;
					if (!(i_4 < colontmp__2)) goto LA94;
					colontmpD__8 = NIM_NIL;
					i_3 = i_4;
					colontmpD__8 = lastSon__ast_u5208((*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
					discardCheck__sem_u15189(c_p0, colontmpD__8, flags_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA95_;
					i_4 += ((NI)1);
					{
						LA95_:;
					}
					{
						oldNimErrFin95_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__8);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin95_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA94: ;
			}
		}
		{
			if (!(typ_1 == (*c_p0).enforceVoidContext)) goto LA100_;
			eqcopy___ast_u3381(&(*result).typField, (*c_p0).enforceVoidContext);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA100_: ;
	}
	goto LA82_;
LA90_: ;
	{
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_6 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					NI j_1;
					NI T107_;
					if (!(i_6 < colontmp__3)) goto LA105;
					it_1 = NIM_NIL;
					i_5 = i_6;
					eqcopy___ast_u3255(&it_1, (*n_p1)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					T107_ = (NI)0;
					T107_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					j_1 = (NI)(T107_ - ((NI)1));
					{
						NIM_BOOL T110_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T113_;
						T110_ = (NIM_BOOL)0;
						T110_ = endsInNoReturn__sem_u429((*it_1)._kind_6.sons.p->data[j_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
						if (!!(T110_)) goto LA111_;
						T113_ = NIM_NIL;
						T113_ = fitNode__sem_u79(c_p0, typ_1, (*it_1)._kind_6.sons.p->data[j_1], (*(*it_1)._kind_6.sons.p->data[j_1]).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T113_); goto LA106_;}
						eqsink___ast_u3261(&(*it_1)._kind_6.sons.p->data[j_1], T113_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
					}
LA111_: ;
					i_6 += ((NI)1);
					{
						LA106_:;
					}
					{
						oldNimErrFin106_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin106_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA105: ;
			}
		}
		eqsink___ast_u3387(&(*result).typField, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3375(&typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA82_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(caseTyp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(expectedType_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semReturn__sem_u25934)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16) || (*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*(*(*c_p0).p).owner).typ == 0));
		if (!(T5_)) goto LA6_;
		T5_ = isClosureIterator__ast_u7426((*(*(*c_p0).p).owner).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA6_: ;
		T3_ = T5_;
LA4_: ;
		if (!T3_) goto LA7_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T25_;
			if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA11_;
			{
				NIM_BOOL T15_;
				NIM_BOOL T16_;
				T15_ = (NIM_BOOL)0;
				T16_ = (NIM_BOOL)0;
				T16_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73));
				if (!(T16_)) goto LA17_;
				T16_ = ((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA17_: ;
				T15_ = T16_;
				if (!(T15_)) goto LA18_;
				T15_ = ((*(*c_p0).p).resultSym == (*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
LA18_: ;
				if (!T15_) goto LA19_;
			}
			goto LA13_;
LA19_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				if (!!(((*(*c_p0).p).resultSym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA22_;
				a_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				a_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73), (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				colontmpD_ = newSymNode__ast_u5168((*(*c_p0).p).resultSym);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				add__ast_u3215(a_1, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				add__ast_u3215(a_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA13_;
LA22_: ;
			{
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1741, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1742, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA13_: ;
			T25_ = NIM_NIL;
			T25_ = semAsgn__sem_u23532(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA)0));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T25_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T25_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T28_;
				T28_ = (NIM_BOOL)0;
				T28_ = ((*(*(*result)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T28_)) goto LA29_;
				T28_ = ((*(*(*result)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)])._kind_4.sym == (*(*c_p0).p).resultSym);
LA29_: ;
				if (!T28_) goto LA30_;
				eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)0)], (*(*c_p0).graph).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA30_: ;
		}
LA11_: ;
	}
	goto LA1_;
LA7_: ;
	{
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1744, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1745, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semUsing__sem_u15545)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, (*(*c_p0).graph).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		NimStringV2 colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = isTopLevel__semdata_u4679(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T3_)) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1746, TM__rF9caJawfOjYTjsgLVUSGFA_1748);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1749, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	{
		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 LA11;
				i_1 = i_2;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* def_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
					a_1 = NIM_NIL;
					def_1 = NIM_NIL;
					colontmpD__2 = NIM_NIL;
					eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					{
						if (!((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12))) goto LA16_;
						suggestStmt__sigmatch_u7748(c_p0, a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					}
LA16_: ;
					{
						if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125))) goto LA20_;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA12;
					}
LA20_: ;
					{
						if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35) || (*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36) || (*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102)))) goto LA24_;
						illFormedAst__semdata_u4665(a_1, (*(*c_p0).graph).config);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					}
LA24_: ;
					checkMinSonsLen__semdata_u4675(a_1, ((NI)3), (*(*c_p0).graph).config);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					{
						NI T28_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
						NI T32_;
						T28_ = (NI)0;
						T28_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						if (!!(((*(*a_1)._kind_6.sons.p->data[(NI)(T28_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA29_;
						typ_1 = NIM_NIL;
						T32_ = (NI)0;
						T32_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						typ_1 = semTypeNode__sem_u89(c_p0, (*a_1)._kind_6.sons.p->data[(NI)(T32_ - ((NI)2))], ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						{
							NI j_1;
							NI colontmp__2;
							NI T34_;
							NI i_3;
							j_1 = (NI)0;
							colontmp__2 = (NI)0;
							T34_ = (NI)0;
							T34_ = len__ast_u3190(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							colontmp__2 = (NI)(T34_ - ((NI)2));
							i_3 = ((NI)0);
							{
								while (1) {
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
									NIM_BOOL T68_;
									if (!(i_3 < colontmp__2)) goto LA36;
									v_1 = NIM_NIL;
									colontmpD__3 = NIM_NIL;
									j_1 = i_3;
									v_1 = semIdentDef__sem_u15470(c_p0, (*a_1)._kind_6.sons.p->data[j_1], ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3), NIM_TRUE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									{
										NIM_BOOL T40_;
										NIM_BOOL T41_;
										NIM_BOOL T42_;
										NIM_BOOL T43_;
										NIM_BOOL T44_;
										NIM_BOOL T45_;
										NIM_BOOL T46_;
										NIM_BOOL T47_;
										NIM_BOOL T48_;
										NIM_BOOL T49_;
										NIM_BOOL T50_;
										tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T52_;
										NIM_BOOL T61_;
										tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T64_;
										T40_ = (NIM_BOOL)0;
										T41_ = (NIM_BOOL)0;
										T42_ = (NIM_BOOL)0;
										T43_ = (NIM_BOOL)0;
										T44_ = (NIM_BOOL)0;
										T45_ = (NIM_BOOL)0;
										T46_ = (NIM_BOOL)0;
										T47_ = (NIM_BOOL)0;
										T48_ = (NIM_BOOL)0;
										T49_ = (NIM_BOOL)0;
										T50_ = (NIM_BOOL)0;
										T50_ = (((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)10)))&31U)))!=0);
										if (!(T50_)) goto LA51_;
										T52_ = 0;
										T50_ = !(((229376 & (*(*(*c_p0).graph).config).globalOptions) == T52_));
LA51_: ;
										T49_ = T50_;
										if (!(T49_)) goto LA53_;
										T49_ = (((*(*(*c_p0).graph).config).notes[(NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)107) - 20))&7U)))!=0);
LA53_: ;
										T48_ = T49_;
										if (!(T48_)) goto LA54_;
										colontmpD__3 = getModule__modulegraphs_u14809((*c_p0).graph, (*v_1).info.fileIndex);
										if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
										T48_ = belongsToProjectPackageMaybeNil__packages_u85((*(*c_p0).graph).config, colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
LA54_: ;
										T47_ = T48_;
										if (!(T47_)) goto LA55_;
										T47_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0));
LA55_: ;
										T46_ = T47_;
										if (!(T46_)) goto LA56_;
										T46_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA56_: ;
										T45_ = T46_;
										if (!(T45_)) goto LA57_;
										T45_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5)));
LA57_: ;
										T44_ = T45_;
										if (!(T44_)) goto LA58_;
										T44_ = (((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)((*(*v_1).name).s.p->data[((NI)0)])) == ((NU8)(95)));
LA58_: ;
										T43_ = T44_;
										if (!(T43_)) goto LA59_;
										T43_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7) || (*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)4)));
LA59_: ;
										T42_ = T43_;
										if (!(T42_)) goto LA60_;
										T61_ = (NIM_BOOL)0;
										T61_ = ((*v_1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
										if (T61_) goto LA62_;
										T61_ = !(((*(*v_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA62_: ;
										T42_ = T61_;
LA60_: ;
										T41_ = T42_;
										if (!(T41_)) goto LA63_;
										T64_ = 0;
										T41_ = ((192 & (*v_1).flags) == T64_);
LA63_: ;
										T40_ = T41_;
										if (!(T40_)) goto LA65_;
										T40_ = !((((*v_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)60)))&63U)))!=0));
LA65_: ;
										if (!T40_) goto LA66_;
										nep1CheckDefImpl__linter_u146((*(*c_p0).graph).config, (*v_1).info, v_1, (*v_1).kind);
										if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									}
LA66_: ;
									eqcopy___ast_u3381(&(*v_1).typ, typ_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									T68_ = (NIM_BOOL)0;
									T68_ = strTableIncl__astalgo_u2717((&(*c_p0).signatures), v_1, NIM_FALSE);
									if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
									i_3 += ((NI)1);
									{
										LA37_:;
									}
									{
										oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u4574(colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
										eqdestroy___ast_u4574(v_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
										*nimErr_ = oldNimErrFin37_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
								} LA36: ;
							}
						}
						{
							LA31_:;
						}
						{
							oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(typ_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							*nimErr_ = oldNimErrFin31_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					}
					goto LA26_;
LA29_: ;
					{
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1751, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1752, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					}
LA26_: ;
					colontmpD__2 = 0;
					def_1 = colontmpD__2;
					{
						NI T76_;
						T76_ = (NI)0;
						T76_ = len__ast_u3190(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						if (!!(((*(*a_1)._kind_6.sons.p->data[(NI)(T76_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA77_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1754, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1755, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					}
LA77_: ;
					{
						LA13_:;
					}
					{
						oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin13_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA12: ;
				i_2 += ((NI)1);
			} LA11: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAsm__sem_u15004)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NIM_CHAR marker_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	marker_1 = pragmaAsm__pragmas_u462(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((NU8)(marker_1) == (NU8)(0))) goto LA3_;
		marker_1 = 96;
	}
LA3_: ;
	result = semAsmOrEmit__pragmas_u1096(c_p0, n_p1, marker_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semYieldVarResult__sem_u26012)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* restype_p2) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	t_1 = NIM_NIL;
	t_1 = skipTypes__ast_u5379(restype_p2, TM__rF9caJawfOjYTjsgLVUSGFA_326);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*t_1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
		(*t_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20))) & 63);
		{
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA5_;
			eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA5_: ;
		T7_ = NIM_NIL;
		T7_ = takeImplicitAddr__sem_u25541(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47)));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA1_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u5502(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* e_1;
					if (!(i_2 < colontmp_)) goto LA11;
					e_1 = NIM_NIL;
					i_1 = i_2;
					e_1 = skipTypes__ast_u5379((*t_1).sons.p->data[i_1], TM__rF9caJawfOjYTjsgLVUSGFA_326);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tupleConstr_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
						if (!((*e_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*e_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA15_;
						tupleConstr_1 = NIM_NIL;
						(*e_1).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)20))) & 63);
						T18_ = NIM_NIL;
						{
							if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59))) goto LA21_;
							eqcopy___ast_u3255(&tupleConstr_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
						}
						goto LA19_;
LA21_: ;
						{
							eqcopy___ast_u3255(&tupleConstr_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
						}
LA19_: ;
						{
							if (!((*tupleConstr_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*tupleConstr_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA26_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
								if (!((*(*tupleConstr_1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA30_;
								T32_ = NIM_NIL;
								T32_ = takeImplicitAddr__sem_u25541(c_p0, (*(*tupleConstr_1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], ((*e_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47)));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA17_;}
								eqsink___ast_u3261(&(*(*tupleConstr_1)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], T32_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
							}
							goto LA28_;
LA30_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T34_;
								T34_ = NIM_NIL;
								T34_ = takeImplicitAddr__sem_u25541(c_p0, (*tupleConstr_1)._kind_6.sons.p->data[i_1], ((*e_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47)));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T34_); goto LA17_;}
								eqsink___ast_u3261(&(*tupleConstr_1)._kind_6.sons.p->data[i_1], T34_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
							}
LA28_: ;
						}
						goto LA24_;
LA26_: ;
						{
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)5), TM__rF9caJawfOjYTjsgLVUSGFA_1763, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1764, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
						}
LA24_: ;
						{
							LA17_:;
						}
						{
							oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(tupleConstr_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							*nimErr_ = oldNimErrFin17_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					}
					goto LA13_;
LA15_: ;
					{
						if (!((*e_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3))) goto LA39_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1765, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1766, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					}
					goto LA13_;
LA39_: ;
LA13_: ;
					i_2 += ((NI)1);
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(e_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA11: ;
			}
		}
	}
	break;
	default:
	{
	}
	break;
	}
	{
		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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semYield__sem_u26068)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*(*c_p0).p).owner == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
		if (T4_) goto LA5_;
		T4_ = !(((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15)));
LA5_: ;
		if (!T4_) goto LA6_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1757, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1758, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* iterType_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* restype_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T12_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA9_;
		iterType_1 = NIM_NIL;
		restype_1 = NIM_NIL;
		eqcopy___ast_u3381(&iterType_1, (*(*(*c_p0).p).owner).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		eqcopy___ast_u3381(&restype_1, (*iterType_1).sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T12_ = 0;
		T13_ = NIM_NIL;
		T13_ = semExprWithType__sem_u63(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T12_, restype_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA11_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			if (!!((restype_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA16_;
			{
				if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA20_;
				internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1760, TM__rF9caJawfOjYTjsgLVUSGFA_1761);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			}
LA20_: ;
			{
				NIM_BOOL T24_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* inferred_1;
				T24_ = (NIM_BOOL)0;
				T24_ = isMetaType__ast_u4607(restype_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				if (!(T24_)) goto LA25_;
				T24_ = !(((*restype_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA25_: ;
				if (!T24_) goto LA26_;
				inferred_1 = NIM_NIL;
				eqcopy___ast_u3381(&inferred_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				eqcopy___ast_u3381(&(*iterType_1).sons.p->data[((NI)0)], inferred_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				{
					if (!!(((*(*c_p0).p).resultSym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA30_;
					eqsink___ast_u3387(&(*(*(*c_p0).p).resultSym).typ, inferred_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					eqwasMoved___ast_u3375(&inferred_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				}
LA30_: ;
				eqdestroy___ast_u3378(inferred_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			}
			goto LA22_;
LA26_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
				T33_ = NIM_NIL;
				T33_ = fitNode__sem_u79(c_p0, restype_1, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T33_); goto LA11_;}
				eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T33_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			}
LA22_: ;
			semYieldVarResult__sem_u26012(c_p0, n_p1, restype_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
		goto LA14_;
LA16_: ;
		{
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1768, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1769, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
LA14_: ;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(restype_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3378(iterType_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA9_: ;
	{
		colontmpD_ = returnType__ast_u5354((*(*(*c_p0).p).owner).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA38_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1771, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1772, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA38_: ;
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semPragmaStmt__sem_u28753)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6))) goto LA3_;
		pragma__pragmas_u120(c_p0, (*(*c_p0).p).owner, n_p1, TM__rF9caJawfOjYTjsgLVUSGFA_1773, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		pragma__pragmas_u120(c_p0, (*(*c_p0).p).owner, n_p1, TM__rF9caJawfOjYTjsgLVUSGFA_1774, NIM_TRUE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semIterator__sem_u21436)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	t_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA4_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = getCurrOwner__semdata_u425(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		setOwner__icZic_u12851((*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		transitionRoutineSymKind__ast_u6846((*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, ((tyEnum_TSymKind__fzoDhZbHLwFaqo7QLPWQkQ)15));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	T6_ = 0;
	result = semProcAux__sem_u20978(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15), TM__rF9caJawfOjYTjsgLVUSGFA_1775, T6_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*result).kind == (*n_p1).kind))) goto LA9_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA9_: ;
	eqcopy___ast_u4577(&s_1, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&t_1, (*s_1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		colontmpD_ = returnType__ast_u5354(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T13_ = (colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (!(T13_)) goto LA14_;
		T13_ = !(((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9)));
LA14_: ;
		if (!T13_) goto LA15_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1777, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1778, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA15_: ;
	{
		if (!((*(*s_1).typ).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9))) goto LA19_;
		(*(*s_1).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)12))) & 63);
	}
	goto LA17_;
LA19_: ;
	{
		(*(*s_1).typ).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)5);
	}
LA17_: ;
	{
		NIM_BOOL T24_;
		NIM_BOOL T25_;
		NimStringV2 colontmpD__3;
		T24_ = (NIM_BOOL)0;
		T25_ = (NIM_BOOL)0;
		T25_ = ((*(*result)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
		if (!(T25_)) goto LA26_;
		T25_ = ((*s_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA26_: ;
		T24_ = T25_;
		if (!(T24_)) goto LA27_;
		T24_ = ((*c_p0).inConceptDecl == ((NI)0));
LA27_: ;
		if (!T24_) goto LA28_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1779, (*(*s_1).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1780, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			LA30_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA28_: ;
	{
		NIM_BOOL T35_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T39_;
		T35_ = (NIM_BOOL)0;
		T35_ = (((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0);
		if (!(T35_)) goto LA36_;
		T35_ = !(((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA36_: ;
		if (!T35_) goto LA37_;
		T39_ = NIM_NIL;
		T39_ = makeVarType__semdata_u4402(c_p0, (*result).typField, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T39_); goto LA1_;}
		eqsink___ast_u3387(&(*result).typField, T39_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*(*result).typField).callConv = ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9);
	}
LA37_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semProc__sem_u15033)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = 0;
	result = semProcAux__sem_u20978(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12), TM__rF9caJawfOjYTjsgLVUSGFA_1781, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semFunc__sem_u21490)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw colontmpD_;
	tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw colontmpD__2;
	tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw validPragmas_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)colontmpD_, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
	nimZeroMem((void*)colontmpD__2, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
	nimZeroMem((void*)validPragmas_1, sizeof(tySet_tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw));
	{
		if (!!(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA3_;
		nimCopyMem((void*)colontmpD_, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_1781, 38);
		nimCopyMem((void*)validPragmas_1, (NIM_CONST void*)colontmpD_, 38);
	}
	goto LA1_;
LA3_: ;
	{
		nimCopyMem((void*)colontmpD__2, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_1448, 38);
		nimCopyMem((void*)validPragmas_1, (NIM_CONST void*)colontmpD__2, 38);
	}
LA1_: ;
	T6_ = 0;
	result = semProcAux__sem_u20978(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13), validPragmas_1, T6_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMethod__sem_u21499)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* disp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	disp_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NimStringV2 colontmpD__3;
		T4_ = (NIM_BOOL)0;
		T4_ = isTopLevel__semdata_u4679(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T4_)) goto LA5_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1782, TM__rF9caJawfOjYTjsgLVUSGFA_1784);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1785, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	T10_ = 0;
	result = semProcAux__sem_u20978(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14), TM__rF9caJawfOjYTjsgLVUSGFA_1786, T10_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T13_;
		T13_ = (NI)0;
		T13_ = safeLen__ast_u3197(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T13_ <= ((NI)0))) goto LA14_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(disp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA14_: ;
	{
		if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80)))) goto LA18_;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(disp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA18_: ;
	eqcopy___ast_u4577(&s_1, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	disp_1 = getDispatcher__cgmeth_u36(s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T22_;
		NIM_BOOL T23_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ret_1;
		T22_ = (NIM_BOOL)0;
		T23_ = (NIM_BOOL)0;
		T23_ = !((disp_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T23_)) goto LA24_;
		colontmpD_ = returnType__ast_u5354((*disp_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T23_ = !((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA24_: ;
		T22_ = T23_;
		if (!(T22_)) goto LA25_;
		colontmpD__2 = returnType__ast_u5354((*disp_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T22_ = ((*colontmpD__2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6));
LA25_: ;
		if (!T22_) goto LA26_;
		ret_1 = NIM_NIL;
		ret_1 = returnType__ast_u5354((*s_1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		setReturnType__ast_u5357((*disp_1).typ, ret_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!((*(*(*disp_1).ast)._kind_6.sons.p->data[((NI)7)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA30_;
			{
				NIM_BOOL T34_;
				T34_ = (NIM_BOOL)0;
				T34_ = isEmptyType__ast_u7234(ret_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!T34_) goto LA35_;
				eqcopy___ast_u3255(&(*(*disp_1).ast)._kind_6.sons.p->data[((NI)7)], (*(*c_p0).graph).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA32_;
LA35_: ;
			{
				eqsink___ast_u3387(&(*(*(*(*disp_1).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym).typ, ret_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqwasMoved___ast_u3375(&ret_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA32_: ;
		}
LA30_: ;
		eqdestroy___ast_u3378(ret_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA26_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(disp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConverterDef__sem_u21526)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T10_;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA T32_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	t_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		NIM_BOOL T4_;
		NimStringV2 colontmpD__2;
		T4_ = (NIM_BOOL)0;
		T4_ = isTopLevel__semdata_u4679(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T4_)) goto LA5_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1787, TM__rF9caJawfOjYTjsgLVUSGFA_1789);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1790, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	T10_ = 0;
	result = semProcAux__sem_u20978(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16), TM__rF9caJawfOjYTjsgLVUSGFA_1781, T10_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T13_;
		T13_ = (NI)0;
		T13_ = safeLen__ast_u3197(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T13_ <= ((NI)0))) goto LA14_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA14_: ;
	{
		if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81)))) goto LA18_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA18_: ;
	eqcopy___ast_u4577(&s_1, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&t_1, (*s_1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD__3;
		colontmpD_ = returnType__ast_u5354(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA22_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__3 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1792, TM__rF9caJawfOjYTjsgLVUSGFA_1793);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1794, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			LA24_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA22_: ;
	{
		NI T29_;
		T29_ = (NI)0;
		T29_ = len__ast_u5502(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!((T29_ == ((NI)2)))) goto LA30_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1796, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1797, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA30_: ;
	nimZeroMem((void*)(&T32_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
	nimZeroMem((void*)(&T32_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
	T32_.sym = s_1;
	addConverterDef__semdata_u4305(c_p0, T32_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semMacroDef__sem_u21540)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
	NIM_BOOL allUntyped_1;
	NIM_BOOL nullary_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	t_1 = NIM_NIL;
	T2_ = 0;
	result = semProcAux__sem_u20978(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17), TM__rF9caJawfOjYTjsgLVUSGFA_1798, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T5_;
		T5_ = (NI)0;
		T5_ = safeLen__ast_u3197(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T5_ <= ((NI)0))) goto LA6_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	{
		if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82)))) goto LA10_;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA10_: ;
	eqcopy___ast_u4577(&s_1, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&t_1, (*s_1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	allUntyped_1 = NIM_TRUE;
	nullary_1 = NIM_TRUE;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190((*t_1).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
				if (!(i_2 < colontmp_)) goto LA14;
				param_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u4577(&param_1, (*(*(*t_1).n)._kind_6.sons.p->data[i_1])._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!(((*(*param_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6)))) goto LA17_;
					allUntyped_1 = NIM_FALSE;
				}
LA17_: ;
				{
					if (!((*param_1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA21_;
					nullary_1 = NIM_FALSE;
				}
LA21_: ;
				i_2 += ((NI)1);
				eqdestroy___ast_u4574(param_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA14: ;
		}
	}
	{
		if (!allUntyped_1) goto LA25_;
		(*s_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)61))) & 63);
	}
LA25_: ;
	{
		NIM_BOOL T29_;
		T29_ = (NIM_BOOL)0;
		T29_ = nullary_1;
		if (!(T29_)) goto LA30_;
		T29_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA30_: ;
		if (!T29_) goto LA31_;
		(*s_1).flags &= ~(((NU64)1) << (((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)47))) & 63));
	}
LA31_: ;
	{
		NimStringV2 colontmpD_;
		if (!((*(*n_p1)._kind_6.sons.p->data[((NI)6)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA35_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1799, (*(*s_1).name).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1800, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		{
			LA37_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA35_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, incMod__sem_u21582)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* includeStmtResult_p3) {
	NI32 f_1;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	f_1 = checkModuleName__modulepaths_u22((*(*c_p0).graph).config, it_p2, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!((f_1 == ((NI32)-1)))) goto LA3_;
		addIncludeFileDep__semdata_u4240(c_p0, f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		onProcessing__modulegraphs_u17910((*c_p0).graph, f_1, TM__rF9caJawfOjYTjsgLVUSGFA_1820, (*c_p0).module);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T7_;
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			T7_ = (NIM_BOOL)0;
			T7_ = containsOrIncl__astyaml_u223((&(*c_p0).includedFiles), ((NI) (f_1)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T7_) goto LA8_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD_ = toMsgFilename__msgs_u688((*(*c_p0).graph).config, f_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1821, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1822, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				LA10_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA8_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T15_;
			colontmpD__3 = NIM_NIL;
			colontmpD__4 = NIM_NIL;
			colontmpD__3 = (*(*c_p0).graph).includeFileCallback((*c_p0).graph, (*c_p0).module, f_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T15_ = 0;
			colontmpD__4 = semStmt__sem_u93(c_p0, colontmpD__3, T15_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			add__ast_u3215(includeStmtResult_p3, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			excl__suggestsymdb_u161((&(*c_p0).includedFiles), ((NI) (f_1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, evalInclude__sem_u21616)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin52_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		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;
				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_;
				{
					NIM_BOOL T7_;
					NI T9_;
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* opX60gensym4870__1;
					T7_ = (NIM_BOOL)0;
					T7_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
					if (!(T7_)) goto LA8_;
					T9_ = (NI)0;
					T9_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T7_ = (T9_ == ((NI)3));
LA8_: ;
					if (!T7_) goto LA10_;
					opX60gensym4870__1 = NIM_NIL;
					opX60gensym4870__1 = getPIdent__ast_u2825((*it_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						NIM_BOOL T15_;
						NIM_BOOL T16_;
						NimStringV2 colontmpD_;
						NimStringV2 colontmpD__2;
						NimStringV2 T21_;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T22_;
						T15_ = (NIM_BOOL)0;
						T16_ = (NIM_BOOL)0;
						T16_ = eqeq___idents_u366(opX60gensym4870__1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						T15_ = !(T16_);
						if (!(T15_)) goto LA17_;
						T15_ = ((*opX60gensym4870__1).id == ((NI)3));
LA17_: ;
						if (!T15_) goto LA18_;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
						T21_.len = 0; T21_.p = NIM_NIL;
						T22_ = 0;
						colontmpD_ = renderTree__renderer_u59((*it_1)._kind_6.sons.p->data[((NI)0)], T22_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						T21_ = rawNewString(colontmpD_.len + 27);
appendString((&T21_), TM__rF9caJawfOjYTjsgLVUSGFA_1813);
appendString((&T21_), colontmpD_);
appendString((&T21_), TM__rF9caJawfOjYTjsgLVUSGFA_1815);
						colontmpD__2 = T21_;
						liMessage__msgs_u1227((*(*c_p0).graph).config, (*it_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1816, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						{
							LA20_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__2);
							eqdestroy___system_u2691(colontmpD_);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					}
LA18_: ;
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___idents_u155(opX60gensym4870__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA10_: ;
				{
					NIM_BOOL T29_;
					NI T31_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* imp_1;
					NI lastPos_1;
					NI T35_;
					NI T36_;
					T29_ = (NIM_BOOL)0;
					T29_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30));
					if (!(T29_)) goto LA30_;
					T31_ = (NI)0;
					T31_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T29_ = ((*(*it_1)._kind_6.sons.p->data[(NI)(T31_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41));
LA30_: ;
					if (!T29_) goto LA32_;
					imp_1 = NIM_NIL;
					T35_ = (NI)0;
					T35_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					lastPos_1 = (NI)(T35_ - ((NI)1));
					imp_1 = copyNode__ast_u6736(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					T36_ = (NI)0;
					T36_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					newSons__ast_u6108(imp_1, T36_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					{
						NI i_3;
						NI i_4;
						i_3 = (NI)0;
						i_4 = ((NI)0);
						{
							while (1) {
								if (!(i_4 < lastPos_1)) goto LA39;
								i_3 = i_4;
								eqcopy___ast_u3255(&(*imp_1)._kind_6.sons.p->data[i_3], (*it_1)._kind_6.sons.p->data[i_3]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
								i_4 += ((NI)1);
							} LA39: ;
						}
					}
					eqcopy___ast_u3255(&(*imp_1)._kind_6.sons.p->data[lastPos_1], (*imp_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp__2;
						x_1 = NIM_NIL;
						x_1 = 0;
						colontmp__2 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						colontmp__2 = &(*it_1)._kind_6.sons.p->data[lastPos_1];
						{
							NI i_5;
							NI colontmp__3;
							NI i_6;
							i_5 = (NI)0;
							colontmp__3 = (NI)0;
							colontmp__3 = safeLen__ast_u3197((*colontmp__2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
							i_6 = ((NI)0);
							{
								while (1) {
									if (!(i_6 < colontmp__3)) goto LA44;
									i_5 = i_6;
									eqcopy___ast_u3255(&x_1, (*(*colontmp__2))._kind_6.sons.p->data[i_5]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
									{
										NIM_BOOL T47_;
										NI T49_;
										tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* opX60gensym4886__1;
										T47_ = (NIM_BOOL)0;
										T47_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
										if (!(T47_)) goto LA48_;
										T49_ = (NI)0;
										T49_ = len__ast_u3190(x_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
										T47_ = (T49_ == ((NI)3));
LA48_: ;
										if (!T47_) goto LA50_;
										opX60gensym4886__1 = NIM_NIL;
										opX60gensym4886__1 = getPIdent__ast_u2825((*x_1)._kind_6.sons.p->data[((NI)0)]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
										{
											NIM_BOOL T55_;
											NIM_BOOL T56_;
											NimStringV2 colontmpD__3;
											NimStringV2 colontmpD__4;
											NimStringV2 T61_;
											tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T62_;
											T55_ = (NIM_BOOL)0;
											T56_ = (NIM_BOOL)0;
											T56_ = eqeq___idents_u366(opX60gensym4886__1, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
											if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
											T55_ = !(T56_);
											if (!(T55_)) goto LA57_;
											T55_ = ((*opX60gensym4886__1).id == ((NI)3));
LA57_: ;
											if (!T55_) goto LA58_;
											colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
											colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
											T61_.len = 0; T61_.p = NIM_NIL;
											T62_ = 0;
											colontmpD__3 = renderTree__renderer_u59((*x_1)._kind_6.sons.p->data[((NI)0)], T62_);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
											T61_ = rawNewString(colontmpD__3.len + 27);
appendString((&T61_), TM__rF9caJawfOjYTjsgLVUSGFA_1817);
appendString((&T61_), colontmpD__3);
appendString((&T61_), TM__rF9caJawfOjYTjsgLVUSGFA_1818);
											colontmpD__4 = T61_;
											liMessage__msgs_u1227((*(*c_p0).graph).config, (*x_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1816, NIM_FALSE, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
											{
												LA60_:;
											}
											{
												eqdestroy___system_u2691(colontmpD__4);
												eqdestroy___system_u2691(colontmpD__3);
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
										}
LA58_: ;
										{
											LA52_:;
										}
										{
											oldNimErrFin52_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___idents_u155(opX60gensym4886__1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
											*nimErr_ = oldNimErrFin52_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
									}
LA50_: ;
									eqsink___ast_u3261(&(*imp_1)._kind_6.sons.p->data[lastPos_1], x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
									eqwasMoved___ast_u3249(&x_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
									incMod__sem_u21582(c_p0, n_p1, imp_1, result);
									if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
									i_6 += ((NI)1);
								} LA44: ;
							}
						}
						{
							LA41_:;
						}
						{
							oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
							*nimErr_ = oldNimErrFin41_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					}
					{
						LA34_:;
					}
					{
						oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(imp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						*nimErr_ = oldNimErrFin34_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA27_;
LA32_: ;
				{
					incMod__sem_u21582(c_p0, n_p1, it_1, result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
LA27_: ;
				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_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_u2997)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, NI module_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (*g_p0).packed_0.pm.len;
	T1_ = (module_p1 < T2_);
	if (!(T1_)) goto LA3_;
	T1_ = ((*g_p0).packed_0.pm.p->data[module_p1].status == ((tyEnum_ModuleStatus__uT4B39a2dNaG9a9aunVdyhQtQ)3));
LA3_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_u3008)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = isCachedModule__modulegraphs_u2997(g_p0, (*m_p1).position);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, specialSyms__sem_u28411)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA T5_;
		if (!((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16))) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
		T5_.sym = s_p1;
		addConverter__semdata_u4291(c_p0, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA T15_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
		if (!(T9_)) goto LA10_;
		T9_ = !(((*s_p1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA10_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA11_;
		T8_ = ((*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
LA11_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA12_;
		T7_ = (((*s_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)11)))&63U)))!=0);
LA12_: ;
		if (!T7_) goto LA13_;
		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA));
		T15_.sym = s_p1;
		addPureEnum__semdata_u4312(c_p0, T15_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA13_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExport__sem_u28407)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin88_;
NIM_BOOL oldNimErrFin80_;
NIM_BOOL oldNimErrFin73_;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		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* a_1;
				tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w o_1;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
				if (!(i_2 < colontmp_)) goto LA3;
				a_1 = NIM_NIL;
				nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
				s_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&a_1, (*n_p1)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				nimZeroMem((void*)(&o_1), sizeof(tyObject_TOverloadIter__fS1pvm52pQY9bUqdmxGpq0w));
				s_1 = initOverloadIter__lookups_u5784((&o_1), c_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					NimStringV2 colontmpD_;
					NimStringV2 colontmpD__2;
					NimStringV2 T10_;
					tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T11_;
					if (!(s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA7_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					T10_.len = 0; T10_.p = NIM_NIL;
					T11_ = 0;
					colontmpD_ = renderTree__renderer_u59(a_1, T11_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					T10_ = rawNewString(colontmpD_.len + 15);
appendString((&T10_), TM__rF9caJawfOjYTjsgLVUSGFA_1827);
appendString((&T10_), colontmpD_);
					colontmpD__2 = T10_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1828, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						LA9_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__2);
						eqdestroy___system_u2691(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA5_;
LA7_: ;
				{
					if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6))) goto LA15_;
					reexportSym__semdata_u4355(c_p0, s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					{
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* it_1;
						NIM_BOOL importHidden_1;
						it_1 = NIM_NIL;
						it_1 = 0;
						importHidden_1 = (((*s_1).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)27)))&31U)))!=0);
						{
							NIM_BOOL T21_;
							tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ rodIt_1;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* r_1;
							tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* T25_;
							tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* T26_;
							T21_ = (NIM_BOOL)0;
							T21_ = isCachedModule__modulegraphs_u3008((*c_p0).graph, s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							if (!T21_) goto LA22_;
							nimZeroMem((void*)(&rodIt_1), sizeof(tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ));
							r_1 = NIM_NIL;
							nimZeroMem((void*)(&rodIt_1), sizeof(tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ));
							T25_ = NIM_NIL;
							T25_ = (*(*c_p0).graph).config;
							T26_ = NIM_NIL;
							T26_ = (*(*c_p0).graph).cache;
							r_1 = initRodIterAllSyms__icZic_u21632((&rodIt_1), T25_, T26_, (&(*(*c_p0).graph).packed_0), ((NI32) ((*s_1).position)), importHidden_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							{
								while (1) {
									tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T33_;
									if (!!((r_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA28;
									eqsink___ast_u4583(&it_1, r_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
									eqwasMoved___ast_u4571(&r_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
									{
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
										if (!((*it_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6) && (*it_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*it_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) && (*it_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*it_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20) || (*it_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)23))) goto LA31_;
										colontmpD__3 = NIM_NIL;
										reexportSym__semdata_u4355(c_p0, it_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
										colontmpD__3 = newSymNode__ast_u5171(it_1, (*a_1).info);
										if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
										add__ast_u3215(result, colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
										specialSyms__sem_u28411(c_p0, it_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
										eqdestroy___ast_u3252(colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
									}
LA31_: ;
									T33_ = NIM_NIL;
									T33_ = nextRodIter__icZic_u21968((&rodIt_1), (&(*(*c_p0).graph).packed_0));
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T33_); goto LA24_;}
									eqsink___ast_u4583(&r_1, T33_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
								} LA28: ;
							}
							{
								LA24_:;
							}
							{
								oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(r_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
								eqdestroy___modulegraphs_u3288((&rodIt_1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
								*nimErr_ = oldNimErrFin24_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						}
						goto LA19_;
LA22_: ;
						{
							{
								tySequence__ZCZaCk14bTmSb6LMW9aWPVA colontmp__2;
								tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** s_2;
								tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* retX60gensym20__1;
								NI i_3;
								NI L_1;
								NI T42_;
								colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
								s_2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
								colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
								retX60gensym20__1 = (&(*(*c_p0).graph).ifaces.p->data[(*s_1).position].interf);
								{
									if (!importHidden_1) goto LA40_;
									retX60gensym20__1 = (&(*(*c_p0).graph).ifaces.p->data[(*s_1).position].interfHidden);
								}
LA40_: ;
								eqcopy___ast_u4851((&colontmp__2), (*retX60gensym20__1).data);
								if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
								i_3 = ((NI)0);
								T42_ = colontmp__2.len;
								L_1 = T42_;
								{
									while (1) {
										if (!(i_3 < L_1)) goto LA44;
										s_2 = &colontmp__2.p->data[i_3];
										{
											if (!!(((*s_2) == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA47_;
											eqcopy___ast_u4577(&it_1, (*s_2));
											if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
											{
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
												if (!((*it_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6) && (*it_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*it_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) && (*it_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*it_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20) || (*it_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)23))) goto LA51_;
												colontmpD__4 = NIM_NIL;
												reexportSym__semdata_u4355(c_p0, it_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
												colontmpD__4 = newSymNode__ast_u5171(it_1, (*a_1).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
												add__ast_u3215(result, colontmpD__4);
												if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
												specialSyms__sem_u28411(c_p0, it_1);
												if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
												eqdestroy___ast_u3252(colontmpD__4);
												if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
											}
LA51_: ;
										}
LA47_: ;
										i_3 += ((NI)1);
									} LA44: ;
								}
								eqdestroy___ast_u4848(colontmp__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							}
						}
LA19_: ;
						{
							LA18_:;
						}
						{
							oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
							*nimErr_ = oldNimErrFin18_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					}
					markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				}
				goto LA5_;
LA15_: ;
				{
					{
						while (1) {
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T99_;
							if (!!((s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA57;
							{
								NimStringV2 colontmpD__5;
								NimStringV2 colontmpD__6;
								NimStringV2 T63_;
								tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T64_;
								if (!((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20))) goto LA60_;
								colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
								colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
								T63_.len = 0; T63_.p = NIM_NIL;
								T64_ = 0;
								colontmpD__5 = renderTree__renderer_u59(a_1, T64_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
								T63_ = rawNewString(colontmpD__5.len + 59);
appendString((&T63_), TM__rF9caJawfOjYTjsgLVUSGFA_1829);
appendString((&T63_), colontmpD__5);
appendString((&T63_), TM__rF9caJawfOjYTjsgLVUSGFA_1831);
								colontmpD__6 = T63_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1832, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
								{
									LA62_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__6);
									eqdestroy___system_u2691(colontmpD__5);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
							}
LA60_: ;
							{
								NIM_BOOL T69_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
								T69_ = (NIM_BOOL)0;
								T69_ = ((*s_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6) && (*s_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*s_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) && (*s_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)23));
								if (!(T69_)) goto LA70_;
								T69_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0));
LA70_: ;
								if (!T69_) goto LA71_;
								colontmpD__7 = NIM_NIL;
								colontmpD__7 = newSymNode__ast_u5171(s_1, (*a_1).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								add__ast_u3215(result, colontmpD__7);
								if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								reexportSym__semdata_u4355(c_p0, s_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								specialSyms__sem_u28411(c_p0, s_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								{
									NIM_BOOL T76_;
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* etyp_1;
									T76_ = (NIM_BOOL)0;
									T76_ = ((*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7));
									if (!(T76_)) goto LA77_;
									T76_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)11)))&63U)))!=0));
LA77_: ;
									if (!T76_) goto LA78_;
									etyp_1 = NIM_NIL;
									eqcopy___ast_u3381(&etyp_1, (*s_1).typ);
									if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
									{
										if (!((*etyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*etyp_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14))) goto LA83_;
										{
											NI j_1;
											NI colontmp__3;
											NI i_4;
											j_1 = (NI)0;
											colontmp__3 = (NI)0;
											colontmp__3 = len__ast_u3190((*etyp_1).n);
											if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
											i_4 = ((NI)0);
											{
												while (1) {
													tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* e_1;
													if (!(i_4 < colontmp__3)) goto LA87;
													e_1 = NIM_NIL;
													j_1 = i_4;
													eqcopy___ast_u4577(&e_1, (*(*(*etyp_1).n)._kind_6.sons.p->data[j_1])._kind_4.sym);
													if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
													{
														if (!!(((*e_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20)))) goto LA91_;
														internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*s_1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1834, TM__rF9caJawfOjYTjsgLVUSGFA_1835);
														if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
													}
LA91_: ;
													reexportSym__semdata_u4355(c_p0, e_1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA88_;
													i_4 += ((NI)1);
													{
														LA88_:;
													}
													{
														oldNimErrFin88_ = *nimErr_; *nimErr_ = NIM_FALSE;
														eqdestroy___ast_u4574(e_1);
														if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
														*nimErr_ = oldNimErrFin88_;
													}
													if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
												} LA87: ;
											}
										}
									}
LA83_: ;
									{
										LA80_:;
									}
									{
										oldNimErrFin80_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___ast_u3378(etyp_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
										*nimErr_ = oldNimErrFin80_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
								}
LA78_: ;
								{
									LA73_:;
								}
								{
									oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__7);
									if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
									*nimErr_ = oldNimErrFin73_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
							}
LA71_: ;
							T99_ = NIM_NIL;
							T99_ = nextOverloadIter__lookups_u5989((&o_1), c_p0, a_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T99_); goto LA4_;}
							eqsink___ast_u4583(&s_1, T99_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						} LA57: ;
					}
				}
LA5_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(s_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___lookups_u6249((&o_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExportExcept__sem_u28331)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* moduleName_1;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA exceptSet_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* exported_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	moduleName_1 = NIM_NIL;
	nimZeroMem((void*)(&exceptSet_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	exported_1 = NIM_NIL;
	T2_ = 0;
	moduleName_1 = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T2_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*moduleName_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
		if (T5_) goto LA6_;
		T5_ = !(((*(*moduleName_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
LA6_: ;
		if (!T5_) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1840, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1841, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u4574(exported_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&exceptSet_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(moduleName_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	readExceptSet__importer_u19(c_p0, n_p1, (&exceptSet_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u4577(&exported_1, (*moduleName_1)._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	reexportSym__semdata_u4355(c_p0, exported_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		NIM_BOOL importHidden_1;
		s_1 = NIM_NIL;
		importHidden_1 = (((*exported_1).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)27)))&31U)))!=0);
		{
			NIM_BOOL T13_;
			tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ rodIt_1;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* r_1;
			tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* T17_;
			tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* T18_;
			T13_ = (NIM_BOOL)0;
			T13_ = isCachedModule__modulegraphs_u3008((*c_p0).graph, exported_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			if (!T13_) goto LA14_;
			nimZeroMem((void*)(&rodIt_1), sizeof(tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ));
			r_1 = NIM_NIL;
			nimZeroMem((void*)(&rodIt_1), sizeof(tyObject_RodIter__6N3dhucH9ae3pEqcrhPOBMQ));
			T17_ = NIM_NIL;
			T17_ = (*(*c_p0).graph).config;
			T18_ = NIM_NIL;
			T18_ = (*(*c_p0).graph).cache;
			r_1 = initRodIterAllSyms__icZic_u21632((&rodIt_1), T17_, T18_, (&(*(*c_p0).graph).packed_0), ((NI32) ((*exported_1).position)), importHidden_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T30_;
					if (!!((r_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA20;
					eqsink___ast_u4583(&s_1, r_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					eqwasMoved___ast_u4571(&r_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					{
						NIM_BOOL T23_;
						NIM_BOOL T24_;
						NIM_BOOL T26_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						T23_ = (NIM_BOOL)0;
						T24_ = (NIM_BOOL)0;
						T24_ = ((*s_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6) && (*s_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*s_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) && (*s_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)23));
						if (!(T24_)) goto LA25_;
						T26_ = (NIM_BOOL)0;
						T26_ = contains__astalgo_u2846((&exceptSet_1), (*(*s_1).name).id);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						T24_ = !(T26_);
LA25_: ;
						T23_ = T24_;
						if (!(T23_)) goto LA27_;
						T23_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0));
LA27_: ;
						if (!T23_) goto LA28_;
						colontmpD_ = NIM_NIL;
						reexportSym__semdata_u4355(c_p0, s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						colontmpD_ = newSymNode__ast_u5171(s_1, (*n_p1).info);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						add__ast_u3215(result, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						eqdestroy___ast_u3252(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					}
LA28_: ;
					T30_ = NIM_NIL;
					T30_ = nextRodIter__icZic_u21968((&rodIt_1), (&(*(*c_p0).graph).packed_0));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T30_); goto LA16_;}
					eqsink___ast_u4583(&r_1, T30_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
				} LA20: ;
			}
			{
				LA16_:;
			}
			{
				oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				eqdestroy___modulegraphs_u3288((&rodIt_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				*nimErr_ = oldNimErrFin16_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		goto LA11_;
LA14_: ;
		{
			{
				tySequence__ZCZaCk14bTmSb6LMW9aWPVA colontmp_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** s_2;
				tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* retX60gensym20__1;
				NI i_1;
				NI L_1;
				NI T39_;
				colontmp_.len = 0; colontmp_.p = NIM_NIL;
				s_2 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
				retX60gensym20__1 = (&(*(*c_p0).graph).ifaces.p->data[(*exported_1).position].interf);
				{
					if (!importHidden_1) goto LA37_;
					retX60gensym20__1 = (&(*(*c_p0).graph).ifaces.p->data[(*exported_1).position].interfHidden);
				}
LA37_: ;
				eqcopy___ast_u4851((&colontmp_), (*retX60gensym20__1).data);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				i_1 = ((NI)0);
				T39_ = colontmp_.len;
				L_1 = T39_;
				{
					while (1) {
						if (!(i_1 < L_1)) goto LA41;
						s_2 = &colontmp_.p->data[i_1];
						{
							if (!!(((*s_2) == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA44_;
							eqcopy___ast_u4577(&s_1, (*s_2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							{
								NIM_BOOL T48_;
								NIM_BOOL T49_;
								NIM_BOOL T51_;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
								T48_ = (NIM_BOOL)0;
								T49_ = (NIM_BOOL)0;
								T49_ = ((*s_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6) && (*s_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*s_1).kind >= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) && (*s_1).kind <= ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20) || (*s_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)23));
								if (!(T49_)) goto LA50_;
								T51_ = (NIM_BOOL)0;
								T51_ = contains__astalgo_u2846((&exceptSet_1), (*(*s_1).name).id);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
								T49_ = !(T51_);
LA50_: ;
								T48_ = T49_;
								if (!(T48_)) goto LA52_;
								T48_ = !((((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0));
LA52_: ;
								if (!T48_) goto LA53_;
								colontmpD__2 = NIM_NIL;
								reexportSym__semdata_u4355(c_p0, s_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
								colontmpD__2 = newSymNode__ast_u5171(s_1, (*n_p1).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
								add__ast_u3215(result, colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
								eqdestroy___ast_u3252(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							}
LA53_: ;
						}
LA44_: ;
						i_1 += ((NI)1);
					} LA41: ;
				}
				eqdestroy___ast_u4848(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
		}
LA11_: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	markUsed__sigmatch_u100(c_p0, (*n_p1).info, exported_1, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u4574(exported_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZcollectionsZintsets_u230((&exceptSet_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(moduleName_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg*, enterPragmaBlock__sem_u21679)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0) {
	tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* result;
	tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg*) nimNewObj(sizeof(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg), NIM_ALIGNOF(tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg));
	(*T1_).options = (*(*(*c_p0).graph).config).options;
	nimCopyMem((void*)(*T1_).notes, (NIM_CONST void*)(*(*(*c_p0).graph).config).notes, 13);
	nimCopyMem((void*)(*T1_).warningAsErrors, (NIM_CONST void*)(*(*(*c_p0).graph).config).warningAsErrors, 13);
	(*T1_).features = (*c_p0).features;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, recursiveSetFlag__sem_u21663)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flag_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA3_;
		{
			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 BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i_1 = i_2;
					recursiveSetFlag__sem_u21663((*n_p0)._kind_6.sons.p->data[i_1], flag_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		(*n_p0).flags |= ((NU32)1)<<(((flag_p1)) & 31);
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, leavePragmaBlock__sem_u21682)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* p_p1) {
	(*(*(*c_p0).graph).config).options = (*p_p1).options;
	nimCopyMem((void*)(*(*(*c_p0).graph).config).notes, (NIM_CONST void*)(*p_p1).notes, 13);
	nimCopyMem((void*)(*(*(*c_p0).graph).config).warningAsErrors, (NIM_CONST void*)(*p_p1).warningAsErrors, 13);
	(*c_p0).features = (*p_p1).features;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semPragmaBlock__sem_u21685)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaList_1;
	tyObject_TOptionEntry__KeABxBvAlGa1KroFfkcqAg* oldOptionEntry_1;
	NI inUncheckedAssignSection_1;
NIM_BOOL oldNimErrFin3_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T22_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	pragmaList_1 = NIM_NIL;
	oldOptionEntry_1 = NIM_NIL;
	checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&pragmaList_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	oldOptionEntry_1 = enterPragmaBlock__sem_u21679(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pragma__pragmas_u120(c_p0, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), pragmaList_1, TM__rF9caJawfOjYTjsgLVUSGFA_1842, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	inUncheckedAssignSection_1 = ((NI)0);
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
		p_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3197(pragmaList_1);
			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(&p_1, (*pragmaList_1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					{
						tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T9_;
						tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T12_;
						T9_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
						T9_ = whichPragma__trees_u218(p_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						if (!(T9_ == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9))) goto LA10_;
						T12_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
						T12_ = whichPragma__trees_u218((*p_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						switch (T12_) {
						case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)112):
						case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)111):
						case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)180):
						case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)181):
						case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)175):
						{
						}
						break;
						case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)87):
						{
							inUncheckedAssignSection_1 = ((NI)1);
						}
						break;
						default:
						{
							NimStringV2 colontmpD_;
							NimStringV2 colontmpD__2;
							NimStringV2 T17_;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							T17_.len = 0; T17_.p = NIM_NIL;
							colontmpD_ = dollar___renderer_u2166(p_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							T17_ = rawNewString(colontmpD_.len + 22);
appendString((&T17_), TM__rF9caJawfOjYTjsgLVUSGFA_1844);
appendString((&T17_), colontmpD_);
							colontmpD__2 = T17_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*p_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1845, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							{
								LA16_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___system_u2691(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						}
						break;
						}
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA6: ;
			}
		}
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(p_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	(*c_p0).inUncheckedAssignSection += inUncheckedAssignSection_1;
	T22_ = 0;
	T23_ = NIM_NIL;
	T23_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)], T22_, expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA1_;}
	eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)1)], T23_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*c_p0).inUncheckedAssignSection -= inUncheckedAssignSection_1;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*result).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_3;
		NI colontmp__2;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = len__ast_u3190(pragmaList_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_4 = ((NI)0);
		{
			while (1) {
				tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T27_;
				if (!(i_4 < colontmp__2)) goto LA26;
				i_3 = i_4;
				T27_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
				T27_ = whichPragma__trees_u218((*pragmaList_1)._kind_6.sons.p->data[i_3]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				switch (T27_) {
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)128):
				{
					setInfoRecursive__ast_u4054(result, (*(*pragmaList_1)._kind_6.sons.p->data[i_3]).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				break;
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)192):
				{
					recursiveSetFlag__sem_u21663(result, ((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)6));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				break;
				default:
				{
				}
				break;
				}
				i_4 += ((NI)1);
			} LA26: ;
		}
	}
	leavePragmaBlock__sem_u21682(c_p0, oldOptionEntry_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___semdata_u611(oldOptionEntry_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(pragmaList_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStaticStmt__sem_u21713)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	NI oldErrorCount_1;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	a_1 = NIM_NIL;
	oldErrorCount_1 = (*(*(*c_p0).graph).config).errorCounter;
	(*c_p0).inStaticContext += ((NI)1);
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = 0;
	a_1 = semStmt__sem_u93(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*c_p0).inStaticContext -= ((NI)1);
	eqcopy___ast_u3255(&(*n_p1)._kind_6.sons.p->data[((NI)0)], a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*(*(*c_p0).graph).config).errorCounter == oldErrorCount_1)) goto LA5_;
		evalStaticStmt__vm_u14312((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, a_1, (*(*c_p0).p).owner);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)114), (*n_p1).info, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)0)], (*(*c_p0).graph).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExpr__sem_u58)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin61_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin92_;
NIM_BOOL oldNimErrFin111_;
NIM_BOOL oldNimErrFin127_;
NIM_BOOL oldNimErrFin143_;
NIM_BOOL oldNimErrFin159_;
NIM_BOOL oldNimErrFin175_;
NIM_BOOL oldNimErrFin191_;
NIM_BOOL oldNimErrFin207_;
NIM_BOOL oldNimErrFin223_;
NIM_BOOL oldNimErrFin239_;
NIM_BOOL oldNimErrFin255_;
NIM_BOOL oldNimErrFin271_;
NIM_BOOL oldNimErrFin287_;
NIM_BOOL oldNimErrFin303_;
NIM_BOOL oldNimErrFin319_;
NIM_BOOL oldNimErrFin335_;
NIM_BOOL oldNimErrFin374_;
NIM_BOOL oldNimErrFin356_;
NIM_BOOL oldNimErrFin383_;
NIM_BOOL oldNimErrFin450_;
NIM_BOOL oldNimErrFin466_;
NIM_BOOL oldNimErrFin388_;
NIM_BOOL oldNimErrFin496_;
NIM_BOOL oldNimErrFin501_;
NIM_BOOL oldNimErrFin601_;
NIM_BOOL oldNimErrFin663_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12))) goto LA3_;
		suggestExpr__sigmatch_u7722(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		if (!(((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7)))&31U)))!=0)) goto LA7_;
		goto BeforeRet_;
	}
LA7_: ;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		s_1 = NIM_NIL;
		s_1 = resolveIdentToSym__sem_u28764(c_p0, n_p1, &result, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			if (!(s_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA13_;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA13_: ;
		{
			if (!((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL))) goto LA17_;
			semCaptureSym__lambdalifting_u5480(s_1, (*(*c_p0).p).owner);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
LA17_: ;
		switch ((*s_1).kind) {
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16):
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
			T20_ = NIM_NIL;
			T20_ = symChoice__sem_u10236(c_p0, n_p1, s_1, ((tyEnum_TSymChoiceRule__ZNHz4h03s0qrf9blpXu1ZUg)0), NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto LA10_;}
			eqsink___ast_u3261(&result, T20_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA23_;
				markUsed__sigmatch_u100(c_p0, (*n_p1).info, s_1, NIM_TRUE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				markIndirect__semdata_u4654(c_p0, (*result)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
LA23_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T29_;
				if (!(((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0)) goto LA27_;
				T29_ = NIM_NIL;
				T29_ = makeVarType__semdata_u4402(c_p0, (*result).typField, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T29_); goto LA10_;}
				eqsink___ast_u3387(&(*result).typField, T29_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
LA27_: ;
		}
		break;
		case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
			T31_ = NIM_NIL;
			T31_ = enumFieldSymChoice__sem_u28706(c_p0, n_p1, s_1, flags_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto LA10_;}
			eqsink___ast_u3261(&result, T31_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		break;
		default:
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
			T33_ = NIM_NIL;
			T33_ = semSym__sem_u22012(c_p0, n_p1, s_1, flags_p2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T33_); goto LA10_;}
			eqsink___ast_u3261(&result, T33_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		break;
		}
		{
			NIM_BOOL T36_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T39_;
			T36_ = (NIM_BOOL)0;
			T36_ = isSymChoice__sem_u22017(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			if (!T36_) goto LA37_;
			T39_ = NIM_NIL;
			T39_ = semSymChoice__sem_u22101(c_p0, result, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T39_); goto LA10_;}
			eqsink___ast_u3261(&result, T39_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
LA37_: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T43_;
		T43_ = NIM_NIL;
		T43_ = semSymChoice__sem_u22101(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T43_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T43_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T57_;
		s_2 = NIM_NIL;
		eqcopy___ast_u4577(&s_2, (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_1;
			NIM_BOOL override_1;
			if (!(((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)25)))&31U)))!=0)) goto LA48_;
			res_1 = NIM_NIL;
			override_1 = (((*c_p0).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)22)))&31U)))!=0);
			res_1 = semOpenSym__sem_u22047(c_p0, n_p1, flags_p2, expectedType_p3, !(override_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
			{
				if (!!((res_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA53_;
				result = res_1;
				eqwasMoved___ast_u3249(&res_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				eqdestroy___ast_u3252(res_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				eqdestroy___ast_u4574(s_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA53_: ;
			{
				LA50_:;
			}
			{
				oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(res_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				*nimErr_ = oldNimErrFin50_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		}
LA48_: ;
		T57_ = NIM_NIL;
		T57_ = semSym__sem_u22012(c_p0, n_p1, s_2, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T57_); goto LA45_;}
		eqsink___ast_u3261(&result, T57_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		{
			LA45_:;
		}
		{
			oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin45_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* inner_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T62_;
		inner_1 = NIM_NIL;
		eqcopy___ast_u3255(&inner_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		T62_ = NIM_NIL;
		T62_ = semOpenSym__sem_u22047(c_p0, inner_1, flags_p2, expectedType_p3, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T62_); goto LA61_;}
		eqsink___ast_u3261(&result, T62_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		{
			LA61_:;
		}
		{
			oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(inner_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin61_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T71_;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA69_;
			T71_ = NIM_NIL;
			T71_ = getNilType__sem_u28699(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T71_); goto BeforeRet_;}
			eqsink___ast_u3387(&(*result).typField, T71_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T74_;
				tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g m_1;
				T74_ = (NIM_BOOL)0;
				T74_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T74_)) goto LA75_;
				T74_ = !(((*expectedType_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6) || (*expectedType_p3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7)));
LA75_: ;
				if (!T74_) goto LA76_;
				nimZeroMem((void*)(&m_1), sizeof(tyObject_TCandidate__GUvux0whxojdIJ7lQ53D0g));
				newCandidate__sigmatch_u456(c_p0, (*result).typField, (&m_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
				{
					tySet_tyEnum_TTypeRelFlag__yHDjpmVEXqbkZzsG3uHRHw T81_;
					tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ T82_;
					T81_ = 0;
					T82_ = (tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)0;
					T82_ = typeRel__sigmatch_u253((&m_1), expectedType_p3, (*result).typField, T81_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
					if (!(((tyEnum_TTypeRelation__3oOe3669aBTtgW9aCnZX9azBQ)3) <= T82_)) goto LA83_;
					eqcopy___ast_u3381(&(*result).typField, expectedType_p3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
				}
LA83_: ;
				{
					LA78_:;
				}
				{
					oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___sigmatch_u162((&m_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin78_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA76_: ;
		}
LA69_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expected_1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA90_;
			expected_1 = NIM_NIL;
			{
				NIM_BOOL T95_;
				T95_ = (NIM_BOOL)0;
				T95_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T95_)) goto LA96_;
				expected_1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
				T95_ = ((*expected_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*expected_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || (*expected_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) && (*expected_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44) || (*expected_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*expected_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39));
LA96_: ;
				if (!T95_) goto LA97_;
				{
					if (!((*expected_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*expected_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39))) goto LA101_;
					transitionIntToFloatKind__ast_u6815(n_p1, ((tyEnum_TNodeKind__ejrmw4CHo9bZqcGZhO9alDfA)16));
					if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
				}
LA101_: ;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
			}
			goto LA93_;
LA97_: ;
			{
				setIntLitType__semdata_u323(c_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
			}
LA93_: ;
			{
				LA92_:;
			}
			{
				oldNimErrFin92_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expected_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin92_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA90_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)7):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7341__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA109_;
			expectedX60gensym7341__1 = NIM_NIL;
			{
				NIM_BOOL T114_;
				T114_ = (NIM_BOOL)0;
				T114_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T114_)) goto LA115_;
				expectedX60gensym7341__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				T114_ = ((*expectedX60gensym7341__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)32));
LA115_: ;
				if (!T114_) goto LA116_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7341__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				eqwasMoved___ast_u3375(&expectedX60gensym7341__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
			}
			goto LA112_;
LA116_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T119_;
				T119_ = NIM_NIL;
				T119_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)32));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T119_); goto LA111_;}
				eqsink___ast_u3387(&(*result).typField, T119_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
			}
LA112_: ;
			{
				LA111_:;
			}
			{
				oldNimErrFin111_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7341__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin111_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA109_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)8):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7346__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA125_;
			expectedX60gensym7346__1 = NIM_NIL;
			{
				NIM_BOOL T130_;
				T130_ = (NIM_BOOL)0;
				T130_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T130_)) goto LA131_;
				expectedX60gensym7346__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
				T130_ = ((*expectedX60gensym7346__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)33));
LA131_: ;
				if (!T130_) goto LA132_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7346__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
				eqwasMoved___ast_u3375(&expectedX60gensym7346__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
			}
			goto LA128_;
LA132_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T135_;
				T135_ = NIM_NIL;
				T135_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)33));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T135_); goto LA127_;}
				eqsink___ast_u3387(&(*result).typField, T135_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
			}
LA128_: ;
			{
				LA127_:;
			}
			{
				oldNimErrFin127_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7346__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin127_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA125_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)9):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7351__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA141_;
			expectedX60gensym7351__1 = NIM_NIL;
			{
				NIM_BOOL T146_;
				T146_ = (NIM_BOOL)0;
				T146_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T146_)) goto LA147_;
				expectedX60gensym7351__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
				T146_ = ((*expectedX60gensym7351__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)34));
LA147_: ;
				if (!T146_) goto LA148_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7351__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
				eqwasMoved___ast_u3375(&expectedX60gensym7351__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
			}
			goto LA144_;
LA148_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T151_;
				T151_ = NIM_NIL;
				T151_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)34));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T151_); goto LA143_;}
				eqsink___ast_u3387(&(*result).typField, T151_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA143_;
			}
LA144_: ;
			{
				LA143_:;
			}
			{
				oldNimErrFin143_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7351__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin143_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA141_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)10):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7356__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA157_;
			expectedX60gensym7356__1 = NIM_NIL;
			{
				NIM_BOOL T162_;
				T162_ = (NIM_BOOL)0;
				T162_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T162_)) goto LA163_;
				expectedX60gensym7356__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T162_ = ((*expectedX60gensym7356__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35));
LA163_: ;
				if (!T162_) goto LA164_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7356__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				eqwasMoved___ast_u3375(&expectedX60gensym7356__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
			}
			goto LA160_;
LA164_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T167_;
				T167_ = NIM_NIL;
				T167_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T167_); goto LA159_;}
				eqsink___ast_u3387(&(*result).typField, T167_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
			}
LA160_: ;
			{
				LA159_:;
			}
			{
				oldNimErrFin159_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7356__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin159_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA157_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)11):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7361__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA173_;
			expectedX60gensym7361__1 = NIM_NIL;
			{
				NIM_BOOL T178_;
				T178_ = (NIM_BOOL)0;
				T178_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T178_)) goto LA179_;
				expectedX60gensym7361__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
				T178_ = ((*expectedX60gensym7361__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40));
LA179_: ;
				if (!T178_) goto LA180_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7361__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
				eqwasMoved___ast_u3375(&expectedX60gensym7361__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
			}
			goto LA176_;
LA180_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T183_;
				T183_ = NIM_NIL;
				T183_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T183_); goto LA175_;}
				eqsink___ast_u3387(&(*result).typField, T183_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA175_;
			}
LA176_: ;
			{
				LA175_:;
			}
			{
				oldNimErrFin175_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7361__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin175_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA173_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)12):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7366__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA189_;
			expectedX60gensym7366__1 = NIM_NIL;
			{
				NIM_BOOL T194_;
				T194_ = (NIM_BOOL)0;
				T194_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T194_)) goto LA195_;
				expectedX60gensym7366__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				T194_ = ((*expectedX60gensym7366__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)41));
LA195_: ;
				if (!T194_) goto LA196_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7366__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				eqwasMoved___ast_u3375(&expectedX60gensym7366__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
			}
			goto LA192_;
LA196_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T199_;
				T199_ = NIM_NIL;
				T199_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)41));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T199_); goto LA191_;}
				eqsink___ast_u3387(&(*result).typField, T199_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
			}
LA192_: ;
			{
				LA191_:;
			}
			{
				oldNimErrFin191_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7366__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin191_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA189_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)13):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7371__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA205_;
			expectedX60gensym7371__1 = NIM_NIL;
			{
				NIM_BOOL T210_;
				T210_ = (NIM_BOOL)0;
				T210_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T210_)) goto LA211_;
				expectedX60gensym7371__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
				T210_ = ((*expectedX60gensym7371__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)42));
LA211_: ;
				if (!T210_) goto LA212_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7371__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
				eqwasMoved___ast_u3375(&expectedX60gensym7371__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
			}
			goto LA208_;
LA212_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T215_;
				T215_ = NIM_NIL;
				T215_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)42));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T215_); goto LA207_;}
				eqsink___ast_u3387(&(*result).typField, T215_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
			}
LA208_: ;
			{
				LA207_:;
			}
			{
				oldNimErrFin207_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7371__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin207_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA205_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)14):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7376__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA221_;
			expectedX60gensym7376__1 = NIM_NIL;
			{
				NIM_BOOL T226_;
				T226_ = (NIM_BOOL)0;
				T226_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T226_)) goto LA227_;
				expectedX60gensym7376__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
				T226_ = ((*expectedX60gensym7376__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)43));
LA227_: ;
				if (!T226_) goto LA228_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7376__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
				eqwasMoved___ast_u3375(&expectedX60gensym7376__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
			}
			goto LA224_;
LA228_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T231_;
				T231_ = NIM_NIL;
				T231_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)43));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T231_); goto LA223_;}
				eqsink___ast_u3387(&(*result).typField, T231_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA223_;
			}
LA224_: ;
			{
				LA223_:;
			}
			{
				oldNimErrFin223_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7376__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin223_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA221_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7381__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA237_;
			expectedX60gensym7381__1 = NIM_NIL;
			{
				NIM_BOOL T242_;
				T242_ = (NIM_BOOL)0;
				T242_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T242_)) goto LA243_;
				expectedX60gensym7381__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA239_;
				T242_ = ((*expectedX60gensym7381__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
LA243_: ;
				if (!T242_) goto LA244_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7381__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA239_;
				eqwasMoved___ast_u3375(&expectedX60gensym7381__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA239_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA239_;
			}
			goto LA240_;
LA244_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T247_;
				T247_ = NIM_NIL;
				T247_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T247_); goto LA239_;}
				eqsink___ast_u3387(&(*result).typField, T247_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA239_;
			}
LA240_: ;
			{
				LA239_:;
			}
			{
				oldNimErrFin239_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7381__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin239_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA237_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expected_2;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA253_;
			expected_2 = NIM_NIL;
			{
				NIM_BOOL T258_;
				T258_ = (NIM_BOOL)0;
				T258_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T258_)) goto LA259_;
				expected_2 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
				T258_ = ((*expected_2).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*expected_2).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39));
LA259_: ;
				if (!T258_) goto LA260_;
				eqsink___ast_u3387(&(*result).typField, expected_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
				eqwasMoved___ast_u3375(&expected_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
			}
			goto LA256_;
LA260_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T263_;
				T263_ = NIM_NIL;
				T263_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T263_); goto LA255_;}
				eqsink___ast_u3387(&(*result).typField, T263_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
			}
LA256_: ;
			{
				LA255_:;
			}
			{
				oldNimErrFin255_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expected_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin255_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA253_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)17):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7391__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA269_;
			expectedX60gensym7391__1 = NIM_NIL;
			{
				NIM_BOOL T274_;
				T274_ = (NIM_BOOL)0;
				T274_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T274_)) goto LA275_;
				expectedX60gensym7391__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
				T274_ = ((*expectedX60gensym7391__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)37));
LA275_: ;
				if (!T274_) goto LA276_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7391__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
				eqwasMoved___ast_u3375(&expectedX60gensym7391__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
			}
			goto LA272_;
LA276_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T279_;
				T279_ = NIM_NIL;
				T279_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)37));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T279_); goto LA271_;}
				eqsink___ast_u3387(&(*result).typField, T279_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
			}
LA272_: ;
			{
				LA271_:;
			}
			{
				oldNimErrFin271_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7391__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin271_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA269_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7396__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA285_;
			expectedX60gensym7396__1 = NIM_NIL;
			{
				NIM_BOOL T290_;
				T290_ = (NIM_BOOL)0;
				T290_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T290_)) goto LA291_;
				expectedX60gensym7396__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA287_;
				T290_ = ((*expectedX60gensym7396__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38));
LA291_: ;
				if (!T290_) goto LA292_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7396__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA287_;
				eqwasMoved___ast_u3375(&expectedX60gensym7396__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA287_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA287_;
			}
			goto LA288_;
LA292_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T295_;
				T295_ = NIM_NIL;
				T295_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T295_); goto LA287_;}
				eqsink___ast_u3387(&(*result).typField, T295_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA287_;
			}
LA288_: ;
			{
				LA287_:;
			}
			{
				oldNimErrFin287_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7396__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin287_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA285_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)19):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7401__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA301_;
			expectedX60gensym7401__1 = NIM_NIL;
			{
				NIM_BOOL T306_;
				T306_ = (NIM_BOOL)0;
				T306_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T306_)) goto LA307_;
				expectedX60gensym7401__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA303_;
				T306_ = ((*expectedX60gensym7401__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39));
LA307_: ;
				if (!T306_) goto LA308_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7401__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA303_;
				eqwasMoved___ast_u3375(&expectedX60gensym7401__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA303_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA303_;
			}
			goto LA304_;
LA308_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T311_;
				T311_ = NIM_NIL;
				T311_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T311_); goto LA303_;}
				eqsink___ast_u3387(&(*result).typField, T311_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA303_;
			}
LA304_: ;
			{
				LA303_:;
			}
			{
				oldNimErrFin303_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7401__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin303_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA301_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expected_3;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA317_;
			expected_3 = NIM_NIL;
			{
				NIM_BOOL T322_;
				T322_ = (NIM_BOOL)0;
				T322_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T322_)) goto LA323_;
				expected_3 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
				T322_ = ((*expected_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) || (*expected_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29));
LA323_: ;
				if (!T322_) goto LA324_;
				eqcopy___ast_u3381(&(*result).typField, expectedType_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
			}
			goto LA320_;
LA324_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T327_;
				T327_ = NIM_NIL;
				T327_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T327_); goto LA319_;}
				eqsink___ast_u3387(&(*result).typField, T327_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA319_;
			}
LA320_: ;
			{
				LA319_:;
			}
			{
				oldNimErrFin319_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expected_3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin319_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA317_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedX60gensym7411__1;
			if (!((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA333_;
			expectedX60gensym7411__1 = NIM_NIL;
			{
				NIM_BOOL T338_;
				T338_ = (NIM_BOOL)0;
				T338_ = !((expectedType_p3 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
				if (!(T338_)) goto LA339_;
				expectedX60gensym7411__1 = skipTypes__ast_u5379(expectedType_p3, TM__rF9caJawfOjYTjsgLVUSGFA_6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA335_;
				T338_ = ((*expectedX60gensym7411__1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2));
LA339_: ;
				if (!T338_) goto LA340_;
				eqsink___ast_u3387(&(*result).typField, expectedX60gensym7411__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA335_;
				eqwasMoved___ast_u3375(&expectedX60gensym7411__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA335_;
				changeType__sem_u84(c_p0, result, expectedType_p3, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA335_;
			}
			goto LA336_;
LA340_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T343_;
				T343_ = NIM_NIL;
				T343_ = getSysType__magicsys_u55((*c_p0).graph, (*n_p1).info, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T343_); goto LA335_;}
				eqsink___ast_u3387(&(*result).typField, T343_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA335_;
			}
LA336_: ;
			{
				LA335_:;
			}
			{
				oldNimErrFin335_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(expectedX60gensym7411__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin335_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA333_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T347_;
		T347_ = NIM_NIL;
		T347_ = semFieldAccess__sem_u21875(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T347_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T347_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T352_;
			if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)25))) goto LA350_;
			transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)27));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T352_ = NIM_NIL;
			T352_ = semExpr__sem_u58(c_p0, result, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T352_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T352_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA350_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)55):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T354_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)24), TM__rF9caJawfOjYTjsgLVUSGFA_1274, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1275, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T354_ = NIM_NIL;
		T354_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T354_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T354_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)135):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)137):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T379_;
		typ_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		{
			NIM_BOOL T359_;
			NI T361_;
			tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__2;
			tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__3;
			tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__4;
			tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__5;
			tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__6;
			tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg colontmpD__7;
			tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg modifier_1;
			T359_ = (NIM_BOOL)0;
			T359_ = !(((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL)));
			if (!(T359_)) goto LA360_;
			T361_ = (NI)0;
			T361_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			T359_ = (T361_ == ((NI)1));
LA360_: ;
			if (!T359_) goto LA362_;
			colontmpD__2 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
			colontmpD__3 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
			colontmpD__4 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
			colontmpD__5 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
			colontmpD__6 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
			colontmpD__7 = (tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0;
			switch ((*n_p1).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143):
			{
				colontmpD__2 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23);
				modifier_1 = colontmpD__2;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141):
			{
				colontmpD__3 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22);
				modifier_1 = colontmpD__3;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142):
			{
				colontmpD__4 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21);
				modifier_1 = colontmpD__4;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)137):
			{
				colontmpD__5 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60);
				modifier_1 = colontmpD__5;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
			{
				colontmpD__6 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8);
				modifier_1 = colontmpD__6;
			}
			break;
			default:
			{
				colontmpD__7 = ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0);
				modifier_1 = colontmpD__7;
			}
			break;
			}
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* baseType_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
				tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T375_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_1;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T376_;
				if (!!((modifier_1 == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0)))) goto LA372_;
				baseType_1 = NIM_NIL;
				colontmpD__8 = NIM_NIL;
				colontmpD__9 = NIM_NIL;
				T375_ = 0;
				colontmpD__8 = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T375_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				baseType_1 = skipTypes__ast_u5379((*colontmpD__8).typField, TM__rF9caJawfOjYTjsgLVUSGFA_46);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				blitTmp_1 = baseType_1;
				eqwasMoved___ast_u3375(&baseType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				colontmpD__9 = newTypeS__semdata_u4368(modifier_1, c_p0, blitTmp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				T376_ = NIM_NIL;
				T376_ = makeTypeDesc__semdata_u4621(c_p0, colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T376_); goto LA374_;}
				eqsink___ast_u3387(&(*result).typField, T376_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				eqdestroy___ast_u3378(colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
				eqdestroy___ast_u3252(colontmpD__8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
				eqdestroy___ast_u3378(baseType_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
				{
					LA374_:;
				}
				{
					oldNimErrFin374_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
					eqdestroy___ast_u3252(colontmpD__8);
					if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
					eqdestroy___ast_u3378(baseType_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
					*nimErr_ = oldNimErrFin374_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			}
LA372_: ;
		}
LA362_: ;
		colontmpD_ = semTypeNode__sem_u89(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
		typ_1 = skipTypes__ast_u5379(colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_46);
		if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
		T379_ = NIM_NIL;
		T379_ = makeTypeDesc__semdata_u4621(c_p0, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T379_); goto LA356_;}
		eqsink___ast_u3387(&(*result).typField, T379_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
		{
			LA356_:;
		}
		{
			oldNimErrFin356_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(typ_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin356_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)128):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T384_;
		typ_2 = NIM_NIL;
		typ_2 = semTypeNode__sem_u89(c_p0, n_p1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA383_;
		T384_ = NIM_NIL;
		T384_ = makeTypeDesc__semdata_u4621(c_p0, typ_2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T384_); goto LA383_;}
		eqsink___ast_u3387(&(*result).typField, T384_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA383_;
		{
			LA383_:;
		}
		{
			oldNimErrFin383_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(typ_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin383_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28):
	{
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ colontmpD__10;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ colontmpD__11;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_3;
		tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ mode_1;
		nimZeroMem((void*)(&colontmpD__10), sizeof(tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ));
		nimZeroMem((void*)(&colontmpD__11), sizeof(tySet_tyEnum_TLookupFlag__l9bvZMRwOrEZawdhQi29c5PQ));
		s_3 = NIM_NIL;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
		{
			if (!(((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)9)))&31U)))!=0)) goto LA391_;
			colontmpD__10 = 0;
			mode_1 = colontmpD__10;
		}
		goto LA389_;
LA391_: ;
		{
			colontmpD__11 = 2;
			mode_1 = colontmpD__11;
		}
LA389_: ;
		(*c_p0).isAmbiguous = NIM_FALSE;
		s_3 = qualifiedLookUp__lookups_u5229(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], mode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
		{
			if (!!((s_3 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA396_;
			switch ((*s_3).kind) {
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T399_;
				T399_ = NIM_NIL;
				T399_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, expectedType_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T399_); goto LA388_;}
				eqsink___ast_u3261(&result, T399_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7):
			{
				NIM_BOOL ambig_1;
				ambig_1 = (*c_p0).isAmbiguous;
				{
					NIM_BOOL T403_;
					NIM_BOOL T404_;
					NI T407_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T410_;
					T403_ = (NIM_BOOL)0;
					T404_ = (NIM_BOOL)0;
					T404_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45) || (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) && (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
					if (!(T404_)) goto LA405_;
					T404_ = ambig_1;
LA405_: ;
					T403_ = !(T404_);
					if (!(T403_)) goto LA406_;
					T407_ = (NI)0;
					T407_ = len__ast_u3190(n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
					T403_ = (T407_ == ((NI)2));
LA406_: ;
					if (!T403_) goto LA408_;
					T410_ = NIM_NIL;
					T410_ = semConv__sem_u22833(c_p0, n_p1, flags_p2, expectedType_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T410_); goto LA388_;}
					eqsink___ast_u3261(&result, T410_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
				}
				goto LA401_;
LA408_: ;
				{
					NI T412_;
					T412_ = (NI)0;
					T412_ = len__ast_u3190(n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
					if (!(T412_ == ((NI)1))) goto LA413_;
					{
						if (!ambig_1) goto LA417_;
						errorUseQualifier__lookups_u5067(c_p0, (*n_p1).info, s_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
					}
					goto LA415_;
LA417_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T420_;
						T420_ = NIM_NIL;
						T420_ = semObjConstr__sem_u23432(c_p0, n_p1, flags_p2, expectedType_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T420_); goto LA388_;}
						eqsink___ast_u3261(&result, T420_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
					}
LA415_: ;
				}
				goto LA401_;
LA413_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T424_;
					if (!((*s_3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0))) goto LA422_;
					T424_ = NIM_NIL;
					T424_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, expectedType_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T424_); goto LA388_;}
					eqsink___ast_u3261(&result, T424_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
				}
				goto LA401_;
LA422_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T426_;
					T426_ = NIM_NIL;
					T426_ = semMagic__sem_u26546(c_p0, n_p1, s_3, flags_p2, expectedType_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T426_); goto LA388_;}
					eqsink___ast_u3261(&result, T426_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
				}
LA401_: ;
			}
			break;
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16):
			case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15):
			{
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T432_;
					if (!((*s_3).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0))) goto LA430_;
					T432_ = NIM_NIL;
					T432_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, expectedType_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T432_); goto LA388_;}
					eqsink___ast_u3261(&result, T432_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
				}
				goto LA428_;
LA430_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T434_;
					T434_ = NIM_NIL;
					T434_ = semMagic__sem_u26546(c_p0, n_p1, s_3, flags_p2, expectedType_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T434_); goto LA388_;}
					eqsink___ast_u3261(&result, T434_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
				}
LA428_: ;
			}
			break;
			default:
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T436_;
				T436_ = NIM_NIL;
				T436_ = semIndirectOp__sem_u24737(c_p0, n_p1, flags_p2, expectedType_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T436_); goto LA388_;}
				eqsink___ast_u3261(&result, T436_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
			}
			break;
			}
		}
		goto LA394_;
LA396_: ;
		{
			NIM_BOOL T438_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T441_;
			T438_ = (NIM_BOOL)0;
			T438_ = isExplicitGenericCall__sem_u28551(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
			if (!T438_) goto LA439_;
			T441_ = NIM_NIL;
			T441_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T441_); goto LA388_;}
			eqsink___ast_u3261(&result, T441_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
		}
		goto LA394_;
LA439_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T445_;
			if (!(((*n_p1).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)9)))&31U)))!=0)) goto LA443_;
			T445_ = NIM_NIL;
			T445_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T445_); goto LA388_;}
			eqsink___ast_u3261(&result, T445_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
		}
		goto LA394_;
LA443_: ;
		{
			NIM_BOOL T447_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
			T447_ = (NIM_BOOL)0;
			T447_ = isSymChoice__sem_u22017((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
			if (!T447_) goto LA448_;
			b_1 = NIM_NIL;
			b_1 = asBracketExpr__sem_u28598(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA450_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T455_;
				if (!!((b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA453_;
				T455_ = NIM_NIL;
				T455_ = semExpr__sem_u58(c_p0, b_1, flags_p2, expectedType_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T455_); goto LA450_;}
				eqsink___ast_u3261(&result, T455_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA450_;
			}
			goto LA451_;
LA453_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T457_;
				T457_ = NIM_NIL;
				T457_ = semDirectOp__sem_u526(c_p0, n_p1, flags_p2, expectedType_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T457_); goto LA450_;}
				eqsink___ast_u3261(&result, T457_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA450_;
			}
LA451_: ;
			{
				LA450_:;
			}
			{
				oldNimErrFin450_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
				*nimErr_ = oldNimErrFin450_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
		}
		goto LA394_;
LA448_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T461_;
			T461_ = NIM_NIL;
			T461_ = semIndirectOp__sem_u24737(c_p0, n_p1, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T461_); goto LA388_;}
			eqsink___ast_u3261(&result, T461_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
		}
LA394_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* hoistedParams_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T467_;
			tyArray__al2p7ldDMvbBVYNFCuu4Rw T472_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T473_;
			if (!(((*result).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)19)))&31U)))!=0)) goto LA464_;
			hoistedParams_1 = NIM_NIL;
			T467_ = NIM_NIL;
			T467_ = copyTree__ast_u6891(result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T467_); goto LA466_;}
			eqsink___ast_u3261(&result, T467_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA466_;
			hoistedParams_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100), (*result).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA466_;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3190(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA466_;
				i_2 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T471_;
						if (!(i_2 < colontmp_)) goto LA470;
						i_1 = i_2;
						T471_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						T471_ = &result;
						hoistParamsUsedInDefault__sem_u28653(c_p0, T471_, &hoistedParams_1, &(*result)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA466_;
						i_2 += ((NI)1);
					} LA470: ;
				}
			}
			nimZeroMem((void*)T472_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
			T472_[0] = hoistedParams_1;
			T472_[1] = result;
			T473_ = NIM_NIL;
			T473_ = newTreeIT__ast_u4191(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126), (*result).info, (*result).typField, T472_, 2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T473_); goto LA466_;}
			eqsink___ast_u3261(&result, T473_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA466_;
			{
				LA466_:;
			}
			{
				oldNimErrFin466_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(hoistedParams_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
				*nimErr_ = oldNimErrFin466_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA388_;
		}
LA464_: ;
		{
			LA388_:;
		}
		{
			oldNimErrFin388_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin388_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T483_;
			if (!((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)8)))&31U)))!=0)) goto LA481_;
			T483_ = NIM_NIL;
			T483_ = semWhen__sem_u531(c_p0, n_p1, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T483_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T483_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA479_;
LA481_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T485_;
			T485_ = NIM_NIL;
			T485_ = semWhen__sem_u531(c_p0, n_p1, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T485_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T485_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T490_;
				if (!(result == n_p1)) goto LA488_;
				T490_ = NIM_NIL;
				T490_ = semWhen__sem_u531(c_p0, n_p1, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T490_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T490_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA486_;
LA488_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T492_;
				T492_ = NIM_NIL;
				T492_ = semExpr__sem_u58(c_p0, result, flags_p2, expectedType_p3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T492_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T492_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA486_: ;
		}
LA479_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T494_;
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T494_ = NIM_NIL;
		T494_ = semArrayAccess__sem_u25513(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T494_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T494_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40):
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__12;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T497_;
		colontmpD__12 = NIM_NIL;
		colontmpD__13 = NIM_NIL;
		colontmpD__12 = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1413);
		if (NIM_UNLIKELY(*nimErr_)) goto LA496_;
		colontmpD__13 = buildOverloadedSubscripts__sem_u25377(n_p1, colontmpD__12);
		if (NIM_UNLIKELY(*nimErr_)) goto LA496_;
		T497_ = NIM_NIL;
		T497_ = semExpr__sem_u58(c_p0, colontmpD__13, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T497_); goto LA496_;}
		eqsink___ast_u3261(&result, T497_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA496_;
		{
			LA496_:;
		}
		{
			oldNimErrFin496_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___idents_u155(colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin496_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_1;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* pragmaName_1;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_2;
		tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw finalNodeFlags_1;
		tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T502_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T506_;
		pragma_1 = NIM_NIL;
		pragmaName_1 = NIM_NIL;
		pragma_1 = (*n_p1)._kind_6.sons.p->data[((NI)1)];
		pragmaName_1 = considerQuotedIdent__lookups_u31(c_p0, (*pragma_1)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA501_;
		flags_2 = flags_p2;
		finalNodeFlags_1 = 0;
		T502_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
		T502_ = whichKeyword__idents_u360(pragmaName_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA501_;
		switch (T502_) {
		case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)227):
		{
			flags_2 |= ((NU32)1)<<(((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)11))) & 31);
		}
		break;
		case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)167):
		{
			finalNodeFlags_1 |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)20))) & 31);
		}
		break;
		default:
		{
			invalidPragma__pragmas_u142(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA501_;
		}
		break;
		}
		T506_ = NIM_NIL;
		T506_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_2, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T506_); goto LA501_;}
		eqsink___ast_u3261(&result, T506_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA501_;
		(*result).flags = ((*result).flags | finalNodeFlags_1);
		{
			LA501_:;
		}
		{
			oldNimErrFin501_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(pragmaName_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin501_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg T510_;
		T510_ = (tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)0;
		T510_ = checkPar__sem_u26911(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		switch (T510_) {
		case ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)0):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T512_;
			T512_ = NIM_NIL;
			T512_ = errorNode__semdata_u4571(c_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T512_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T512_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)3):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T514_;
			T514_ = NIM_NIL;
			T514_ = semTupleConstr__sem_u28521(c_p0, n_p1, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T514_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T514_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)2):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T516_;
			T516_ = NIM_NIL;
			T516_ = semTupleFieldsConstr__sem_u26968(c_p0, n_p1, flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T516_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T516_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TParKind__vSr68LxUupegQlJ0zSGRZg)1):
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T518_;
			T518_ = NIM_NIL;
			T518_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_p2, expectedType_p3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T518_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T518_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default: __builtin_unreachable();
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T520_;
		T520_ = NIM_NIL;
		T520_ = semSetConstr__sem_u26785(c_p0, n_p1, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T520_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T520_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T522_;
		T522_ = NIM_NIL;
		T522_ = semArrayConstr__sem_u23243(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T522_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T522_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T524_;
		T524_ = NIM_NIL;
		T524_ = semObjConstr__sem_u23432(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T524_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T524_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T526_;
		T526_ = NIM_NIL;
		T526_ = semProcAux__sem_u20978(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12), TM__rF9caJawfOjYTjsgLVUSGFA_1448, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T526_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T526_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T528_;
		T528_ = NIM_NIL;
		T528_ = semDeref__sem_u25382(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T528_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T528_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T530_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T530_ = NIM_NIL;
		T530_ = semAddr__sem_u23464(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T530_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T530_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T532_;
		checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T532_ = NIM_NIL;
		T532_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T532_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T532_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T534_;
		T534_ = NIM_NIL;
		T534_ = semCast__sem_u22959(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T534_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T534_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T536_;
		T536_ = NIM_NIL;
		T536_ = semIf__sem_u15228(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T536_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T536_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		checkSonsLen__semdata_u4671(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		considerGenSyms__semdata_u2285(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)71):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)72):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	{
		checkSonsLen__semdata_u4671(n_p1, ((NI)1), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		considerGenSyms__semdata_u2285(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)68):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)69):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)70):
	{
		checkSonsLen__semdata_u4671(n_p1, ((NI)3), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		considerGenSyms__semdata_u2285(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	{
		checkMinSonsLen__semdata_u4675(n_p1, ((NI)2), (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		considerGenSyms__semdata_u2285(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)54):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T542_;
		T542_ = NIM_NIL;
		T542_ = semTableConstr__sem_u26880(c_p0, n_p1, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T542_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T542_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)62):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T544_;
		T544_ = NIM_NIL;
		T544_ = semStaticExpr__sem_u134(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T544_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T544_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T546_;
		T546_ = NIM_NIL;
		T546_ = semAsgn__sem_u23532(c_p0, n_p1, ((tyEnum_SemAsgnMode__BaIVElooQ2R9czunaJA9cqgA)0));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T546_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T546_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T548_;
		T548_ = NIM_NIL;
		T548_ = semBlock__sem_u28238(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T548_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T548_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T550_;
		T550_ = NIM_NIL;
		T550_ = semStmtList__sem_u21764(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T550_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T550_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T552_;
		T552_ = NIM_NIL;
		T552_ = semRaise__sem_u17213(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T552_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T552_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T554_;
		T554_ = NIM_NIL;
		T554_ = semVarOrLet__sem_u15954(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T554_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T554_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T556_;
		T556_ = NIM_NIL;
		T556_ = semVarOrLet__sem_u15954(c_p0, n_p1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T556_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T556_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T558_;
		T558_ = NIM_NIL;
		T558_ = semConst__sem_u16298(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T558_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T558_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T560_;
		T560_ = NIM_NIL;
		T560_ = semTypeSection__sem_u18029(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T560_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T560_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)114):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T562_;
		T562_ = NIM_NIL;
		T562_ = semDiscard__sem_u14931(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T562_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T562_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T564_;
		T564_ = NIM_NIL;
		T564_ = semWhile__sem_u15009(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T564_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T564_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)154):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T566_;
		T566_ = NIM_NIL;
		T566_ = semTry__sem_u15258(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T566_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T566_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T568_;
		T568_ = NIM_NIL;
		T568_ = semBreakOrContinue__sem_u14957(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T568_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T568_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T570_;
		T570_ = NIM_NIL;
		T570_ = semFor__sem_u17085(c_p0, n_p1, flags_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T570_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T570_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T572_;
		T572_ = NIM_NIL;
		T572_ = semCase__sem_u17157(c_p0, n_p1, flags_p2, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T572_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T572_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T574_;
		T574_ = NIM_NIL;
		T574_ = semReturn__sem_u25934(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T574_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T574_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)124):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T576_;
		T576_ = NIM_NIL;
		T576_ = semUsing__sem_u15545(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T576_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T576_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)89):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T578_;
		T578_ = NIM_NIL;
		T578_ = semAsm__sem_u15004(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T578_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T578_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)104):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T580_;
		T580_ = NIM_NIL;
		T580_ = semYield__sem_u26068(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T580_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T580_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	{
		semPragmaStmt__sem_u28753(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T583_;
		T583_ = NIM_NIL;
		T583_ = semIterator__sem_u21436(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T583_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T583_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T585_;
		T585_ = NIM_NIL;
		T585_ = semProc__sem_u15033(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T585_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T585_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T587_;
		T587_ = NIM_NIL;
		T587_ = semFunc__sem_u21490(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T587_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T587_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T589_;
		T589_ = NIM_NIL;
		T589_ = semMethod__sem_u21499(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T589_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T589_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T591_;
		T591_ = NIM_NIL;
		T591_ = semConverterDef__sem_u21526(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T591_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T591_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T593_;
		T593_ = NIM_NIL;
		T593_ = semMacroDef__sem_u21540(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T593_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T593_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T595_;
		T595_ = NIM_NIL;
		T595_ = semTemplateDef__sem_u11788(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T595_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T595_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T615_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* importNodeX60gensym7457__1;
			if (!((*(*(*c_p0).graph).config).ideCmd == ((tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng)1))) goto LA599_;
			importNodeX60gensym7457__1 = NIM_NIL;
			importNodeX60gensym7457__1 = findImportStmtOnLine__sigmatch_u7626(n_p1, (*(*(*c_p0).graph).config).m.trackPos.line);
			if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
			{
				if (!!((importNodeX60gensym7457__1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA604_;
				suggestModuleNames__sigmatch_u7553(c_p0, importNodeX60gensym7457__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA601_;
			}
LA604_: ;
			{
				LA601_:;
			}
			{
				oldNimErrFin601_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(importNodeX60gensym7457__1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin601_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA599_: ;
		{
			NimStringV2 colontmpD__14;
			if (!((NI)(((NI)2) + (*c_p0).compilesContextId) < (*(*c_p0).currentScope).depthLevel)) goto LA610_;
			colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
			colontmpD__14 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1801, TM__rF9caJawfOjYTjsgLVUSGFA_1803);
			if (NIM_UNLIKELY(*nimErr_)) goto LA612_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1804, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA612_;
			{
				LA612_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__14);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA610_: ;
		T615_ = NIM_NIL;
		T615_ = evalImport__importer_u3929(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T615_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T615_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)117):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T625_;
		{
			NIM_BOOL T619_;
			NimStringV2 colontmpD__15;
			T619_ = (NIM_BOOL)0;
			T619_ = isTopLevel__semdata_u4679(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T619_)) goto LA620_;
			colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
			colontmpD__15 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1805, TM__rF9caJawfOjYTjsgLVUSGFA_1806);
			if (NIM_UNLIKELY(*nimErr_)) goto LA622_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__15, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1807, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA622_;
			{
				LA622_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__15);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA620_: ;
		T625_ = NIM_NIL;
		T625_ = evalImportExcept__importer_u3979(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T625_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T625_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)120):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T635_;
		{
			NIM_BOOL T629_;
			NimStringV2 colontmpD__16;
			T629_ = (NIM_BOOL)0;
			T629_ = isTopLevel__semdata_u4679(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T629_)) goto LA630_;
			colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
			colontmpD__16 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1808, TM__rF9caJawfOjYTjsgLVUSGFA_1810);
			if (NIM_UNLIKELY(*nimErr_)) goto LA632_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__16, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1811, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA632_;
			{
				LA632_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__16);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA630_: ;
		T635_ = NIM_NIL;
		T635_ = evalFrom__importer_u3960(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T635_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T635_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T637_;
		T637_ = NIM_NIL;
		T637_ = evalInclude__sem_u21616(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T637_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T637_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T647_;
		{
			NIM_BOOL T641_;
			NimStringV2 colontmpD__17;
			T641_ = (NIM_BOOL)0;
			T641_ = isTopLevel__semdata_u4679(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T641_)) goto LA642_;
			colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
			colontmpD__17 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1823, TM__rF9caJawfOjYTjsgLVUSGFA_1824);
			if (NIM_UNLIKELY(*nimErr_)) goto LA644_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__17, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1825, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA644_;
			{
				LA644_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__17);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA642_: ;
		T647_ = NIM_NIL;
		T647_ = semExport__sem_u28407(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T647_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T647_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)119):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T657_;
		{
			NIM_BOOL T651_;
			NimStringV2 colontmpD__18;
			T651_ = (NIM_BOOL)0;
			T651_ = isTopLevel__semdata_u4679(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T651_)) goto LA652_;
			colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
			colontmpD__18 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1836, TM__rF9caJawfOjYTjsgLVUSGFA_1837);
			if (NIM_UNLIKELY(*nimErr_)) goto LA654_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__18, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1838, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA654_;
			{
				LA654_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__18);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA652_: ;
		T657_ = NIM_NIL;
		T657_ = semExportExcept__sem_u28331(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T657_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T657_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T659_;
		T659_ = NIM_NIL;
		T659_ = semPragmaBlock__sem_u21685(c_p0, n_p1, expectedType_p3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T659_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T659_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)113):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T661_;
		T661_ = NIM_NIL;
		T661_ = semStaticStmt__sem_u21713(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T661_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T661_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)105):
	{
		tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD__19;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T668_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T669_;
		colontmpD__19 = NIM_NIL;
		{
			if (!((*c_p0).currentScope == (*c_p0).topLevelScope)) goto LA666_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1847, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1848, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA663_;
		}
LA666_: ;
		colontmpD__19 = openScope__lookups_u65(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA663_;
		T668_ = 0;
		T669_ = NIM_NIL;
		T669_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], T668_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T669_); goto LA663_;}
		eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[((NI)0)], T669_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA663_;
		closeScope__lookups_u102(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA663_;
		{
			NIM_BOOL T672_;
			NIM_BOOL T673_;
			NIM_BOOL T675_;
			T672_ = (NIM_BOOL)0;
			T673_ = (NIM_BOOL)0;
			T673_ = isEmptyType__ast_u7234((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA663_;
			T672_ = !(T673_);
			if (!(T672_)) goto LA674_;
			T675_ = (NIM_BOOL)0;
			T675_ = implicitlyDiscardable__sem_u14913((*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA663_;
			T672_ = !(T675_);
LA674_: ;
			if (!T672_) goto LA676_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1850, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1851, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA663_;
		}
LA676_: ;
		{
			LA663_:;
		}
		{
			oldNimErrFin663_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___lookups_u74(colontmpD__19);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin663_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)156):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)157):
	{
		{
			NIM_BOOL T683_;
			NI T684_;
			NI T686_;
			T683_ = (NIM_BOOL)0;
			T684_ = (NI)0;
			T684_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T683_ = !((T684_ == ((NI)1)));
			if (!(T683_)) goto LA685_;
			T686_ = (NI)0;
			T686_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T683_ = !((T686_ == ((NI)2)));
LA685_: ;
			if (!T683_) goto LA687_;
			illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA687_: ;
		{
			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) {
					tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T692_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T693_;
					if (!(i_4 < colontmp__2)) goto LA691;
					i_3 = i_4;
					T692_ = 0;
					T693_ = NIM_NIL;
					T693_ = semExpr__sem_u58(c_p0, (*n_p1)._kind_6.sons.p->data[i_3], T692_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T693_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*n_p1)._kind_6.sons.p->data[i_3], T693_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA691: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)24):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
		{
			if (!!(((*c_p0).p == ((tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ*) NIM_NIL)))) goto LA699_;
			{
				NIM_BOOL T703_;
				NI T704_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__20;
				T703_ = (NIM_BOOL)0;
				T704_ = (NI)0;
				T704_ = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T703_ = (((NI)0) < T704_);
				if (!(T703_)) goto LA705_;
				T703_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA705_: ;
				if (!T703_) goto LA706_;
				colontmpD__20 = eqdup___ast_u3258(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				add__ast_u3225((&(*(*c_p0).p).localBindStmts), colontmpD__20);
			}
LA706_: ;
		}
		goto LA697_;
LA699_: ;
		{
			NimStringV2 colontmpD__21;
			NimStringV2 colontmpD__22;
			NimStringV2 T710_;
			colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
			colontmpD__22.len = 0; colontmpD__22.p = NIM_NIL;
			T710_.len = 0; T710_.p = NIM_NIL;
			colontmpD__21 = renderTree__renderer_u59(n_p1, 4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA709_;
			T710_ = rawNewString(colontmpD__21.len + 38);
appendString((&T710_), TM__rF9caJawfOjYTjsgLVUSGFA_1853);
appendString((&T710_), colontmpD__21);
			colontmpD__22 = T710_;
			liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__22, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1854, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA709_;
			{
				LA709_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__22);
				eqdestroy___system_u2691(colontmpD__21);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA697_: ;
	}
	break;
	default:
	{
		NimStringV2 colontmpD__23;
		NimStringV2 colontmpD__24;
		NimStringV2 T715_;
		colontmpD__23.len = 0; colontmpD__23.p = NIM_NIL;
		colontmpD__24.len = 0; colontmpD__24.p = NIM_NIL;
		T715_.len = 0; T715_.p = NIM_NIL;
		colontmpD__23 = renderTree__renderer_u59(n_p1, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA714_;
		T715_ = rawNewString(colontmpD__23.len + 20);
appendString((&T715_), TM__rF9caJawfOjYTjsgLVUSGFA_1856);
appendString((&T715_), colontmpD__23);
		colontmpD__24 = T715_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__24, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1857, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA714_;
		{
			LA714_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__24);
			eqdestroy___system_u2691(colontmpD__23);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	{
		if (!!((result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA720_;
		(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7))) & 31);
	}
LA720_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprCheck__sem_u21910)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NIM_BOOL isEmpty_1;
	NIM_BOOL isTypeError_1;
	NIM_BOOL T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA3_;
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	result = semExpr__sem_u58(c_p0, n_p1, (flags_p2 | 4096), expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	isEmpty_1 = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
	T5_ = (NIM_BOOL)0;
	T5_ = !(((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
	if (!(T5_)) goto LA6_;
	T5_ = ((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50));
LA6_: ;
	isTypeError_1 = T5_;
	{
		NIM_BOOL T9_;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		T9_ = (NIM_BOOL)0;
		T9_ = isEmpty_1;
		if (T9_) goto LA10_;
		T9_ = isTypeError_1;
LA10_: ;
		if (!T9_) goto LA11_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = renderTree__renderer_u59(result, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1858, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1859, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA11_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
		if (!isEmpty_1) goto LA18_;
		T20_ = NIM_NIL;
		T20_ = errorNode__semdata_u4571(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T20_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA18_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semExprWithType__sem_u63)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = semExprCheck__sem_u21910(c_p0, n_p1, (flags_p2 & ~ 4194304), expectedType_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = ((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)4)))&31U)))!=0);
LA4_: ;
		if (!T3_) goto LA5_;
		eqcopy___ast_u3381(&(*result).typField, (*c_p0).voidType);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		NIM_BOOL T8_;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T13_;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (T8_) goto LA9_;
		T8_ = ((*result).typField == (*c_p0).enforceVoidContext);
LA9_: ;
		if (!T8_) goto LA10_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = renderTree__renderer_u59(result, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1860, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1861, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		T13_ = NIM_NIL;
		T13_ = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T13_); goto LA12_;}
		eqsink___ast_u3387(&(*result).typField, T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			LA12_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA10_: ;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T19_;
		if (!((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50))) goto LA17_;
		T19_ = NIM_NIL;
		T19_ = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T19_); goto BeforeRet_;}
		eqsink___ast_u3387(&(*result).typField, T19_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA17_: ;
	{
		NIM_BOOL T21_;
		NIM_BOOL T22_;
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T25_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_1;
		NimStringV2 err_1;
		NimStringV2 T29_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T45_;
		T21_ = (NIM_BOOL)0;
		T22_ = (NIM_BOOL)0;
		T22_ = ((flags_p2 &((NU32)1<<((NU)((((tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg)22)))&31U)))!=0);
		if (!(T22_)) goto LA23_;
		T22_ = ((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
LA23_: ;
		T21_ = T22_;
		if (!(T21_)) goto LA24_;
		T25_ = 0;
		T21_ = hasUnresolvedParams__sem_u15639(result, T25_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA24_: ;
		if (!T21_) goto LA26_;
		owner_1 = NIM_NIL;
		err_1.len = 0; err_1.p = NIM_NIL;
		owner_1 = owner__ast_u6246((*result).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		T29_.len = 0; T29_.p = NIM_NIL;
		{
			NIM_BOOL T32_;
			NimStringV2 colontmpD__3;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T37_;
			T32_ = (NIM_BOOL)0;
			T32_ = !((owner_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T32_)) goto LA33_;
			T32_ = ((*owner_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*owner_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17));
LA33_: ;
			if (!T32_) goto LA34_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			T37_ = 0;
			colontmpD__3 = renderTree__renderer_u59(n_p1, T37_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			err_1 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1862, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				LA36_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		}
		goto LA30_;
LA34_: ;
		{
			NimStringV2 colontmpD__4;
			tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T42_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			T42_ = 0;
			colontmpD__4 = renderTree__renderer_u59(n_p1, T42_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			err_1 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1863, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			{
				LA41_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		}
LA30_: ;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), err_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1864, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		T45_ = NIM_NIL;
		T45_ = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T45_); goto LA28_;}
		eqsink___ast_u3387(&(*result).typField, T45_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			LA28_:;
		}
		{
			oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___system_u2691(err_1);
			eqdestroy___ast_u4574(owner_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin28_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA26_: ;
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T53_;
			if (!((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA51_;
			T53_ = NIM_NIL;
			T53_ = newDeref__lowerings_u12(result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T53_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T53_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA51_: ;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semConstExpr__sem_u631)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* expectedType_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	e_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	T2_ = 0;
	e_1 = semExprWithType__sem_u63(c_p0, n_p1, T2_, expectedType_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(e_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA5_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1865, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1866, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*e_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56) || (*e_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57));
		if (!(T9_)) goto LA10_;
		colontmpD_ = skipTypes__ast_u5379((*(*e_1)._kind_6.sons.p->data[((NI)0)]).typField, TM__rF9caJawfOjYTjsgLVUSGFA_10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T9_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14));
LA10_: ;
		if (!T9_) goto LA11_;
		result = e_1;
		eqwasMoved___ast_u3249(&e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA11_: ;
	result = getConstExpr__semfold_u68((*c_p0).module, e_1, (*c_p0).Sup.idgen, (*c_p0).graph);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
		if (!(result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA15_;
		T17_ = NIM_NIL;
		T17_ = evalConstExpr__vm_u14299((*c_p0).module, (*c_p0).Sup.idgen, (*c_p0).graph, e_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA1_;}
		eqsink___ast_u3261(&result, T17_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (T20_) goto LA21_;
			T20_ = ((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
LA21_: ;
			if (!T20_) goto LA22_;
			{
				NIM_BOOL T26_;
				T26_ = (NIM_BOOL)0;
				T26_ = eqeq___msgs_u1103((*e_1).info, (*n_p1).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!!(T26_)) goto LA27_;
				pushInfoContext__msgs_u569((*(*c_p0).graph).config, (*n_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_1867);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*e_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1868, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1869, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				popInfoContext__msgs_u593((*(*c_p0).graph).config);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA24_;
LA27_: ;
			{
				liMessage__msgs_u1227((*(*c_p0).graph).config, (*e_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1870, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1871, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA24_: ;
			eqsink___ast_u3261(&result, e_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqwasMoved___ast_u3249(&e_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA18_;
LA22_: ;
		{
			NIM_BOOL producedClosure_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
			producedClosure_1 = NIM_FALSE;
			T31_ = NIM_NIL;
			T31_ = fixupTypeAfterEval__sem_u568(c_p0, result, e_1, (&producedClosure_1));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto LA1_;}
			eqsink___ast_u3261(&result, T31_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!producedClosure_1) goto LA34_;
				eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA34_: ;
		}
LA18_: ;
	}
LA15_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semOperand__sem_u21881)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg flags_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA3_;
		illFormedAst__semdata_u4665(n_p1, (*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	result = semExpr__sem_u58(c_p0, n_p1, (flags_p2 | 33562624), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA7_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
			if (!((*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*result).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = newDeref__lowerings_u12(result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
	goto LA5_;
LA7_: ;
	{
		tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T15_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T18_;
		T15_ = 0;
		if (!!(((768 & flags_p2) == T15_))) goto LA16_;
		T18_ = NIM_NIL;
		T18_ = newTypeS__semdata_u4368(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63), c_p0, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T18_); goto BeforeRet_;}
		eqsink___ast_u3387(&(*result).typField, T18_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA16_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T21_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = renderTree__renderer_u59(result, 4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1872, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1873, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		T21_ = NIM_NIL;
		T21_ = errorType__semdata_u4564(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T21_); goto LA20_;}
		eqsink___ast_u3387(&(*result).typField, T21_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		{
			LA20_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semInferredLambda__sem_u18202)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* original_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	n_2 = NIM_NIL;
	original_1 = NIM_NIL;
	s_1 = NIM_NIL;
	params_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	eqcopy___ast_u3255(&n_2, n_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u4577(&original_1, (*(*n_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u4577(&s_1, original_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = replaceTypesInBody__semtypinst_u1635(c_p0, pt_p1, n_2, original_1, NIM_FALSE, NIM_FALSE, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto LA1_;}
	eqsink___ast_u3261(&n_2, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&result, n_2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*s_1).ast, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u4577(&(*(*n_2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&(*n_2)._kind_6.sons.p->data[((NI)2)], (*(*c_p0).graph).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	params_1 = copyTree__ast_u6891((*(*n_2).typField).n);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&(*s_1).typ, (*n_2).typField);
	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(params_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		i_2 = ((NI)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA5;
				i_1 = i_2;
				{
					NimStringV2 colontmpD__5;
					NimStringV2 T11_;
					if (!((*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8) || (*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51) && (*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54) || (*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56) && (*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59) || (*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61) && (*(*(*params_1)._kind_6.sons.p->data[i_1]).typField).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62))) goto LA8_;
					colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
					T11_.len = 0; T11_.p = NIM_NIL;
					T11_ = rawNewString((*(*(*(*params_1)._kind_6.sons.p->data[i_1])._kind_4.sym).name).s.len + 32);
appendString((&T11_), TM__rF9caJawfOjYTjsgLVUSGFA_1875);
appendString((&T11_), (*(*(*(*params_1)._kind_6.sons.p->data[i_1])._kind_4.sym).name).s);
					colontmpD__5 = T11_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*(*params_1)._kind_6.sons.p->data[i_1]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1876, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					{
						LA10_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__5);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA8_: ;
				i_2 += ((NI)1);
			} LA5: ;
		}
	}
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pushOwner__semdata_u432(c_p0, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addParams__sem_u105(c_p0, params_1, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pushProcCon__sem_u843(c_p0, s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = returnType__ast_u5354((*n_2).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addResult__sem_u18097(c_p0, n_2, colontmpD__2, ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = returnType__ast_u5354((*n_2).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__4 = semProcBody__sem_u75(c_p0, (*n_2)._kind_6.sons.p->data[((NI)6)], colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T14_ = NIM_NIL;
	T14_ = hloBody__sem_u793(c_p0, colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA1_;}
	eqsink___ast_u3261(&(*(*s_1).ast)._kind_6.sons.p->data[((NI)6)], T14_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	trackProc__sempass2_u8361(c_p0, s_1, (*(*s_1).ast)._kind_6.sons.p->data[((NI)6)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	popProcCon__semdata_u696(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	popOwner__semdata_u439(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T17_;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T21_;
		T17_ = (NIM_BOOL)0;
		T17_ = (((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)47)))&63U)))!=0);
		if (!(T17_)) goto LA18_;
		T17_ = !(((*result).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA18_: ;
		if (!T17_) goto LA19_;
		T21_ = NIM_NIL;
		T21_ = makeVarType__semdata_u4402(c_p0, (*result).typField, ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T21_); goto LA1_;}
		eqsink___ast_u3387(&(*result).typField, T21_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA19_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(params_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(original_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_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, instantiateOnlyProcType__sem_u1487)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_LayeredIdTableObj__PbmRWgwPdgBZOtiSK65Q7A pt_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* fakeSym_1;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* colontmpD_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	fakeSym_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	fakeSym_1 = copySym__ast_u6250(prc_p2, (*c_p0).Sup.idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*fakeSym_1).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)2))) & 63);
	eqcopy___ast_u4577(&(*fakeSym_1).instantiatedFrom, prc_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = openScope__lookups_u65(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** colontmp_;
		s_1 = NIM_NIL;
		colontmp_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		colontmp_ = &(*(*prc_p2).ast)._kind_6.sons.p->data[((NI)2)];
		{
			NimStringV2 argX60gensym140__1;
			if (!!(((*(*colontmp_)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75)))) goto LA6_;
			argX60gensym140__1.len = 0; argX60gensym140__1.p = NIM_NIL;
			argX60gensym140__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_35);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym140__1, TM__rF9caJawfOjYTjsgLVUSGFA_35);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			{
				LA8_:;
			}
			{
				eqdestroy___system_u2691(argX60gensym140__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
LA6_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			a_1 = NIM_NIL;
			{
				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 LA12_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* q_1;
						if (!(i_2 < colontmp__2)) goto LA15;
						q_1 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&a_1, (*(*colontmp_))._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							NimStringV2 argX60gensym143__1;
							if (!!(((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA19_;
							argX60gensym143__1.len = 0; argX60gensym143__1.p = NIM_NIL;
							argX60gensym143__1 = toFileLineCol__msgs_u701(TM__rF9caJawfOjYTjsgLVUSGFA_36);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, unknownLineInfo__lineinfos_u364, argX60gensym143__1, TM__rF9caJawfOjYTjsgLVUSGFA_36);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							{
								LA21_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym143__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						}
LA19_: ;
						eqcopy___ast_u4577(&q_1, (*a_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__2;
							tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q colontmpD__3;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
							tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_1;
							tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T34_;
							if (!((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8) || (*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*(*q_1).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51) && (*(*q_1).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54) || (*(*q_1).typ).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56) && (*(*q_1).typ).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62))) goto LA26_;
							colontmpD__2 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
							colontmpD__3 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
							s_2 = NIM_NIL;
							colontmpD__4 = NIM_NIL;
							t_1 = NIM_NIL;
							colontmpD__5 = NIM_NIL;
							{
								if (!((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA31_;
								colontmpD__2 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10);
								symKind_1 = colontmpD__2;
							}
							goto LA29_;
LA31_: ;
							{
								colontmpD__3 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7);
								symKind_1 = colontmpD__3;
							}
LA29_: ;
							colontmpD__4 = getCurrOwner__semdata_u425(c_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							T34_ = 0;
							s_2 = newSym__ast_u4205(symKind_1, (*q_1).name, (*c_p0).Sup.idgen, colontmpD__4, (*q_1).info, T34_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							(*s_2).flags = ((*s_2).flags | 5);
							t_1 = lookup__layeredtable_u711(pt_p1, (*(*q_1).typ).itemId);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								if (!(t_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA37_;
								{
									if (!(((*(*q_1).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)11)))&63U)))!=0)) goto LA41_;
									eqcopy___ast_u3381(&t_1, (*q_1).typ);
									if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								}
								goto LA39_;
LA41_: ;
								{
									tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T51_;
									{
										NimStringV2 colontmpD__6;
										if (!!(((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54)))) goto LA46_;
										colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
										colontmpD__6 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1879, (*(*s_2).name).s);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_39, NIM_FALSE, NIM_FALSE);
										if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
										{
											LA48_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__6);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
									}
LA46_: ;
									T51_ = NIM_NIL;
									T51_ = errorType__semdata_u4564(c_p0);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T51_); goto LA28_;}
									eqsink___ast_u3387(&t_1, T51_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								}
LA39_: ;
							}
							goto LA35_;
LA37_: ;
							{
								NIM_BOOL T53_;
								NIM_BOOL T55_;
								NimStringV2 colontmpD__7;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T60_;
								T53_ = (NIM_BOOL)0;
								T53_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61));
								if (T53_) goto LA54_;
								T55_ = (NIM_BOOL)0;
								T55_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10));
								if (!(T55_)) goto LA56_;
								T55_ = !(((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8)));
LA56_: ;
								T53_ = T55_;
LA54_: ;
								if (!T53_) goto LA57_;
								colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
								colontmpD__7 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1880, (*(*q_1).name).s);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_41, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								T60_ = NIM_NIL;
								T60_ = errorType__semdata_u4564(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T60_); goto LA59_;}
								eqsink___ast_u3387(&t_1, T60_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
								{
									LA59_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__7);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
							goto LA35_;
LA57_: ;
							{
								NIM_BOOL T64_;
								NIM_BOOL T65_;
								NIM_BOOL T66_;
								NIM_BOOL T68_;
								NIM_BOOL T70_;
								NIM_BOOL T71_;
								NimStringV2 colontmpD__8;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T79_;
								T64_ = (NIM_BOOL)0;
								T65_ = (NIM_BOOL)0;
								T66_ = (NIM_BOOL)0;
								T66_ = isUnresolvedStatic__ast_u4629(t_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								if (!(T66_)) goto LA67_;
								T68_ = (NIM_BOOL)0;
								T68_ = ((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
								if (T68_) goto LA69_;
								T70_ = (NIM_BOOL)0;
								T71_ = (NIM_BOOL)0;
								T71_ = ((*(*q_1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
								if (!(T71_)) goto LA72_;
								T71_ = genericParamHasConstraints__ast_u5654((*q_1).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
LA72_: ;
								T70_ = T71_;
								if (!(T70_)) goto LA73_;
								colontmpD__5 = genericConstraint__ast_u5678((*q_1).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								T70_ = ((*colontmpD__5).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60));
LA73_: ;
								T68_ = T70_;
LA69_: ;
								T66_ = T68_;
LA67_: ;
								T65_ = T66_;
								if (!(T65_)) goto LA74_;
								T65_ = ((*c_p0).inGenericContext == ((NI)0));
LA74_: ;
								T64_ = T65_;
								if (!(T64_)) goto LA75_;
								T64_ = ((*c_p0).matchedConcept == ((tyObject_TMatchedConcept__tvh59a8SIGC9ccJV9atmyb8kg*) NIM_NIL));
LA75_: ;
								if (!T64_) goto LA76_;
								colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
								colontmpD__8 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1881, (*(*q_1).name).s);
								if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
								liMessage__msgs_u1227((*(*c_p0).graph).config, (*a_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__8, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_43, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
								T79_ = NIM_NIL;
								T79_ = errorType__semdata_u4564(c_p0);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T79_); goto LA78_;}
								eqsink___ast_u3387(&t_1, T79_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
								{
									LA78_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__8);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
							goto LA35_;
LA76_: ;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T85_;
								if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9))) goto LA83_;
								T85_ = NIM_NIL;
								T85_ = generateTypeInstance__semtypinst_u1682(c_p0, pt_p1, (*a_1).info, t_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T85_); goto LA28_;}
								eqsink___ast_u3387(&t_1, T85_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
							goto LA35_;
LA83_: ;
LA35_: ;
							eqcopy___ast_u3381(&(*s_2).typ, t_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60))) goto LA88_;
								eqcopy___ast_u3255(&(*s_2).ast, (*t_1).n);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							}
LA88_: ;
							eqsink___ast_u4583(&s_1, s_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							eqwasMoved___ast_u4571(&s_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							addDecl__lookups_u3789(c_p0, s_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								LA28_:;
							}
							{
								oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(colontmpD__5);
								if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
								eqdestroy___ast_u3378(t_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
								eqdestroy___ast_u4574(colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
								eqdestroy___ast_u4574(s_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
								*nimErr_ = oldNimErrFin28_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						}
LA26_: ;
						i_2 += ((NI)1);
						{
							LA16_:;
						}
						{
							oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u4574(q_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
							*nimErr_ = oldNimErrFin16_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					} LA15: ;
				}
			}
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	instantiateProcType__sem_u1357(c_p0, pt_p1, fakeSym_1, info_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeScope__lookups_u102(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3381(&result, (*fakeSym_1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___lookups_u74(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(fakeSym_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw*, preparePContext__sem_u29355)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2) {
	tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T1_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
	tyProc__GbPSPD9bjvt0RIJnnVTczJA T7_;
	tyProc__iDJMP540ifFac3zJ49bj2cA T8_;
	tyProc__gq9a76bauTeymgreaiTI9cmg T9_;
	tyProc__Gji0NjiFFDU49aJiF3QZF8A T10_;
	tyProc__0qHBYUhlP28E2DV7mVNNAg T11_;
	NI* T12_;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* T13_;
	tyObject_TScope__x7gU4GnNOGxq5tpoU40Lww* T18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newContext__semdata_u2362(graph_p0, module_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3103(&(*result).Sup.idgen, idgen_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7), idgen_p2, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T1_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*result).enforceVoidContext, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = NIM_NIL;
	T2_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63), idgen_p2, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T2_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*result).voidType, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*result).p == ((tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ*) NIM_NIL)))) goto LA5_;
		internalErrorImpl__msgs_u1598((*graph_p0).config, (*module_p1).info, TM__rF9caJawfOjYTjsgLVUSGFA_3, TM__rF9caJawfOjYTjsgLVUSGFA_4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	(*result).semConstExpr = semConstExpr__sem_u631;
	(*result).semExpr = semExpr__sem_u58;
	(*result).semExprWithType = semExprWithType__sem_u63;
	(*result).semTryExpr = tryExpr__sem_u113;
	(*result).semTryConstExpr = tryConstExpr__sem_u600;
	(*result).computeRequiresInit = computeRequiresInit__sem_u145;
	(*result).semOperand = semOperand__sem_u21881;
	(*result).semConstBoolExpr = semConstBoolExpr__sem_u4389;
	(*result).semOverloadedCall = semOverloadedCall__sem_u4008;
	nimZeroMem((void*)(&T7_), sizeof(tyProc__GbPSPD9bjvt0RIJnnVTczJA));
	T7_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_1877) (semInferredLambda__sem_u18202)); T7_.ClE_0 = NIM_NIL;
	eqsink___sem_u29486((&(*result).semInferredLambda), T7_);
	nimZeroMem((void*)(&T8_), sizeof(tyProc__iDJMP540ifFac3zJ49bj2cA));
	T8_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_1878) (generateInstance__sem_u1531)); T8_.ClE_0 = NIM_NIL;
	eqsink___sem_u29537((&(*result).semGenerateInstance), T8_);
	nimZeroMem((void*)(&T9_), sizeof(tyProc__gq9a76bauTeymgreaiTI9cmg));
	T9_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_1882) (instantiateOnlyProcType__sem_u1487)); T9_.ClE_0 = NIM_NIL;
	eqsink___sem_u29588((&(*result).instantiateOnlyProcType), T9_);
	nimZeroMem((void*)(&T10_), sizeof(tyProc__Gji0NjiFFDU49aJiF3QZF8A));
	T10_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_1883) (fitDefaultNode__sem_u6331)); T10_.ClE_0 = NIM_NIL;
	eqsink___sem_u29639((&(*result).fitDefaultNode), T10_);
	(*result).semTypeNode = semTypeNode__sem_u89;
	(*result).instTypeBoundOp = instTypeBoundOp__sigmatch_u5304;
	nimZeroMem((void*)(&T11_), sizeof(tyProc__0qHBYUhlP28E2DV7mVNNAg));
	T11_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_1884) (hasUnresolvedArgs__sem_u152)); T11_.ClE_0 = NIM_NIL;
	eqsink___sem_u29728((&(*result).hasUnresolvedArgs), T11_);
	(*result).semAsgnOpr = semAsgnOpr__sem_u23605;
	T12_ = NIM_NIL;
	T12_ = new__sem_u29364();
	eqsink___vm_u14436(&(*result).templInstCounter, T12_);
	pushProcCon__sem_u843(result, module_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	pushOwner__semdata_u432(result, (*result).module);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T13_ = NIM_NIL;
	T13_ = openScope__lookups_u65(result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___lookups_u74(T13_); goto BeforeRet_;}
	eqsink___lookups_u83(&(*result).moduleScope, T13_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	strTableAdd__astalgo_u2666((&(*(*result).moduleScope).symbols), module_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((*module_p1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0)) goto LA16_;
		eqcopy___ast_u4577(&(*graph_p0).systemModule, module_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA16_: ;
	T18_ = NIM_NIL;
	T18_ = openScope__lookups_u65(result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___lookups_u74(T18_); goto BeforeRet_;}
	eqsink___lookups_u83(&(*result).topLevelScope, T18_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportSystemStmt__sem_u29784)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	n_2 = NIM_NIL;
	{
		if (!((*g_p0).systemModule == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA4_;
		result = NIM_FALSE;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&n_2, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*n_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA8_;
		{
			NI i_1;
			NI colontmp_;
			NI T11_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T11_ = (NI)0;
			T11_ = len__ast_u3190(n_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			colontmp_ = (NI)(T11_ - ((NI)1));
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA13;
					i_1 = i_2;
					{
						if (!!(((*(*n_2)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125) || (*(*n_2)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA16_;
						eqcopy___ast_u3255(&n_2, (*n_2)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA10;
					}
LA16_: ;
					i_2 += ((NI)1);
				} LA13: ;
			}
		} LA10: ;
	}
LA8_: ;
	switch ((*n_2).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
	{
		result = NIM_FALSE;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
			x_1 = NIM_NIL;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = safeLen__ast_u3197(n_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA23;
						i_3 = i_4;
						eqcopy___ast_u3255(&x_1, (*n_2)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						{
							NI32 f_1;
							if (!((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA26_;
							f_1 = checkModuleName__modulepaths_u22((*g_p0).config, x_1, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
							{
								if (!(f_1 == (*(*g_p0).systemModule).info.fileIndex)) goto LA30_;
								result = NIM_TRUE;
								eqdestroy___ast_u3252(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___ast_u3252(n_2);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
LA30_: ;
						}
LA26_: ;
						i_4 += ((NI)1);
					} LA23: ;
				}
			}
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)117):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)120):
	{
		result = NIM_FALSE;
		{
			NI32 f_2;
			if (!((*(*n_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA37_;
			f_2 = checkModuleName__modulepaths_u22((*g_p0).config, (*n_2)._kind_6.sons.p->data[((NI)0)], NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!(f_2 == (*(*g_p0).systemModule).info.fileIndex)) goto LA41_;
				result = NIM_TRUE;
				eqdestroy___ast_u3252(n_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA41_: ;
		}
LA37_: ;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyTree__sem_u29817)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
			it_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 LA3_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA6;
						i_1 = i_2;
						eqcopy___ast_u3255(&it_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						{
							NIM_BOOL T9_;
							T9_ = (NIM_BOOL)0;
							T9_ = isEmptyTree__sem_u29817(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							if (!!(T9_)) goto LA10_;
							result = NIM_FALSE;
							eqdestroy___ast_u3252(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA10_: ;
						i_2 += ((NI)1);
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	{
		result = NIM_TRUE;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gatherStmts__sem_u17958)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2) {
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121):
	{
		{
			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) {
					NI32 f_1;
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					f_1 = checkModuleName__modulepaths_u22((*(*c_p0).graph).config, (*n_p1)._kind_6.sons.p->data[i_1], NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((f_1 == ((NI32)-1)))) goto LA7_;
						{
							NIM_BOOL T11_;
							NimStringV2 colontmpD_;
							NimStringV2 colontmpD__2;
							T11_ = (NIM_BOOL)0;
							T11_ = containsOrIncl__astyaml_u223((&(*c_p0).includedFiles), ((NI) (f_1)));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T11_) goto LA12_;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							colontmpD_ = toMsgFilename__msgs_u688((*(*c_p0).graph).config, f_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							colontmpD__2 = nsuFormatSingleElem(TM__rF9caJawfOjYTjsgLVUSGFA_1885, colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							liMessage__msgs_u1227((*(*c_p0).graph).config, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1886, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							{
								LA14_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___system_u2691(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						goto LA9_;
LA12_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* code_1;
							code_1 = NIM_NIL;
							code_1 = (*(*c_p0).graph).includeFileCallback((*c_p0).graph, (*c_p0).module, f_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							gatherStmts__sem_u17958(c_p0, code_1, result_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							excl__suggestsymdb_u161((&(*c_p0).includedFiles), ((NI) (f_1)));
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							{
								LA18_:;
							}
							{
								oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(code_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								*nimErr_ = oldNimErrFin18_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA9_: ;
					}
LA7_: ;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	{
		{
			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 LA24;
					i_3 = i_4;
					gatherStmts__sem_u17958(c_p0, (*n_p1)._kind_6.sons.p->data[i_3], result_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA24: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	{
		(*n_p1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)7))) & 31);
		typeSectionLeftSidePass__sem_u17380(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result_p2, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		add__ast_u3215(result_p2, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semAllTypeSections__sem_u17954)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	gatherStmts__sem_u17958(c_p0, n_p1, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI iX60gensym4371__1;
		NI colontmp_;
		NI i_1;
		iX60gensym4371__1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_1 = ((NI)0);
		{
			while (1) {
				if (!(i_1 < colontmp_)) goto LA3;
				iX60gensym4371__1 = i_1;
				{
					if (!((*(*result)._kind_6.sons.p->data[iX60gensym4371__1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98))) goto LA6_;
					typeSectionRightSidePass__sem_u17467(c_p0, (*result)._kind_6.sons.p->data[iX60gensym4371__1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA6_: ;
				i_1 += ((NI)1);
			} LA3: ;
		}
	}
	{
		NI iX60gensym4374__1;
		NI colontmp__2;
		NI i_2;
		iX60gensym4374__1 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp__2)) goto LA10;
				iX60gensym4374__1 = i_2;
				{
					if (!((*(*result)._kind_6.sons.p->data[iX60gensym4374__1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98))) goto LA13_;
					typeSectionFinalPass__sem_u17768(c_p0, (*result)._kind_6.sons.p->data[iX60gensym4374__1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA13_: ;
				i_2 += ((NI)1);
			} LA10: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, hloStmt__sem_u804)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (*c_p0).patterns.len;
		T3_ = (T4_ == ((NI)0));
		if (T3_) goto LA5_;
		T3_ = !((((*(*(*c_p0).graph).config).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)23)))&31U)))!=0));
LA5_: ;
		if (!T3_) goto LA6_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	result = hlo__sem_u693(c_p0, n_p1, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildEchoStmt__sem_u24878)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* e_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
NIM_BOOL oldNimErrFin7_;
	NimStringV2 T10_;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T11_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	e_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getIdent__idents_u206((*c_p0).cache, TM__rF9caJawfOjYTjsgLVUSGFA_1888);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	e_1 = systemModuleSym__modulegraphs_u3414((*c_p0).graph, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		if (!!((e_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA4_;
		colontmpD__5 = NIM_NIL;
		colontmpD__5 = newSymNode__ast_u5168(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n2X60gensym5970__1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		n2X60gensym5970__1 = NIM_NIL;
		colontmpD__6 = NIM_NIL;
		eqcopy___ast_u3255(&n2X60gensym5970__1, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		liMessage__msgs_u1227((*(*c_p0).graph).config, (*n2X60gensym5970__1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__rF9caJawfOjYTjsgLVUSGFA_1890, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1891, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD__6 = errorNode__semdata_u4571(c_p0, n2X60gensym5970__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(n2X60gensym5970__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	add__ast_u3215(result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T10_.len = 0; T10_.p = NIM_NIL;
	colontmpD__2 = typeToString__types_u54((*n_p1).typField, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T10_ = rawNewString(colontmpD__2.len + 2);
appendString((&T10_), TM__rF9caJawfOjYTjsgLVUSGFA_1892);
appendString((&T10_), colontmpD__2);
	colontmpD__3 = T10_;
	colontmpD__4 = newStrNode__ast_u5422(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T11_ = 0;
	T12_ = NIM_NIL;
	T12_ = semExpr__sem_u58(c_p0, result, T11_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA1_;}
	eqsink___ast_u3261(&result, T12_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semStmtAndGenerateGenerics__sem_u29821)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tySet_tyEnum_TExprFlag__LJ8tOeZrTQZuHS9cNbj1XCg T21_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*c_p0).topStmts == ((NI)0));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = isImportSystemStmt__sem_u29784((*c_p0).graph, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = !(T5_);
LA4_: ;
		if (!T3_) goto LA6_;
		{
			NIM_BOOL T10_;
			NIM_BOOL T12_;
			T10_ = (NIM_BOOL)0;
			T10_ = !((((*(*c_p0).module).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)15)))&63U)))!=0));
			if (!(T10_)) goto LA11_;
			T12_ = (NIM_BOOL)0;
			T12_ = isEmptyTree__sem_u29817(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T10_ = !(T12_);
LA11_: ;
			if (!T10_) goto LA13_;
			strTableAdd__astalgo_u2666((&(*(*c_p0).moduleScope).symbols), (*(*c_p0).graph).systemModule);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			importAllSymbols__importer_u2053(c_p0, (*(*c_p0).graph).systemModule);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*c_p0).topStmts += ((NI)1);
		}
LA13_: ;
	}
	goto LA1_;
LA6_: ;
	{
		(*c_p0).topStmts += ((NI)1);
	}
LA1_: ;
	{
		if (!(((*(*c_p0).module).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)10)))&63U)))!=0)) goto LA18_;
		result = semAllTypeSections__sem_u17954(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA16_;
LA18_: ;
	{
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA16_: ;
	T21_ = 0;
	T22_ = NIM_NIL;
	T22_ = semStmt__sem_u93(c_p0, result, T21_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T22_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T23_ = NIM_NIL;
	T23_ = hloStmt__sem_u804(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T23_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T26_;
		NIM_BOOL T28_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
		T26_ = (NIM_BOOL)0;
		T26_ = ((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)27));
		if (!(T26_)) goto LA27_;
		T28_ = (NIM_BOOL)0;
		T28_ = isEmptyType__ast_u7234((*result).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T26_ = !(T28_);
LA27_: ;
		if (!T26_) goto LA29_;
		T31_ = NIM_NIL;
		T31_ = buildEchoStmt__sem_u24878(c_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T31_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA29_: ;
	{
		if (!((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12))) goto LA34_;
		appendToModule__ast_u4652((*c_p0).module, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA34_: ;
	trackStmt__sempass2_u8701(c_p0, (*c_p0).module, result, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T38_;
		NIM_BOOL T39_;
		T38_ = (NIM_BOOL)0;
		T39_ = (NIM_BOOL)0;
		T39_ = !((((*(*(*c_p0).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)48)))&63U)))!=0));
		if (!(T39_)) goto LA40_;
		T39_ = ((*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)4) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)5) || (*(*(*c_p0).graph).config).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)6));
LA40_: ;
		T38_ = T39_;
		if (!(T38_)) goto LA41_;
		T38_ = (((*(*(*c_p0).graph).config).features &((NU32)1<<((NU)((((tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ)23)))&31U)))!=0);
LA41_: ;
		if (!T38_) goto LA42_;
		sortVTableDispatchers__vtables_u1268((*c_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(((*(*c_p0).module).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)14)))&63U)))!=0)) goto LA46_;
			collectVTableDispatchers__vtables_u122((*c_p0).graph);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA46_: ;
	}
LA42_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, recoverContext__sem_u29874)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___lookups_u77(&(*c_p0).currentScope, (*c_p0).topLevelScope);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		colontmpD_ = NIM_NIL;
		while (1) {
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T4_;
			T4_ = NIM_NIL;
			T4_ = getCurrOwner__semdata_u425(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T4_); goto LA2_;}
			eqsink___ast_u4583(&colontmpD_, T4_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (!!(((*colontmpD_).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)))) goto LA3;
			popOwner__semdata_u439(c_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		} LA3: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u4574(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	{
		while (1) {
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = !(((*c_p0).p == ((tyObject_TProcCon__ftBtv4UEhPouLts4uXXNLQ*) NIM_NIL)));
			if (!(T9_)) goto LA10_;
			T9_ = !(((*(*(*c_p0).p).owner).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
LA10_: ;
			if (!T9_) goto LA8;
			eqcopy___semdata_u704(&(*c_p0).p, (*(*c_p0).p).next);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	}BeforeRet_: ;
}
static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = NIM_NIL;
	eqcopy___system_u3661(&result, currException__system_u3628, NIM_FALSE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semWithPContext__sem_u29888)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*(*(*c_p0).graph).config).errorMax <= ((NI)1))) goto LA3_;
		result = semStmtAndGenerateGenerics__sem_u29821(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		NI oldContextLen_1;
		NI oldInGenericInst_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
		oldContextLen_1 = getInfoContextLen__msgs_u556((*(*c_p0).graph).config);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		oldInGenericInst_1 = (*c_p0).inGenericInst;
		T7_ = NIM_NIL;
		T7_ = semStmtAndGenerateGenerics__sem_u29821(c_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA6_;}
		result = T7_;
		if (NIM_UNLIKELY(*nimErr_)) {
			LA6_:;
			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 4171512832)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 3164234496)) {
				Exception* colontmpD_;
				*nimErr_ = NIM_FALSE;
				colontmpD_ = NIM_NIL;
				recoverContext__sem_u29874(c_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				(*c_p0).inGenericInst = oldInGenericInst_1;
				setInfoContextLen__msgs_u562((*(*c_p0).graph).config, oldContextLen_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				{
					colontmpD_ = getCurrentException();
					if (!((colontmpD_) && (isObjDisplayCheck((*colontmpD_).Sup.m_type, 4, 3164234496)))) goto LA14_;
					(*c_p0).suggestionsMade = NIM_TRUE;
					result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
				}
				goto LA12_;
LA14_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T17_;
					T17_ = NIM_NIL;
					T17_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T17_); goto LA11_;}
					result = T17_;
				}
LA12_: ;
				{
					LA11_:;
				}
				{
					eqdestroy___system_u3658(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				popCurrentException();
				LA9_:;
			}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	storeRodNode__semdata_u4793(c_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, reportUnusedModules__sem_u29901)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*(*(*c_p0).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)9))) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** s_1;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA* info_1;
		NI i_1;
		NI L_1;
		NI T6_;
		s_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
		info_1 = (tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA*)0;
		i_1 = ((NI)0);
		T6_ = (*c_p0).unusedImports.len;
		L_1 = T6_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA8;
				s_1 = &(*c_p0).unusedImports.p->data[i_1].Field0;
				info_1 = (&(*c_p0).unusedImports.p->data[i_1].Field1);
				{
					if (!!((((*(*s_1)).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0)))&63U)))!=0))) goto LA11_;
					liMessage__msgs_u1227((*(*c_p0).graph).config, (*info_1), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)42), (*(*(*s_1)).name).s, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__rF9caJawfOjYTjsgLVUSGFA_1893, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA11_: ;
				i_1 += ((NI)1);
			} LA8: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addCodeForGenerics__sem_u29324)(tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin5_;
	NI T25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*c_p0).generics.len;
		colontmp_ = T2_;
		i_2 = (*c_p0).lastGenericIdx;
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_1;
				if (!(i_2 < colontmp_)) goto LA4;
				prc_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u4577(&prc_1, (*(*c_p0).generics.p->data[i_1].inst).sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					NIM_BOOL T8_;
					T8_ = (NIM_BOOL)0;
					T8_ = ((*prc_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*prc_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*prc_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*prc_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
					if (!(T8_)) goto LA9_;
					T8_ = ((*prc_1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0));
LA9_: ;
					if (!T8_) goto LA10_;
					{
						NIM_BOOL T14_;
						NimStringV2 colontmpD_;
						NimStringV2 T19_;
						T14_ = (NIM_BOOL)0;
						T14_ = ((*prc_1).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
						if (T14_) goto LA15_;
						T14_ = ((*(*prc_1).ast)._kind_6.sons.p->data[((NI)6)] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
LA15_: ;
						if (!T14_) goto LA16_;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						T19_.len = 0; T19_.p = NIM_NIL;
						T19_ = rawNewString((*(*prc_1).name).s.len + 12);
appendString((&T19_), TM__rF9caJawfOjYTjsgLVUSGFA_1898);
appendString((&T19_), (*(*prc_1).name).s);
						colontmpD_ = T19_;
						internalErrorImpl__msgs_u1598((*(*c_p0).graph).config, (*prc_1).info, colontmpD_, TM__rF9caJawfOjYTjsgLVUSGFA_1899);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						{
							LA18_:;
						}
						{
							eqdestroy___system_u2691(colontmpD_);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
					goto LA12_;
LA16_: ;
					{
						add__ast_u3215(n_p1, (*prc_1).ast);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA12_: ;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(prc_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA4: ;
		}
	}
	T25_ = (*c_p0).generics.len;
	(*c_p0).lastGenericIdx = T25_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, closePContext__sem_u29916)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TContext__4jZ5gUwIaqnMfIYix46Hpw* c_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*(*c_p1).graph).config).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12));
		if (!(T3_)) goto LA4_;
		T3_ = !((*c_p1).suggestionsMade);
LA4_: ;
		if (!T3_) goto LA5_;
		suggestSentinel__sigmatch_u7810(c_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	closeScope__lookups_u102(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rawCloseScope__lookups_u96(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	reportUnusedModules__sem_u29901(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!((n_p2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA9_;
		internalErrorImpl__msgs_u1598((*(*c_p1).graph).config, (*n_p2).info, TM__rF9caJawfOjYTjsgLVUSGFA_1895, TM__rF9caJawfOjYTjsgLVUSGFA_1896);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA9_: ;
	addCodeForGenerics__sem_u29324(c_p1, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*(*c_p1).module).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA13_;
		add__ast_u3215(result, (*(*c_p1).module).ast);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	popOwner__semdata_u439(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	popProcCon__semdata_u696(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	sealRodFile__semdata_u7250(c_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
