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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog;
typedef struct tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ;
typedef struct tySequence__XlRvVllIQIinot2wpb0XoA tySequence__XlRvVllIQIinot2wpb0XoA;
typedef struct tySequence__XlRvVllIQIinot2wpb0XoA_Content tySequence__XlRvVllIQIinot2wpb0XoA_Content;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_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 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 tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyObject_Table__64AfBrTBCyxlEANlKol6Ew tyObject_Table__64AfBrTBCyxlEANlKol6Ew;
typedef struct tySequence__dAjyAaabi52TN36Jp0fAXQ tySequence__dAjyAaabi52TN36Jp0fAXQ;
typedef struct tySequence__dAjyAaabi52TN36Jp0fAXQ_Content tySequence__dAjyAaabi52TN36Jp0fAXQ_Content;
typedef struct tySequence__4SBkVvm2CCxNvzruVhJR5g tySequence__4SBkVvm2CCxNvzruVhJR5g;
typedef struct tySequence__4SBkVvm2CCxNvzruVhJR5g_Content tySequence__4SBkVvm2CCxNvzruVhJR5g_Content;
typedef struct tyObject_HashSet__rlH7VPCOr6REDp5V7P0aag tyObject_HashSet__rlH7VPCOr6REDp5V7P0aag;
typedef struct tySequence__1I4GqOPEtd9ark9cZ2UT20tw tySequence__1I4GqOPEtd9ark9cZ2UT20tw;
typedef struct tySequence__1I4GqOPEtd9ark9cZ2UT20tw_Content tySequence__1I4GqOPEtd9ark9cZ2UT20tw_Content;
typedef struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw tySequence__hRbbzIynOoxrYjHTIKZ3Gw;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
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 tyTuple__cyDO9czMbIL47POKM3sIQng tyTuple__cyDO9czMbIL47POKM3sIQng;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg;
typedef struct tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg_Content tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg_Content;
typedef struct tySequence__xKcKU9c79cy1NlvTXGoOtyWg tySequence__xKcKU9c79cy1NlvTXGoOtyWg;
typedef struct tySequence__xKcKU9c79cy1NlvTXGoOtyWg_Content tySequence__xKcKU9c79cy1NlvTXGoOtyWg_Content;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tySequence__tgZNpA9ayNCNeNkBBBthFtA tySequence__tgZNpA9ayNCNeNkBBBthFtA;
typedef struct tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content;
typedef struct tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg;
typedef struct tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ;
typedef struct TNimTypeV2 TNimTypeV2;
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 tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
typedef struct tyTuple__X9bWVAqRSgByRpQwn6owzEA tyTuple__X9bWVAqRSgByRpQwn6owzEA;
typedef struct tyTuple__PijKblgFKtbdIstVEwjmCw tyTuple__PijKblgFKtbdIstVEwjmCw;
typedef struct tyTuple__Oubp8LPEu86EPyDuc56AXg tyTuple__Oubp8LPEu86EPyDuc56AXg;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU8 tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg;
struct tySequence__XlRvVllIQIinot2wpb0XoA {
  NI len; tySequence__XlRvVllIQIinot2wpb0XoA_Content* p;
};
struct tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ {
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg nilability;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map;
	tySequence__XlRvVllIQIinot2wpb0XoA elements;
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct 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;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
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 NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
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_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU8 tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw modifiedyNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw cmdlineNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw foreignPackageNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__dAjyAaabi52TN36Jp0fAXQ {
  NI len; tySequence__dAjyAaabi52TN36Jp0fAXQ_Content* p;
};
struct tyObject_Table__64AfBrTBCyxlEANlKol6Ew {
	tySequence__dAjyAaabi52TN36Jp0fAXQ data;
	NI counter;
};
struct tySequence__4SBkVvm2CCxNvzruVhJR5g {
  NI len; tySequence__4SBkVvm2CCxNvzruVhJR5g_Content* p;
};
struct tySequence__1I4GqOPEtd9ark9cZ2UT20tw {
  NI len; tySequence__1I4GqOPEtd9ark9cZ2UT20tw_Content* p;
};
struct tyObject_HashSet__rlH7VPCOr6REDp5V7P0aag {
	tySequence__1I4GqOPEtd9ark9cZ2UT20tw data;
	NI counter;
};
struct tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog {
	tyObject_Table__64AfBrTBCyxlEANlKol6Ew symbolIndices;
	tySequence__9ahcSjIErJohSBBFLwuF56Q expressions;
	tySequence__4SBkVvm2CCxNvzruVhJR5g dependants;
	tyObject_HashSet__rlH7VPCOr6REDp5V7P0aag warningLocations;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw {
  NI len; tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content* p;
};
struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ {
	tySequence__hRbbzIynOoxrYjHTIKZ3Gw data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug {
	NI32 module;
	NI32 symId;
	NI32 typeId_0;
	NIM_BOOL sealed;
	tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ disambTable;
};
struct 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 tyTuple__cyDO9czMbIL47POKM3sIQng {
	NI Field0;
	NI16 Field1;
};
typedef tyTuple__cyDO9czMbIL47POKM3sIQng tyArray__pPUjYor1XlL6p39cyA87m6g[1];
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_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU tyArray__yYbpDJlxVAahcZb4EP3s9cA[16];
struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* next;
	NI key;
	tyArray__yYbpDJlxVAahcZb4EP3s9cA bits;
};
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg {
  NI len; tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg_Content* p;
};
struct tySequence__xKcKU9c79cy1NlvTXGoOtyWg {
  NI len; tySequence__xKcKU9c79cy1NlvTXGoOtyWg_Content* p;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw {
	tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg expressions;
	tySequence__xKcKU9c79cy1NlvTXGoOtyWg history;
	tySequence__qwqHTkRvwhrRyENtudHQ7g setIndices;
	tySequence__4SBkVvm2CCxNvzruVhJR5g sets;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* parent;
};
struct tySequence__tgZNpA9ayNCNeNkBBBthFtA {
  NI len; tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content* p;
};
typedef NU8 tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw;
struct tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg nilability;
	tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw kind;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node;
};
struct tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ {
	NI len;
	void* p;
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
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 tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field0;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg Field1;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__al2p7ldDMvbBVYNFCuu4Rw[2];
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__TAsXwXSUBvAawE1kIQ5ziQ[1];
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ[3];
struct tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ {
	NI16 a;
	NI16 b;
};
struct tySequence__XlRvVllIQIinot2wpb0XoA_Content { NI cap; tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ data[SEQ_DECL_SIZE]; };
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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 tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw 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 tyTuple__X9bWVAqRSgByRpQwn6owzEA {
	NI Field0;
	NI Field1;
	NI16 Field2;
};
struct tySequence__dAjyAaabi52TN36Jp0fAXQ_Content { NI cap; tyTuple__X9bWVAqRSgByRpQwn6owzEA data[SEQ_DECL_SIZE]; };
struct tySequence__4SBkVvm2CCxNvzruVhJR5g_Content { NI cap; tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA data[SEQ_DECL_SIZE]; };
struct tyTuple__PijKblgFKtbdIstVEwjmCw {
	NI Field0;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field1;
};
struct tySequence__1I4GqOPEtd9ark9cZ2UT20tw_Content { NI cap; tyTuple__PijKblgFKtbdIstVEwjmCw 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 tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg_Content { NI cap; tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg data[SEQ_DECL_SIZE]; };
struct tySequence__xKcKU9c79cy1NlvTXGoOtyWg_Content { NI cap; tySequence__tgZNpA9ayNCNeNkBBBthFtA data[SEQ_DECL_SIZE]; };
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
struct tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content { NI cap; tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg data[SEQ_DECL_SIZE]; };
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*, eqdup___options_u2141)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug*, eqdup___ast_u3106)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, preVisit__nilcheck_u10811)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u10867)(tyObject_Table__64AfBrTBCyxlEANlKol6Ew* dest_p0, tyObject_Table__64AfBrTBCyxlEANlKol6Ew src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__64AfBrTBCyxlEANlKol6Ew, toTable__nilcheck_u10816)(tyTuple__cyDO9czMbIL47POKM3sIQng* pairs_p0, NI pairs_p0Len_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u10858)(tyObject_Table__64AfBrTBCyxlEANlKol6Ew dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA*, newIdentCache__idents_u215)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u2777)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u2745)(tySequence__9ahcSjIErJohSBBFLwuF56Q 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_u3270)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_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(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getIdent__idents_u206)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, NimStringV2 identifier_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_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(void, eqdestroy___nilcheck_u1568)(tySequence__4SBkVvm2CCxNvzruVhJR5g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u100)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u66)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___pureZcollectionsZintsets_u227)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3699)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(NI, symbol__nilcheck_u2320)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NI, hashTree__treetab_u6)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nilcheck_u3598)(tyObject_Table__64AfBrTBCyxlEANlKol6Ew t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_u9211)(tyObject_Table__64AfBrTBCyxlEANlKol6Ew* t_p0, NI key_p1, NI16 val_p2);
N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_u7906)(tySequence__9ahcSjIErJohSBBFLwuF56Q a_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_u10381)(tySequence__9ahcSjIErJohSBBFLwuF56Q* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_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, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, preVisitNode__nilcheck_u9056)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2);
N_LIB_PRIVATE N_NIMCALL(NI16*, X5BX5D___nilcheck_u4025)(tyObject_Table__64AfBrTBCyxlEANlKol6Ew* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u9)(NI xX60gensym0__p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___nilcheck_u186)(NI16 a_p0, NI16 b_p1);
N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_u10700)(tySequence__4SBkVvm2CCxNvzruVhJR5g a_p0);
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u10708)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, NI16 length_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u1448)(tySequence__4SBkVvm2CCxNvzruVhJR5g* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(NI16, plus___nilcheck_u205)(NI16 a_p0, NI16 b_p1);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_u366)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*, X5BX5D___nilcheck_u5255)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, NI16 index_p1);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nilcheck_u164)(NI16 a_p0, NI16 b_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u230)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u338)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, newNilMap__nilcheck_u256)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* parent_p0, NI count_p1);
N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_u321)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg a_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg, newSeqOfDistinct__nilcheck_u514)(NI length_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg, newSeq__nilcheck_u539)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__xKcKU9c79cy1NlvTXGoOtyWg, newSeqOfDistinct__nilcheck_u603)(NI length_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__xKcKU9c79cy1NlvTXGoOtyWg, newSeq__nilcheck_u628)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeqOfDistinct__nilcheck_u1018)(NI length_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeq__nilcheck_u1043)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, eqdup___nilcheck_u1846)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* src_p0, NIM_BOOL cyclic_p1);
static N_INLINE(void, nimIncRefCyclic)(void* p_p0, NIM_BOOL cyclic_p1);
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_u1325)(tySequence__qwqHTkRvwhrRyENtudHQ7g* a_p0, NI16 index_p1, NI value_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_u1393)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* value_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_u1398)(tySequence__4SBkVvm2CCxNvzruVhJR5g* x_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdup___pureZcollectionsZintsets_u233)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
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, eqsink___pureZcollectionsZintsets_u236)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p1);
N_LIB_PRIVATE N_NIMCALL(NI, len__nilcheck_u11551)(tyObject_Table__64AfBrTBCyxlEANlKol6Ew t_p0);
N_LIB_PRIVATE N_NIMCALL(void, store__nilcheck_u4377)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, NI16 index_p2, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p3, tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw kind_p4, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p5, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p6);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_u198)(NI16 a_p0, NI16 b_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_u4421)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg* a_p0, NI16 index_p1, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_u4485)(tySequence__tgZNpA9ayNCNeNkBBBthFtA* x_p0, tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg y_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__tgZNpA9ayNCNeNkBBBthFtA*, X5BX5D___nilcheck_u2244)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg* a_p0, NI16 index_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, eqdup___lineinfos_u2037)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA src_p0);
N_LIB_PRIVATE N_NIMCALL(void, aliasSet__nilcheck_u4256)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, NI16 index_p2, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*, X5BX5D___nilcheck_u2875)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, NI index_p1);
N_LIB_PRIVATE N_NIMCALL(NI*, X5BX5D___nilcheck_u4173)(tySequence__qwqHTkRvwhrRyENtudHQ7g* a_p0, NI16 index_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_u4596)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg* a_p0, NI16 index_p1, tySequence__tgZNpA9ayNCNeNkBBBthFtA value_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u714)(tySequence__tgZNpA9ayNCNeNkBBBthFtA* dest_p0, tySequence__tgZNpA9ayNCNeNkBBBthFtA src_p1);
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u733)(tySequence__tgZNpA9ayNCNeNkBBBthFtA* s_p0, NI newlen_p1);
static N_INLINE(void, nimIncRef)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___pureZcollectionsZintsets_u45)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_u51)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u48)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI16, index__nilcheck_u3557)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg, typeNilability__nilcheck_u5762)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_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, check__nilcheck_u246)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg, X5BX5D___nilcheck_u1916)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0, NI16 index_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, gteq___nilcheck_u194)(NI16 a_p0, NI16 b_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u1839)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p_p0, TNimTypeV2* desc_p1);
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, rttiDestroy__nilcheck_u11976)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u1859)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u1426)(tySequence__4SBkVvm2CCxNvzruVhJR5g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u1128)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u895)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u333)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___nilcheck_u1871)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* dest_p0, void* env_p1);
static N_INLINE(void, nimTraceRef)(void* q_p0, TNimTypeV2* desc_p1, void* env_p2);
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___nilcheck_u1842)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw** dest_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg*, X5BX5D___nilcheck_u2038)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg* a_p0, NI16 index_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkInfix__nilcheck_u8308)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u1850)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw** dest_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, checkCondition__nilcheck_u250)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, NIM_BOOL reverse_p3, NIM_BOOL base_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u5960)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* dest_p0, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u5973)(tySequence__XlRvVllIQIinot2wpb0XoA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u1836)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u5951)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, union__nilcheck_u7837)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* l_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* r_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, findCommonParent__nilcheck_u7822)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* l_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* r_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__tgZNpA9ayNCNeNkBBBthFtA, history__nilcheck_u2126)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0, NI16 index_p1);
static N_INLINE(void, X5BX5D___nilcheck_u7920)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* s_p0, NI s_p0Len_0, NI i_p1, tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u781)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* dest_p0, tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u778)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u711)(tySequence__tgZNpA9ayNCNeNkBBBthFtA dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2166)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkIsNil__nilcheck_u8338)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, NIM_BOOL isElse_p3, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, checkCall__nilcheck_u5764)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, moveOut__nilcheck_u4683)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* target_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_u234)(NI a_p0, NI b_p1);
static N_INLINE(NI, len__nilcheck_u3393)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, excl__suggestsymdb_u161)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(NI, minus___nilcheck_u242)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(NI, len__nilcheck_u5147)(tySequence__4SBkVvm2CCxNvzruVhJR5g a_p0);
N_LIB_PRIVATE N_NIMCALL(void, moveOutDependants__nilcheck_u5197)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___nilcheck_u2717)(tySequence__9ahcSjIErJohSBBFLwuF56Q* a_p0, NI16 index_p1);
N_LIB_PRIVATE N_NIMCALL(void, storeDependants__nilcheck_u5323)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p2, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_u8961)(tySequence__XlRvVllIQIinot2wpb0XoA* x_p0, tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u5982)(tySequence__XlRvVllIQIinot2wpb0XoA* dest_p0, tySequence__XlRvVllIQIinot2wpb0XoA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u5970)(tySequence__XlRvVllIQIinot2wpb0XoA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkDotExpr__nilcheck_u7806)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, checkRefExpr__nilcheck_u7776)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ check_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u5954)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* dest_p0, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u5976)(tySequence__XlRvVllIQIinot2wpb0XoA* dest_p0, tySequence__XlRvVllIQIinot2wpb0XoA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u5995)(tySequence__XlRvVllIQIinot2wpb0XoA* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkDeref__nilcheck_u7771)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, handleNilability__nilcheck_u7766)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ check_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p2, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p3);
N_LIB_PRIVATE N_NIMCALL(void, derefWarning__nilcheck_u6144)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg kind_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nilcheck_u6204)(tyObject_HashSet__rlH7VPCOr6REDp5V7P0aag s_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA key_p1);
N_LIB_PRIVATE N_NIMCALL(void, incl__nilcheck_u6609)(tyObject_HashSet__rlH7VPCOr6REDp5V7P0aag* s_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u720)(tySequence__tgZNpA9ayNCNeNkBBBthFtA* dest_p0, tySequence__tgZNpA9ayNCNeNkBBBthFtA src_p1);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u44)(NU16 xX60gensym7__p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u19)(NI16 xX60gensym2__p0);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
N_LIB_PRIVATE N_NIMCALL(void, checkIf__nilcheck_u8245)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, reverseDirect__nilcheck_u2324)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, copyMap__nilcheck_u5752)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u459)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg* dest_p0, tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg src_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u353)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg* s_p0, NI newlen_p1);
static N_INLINE(void, nimCopySeqPayload)(void* dest_p0, void* src_p1, NI elemSize_p2, NI elemAlign_p3);
N_LIB_PRIVATE N_NIMCALL(NI, align__system_u1639)(NI address_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u961)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg* dest_p0, tySequence__xKcKU9c79cy1NlvTXGoOtyWg src_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u641)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u1576)(tySequence__4SBkVvm2CCxNvzruVhJR5g* dest_p0, tySequence__4SBkVvm2CCxNvzruVhJR5g src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u1190)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest_p0, tySequence__qwqHTkRvwhrRyENtudHQ7g src_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u1056)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg, reverse__nilcheck_u8457)(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p0);
static N_INLINE(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg*, X5BX5D___nilcheck_u8633)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw, reverse__nilcheck_u8460)(tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw kind_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, add__nilcheck_u7956)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* l_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* r_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkBranch__nilcheck_u2326)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnstructuredControlFlowJump__nilcheck_u2330)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkAsgn__nilcheck_u8068)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* target_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assigned_p1, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p2, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p3, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, move__nilcheck_u5391)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* target_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assigned_p3);
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(NIM_BOOL, contains__nilcheck_u8175)(tyObject_Table__64AfBrTBCyxlEANlKol6Ew t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipPragmaExpr__ast_u4047)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkFor__nilcheck_u8285)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, checkCase__nilcheck_u8412)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, infixEq__nilcheck_u8402)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* l_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, infix__nilcheck_u8345)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* l_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic_p3);
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_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5171)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_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_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, infixOr__nilcheck_u8407)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* l_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, prefixNot__nilcheck_u8396)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1);
N_LIB_PRIVATE N_NIMCALL(void, checkReturn__nilcheck_u8240)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, checkBracketExpr__nilcheck_u7811)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, checkTry__nilcheck_u8438)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise__ast_u7516)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fn_p0);
static N_INLINE(void, nimMarkCyclic)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkWhile__nilcheck_u8298)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result);
static N_INLINE(NIM_BOOL, contains__nilcheck_u11698)(tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ s_p0, NI16 value_p1);
static N_INLINE(tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ, dotdot___nilcheck_u11613)(NI16 a_p0, NI16 b_p1);
N_LIB_PRIVATE N_NIMCALL(NI16, low__nilcheck_u11576)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg a_p0);
N_LIB_PRIVATE N_NIMCALL(NI16, high__nilcheck_u11584)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg a_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkResult__nilcheck_u8920)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u11831)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u11789)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1751)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3074)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u6479)(tySequence__1I4GqOPEtd9ark9cZ2UT20tw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u3874)(tySequence__dAjyAaabi52TN36Jp0fAXQ dest_p0);
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_3 = { 6 | NIM_STRLIT_FLAG, "result" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_4 = {6, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_3};
N_LIB_PRIVATE TNimTypeV2 NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_;
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_6 = { 4 | NIM_STRLIT_FLAG, "true" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_7 = {4, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_6};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_8 = { 5 | NIM_STRLIT_FLAG, "false" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_9 = {5, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_8};
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10 = {4, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_6};
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_11 = {5, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_8};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_12 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13 = {0, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_12};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14 = { 9 | NIM_STRLIT_FLAG, "it is nil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_15 = {9, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_16 = { 15 | NIM_STRLIT_FLAG, "it might be nil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17 = {15, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_16};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_18 = { 17 | NIM_STRLIT_FLAG, "it is unreachable" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_19 = {17, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_18};
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_20 = {0, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_12};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_21 = { 12 | NIM_STRLIT_FLAG, "can\'t deref " };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_22 = {12, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_21};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_23 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_24 = {2, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_23};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_25 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_26 = {1, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_25};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_27 = { 2 | NIM_STRLIT_FLAG, "  " };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_28 = {2, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_27};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_29 = { 23 | NIM_STRLIT_FLAG, "param with nilable type" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_30 = {23, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_29};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_31 = { 25 | NIM_STRLIT_FLAG, "it returns true for isNil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_32 = {25, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_31};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_33 = { 34 | NIM_STRLIT_FLAG, "assigns a value which might be nil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_34 = {34, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_33};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_35 = { 48 | NIM_STRLIT_FLAG, "passes it as a var arg which might change to nil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_36 = {48, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_35};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_37 = { 20 | NIM_STRLIT_FLAG, "it is nil by default" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_38 = {20, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_37};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_39 = { 15 | NIM_STRLIT_FLAG, "it has ref type" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_40 = {15, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_39};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_41 = { 45 | NIM_STRLIT_FLAG, "it is safe here as it returns false for isNil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_42 = {45, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_41};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_43 = { 48 | NIM_STRLIT_FLAG, "it might be changed directly or through an alias" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_44 = {48, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_43};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_45 = { 53 | NIM_STRLIT_FLAG, "it might be changed because its base might be changed" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_46 = {53, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_45};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_47 = { 9 | NIM_STRLIT_FLAG, " on line " };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_48 = {9, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_47};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_49 = { 1 | NIM_STRLIT_FLAG, ":" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_50 = {1, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_49};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_52 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/nilcheck.nim" };
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_53 = { 2 | NIM_STRLIT_FLAG, "==" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_54 = {2, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_53};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_55 = { 3 | NIM_STRLIT_FLAG, "and" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_56 = {3, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_55};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_57 = { 2 | NIM_STRLIT_FLAG, "or" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_58 = {2, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_57};
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_59 = {0, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_12};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_60 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_61 = {3, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_60};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_62 = { 19 | NIM_STRLIT_FLAG, "return value is nil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_63 = {19, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_62};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_65 = { 25 | NIM_STRLIT_FLAG, "return value might be nil" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_66 = {25, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_65};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_68 = { 27 | NIM_STRLIT_FLAG, "return value is unreachable" };
static const NimStringV2 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_69 = {27, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_68};
static NIM_CONST tyArray__pPUjYor1XlL6p39cyA87m6g TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2 = {{((NI)-1),
((NI16)0)}
}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_51 = {{63, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_52},
((NI)579),
((NI)9)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_64 = {{63, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_52},
((NI)1184),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_67 = {{63, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_52},
((NI)1186),
((NI)11)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_70 = {{63, (NimStrPayload*)&TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_52},
((NI)1188),
((NI)11)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
static NIM_CONST NU32 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_5[1] = {4172300032};
N_LIB_PRIVATE TNimTypeV2 NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_ = {.destructor = (void*)rttiDestroy__nilcheck_u11976, .size = sizeof(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw), .align = (NI16) NIM_ALIGNOF(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw), .depth = 0, .display = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_5, .traceImpl = (void*)eqtrace___nilcheck_u1871, .flags = 0};
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);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_u3548)(NI a_p0, NI b_p1) {
	NIM_BOOL result;
	result = (a_p0 == b_p1);
	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___nilcheck_u2745)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_]);
				if (!T6_) goto LA7_;
				eqdestroy___ast_u3270((&(*dest_p0.p->data[colontmp_])));
				nimRawDispose(dest_p0.p->data[colontmp_], ((NI)4));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
}
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u2777)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((*dest_p0).p != src_p1.p) {	eqdestroy___nilcheck_u2745((*dest_p0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
(*dest_p0).len = src_p1.len; (*dest_p0).p = src_p1.p;
	}BeforeRet_: ;
}
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initPackedSet__pureZcollectionsZintsets_u37(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u1568)(tySequence__4SBkVvm2CCxNvzruVhJR5g dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			eqdestroy___pureZcollectionsZintsets_u100(dest_p0.p->data[colontmp_].data);
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].head);
				if (!T6_) goto LA7_;
				eqdestroy___pureZcollectionsZintsets_u66((&(*dest_p0.p->data[colontmp_].head)));
				nimRawDispose(dest_p0.p->data[colontmp_].head, ((NI)4));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
}
}
N_LIB_PRIVATE N_NIMCALL(NI, symbol__nilcheck_u2320)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		result = ((NI)-2);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			if (!((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11))) goto LA5_;
			result = ((NI)-1);
		}
		goto LA3_;
LA5_: ;
		{
			tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym11__1;
			xX60gensym11__1 = (*(*n_p0)._kind_4.sym).itemId;
			result = (NI)((NI)((NU32)(((NI) (xX60gensym11__1.module))) << (NU32)(((NI)20) & (32 - 1))) + ((NI) (xX60gensym11__1.item)));
		}
LA3_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	{
		result = symbol__nilcheck_u2320((*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = hashTree__treetab_u6(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_u7906)(tySequence__9ahcSjIErJohSBBFLwuF56Q a_p0) {
	NI16 result;
	NI T1_;
	result = (NI16)0;
	T1_ = a_p0.len;
	result = ((NI16) (T1_));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_u10381)(tySequence__9ahcSjIErJohSBBFLwuF56Q* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = eqdup___ast_u3258(value_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3225((&(*a_p0)), colontmpD_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___nilcheck_u3552)(NI a_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = dollar___systemZdollars_u9(a_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___nilcheck_u186)(NI16 a_p0, NI16 b_p1) {
	NIM_BOOL result;
	result = (a_p0 <= b_p1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_u10700)(tySequence__4SBkVvm2CCxNvzruVhJR5g a_p0) {
	NI16 result;
	NI T1_;
	result = (NI16)0;
	T1_ = a_p0.len;
	result = ((NI16) (T1_));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_u10708)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, NI16 length_p1) {
	setLen__nilcheck_u1448((&(*a_p0)), ((NI) (length_p1)));
}
N_LIB_PRIVATE N_NIMCALL(NI16, plus___nilcheck_u205)(NI16 a_p0, NI16 b_p1) {
	NI16 result;
	result = (NI16)(a_p0 + b_p1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*, X5BX5D___nilcheck_u5255)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, NI16 index_p1) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* result;
	result = (&(*a_p0).p->data[((NI) (index_p1))]);
	return result;
}
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, preVisitNode__nilcheck_u9056)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2) {
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		NI nodeSymbol_1;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*node_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*node_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*node_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
		if (!(T5_)) goto LA6_;
		T5_ = ((*(*node_p1)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*node_p1)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
LA6_: ;
		T3_ = T5_;
LA4_: ;
		if (!T3_) goto LA7_;
		nodeSymbol_1 = symbol__nilcheck_u2320(node_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T11_;
			NI16 T14_;
			T11_ = (NIM_BOOL)0;
			T11_ = hasKey__nilcheck_u3598((*ctx_p0).symbolIndices, nodeSymbol_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T11_)) goto LA12_;
			T14_ = (NI16)0;
			T14_ = len__nilcheck_u7906((*ctx_p0).expressions);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			X5BX5Deq___nilcheck_u9211((&(*ctx_p0).symbolIndices), nodeSymbol_1, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__nilcheck_u10381((&(*ctx_p0).expressions), node_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
		{
			if (!((*node_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45) || (*node_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42))) goto LA17_;
			{
				NIM_BOOL T21_;
				NIM_BOOL T22_;
				NIM_BOOL T24_;
				NIM_BOOL T25_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* base_1;
				NI16 index_1;
				NI16* T32_;
				NI16 baseIndex_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T33_;
				T21_ = (NIM_BOOL)0;
				T22_ = (NIM_BOOL)0;
				T22_ = ((*node_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
				if (!(T22_)) goto LA23_;
				T24_ = (NIM_BOOL)0;
				T25_ = (NIM_BOOL)0;
				T25_ = !(((*node_p1).typField == 0));
				if (!(T25_)) goto LA26_;
				T25_ = ((*(*node_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA26_: ;
				T24_ = T25_;
				if (!(T24_)) goto LA27_;
				T24_ = !((((*(*node_p1).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0));
LA27_: ;
				T22_ = T24_;
LA23_: ;
				T21_ = T22_;
				if (T21_) goto LA28_;
				T21_ = ((*node_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
LA28_: ;
				if (!T21_) goto LA29_;
				base_1 = NIM_NIL;
				T32_ = (NI16*)0;
				T32_ = X5BX5D___nilcheck_u4025((&(*ctx_p0).symbolIndices), nodeSymbol_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				index_1 = (*T32_);
				baseIndex_1 = ((NI16)-1);
				T33_ = NIM_NIL;
				{
					if (!!(((*(*node_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*(*node_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2)))) goto LA36_;
					eqcopy___ast_u3255(&base_1, (*(*node_p1)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				}
				goto LA34_;
LA36_: ;
				{
					eqcopy___ast_u3255(&base_1, (*node_p1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				}
LA34_: ;
				{
					NI baseSymbol_1;
					tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* T57_;
					if (!!(((*base_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2)))) goto LA41_;
					baseSymbol_1 = symbol__nilcheck_u2320(base_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					{
						NIM_BOOL T45_;
						T45_ = (NIM_BOOL)0;
						T45_ = hasKey__nilcheck_u3598((*ctx_p0).symbolIndices, baseSymbol_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						if (!!(T45_)) goto LA46_;
						baseIndex_1 = len__nilcheck_u7906((*ctx_p0).expressions);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					}
					goto LA43_;
LA46_: ;
					{
						NI16* T49_;
						T49_ = (NI16*)0;
						T49_ = X5BX5D___nilcheck_u4025((&(*ctx_p0).symbolIndices), baseSymbol_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						baseIndex_1 = (*T49_);
					}
LA43_: ;
					{
						NI16 T52_;
						NIM_BOOL T53_;
						NI16 T56_;
						T52_ = (NI16)0;
						T52_ = len__nilcheck_u10700((*ctx_p0).dependants);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						T53_ = (NIM_BOOL)0;
						T53_ = lteq___nilcheck_u186(T52_, baseIndex_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						if (!T53_) goto LA54_;
						T56_ = (NI16)0;
						T56_ = plus___nilcheck_u205(baseIndex_1, ((NI16)1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
						setLen__nilcheck_u10708((&(*ctx_p0).dependants), T56_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					}
LA54_: ;
					T57_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
					T57_ = X5BX5D___nilcheck_u5255((&(*ctx_p0).dependants), baseIndex_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
					incl__pureZcollectionsZintsets_u366(T57_, ((NI) (index_1)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				}
LA41_: ;
				{
					LA31_:;
				}
				{
					oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(base_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin31_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA29_: ;
		}
LA17_: ;
	}
LA7_: ;
	switch ((*node_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		preVisitNode__nilcheck_u9056(ctx_p0, (*node_p1)._kind_6.sons.p->data[((NI)0)], conf_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* element_1;
			element_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(node_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA67;
						i_1 = i_2;
						eqcopy___ast_u3255(&element_1, (*node_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						preVisitNode__nilcheck_u9056(ctx_p0, element_1, conf_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						i_2 += ((NI)1);
					} LA67: ;
				}
			}
			{
				LA64_:;
			}
			{
				oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(element_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin64_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nilcheck_u164)(NI16 a_p0, NI16 b_p1) {
	NIM_BOOL result;
	result = (a_p0 < b_p1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, preVisit__nilcheck_u10811)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3) {
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA emptySet_1;
	tyObject_Table__64AfBrTBCyxlEANlKol6Ew T2_;
	tySequence__9ahcSjIErJohSBBFLwuF56Q T3_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA blitTmp_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	cache_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	nimZeroMem((void*)(&emptySet_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	T2_ = toTable__nilcheck_u10816(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2, 1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u10858(T2_); goto LA1_;}
	eqsink___nilcheck_u10867((&(*ctx_p0).symbolIndices), T2_);
	cache_1 = newIdentCache__idents_u215();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_.len = 0; T3_.p = NIM_NIL;
	T3_.len = 1; T3_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(1, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	colontmpD_ = getIdent__idents_u206(cache_1, TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T4_ = NIM_NIL;
	T4_ = newIdentNode__ast_u5164(colontmpD_, (*(*s_p1).ast).info);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto LA1_;}
	T3_.p->data[0] = T4_;
	eqsink___nilcheck_u2777((&(*ctx_p0).expressions), T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	initIntSet__pureZcollectionsZintsets_u598((&emptySet_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqdestroy___nilcheck_u1568((*ctx_p0).dependants);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*ctx_p0).dependants.len = 1; (*ctx_p0).dependants.p = (tySequence__4SBkVvm2CCxNvzruVhJR5g_Content*) newSeqPayload(1, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA), NIM_ALIGNOF(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	nimZeroMem((void*)(&blitTmp_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	blitTmp_1 = emptySet_1;
	eqwasMoved___pureZcollectionsZintsets_u227((&emptySet_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*ctx_p0).dependants.p->data[0] = blitTmp_1;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
		tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
		NI i_1;
		NI i_2;
		NI L_1;
		NI T7_;
		arg_1 = NIM_NIL;
		colontmp_.len = 0; colontmp_.p = NIM_NIL;
		i_1 = (NI)0;
		eqcopy___ast_u3699((&colontmp_), (*(*(*s_p1).typ).n)._kind_6.sons);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		i_2 = ((NI)0);
		T7_ = colontmp_.len;
		L_1 = T7_;
		{
			while (1) {
				if (!(i_2 < L_1)) goto LA9;
				i_1 = i_2;
				eqcopy___ast_u3255(&arg_1, colontmp_.p->data[i_2]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				{
					{
						NI argSymbol_1;
						if (!(((NI)0) < i_1)) goto LA13_;
						{
							if (!!(((*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA17_;
							goto LA10;
						}
LA17_: ;
						argSymbol_1 = symbol__nilcheck_u2320(arg_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NIM_BOOL T21_;
							NI16 T24_;
							T21_ = (NIM_BOOL)0;
							T21_ = hasKey__nilcheck_u3598((*ctx_p0).symbolIndices, argSymbol_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!!(T21_)) goto LA22_;
							T24_ = (NI16)0;
							T24_ = len__nilcheck_u7906((*ctx_p0).expressions);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							X5BX5Deq___nilcheck_u9211((&(*ctx_p0).symbolIndices), argSymbol_1, T24_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							add__nilcheck_u10381((&(*ctx_p0).expressions), arg_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA22_: ;
					}
LA13_: ;
				} LA10: ;
				i_2 += ((NI)1);
			} LA9: ;
		}
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3696(colontmp_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	preVisitNode__nilcheck_u9056(ctx_p0, body_p2, conf_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI16 T29_;
		NI16 T30_;
		NIM_BOOL T31_;
		NI16 T34_;
		T29_ = (NI16)0;
		T29_ = len__nilcheck_u10700((*ctx_p0).dependants);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T30_ = (NI16)0;
		T30_ = len__nilcheck_u7906((*ctx_p0).expressions);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T31_ = (NIM_BOOL)0;
		T31_ = lt___nilcheck_u164(T29_, T30_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T31_) goto LA32_;
		T34_ = (NI16)0;
		T34_ = len__nilcheck_u7906((*ctx_p0).expressions);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		setLen__nilcheck_u10708((&(*ctx_p0).dependants), T34_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA32_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&emptySet_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___idents_u338(cache_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_u321)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg a_p0) {
	NI16 result;
	NI T1_;
	result = (NI16)0;
	T1_ = a_p0.len;
	result = ((NI16) (T1_));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg, newSeqOfDistinct__nilcheck_u514)(NI length_p0) {
	tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg result;
	result.len = 0; result.p = NIM_NIL;
	result = newSeq__nilcheck_u539((length_p0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u711)(tySequence__tgZNpA9ayNCNeNkBBBthFtA dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].node);
				if (!T6_) goto LA7_;
				eqdestroy___ast_u3270((&(*dest_p0.p->data[colontmp_].node)));
				nimRawDispose(dest_p0.p->data[colontmp_].node, ((NI)4));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u708)(tySequence__tgZNpA9ayNCNeNkBBBthFtA* dest_p0) {
	(*dest_p0).len = 0; (*dest_p0).p = NIM_NIL;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__xKcKU9c79cy1NlvTXGoOtyWg, newSeqOfDistinct__nilcheck_u603)(NI length_p0) {
	tySequence__xKcKU9c79cy1NlvTXGoOtyWg result;
	result.len = 0; result.p = NIM_NIL;
	result = newSeq__nilcheck_u628((length_p0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeqOfDistinct__nilcheck_u1018)(NI length_p0) {
	tySequence__qwqHTkRvwhrRyENtudHQ7g result;
	result.len = 0; result.p = NIM_NIL;
	result = newSeq__nilcheck_u1043((length_p0));
	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(void, nimIncRefCyclic)(void* p_p0, NIM_BOOL cyclic_p1) {
	tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* h_1;
	NI T1_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	h_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T1_));
	(*h_1).rc = pluspercent___system_u785((*h_1).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, eqdup___nilcheck_u1846)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* src_p0, NIM_BOOL cyclic_p1) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmp_;
	result = NIM_NIL;
	colontmp_ = result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRefCyclic(src_p0, cyclic_p1);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_u1325)(tySequence__qwqHTkRvwhrRyENtudHQ7g* a_p0, NI16 index_p1, NI value_p2) {
	(*a_p0).p->data[((NI) (index_p1))] = value_p2;
}
N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_u1393)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* value_p1) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdup___pureZcollectionsZintsets_u233(value_p1, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__nilcheck_u1398((&(*a_p0)), (&colontmpD_));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, newNilMap__nilcheck_u256)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* parent_p0, NI count_p1) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD_;
	NI expressionsCount_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	expressionsCount_1 = ((NI)0);
	{
		if (!!((count_p1 == ((NI)-1)))) goto LA3_;
		expressionsCount_1 = count_p1;
	}
	goto LA1_;
LA3_: ;
	{
		NI16 T8_;
		if (!!((parent_p0 == 0))) goto LA6_;
		T8_ = (NI16)0;
		T8_ = len__nilcheck_u321((*parent_p0).expressions);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		expressionsCount_1 = ((NI) (T8_));
	}
	goto LA1_;
LA6_: ;
LA1_: ;
	T9_ = NIM_NIL;
	T9_ = (tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*) nimNewObj(sizeof(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw), NIM_ALIGNOF(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw));
	(*T9_).expressions = newSeqOfDistinct__nilcheck_u514(expressionsCount_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*T9_).history = newSeqOfDistinct__nilcheck_u603(expressionsCount_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*T9_).setIndices = newSeqOfDistinct__nilcheck_u1018(expressionsCount_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = eqdup___nilcheck_u1846(parent_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*T9_).parent = colontmpD_;
	result = T9_;
	{
		if (!(parent_p0 == 0)) goto LA12_;
		{
			NI16 i_1;
			tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg expr_1;
			i_1 = (NI16)0;
			expr_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
			{
				NI i_2;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg element_1;
				NI i_3;
				NI L_1;
				NI T16_;
				i_2 = (NI)0;
				element_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
				i_3 = ((NI)0);
				T16_ = (*result).expressions.len;
				L_1 = T16_;
				{
					while (1) {
						tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA newSet_1;
						if (!(i_3 < L_1)) goto LA18;
						nimZeroMem((void*)(&newSet_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
						i_2 = i_3;
						element_1 = (*result).expressions.p->data[i_3];
						i_1 = ((NI16) (i_2));
						expr_1 = element_1;
						X5BX5Deq___nilcheck_u1325((&(*result).setIndices), i_1, ((NI) (i_1)));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						initIntSet__pureZcollectionsZintsets_u598((&newSet_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						incl__pureZcollectionsZintsets_u366((&newSet_1), ((NI) (i_1)));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						add__nilcheck_u1393((&(*result).sets), (&newSet_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_3 += ((NI)1);
						eqdestroy___pureZcollectionsZintsets_u230((&newSet_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA18: ;
				}
			}
		}
	}
	goto LA10_;
LA12_: ;
	{
		{
			tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA exprs_1;
			NI i_4;
			nimZeroMem((void*)(&exprs_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
			i_4 = (NI)0;
			{
				tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA element_2;
				NI i_5;
				NI i_6;
				NI L_2;
				NI T22_;
				nimZeroMem((void*)(&element_2), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
				i_5 = (NI)0;
				i_6 = ((NI)0);
				T22_ = (*parent_p0).sets.len;
				L_2 = T22_;
				{
					while (1) {
						if (!(i_6 < L_2)) goto LA24;
						i_5 = i_6;
						eqcopy___pureZcollectionsZintsets_u250((&element_2), (&(*parent_p0).sets.p->data[i_6]));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_4 = i_5;
						eqsink___pureZcollectionsZintsets_u236((&exprs_1), (&element_2));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqwasMoved___pureZcollectionsZintsets_u227((&element_2));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						add__nilcheck_u1393((&(*result).sets), (&exprs_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_6 += ((NI)1);
					} LA24: ;
				}
				eqdestroy___pureZcollectionsZintsets_u230((&element_2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			eqdestroy___pureZcollectionsZintsets_u230((&exprs_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		{
			NI16 i_7;
			NI index_1;
			i_7 = (NI16)0;
			index_1 = (NI)0;
			{
				NI i_8;
				NI element_3;
				NI i_9;
				NI L_3;
				NI T27_;
				i_8 = (NI)0;
				element_3 = (NI)0;
				i_9 = ((NI)0);
				T27_ = (*parent_p0).setIndices.len;
				L_3 = T27_;
				{
					while (1) {
						if (!(i_9 < L_3)) goto LA29;
						i_8 = i_9;
						element_3 = (*parent_p0).setIndices.p->data[i_9];
						i_7 = ((NI16) (i_8));
						index_1 = element_3;
						X5BX5Deq___nilcheck_u1325((&(*result).setIndices), i_7, index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_9 += ((NI)1);
					} LA29: ;
				}
			}
		}
	}
LA10_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_u198)(NI16 a_p0, NI16 b_p1) {
	NIM_BOOL result;
	result = (a_p0 == b_p1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_u4421)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg* a_p0, NI16 index_p1, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p2) {
	(*a_p0).p->data[((NI) (index_p1))] = value_p2;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__tgZNpA9ayNCNeNkBBBthFtA*, X5BX5D___nilcheck_u2244)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg* a_p0, NI16 index_p1) {
	tySequence__tgZNpA9ayNCNeNkBBBthFtA* result;
	result = (&(*a_p0).p->data[((NI) (index_p1))]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*, X5BX5D___nilcheck_u2875)(tySequence__4SBkVvm2CCxNvzruVhJR5g* a_p0, NI index_p1) {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* result;
	result = (&(*a_p0).p->data[index_p1]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI*, X5BX5D___nilcheck_u4173)(tySequence__qwqHTkRvwhrRyENtudHQ7g* a_p0, NI16 index_p1) {
	NI* result;
	result = (&(*a_p0).p->data[((NI) (index_p1))]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, aliasSet__nilcheck_u4256)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, NI16 index_p2, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
	tySequence__4SBkVvm2CCxNvzruVhJR5g* T1_;
	NI* T2_;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	T1_ = (tySequence__4SBkVvm2CCxNvzruVhJR5g*)0;
	T1_ = (&(*map_p1).sets);
	T2_ = (NI*)0;
	T2_ = X5BX5D___nilcheck_u4173((&(*map_p1).setIndices), index_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
	T3_ = X5BX5D___nilcheck_u2875(T1_, (*T2_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___pureZcollectionsZintsets_u250(Result, (&(*T3_)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1) {
	NIM_BOOL result;
	result = ((*((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (x_p0))).p == (*((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (y_p1))).p);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u778)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.node);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*dest_p0.node)));
		nimRawDispose(dest_p0.node, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u775)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* dest_p0) {
	(*dest_p0).info.line = 0;
	(*dest_p0).info.col = 0;
	(*dest_p0).info.fileIndex = 0;
	(*dest_p0).nilability = 0;
	(*dest_p0).kind = 0;
	(*dest_p0).node = 0;
}
static N_INLINE(void, nimIncRef)(void* p_p0) {
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	T2_ = (NI)0;
	T2_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	(*((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T1_))).rc = pluspercent___system_u785((*((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T2_))).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u714)(tySequence__tgZNpA9ayNCNeNkBBBthFtA* dest_p0, tySequence__tgZNpA9ayNCNeNkBBBthFtA src_p1) {
	NI T6_;
	NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__nilcheck_u733((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			(*dest_p0).p->data[colontmp_].info.line = src_p1.p->data[colontmp_].info.line;
			(*dest_p0).p->data[colontmp_].info.col = src_p1.p->data[colontmp_].info.col;
			(*dest_p0).p->data[colontmp_].info.fileIndex = src_p1.p->data[colontmp_].info.fileIndex;
			(*dest_p0).p->data[colontmp_].nilability = src_p1.p->data[colontmp_].nilability;
			(*dest_p0).p->data[colontmp_].kind = src_p1.p->data[colontmp_].kind;
			{
				if (!src_p1.p->data[colontmp_].node) goto LA12_;
				nimIncRef(src_p1.p->data[colontmp_].node);
			}
LA12_: ;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = nimDecRefIsLastDyn((*dest_p0).p->data[colontmp_].node);
				if (!T16_) goto LA17_;
				eqdestroy___ast_u3270((&(*(*dest_p0).p->data[colontmp_].node)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				nimRawDispose((*dest_p0).p->data[colontmp_].node, ((NI)4));
			}
LA17_: ;
			(*dest_p0).p->data[colontmp_].node = src_p1.p->data[colontmp_].node;
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_u4596)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg* a_p0, NI16 index_p1, tySequence__tgZNpA9ayNCNeNkBBBthFtA value_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___nilcheck_u714((&(*a_p0).p->data[((NI) (index_p1))]), value_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, store__nilcheck_u4377)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, NI16 index_p2, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p3, tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw kind_p4, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p5, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p6) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA exprAliases_1;
	tySequence__tgZNpA9ayNCNeNkBBBthFtA* T7_;
	tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg T8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&exprAliases_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = eqeq___nilcheck_u198(index_p2, ((NI16)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		eqdestroy___pureZcollectionsZintsets_u230((&exprAliases_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	X5BX5Deq___nilcheck_u4421((&(*map_p0).expressions), index_p2, value_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T7_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
	T7_ = X5BX5D___nilcheck_u2244((&(*map_p0).history), index_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T8_), sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
	colontmpD_ = eqdup___lineinfos_u2037(info_p5);
	T8_.info = colontmpD_;
	T8_.kind = kind_p4;
	colontmpD__2 = eqdup___ast_u3258(node_p6);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T8_.node = colontmpD__2;
	T8_.nilability = value_p3;
	add__nilcheck_u4485((&(*T7_)), T8_);
	aliasSet__nilcheck_u4256(ctx_p1, map_p0, index_p2, (&exprAliases_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI a_1;
		a_1 = (NI)0;
		{
			if (!(exprAliases_1.elems <= ((NI)34))) goto LA12_;
			{
				NI i_1;
				NI i_2;
				i_1 = (NI)0;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < exprAliases_1.elems)) goto LA16;
						i_1 = i_2;
						a_1 = exprAliases_1.a[(i_1)- 0];
						{
							NIM_BOOL T19_;
							T19_ = (NIM_BOOL)0;
							T19_ = eqeq___nilcheck_u198(((NI16) (a_1)), index_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!!(T19_)) goto LA20_;
							X5BX5Deq___nilcheck_u4421((&(*map_p0).expressions), ((NI16) (a_1)), value_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							{
								tySequence__tgZNpA9ayNCNeNkBBBthFtA T26_;
								if (!(value_p3 == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1))) goto LA24_;
								T26_.len = 0; T26_.p = NIM_NIL;
								T26_.len = 0; T26_.p = (tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content*) newSeqPayload(0, sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg), NIM_ALIGNOF(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
								X5BX5Deq___nilcheck_u4596((&(*map_p0).history), ((NI16) (a_1)), T26_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							}
							goto LA22_;
LA24_: ;
							{
								tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__3;
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
								tySequence__tgZNpA9ayNCNeNkBBBthFtA* T28_;
								tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg T29_;
								T28_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
								T28_ = X5BX5D___nilcheck_u2244((&(*map_p0).history), ((NI16) (a_1)));
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								nimZeroMem((void*)(&T29_), sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
								colontmpD__3 = eqdup___lineinfos_u2037(info_p5);
								T29_.info = colontmpD__3;
								T29_.kind = ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)7);
								colontmpD__4 = eqdup___ast_u3258(node_p6);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								T29_.node = colontmpD__4;
								T29_.nilability = value_p3;
								add__nilcheck_u4485((&(*T28_)), T29_);
							}
LA22_: ;
						}
LA20_: ;
						i_2 += ((NI)1);
					} LA16: ;
				}
			}
		}
		goto LA10_;
LA12_: ;
		{
			tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
			r_1 = NIM_NIL;
			r_1 = exprAliases_1.head;
			eqwasMoved___pureZcollectionsZintsets_u45(&exprAliases_1.head);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				while (1) {
					NI i_3;
					if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA32;
					i_3 = ((NI)0);
					{
						while (1) {
							NU w_1;
							NI j_1;
							if (!(i_3 <= ((NI)15))) goto LA34;
							w_1 = (*r_1).bits[(i_3)- 0];
							j_1 = ((NI)0);
							{
								while (1) {
									if (!!((w_1 == ((NU)0)))) goto LA36;
									{
										NI T41_;
										if (!!(((NU)(w_1 & ((NU)1)) == ((NU)0)))) goto LA39_;
										T41_ = (NI)0;
										T41_ = pluspercent___system_u785((NI)((NU32)(i_3) << (NU32)(((NI)5) & (32 - 1))), j_1);
										a_1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T41_);
										{
											NIM_BOOL T44_;
											T44_ = (NIM_BOOL)0;
											T44_ = eqeq___nilcheck_u198(((NI16) (a_1)), index_p2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
											if (!!(T44_)) goto LA45_;
											X5BX5Deq___nilcheck_u4421((&(*map_p0).expressions), ((NI16) (a_1)), value_p3);
											if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
											{
												tySequence__tgZNpA9ayNCNeNkBBBthFtA T51_;
												if (!(value_p3 == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1))) goto LA49_;
												T51_.len = 0; T51_.p = NIM_NIL;
												T51_.len = 0; T51_.p = (tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content*) newSeqPayload(0, sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg), NIM_ALIGNOF(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
												X5BX5Deq___nilcheck_u4596((&(*map_p0).history), ((NI16) (a_1)), T51_);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
											}
											goto LA47_;
LA49_: ;
											{
												tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__5;
												tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
												tySequence__tgZNpA9ayNCNeNkBBBthFtA* T53_;
												tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg T54_;
												T53_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
												T53_ = X5BX5D___nilcheck_u2244((&(*map_p0).history), ((NI16) (a_1)));
												if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
												nimZeroMem((void*)(&T54_), sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
												colontmpD__5 = eqdup___lineinfos_u2037(info_p5);
												T54_.info = colontmpD__5;
												T54_.kind = ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)7);
												colontmpD__6 = eqdup___ast_u3258(node_p6);
												if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
												T54_.node = colontmpD__6;
												T54_.nilability = value_p3;
												add__nilcheck_u4485((&(*T53_)), T54_);
											}
LA47_: ;
										}
LA45_: ;
									}
LA39_: ;
									j_1 += ((NI)1);
									w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
								} LA36: ;
							}
							i_3 += ((NI)1);
						} LA34: ;
					}
					eqcopy___pureZcollectionsZintsets_u51(&r_1, (*r_1).next);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				} LA32: ;
			}
			eqdestroy___pureZcollectionsZintsets_u48(r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA10_: ;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&exprAliases_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI16, index__nilcheck_u3557)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NI16 result;
	NI a_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI16)0;
	a_1 = symbol__nilcheck_u2320(n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		NI16* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasKey__nilcheck_u3598((*ctx_p0).symbolIndices, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		T6_ = (NI16*)0;
		T6_ = X5BX5D___nilcheck_u4025((&(*ctx_p0).symbolIndices), a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = (*T6_);
		goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		result = ((NI16)-1);
		goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg, typeNilability__nilcheck_u5762)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0) {
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg result;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T1_;
	T1_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	{
		if (!(((*typ_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0)) goto LA4_;
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	}
	goto LA2_;
LA4_: ;
	{
		if (!((*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29) || (*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*typ_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26))) goto LA7_;
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
	}
	goto LA2_;
LA7_: ;
	{
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	}
LA2_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, gteq___nilcheck_u194)(NI16 a_p0, NI16 b_p1) {
	NIM_BOOL result;
	result = (b_p1 <= a_p0);
	return result;
}
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___nilcheck_u1426)(tySequence__4SBkVvm2CCxNvzruVhJR5g dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			eqdestroy___pureZcollectionsZintsets_u100(dest_p0.p->data[colontmp_].data);
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].head);
				if (!T6_) goto LA7_;
				eqdestroy___pureZcollectionsZintsets_u66((&(*dest_p0.p->data[colontmp_].head)));
				nimRawDispose(dest_p0.p->data[colontmp_].head, ((NI)4));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u333)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg dest_p0) {
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u1859)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic((*dest_p0).parent, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))));
		if (!T3_) goto LA4_;
		eqdestroy___nilcheck_u1859((&(*(*dest_p0).parent)));
		nimRawDispose((*dest_p0).parent, ((NI)4));
	}
LA4_: ;
	eqdestroy___nilcheck_u1426((*dest_p0).sets);
	eqdestroy___nilcheck_u1128((*dest_p0).setIndices);
	eqdestroy___nilcheck_u895((*dest_p0).history);
	eqdestroy___nilcheck_u333((*dest_p0).expressions);
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__nilcheck_u11976)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___nilcheck_u1859((&(*((tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*) (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, nimTraceRef)(void* q_p0, TNimTypeV2* desc_p1, void* env_p2) {
	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_p2));
		add__system_u3018((&(*j_1).traceStack), p_1, desc_p1);
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___nilcheck_u1871)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* dest_p0, void* env_p1) {
	nimTraceRef(&(*dest_p0).parent, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))), env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u1839)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))));
		if (!T3_) goto LA4_;
		eqdestroy___nilcheck_u1859((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u1842)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw** dest_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* src_p1, NIM_BOOL cyclic_p2) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmp_ = (*dest_p0);
	{
		if (!src_p1) goto LA3_;
		nimIncRefCyclic(src_p1, cyclic_p2);
	}
LA3_: ;
	(*dest_p0) = src_p1;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = nimDecRefIsLastCyclicStatic(colontmp_, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))));
		if (!T7_) goto LA8_;
		eqdestroy___nilcheck_u1859((&(*colontmp_)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose(colontmp_, ((NI)4));
	}
LA8_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg*, X5BX5D___nilcheck_u2038)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg* a_p0, NI16 index_p1) {
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg* result;
	result = (&(*a_p0).p->data[((NI) (index_p1))]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg, X5BX5D___nilcheck_u1916)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0, NI16 index_p1) {
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg result;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* now_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	now_1 = NIM_NIL;
	{
		NIM_BOOL T4_;
		NI16 T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = lt___nilcheck_u164(index_p1, ((NI16)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T4_) goto LA5_;
		T6_ = (NI16)0;
		T6_ = len__nilcheck_u321((*map_p0).expressions);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = gteq___nilcheck_u194(index_p1, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
		if (!T4_) goto LA7_;
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
		eqdestroy___nilcheck_u1839(now_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	eqcopy___nilcheck_u1842(&now_1, map_p0, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			if (!!((now_1 == 0))) goto LA10;
			{
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg* T13_;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg* T16_;
				T13_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg*)0;
				T13_ = X5BX5D___nilcheck_u2038((&(*now_1).expressions), index_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!!(((*T13_) == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0)))) goto LA14_;
				T16_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg*)0;
				T16_ = X5BX5D___nilcheck_u2038((&(*now_1).expressions), index_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				result = (*T16_);
				eqdestroy___nilcheck_u1839(now_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA14_: ;
			eqcopy___nilcheck_u1842(&now_1, (*now_1).parent, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA10: ;
	}
	result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
	eqdestroy___nilcheck_u1839(now_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u1839(now_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u1850)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw** dest_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* src_p1) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmp_ = (*dest_p0);
	(*dest_p0) = src_p1;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(colontmp_, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))));
		if (!T3_) goto LA4_;
		eqdestroy___nilcheck_u1859((&(*colontmp_)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose(colontmp_, ((NI)4));
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u5973)(tySequence__XlRvVllIQIinot2wpb0XoA dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].Field0);
				if (!T6_) goto LA7_;
				eqdestroy___ast_u3270((&(*dest_p0.p->data[colontmp_].Field0)));
				nimRawDispose(dest_p0.p->data[colontmp_].Field0, ((NI)4));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u5960)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* dest_p0, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ src_p1) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*dest_p0).nilability = src_p1.nilability;
	colontmp_ = (*dest_p0).map;
	(*dest_p0).map = src_p1.map;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(colontmp_, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))));
		if (!T3_) goto LA4_;
		eqdestroy___nilcheck_u1859((&(*colontmp_)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose(colontmp_, ((NI)4));
	}
LA4_: ;
	if ((*dest_p0).elements.p != src_p1.elements.p) {	eqdestroy___nilcheck_u5973((*dest_p0).elements);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
(*dest_p0).elements.len = src_p1.elements.len; (*dest_p0).elements.p = src_p1.elements.p;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u1836)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw** dest_p0) {
	(*dest_p0) = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u5951)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ dest_p0) {
	eqdestroy___nilcheck_u5973(dest_p0.elements);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0.map, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))));
		if (!T3_) goto LA4_;
		eqdestroy___nilcheck_u1859((&(*dest_p0.map)));
		nimRawDispose(dest_p0.map, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, checkCondition__nilcheck_u250)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, NIM_BOOL reverse_p3, NIM_BOOL base_p4) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL oldNimErrFin72_;
NIM_BOOL oldNimErrFin77_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27))) goto LA3_;
		result = newNilMap__nilcheck_u256(map_p2, ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* element_1;
			element_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA9;
						i_1 = i_2;
						eqcopy___ast_u3255(&element_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NIM_BOOL T12_;
							NIM_BOOL T13_;
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD_;
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T19_;
							T12_ = (NIM_BOOL)0;
							T13_ = (NIM_BOOL)0;
							T13_ = ((*element_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65));
							if (!(T13_)) goto LA14_;
							T13_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA14_: ;
							T12_ = T13_;
							if (!(T12_)) goto LA15_;
							T12_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142));
LA15_: ;
							if (!T12_) goto LA16_;
							nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							nimZeroMem((void*)(&T19_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							check__nilcheck_u246((*element_1)._kind_6.sons.p->data[((NI)0)], ctx_p1, result, (&T19_));
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							eqsink___nilcheck_u5960((&colontmpD_), T19_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							eqsink___nilcheck_u1850(&result, colontmpD_.map);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							eqwasMoved___nilcheck_u1836(&colontmpD_.map);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							{
								LA18_:;
							}
							{
								oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___nilcheck_u5951(colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								*nimErr_ = oldNimErrFin18_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
						goto LA10_;
LA16_: ;
						{
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD__2;
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T24_;
							nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							nimZeroMem((void*)(&T24_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							check__nilcheck_u246(element_1, ctx_p1, result, (&T24_));
							if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
							eqsink___nilcheck_u5960((&colontmpD__2), T24_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
							eqsink___nilcheck_u1850(&result, colontmpD__2.map);
							if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
							eqwasMoved___nilcheck_u1836(&colontmpD__2.map);
							if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
							{
								LA23_:;
							}
							{
								oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___nilcheck_u5951(colontmpD__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								*nimErr_ = oldNimErrFin23_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA10_: ;
						i_2 += ((NI)1);
					} LA9: ;
				}
			}
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(element_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		{
			NIM_BOOL T31_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
			T31_ = (NIM_BOOL)0;
			T31_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T31_)) goto LA32_;
			T31_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142));
LA32_: ;
			if (!T31_) goto LA33_;
			arg_1 = NIM_NIL;
			eqcopy___ast_u3255(&arg_1, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			{
				while (1) {
					if (!((*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA37;
					eqcopy___ast_u3255(&arg_1, (*arg_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				} LA37: ;
			}
			{
				NIM_BOOL T40_;
				NIM_BOOL T42_;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__3;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__4;
				tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw colontmpD__5;
				tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw colontmpD__6;
				NI16 a_1;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T46_;
				tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw T52_;
				T40_ = (NIM_BOOL)0;
				T40_ = ((*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
				if (T40_) goto LA41_;
				T42_ = (NIM_BOOL)0;
				T42_ = ((*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
				if (!(T42_)) goto LA43_;
				T42_ = ((*(*arg_1)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*arg_1)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
LA43_: ;
				T40_ = T42_;
LA41_: ;
				if (!T40_) goto LA44_;
				colontmpD__3 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
				colontmpD__4 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
				colontmpD__5 = (tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0;
				colontmpD__6 = (tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0;
				a_1 = index__nilcheck_u3557(ctx_p1, arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				T46_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
				{
					if (!!(reverse_p3)) goto LA49_;
					colontmpD__3 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3);
					T46_ = colontmpD__3;
				}
				goto LA47_;
LA49_: ;
				{
					colontmpD__4 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
					T46_ = colontmpD__4;
				}
LA47_: ;
				T52_ = (tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0;
				{
					if (!!(reverse_p3)) goto LA55_;
					colontmpD__5 = ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)3);
					T52_ = colontmpD__5;
				}
				goto LA53_;
LA55_: ;
				{
					colontmpD__6 = ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)6);
					T52_ = colontmpD__6;
				}
LA53_: ;
				store__nilcheck_u4377(result, ctx_p1, a_1, T46_, T52_, (*n_p0).info, arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			}
			goto LA38_;
LA44_: ;
			{
			}
LA38_: ;
			{
				LA35_:;
			}
			{
				oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin35_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA29_;
LA33_: ;
		{
		}
LA29_: ;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T63_;
		NIM_BOOL T64_;
		T63_ = (NIM_BOOL)0;
		T64_ = (NIM_BOOL)0;
		T64_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30));
		if (!(T64_)) goto LA65_;
		T64_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA65_: ;
		T63_ = T64_;
		if (!(T63_)) goto LA66_;
		T63_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96));
LA66_: ;
		if (!T63_) goto LA67_;
		result = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, map_p2, !(reverse_p3), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA67_: ;
	{
		tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD__7;
		tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T73_;
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29))) goto LA70_;
		nimZeroMem((void*)(&colontmpD__7), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		result = newNilMap__nilcheck_u256(map_p2, ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
		nimZeroMem((void*)(&T73_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		checkInfix__nilcheck_u8308(n_p0, ctx_p1, result, (&T73_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
		eqsink___nilcheck_u5960((&colontmpD__7), T73_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
		eqsink___nilcheck_u1850(&result, colontmpD__7.map);
		if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
		eqwasMoved___nilcheck_u1836(&colontmpD__7.map);
		if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
		{
			LA72_:;
		}
		{
			oldNimErrFin72_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___nilcheck_u5951(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin72_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA70_: ;
	{
		tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD__8;
		tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T78_;
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T79_;
		nimZeroMem((void*)(&colontmpD__8), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		nimZeroMem((void*)(&T78_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		check__nilcheck_u246(n_p0, ctx_p1, map_p2, (&T78_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
		eqsink___nilcheck_u5960((&colontmpD__8), T78_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
		result = colontmpD__8.map;
		eqwasMoved___nilcheck_u1836(&colontmpD__8.map);
		if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
		T79_ = NIM_NIL;
		T79_ = newNilMap__nilcheck_u256(map_p2, ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T79_); goto LA77_;}
		eqsink___nilcheck_u1850(&result, T79_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
		{
			LA77_:;
		}
		{
			oldNimErrFin77_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___nilcheck_u5951(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin77_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, findCommonParent__nilcheck_u7822)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* l_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* r_p1) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___nilcheck_u1842(&result, (*l_p0).parent, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* rparent_1;
			if (!!((result == 0))) goto LA2;
			rparent_1 = NIM_NIL;
			rparent_1 = (*r_p1).parent;
			{
				while (1) {
					if (!!((rparent_1 == 0))) goto LA4;
					{
						if (!(result == rparent_1)) goto LA7_;
						goto BeforeRet_;
					}
LA7_: ;
					rparent_1 = (*rparent_1).parent;
				} LA4: ;
			}
			eqcopy___nilcheck_u1842(&result, (*result).parent, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__tgZNpA9ayNCNeNkBBBthFtA, history__nilcheck_u2126)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0, NI16 index_p1) {
	tySequence__tgZNpA9ayNCNeNkBBBthFtA result;
	tySequence__tgZNpA9ayNCNeNkBBBthFtA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		NI16 T4_;
		NIM_BOOL T5_;
		tySequence__tgZNpA9ayNCNeNkBBBthFtA* T8_;
		T4_ = (NI16)0;
		T4_ = len__nilcheck_u321((*map_p0).expressions);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T5_ = (NIM_BOOL)0;
		T5_ = lt___nilcheck_u164(index_p1, T4_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T5_) goto LA6_;
		T8_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
		T8_ = X5BX5D___nilcheck_u2244((&(*map_p0).history), index_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___nilcheck_u714((&result), (*T8_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA6_: ;
	{
		result.len = 0; result.p = (tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content*) newSeqPayload(0, sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg), NIM_ALIGNOF(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u781)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* dest_p0, tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*dest_p0).info.line = src_p1.info.line;
	(*dest_p0).info.col = src_p1.info.col;
	(*dest_p0).info.fileIndex = src_p1.info.fileIndex;
	(*dest_p0).nilability = src_p1.nilability;
	(*dest_p0).kind = src_p1.kind;
	{
		if (!src_p1.node) goto LA3_;
		nimIncRef(src_p1.node);
	}
LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = nimDecRefIsLastDyn((*dest_p0).node);
		if (!T7_) goto LA8_;
		eqdestroy___ast_u3270((&(*(*dest_p0).node)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0).node, ((NI)4));
	}
LA8_: ;
	(*dest_p0).node = src_p1.node;
	}BeforeRet_: ;
}
static N_INLINE(void, X5BX5D___nilcheck_u7920)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* s_p0, NI s_p0Len_0, NI i_p1, tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
	eqcopy___nilcheck_u781(Result, s_p0[(NI)(s_p0Len_0 - i_p1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, union__nilcheck_u7837)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* l_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* r_p2) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* common_1;
	NI16 T9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	common_1 = NIM_NIL;
	{
		if (!(l_p1 == 0)) goto LA4_;
		eqcopy___nilcheck_u1842(&result, r_p2, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___nilcheck_u1839(common_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		if (!(r_p2 == 0)) goto LA7_;
		eqcopy___nilcheck_u1842(&result, l_p1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___nilcheck_u1839(common_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA7_: ;
LA2_: ;
	common_1 = findCommonParent__nilcheck_u7822(l_p1, r_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T9_ = (NI16)0;
	T9_ = len__nilcheck_u7906((*ctx_p0).expressions);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNilMap__nilcheck_u256(common_1, ((NI) (T9_)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI16 index_1;
		tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_1;
		index_1 = (NI16)0;
		value_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
		{
			NI16 index_2;
			tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_2;
			index_2 = (NI16)0;
			value_2 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
			{
				NI i_1;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg element_1;
				NI i_2;
				NI L_1;
				NI T13_;
				i_1 = (NI)0;
				element_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
				i_2 = ((NI)0);
				T13_ = (*l_p1).expressions.len;
				L_1 = T13_;
				{
					while (1) {
						tySequence__tgZNpA9ayNCNeNkBBBthFtA h_1;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__2;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__3;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__4;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T22_;
						if (!(i_2 < L_1)) goto LA15;
						h_1.len = 0; h_1.p = NIM_NIL;
						nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
						nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
						colontmpD__3 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						colontmpD__4 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						i_1 = i_2;
						element_1 = (*l_p1).expressions.p->data[i_2];
						index_2 = ((NI16) (i_1));
						value_2 = element_1;
						index_1 = index_2;
						value_1 = X5BX5D___nilcheck_u1916(l_p1, index_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						h_1 = history__nilcheck_u2126(r_p2, index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						{
							NI T18_;
							tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg colontmpD__5;
							T18_ = h_1.len;
							if (!(((NI)0) < T18_)) goto LA19_;
							nimZeroMem((void*)(&colontmpD__5), sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
							X5BX5D___nilcheck_u7920(((h_1).p) ? (h_1.p->data) : NIM_NIL, h_1.len, ((NI)1), (&colontmpD__5));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							colontmpD_ = colontmpD__5.info;
							eqdestroy___nilcheck_u778(colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							info_1 = colontmpD_;
						}
						goto LA16_;
LA19_: ;
						{
							nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
							colontmpD__2.line = ((NU16)0);
							info_1 = colontmpD__2;
						}
LA16_: ;
						T22_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						{
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T25_;
							T25_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							T25_ = X5BX5D___nilcheck_u1916(r_p2, index_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!(value_1 == T25_)) goto LA26_;
							colontmpD__3 = value_1;
							T22_ = colontmpD__3;
						}
						goto LA23_;
LA26_: ;
						{
							colontmpD__4 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
							T22_ = colontmpD__4;
						}
LA23_: ;
						store__nilcheck_u4377(result, ctx_p0, index_1, T22_, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), info_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						i_2 += ((NI)1);
						eqdestroy___nilcheck_u711(h_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					} LA15: ;
				}
			}
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u1839(common_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkInfix__nilcheck_u8308)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* mapL_1;
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* mapR_1;
		if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		mapL_1 = NIM_NIL;
		mapR_1 = NIM_NIL;
		mapL_1 = ((tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*) NIM_NIL);
		mapR_1 = ((tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*) NIM_NIL);
		{
			tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T10_;
			tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T11_;
			if (!!(((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106) || (*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87)))) goto LA8_;
			T10_ = NIM_NIL;
			T10_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, map_p2, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T10_); goto LA5_;}
			eqsink___nilcheck_u1850(&mapL_1, T10_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T11_ = NIM_NIL;
			T11_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)2)], ctx_p1, map_p2, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T11_); goto LA5_;}
			eqsink___nilcheck_u1850(&mapR_1, T11_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA8_: ;
		switch ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
		{
			tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T13_;
			T13_ = NIM_NIL;
			T13_ = union__nilcheck_u7837(ctx_p1, mapL_1, mapR_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T13_); goto LA5_;}
			eqsink___nilcheck_u1850(&(*Result).map, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
		{
			tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T15_;
			tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T16_;
			T15_ = NIM_NIL;
			T15_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, map_p2, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T15_); goto LA5_;}
			eqsink___nilcheck_u1850(&(*Result).map, T15_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T16_ = NIM_NIL;
			T16_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)2)], ctx_p1, (*Result).map, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T16_); goto LA5_;}
			eqsink___nilcheck_u1850(&(*Result).map, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
		{
			{
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				if (!((*(*n_p0)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6))) goto LA20_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				{
					tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T27_;
					colontmpD_ = dollar___renderer_u2166((*n_p0)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					if (!eqStrings(colontmpD_, TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_7)) goto LA25_;
					T27_ = NIM_NIL;
					T27_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, map_p2, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T27_); goto LA22_;}
					eqsink___nilcheck_u1850(&(*Result).map, T27_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				}
				goto LA23_;
LA25_: ;
				{
					tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T31_;
					colontmpD__2 = dollar___renderer_u2166((*n_p0)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					if (!eqStrings(colontmpD__2, TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_9)) goto LA29_;
					T31_ = NIM_NIL;
					T31_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, map_p2, NIM_TRUE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T31_); goto LA22_;}
					eqsink___nilcheck_u1850(&(*Result).map, T31_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
				}
				goto LA23_;
LA29_: ;
LA23_: ;
				{
					LA22_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
			goto LA18_;
LA20_: ;
			{
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6))) goto LA35_;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				{
					tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T42_;
					colontmpD__3 = dollar___renderer_u2166((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					if (!eqStrings(colontmpD__3, TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10)) goto LA40_;
					T42_ = NIM_NIL;
					T42_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)2)], ctx_p1, map_p2, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T42_); goto LA37_;}
					eqsink___nilcheck_u1850(&(*Result).map, T42_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				}
				goto LA38_;
LA40_: ;
				{
					tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T46_;
					colontmpD__4 = dollar___renderer_u2166((*n_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
					if (!eqStrings(colontmpD__4, TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_11)) goto LA44_;
					T46_ = NIM_NIL;
					T46_ = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)2)], ctx_p1, map_p2, NIM_TRUE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T46_); goto LA37_;}
					eqsink___nilcheck_u1850(&(*Result).map, T46_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				}
				goto LA38_;
LA44_: ;
LA38_: ;
				{
					LA37_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(colontmpD__3);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
			goto LA18_;
LA35_: ;
LA18_: ;
			{
				if (!((*Result).map == 0)) goto LA51_;
				eqcopy___nilcheck_u1842(&(*Result).map, map_p2, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
LA51_: ;
		}
		break;
		default:
		{
			eqcopy___nilcheck_u1842(&(*Result).map, map_p2, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		break;
		}
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___nilcheck_u1839(mapR_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___nilcheck_u1839(mapL_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		eqcopy___nilcheck_u1842(&(*Result).map, map_p2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkIsNil__nilcheck_u8338)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, NIM_BOOL isElse_p3, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD_;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__2;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T1_;
	NI16 T2_;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	value_1 = NIM_NIL;
	colontmpD_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	colontmpD__2 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	T1_ = NIM_NIL;
	T1_ = newNilMap__nilcheck_u256(map_p2, ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T1_); goto BeforeRet_;}
	(*Result).map = T1_;
	value_1 = (*n_p0)._kind_6.sons.p->data[((NI)1)];
	T2_ = (NI16)0;
	T2_ = index__nilcheck_u3557(ctx_p1, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	{
		if (!!(isElse_p3)) goto LA6_;
		colontmpD_ = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3);
		T3_ = colontmpD_;
	}
	goto LA4_;
LA6_: ;
	{
		colontmpD__2 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
		T3_ = colontmpD__2;
	}
LA4_: ;
	store__nilcheck_u4377((*Result).map, ctx_p1, T2_, T3_, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0), (*n_p0).info, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_u234)(NI a_p0, NI b_p1) {
	NIM_BOOL result;
	result = (a_p0 == b_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(NI, minus___nilcheck_u242)(NI a_p0, NI b_p1) {
	NI result;
	result = (NI)(a_p0 - b_p1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__nilcheck_u5147)(tySequence__4SBkVvm2CCxNvzruVhJR5g a_p0) {
	NI result;
	NI T1_;
	T1_ = a_p0.len;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, moveOut__nilcheck_u4683)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* target_p2) {
	NI16 targetIndex_1;
	NI targetSetIndex_1;
	NI* T1_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	targetIndex_1 = index__nilcheck_u3557(ctx_p0, target_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NI*)0;
	T1_ = X5BX5D___nilcheck_u4173((&(*map_p1).setIndices), targetIndex_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	targetSetIndex_1 = (*T1_);
	{
		NIM_BOOL T4_;
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA targetSet_1;
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = eqeq___nilcheck_u234(targetSetIndex_1, ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T4_)) goto LA5_;
		nimZeroMem((void*)(&targetSet_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
		T8_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
		T8_ = X5BX5D___nilcheck_u2875((&(*map_p1).sets), targetSetIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		eqcopy___pureZcollectionsZintsets_u250((&targetSet_1), (&(*T8_)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			NI T11_;
			tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA newSet_1;
			NI16 other_1;
			tySequence__4SBkVvm2CCxNvzruVhJR5g* T48_;
			NI* T49_;
			tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* T50_;
			NI T51_;
			NI T52_;
			T11_ = (NI)0;
			T11_ = len__nilcheck_u3393((&targetSet_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			if (!(((NI)1) < T11_)) goto LA12_;
			nimZeroMem((void*)(&newSet_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
			other_1 = 0;
			{
				NI element_1;
				element_1 = (NI)0;
				{
					if (!(targetSet_1.elems <= ((NI)34))) goto LA18_;
					{
						NI i_1;
						NI i_2;
						i_1 = (NI)0;
						i_2 = ((NI)0);
						{
							while (1) {
								if (!(i_2 < targetSet_1.elems)) goto LA22;
								i_1 = i_2;
								element_1 = targetSet_1.a[(i_1)- 0];
								{
									NIM_BOOL T25_;
									T25_ = (NIM_BOOL)0;
									T25_ = eqeq___nilcheck_u198(((NI16) (element_1)), targetIndex_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
									if (!!(T25_)) goto LA26_;
									other_1 = ((NI16) (element_1));
									goto LA15;
								}
LA26_: ;
								i_2 += ((NI)1);
							} LA22: ;
						}
					}
				}
				goto LA16_;
LA18_: ;
				{
					tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
					r_1 = NIM_NIL;
					r_1 = targetSet_1.head;
					eqwasMoved___pureZcollectionsZintsets_u45(&targetSet_1.head);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					{
						while (1) {
							NI i_3;
							if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA31;
							i_3 = ((NI)0);
							{
								while (1) {
									NU w_1;
									NI j_1;
									if (!(i_3 <= ((NI)15))) goto LA33;
									w_1 = (*r_1).bits[(i_3)- 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_3) << (NU32)(((NI)5) & (32 - 1))), j_1);
												element_1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T40_);
												{
													NIM_BOOL T43_;
													T43_ = (NIM_BOOL)0;
													T43_ = eqeq___nilcheck_u198(((NI16) (element_1)), targetIndex_1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
													if (!!(T43_)) goto LA44_;
													other_1 = ((NI16) (element_1));
													eqdestroy___pureZcollectionsZintsets_u48(r_1);
													if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
													goto LA15;
												}
LA44_: ;
											}
LA38_: ;
											j_1 += ((NI)1);
											w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
										} LA35: ;
									}
									i_3 += ((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 LA14_;
						*nimErr_ = oldNimErrFin29_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
				}
LA16_: ;
			} LA15: ;
			T48_ = (tySequence__4SBkVvm2CCxNvzruVhJR5g*)0;
			T48_ = (&(*map_p1).sets);
			T49_ = (NI*)0;
			T49_ = X5BX5D___nilcheck_u4173((&(*map_p1).setIndices), other_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T50_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
			T50_ = X5BX5D___nilcheck_u2875(T48_, (*T49_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			excl__suggestsymdb_u161(T50_, ((NI) (targetIndex_1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			initIntSet__pureZcollectionsZintsets_u598((&newSet_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			incl__pureZcollectionsZintsets_u366((&newSet_1), ((NI) (targetIndex_1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			add__nilcheck_u1393((&(*map_p1).sets), (&newSet_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T51_ = (NI)0;
			T51_ = len__nilcheck_u5147((*map_p1).sets);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T52_ = (NI)0;
			T52_ = minus___nilcheck_u242(T51_, ((NI)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			X5BX5Deq___nilcheck_u1325((&(*map_p1).setIndices), targetIndex_1, T52_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___pureZcollectionsZintsets_u230((&newSet_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA12_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___pureZcollectionsZintsets_u230((&targetSet_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___nilcheck_u2717)(tySequence__9ahcSjIErJohSBBFLwuF56Q* a_p0, NI16 index_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &(*a_p0).p->data[((NI) (index_p1))];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, moveOutDependants__nilcheck_u5197)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p2) {
	NI16 index_1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	index_1 = index__nilcheck_u3557(ctx_p0, node_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI dependant_1;
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* colontmp_;
		dependant_1 = (NI)0;
		colontmp_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
		colontmp_ = X5BX5D___nilcheck_u5255((&(*ctx_p0).dependants), index_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*colontmp_).elems <= ((NI)34))) goto LA4_;
			{
				NI i_1;
				NI i_2;
				i_1 = (NI)0;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* T9_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T10_;
						if (!(i_2 < (*colontmp_).elems)) goto LA8;
						i_1 = i_2;
						dependant_1 = (*colontmp_).a[(i_1)- 0];
						T9_ = NIM_NIL;
						T9_ = ctx_p0;
						T10_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
						T10_ = X5BX5D___nilcheck_u2717((&(*ctx_p0).expressions), ((NI16) (dependant_1)));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						moveOut__nilcheck_u4683(T9_, map_p1, (*T10_));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_2 += ((NI)1);
					} LA8: ;
				}
			}
		}
		goto LA2_;
LA4_: ;
		{
			tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
			r_1 = NIM_NIL;
			eqcopy___pureZcollectionsZintsets_u51(&r_1, (*colontmp_).head);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				while (1) {
					NI i_3;
					if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA14;
					i_3 = ((NI)0);
					{
						while (1) {
							NU w_1;
							NI j_1;
							if (!(i_3 <= ((NI)15))) goto LA16;
							w_1 = (*r_1).bits[(i_3)- 0];
							j_1 = ((NI)0);
							{
								while (1) {
									if (!!((w_1 == ((NU)0)))) goto LA18;
									{
										NI T23_;
										tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* T24_;
										tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T25_;
										if (!!(((NU)(w_1 & ((NU)1)) == ((NU)0)))) goto LA21_;
										T23_ = (NI)0;
										T23_ = pluspercent___system_u785((NI)((NU32)(i_3) << (NU32)(((NI)5) & (32 - 1))), j_1);
										dependant_1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T23_);
										T24_ = NIM_NIL;
										T24_ = ctx_p0;
										T25_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
										T25_ = X5BX5D___nilcheck_u2717((&(*ctx_p0).expressions), ((NI16) (dependant_1)));
										if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
										moveOut__nilcheck_u4683(T24_, map_p1, (*T25_));
										if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
									}
LA21_: ;
									j_1 += ((NI)1);
									w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
								} LA18: ;
							}
							i_3 += ((NI)1);
						} LA16: ;
					}
					eqcopy___pureZcollectionsZintsets_u51(&r_1, (*r_1).next);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				} LA14: ;
			}
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___pureZcollectionsZintsets_u48(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA2_: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, storeDependants__nilcheck_u5323)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p2, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p3) {
	NI16 index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	index_1 = index__nilcheck_u3557(ctx_p0, node_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI dependant_1;
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* colontmp_;
		dependant_1 = (NI)0;
		colontmp_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
		colontmp_ = X5BX5D___nilcheck_u5255((&(*ctx_p0).dependants), index_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*colontmp_).elems <= ((NI)34))) goto LA4_;
			{
				NI i_1;
				NI i_2;
				i_1 = (NI)0;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < (*colontmp_).elems)) goto LA8;
						i_1 = i_2;
						dependant_1 = (*colontmp_).a[(i_1)- 0];
						store__nilcheck_u4377(map_p1, ctx_p0, ((NI16) (dependant_1)), value_p3, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)8), (*node_p2).info, node_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_2 += ((NI)1);
					} LA8: ;
				}
			}
		}
		goto LA2_;
LA4_: ;
		{
			tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
			r_1 = NIM_NIL;
			eqcopy___pureZcollectionsZintsets_u51(&r_1, (*colontmp_).head);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				while (1) {
					NI i_3;
					if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA11;
					i_3 = ((NI)0);
					{
						while (1) {
							NU w_1;
							NI j_1;
							if (!(i_3 <= ((NI)15))) goto LA13;
							w_1 = (*r_1).bits[(i_3)- 0];
							j_1 = ((NI)0);
							{
								while (1) {
									if (!!((w_1 == ((NU)0)))) goto LA15;
									{
										NI T20_;
										if (!!(((NU)(w_1 & ((NU)1)) == ((NU)0)))) goto LA18_;
										T20_ = (NI)0;
										T20_ = pluspercent___system_u785((NI)((NU32)(i_3) << (NU32)(((NI)5) & (32 - 1))), j_1);
										dependant_1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T20_);
										store__nilcheck_u4377(map_p1, ctx_p0, ((NI16) (dependant_1)), value_p3, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)8), (*node_p2).info, node_p2);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									}
LA18_: ;
									j_1 += ((NI)1);
									w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
								} LA15: ;
							}
							i_3 += ((NI)1);
						} LA13: ;
					}
					eqcopy___pureZcollectionsZintsets_u51(&r_1, (*r_1).next);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA11: ;
			}
			eqdestroy___pureZcollectionsZintsets_u48(r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA2_: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkCall__nilcheck_u5764)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD_;
	NIM_BOOL isNew_1;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin73_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	isNew_1 = NIM_FALSE;
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	colontmpD_ = eqdup___nilcheck_u1846(map_p2, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).map = colontmpD_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_1;
		NI i_1;
		child_1 = NIM_NIL;
		i_1 = (NI)0;
		{
			NI i_2;
			NI colontmp_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3197(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			i_3 = ((NI)0);
			{
				while (1) {
					tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD__2;
					if (!(i_3 < colontmp_)) goto LA5;
					nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
					i_2 = i_3;
					i_1 = i_2;
					eqcopy___ast_u3255(&child_1, (*n_p0)._kind_6.sons.p->data[i_2]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					check__nilcheck_u246(child_1, ctx_p1, map_p2, (&colontmpD__2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					(void)(colontmpD__2);
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
						if (!(((NI)0) < i_1)) goto LA9_;
						colontmpD__3 = NIM_NIL;
						{
							NIM_BOOL T14_;
							NIM_BOOL T15_;
							NIM_BOOL T16_;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
							NI16 a_1;
							T14_ = (NIM_BOOL)0;
							T15_ = (NIM_BOOL)0;
							T16_ = (NIM_BOOL)0;
							T16_ = ((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64));
							if (!(T16_)) goto LA17_;
							T16_ = !(((*child_1).typField == 0));
LA17_: ;
							T15_ = T16_;
							if (!(T15_)) goto LA18_;
							T15_ = ((*(*child_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA18_: ;
							T14_ = T15_;
							if (!(T14_)) goto LA19_;
							colontmpD__3 = elementType__ast_u5331((*child_1).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							T14_ = ((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA19_: ;
							if (!T14_) goto LA20_;
							arg_1 = NIM_NIL;
							{
								tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T27_;
								if (!!(isNew_1)) goto LA25_;
								T27_ = NIM_NIL;
								T27_ = newNilMap__nilcheck_u256(map_p2, ((NI)-1));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T27_); goto LA22_;}
								eqsink___nilcheck_u1850(&(*Result).map, T27_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								isNew_1 = NIM_TRUE;
							}
LA25_: ;
							arg_1 = child_1;
							eqwasMoved___ast_u3249(&child_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							{
								while (1) {
									if (!((*arg_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64))) goto LA29;
									eqcopy___ast_u3255(&arg_1, (*arg_1)._kind_6.sons.p->data[((NI)0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								} LA29: ;
							}
							a_1 = index__nilcheck_u3557(ctx_p1, arg_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							{
								NIM_BOOL T32_;
								T32_ = (NIM_BOOL)0;
								T32_ = eqeq___nilcheck_u198(a_1, ((NI16)-1));
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								if (!!(T32_)) goto LA33_;
								moveOut__nilcheck_u4683(ctx_p1, (*Result).map, arg_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								moveOutDependants__nilcheck_u5197(ctx_p1, (*Result).map, arg_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								store__nilcheck_u4377((*Result).map, ctx_p1, a_1, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2), ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)4), (*n_p0).info, arg_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
								storeDependants__nilcheck_u5323(ctx_p1, (*Result).map, arg_1, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2));
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							}
LA33_: ;
							{
								LA22_:;
							}
							{
								oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(arg_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
								*nimErr_ = oldNimErrFin22_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
						}
						goto LA12_;
LA20_: ;
						{
							NIM_BOOL T38_;
							T38_ = (NIM_BOOL)0;
							T38_ = !(((*child_1).typField == 0));
							if (!(T38_)) goto LA39_;
							T38_ = ((*(*child_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA39_: ;
							if (!T38_) goto LA40_;
							{
								NIM_BOOL T44_;
								NIM_BOOL T46_;
								NI16 a_2;
								T44_ = (NIM_BOOL)0;
								T44_ = ((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
								if (T44_) goto LA45_;
								T46_ = (NIM_BOOL)0;
								T46_ = ((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
								if (!(T46_)) goto LA47_;
								T46_ = ((*(*child_1)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*child_1)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
LA47_: ;
								T44_ = T46_;
LA45_: ;
								if (!T44_) goto LA48_;
								a_2 = index__nilcheck_u3557(ctx_p1, child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
								{
									tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* T52_;
									NI T53_;
									T52_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
									T52_ = X5BX5D___nilcheck_u5255((&(*ctx_p1).dependants), a_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
									T53_ = (NI)0;
									T53_ = len__nilcheck_u3393((&(*T52_)));
									if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
									if (!(((NI)0) < T53_)) goto LA54_;
									{
										tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T60_;
										if (!!(isNew_1)) goto LA58_;
										T60_ = NIM_NIL;
										T60_ = newNilMap__nilcheck_u256(map_p2, ((NI)-1));
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T60_); goto LA11_;}
										eqsink___nilcheck_u1850(&(*Result).map, T60_);
										if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
										isNew_1 = NIM_TRUE;
									}
LA58_: ;
									moveOutDependants__nilcheck_u5197(ctx_p1, (*Result).map, child_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
									storeDependants__nilcheck_u5323(ctx_p1, (*Result).map, child_1, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2));
									if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
								}
LA54_: ;
							}
LA48_: ;
						}
						goto LA12_;
LA40_: ;
LA12_: ;
						{
							LA11_:;
						}
						{
							oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							*nimErr_ = oldNimErrFin11_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA9_: ;
					i_3 += ((NI)1);
					{
						LA6_:;
					}
					{
						oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___nilcheck_u5951(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
						*nimErr_ = oldNimErrFin6_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				} LA5: ;
			}
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(child_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	{
		NIM_BOOL T69_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T74_;
		NI16 b_1;
		T69_ = (NIM_BOOL)0;
		T69_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T69_)) goto LA70_;
		T69_ = ((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)32));
LA70_: ;
		if (!T69_) goto LA71_;
		value_1 = NIM_NIL;
		T74_ = NIM_NIL;
		{
			if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65))) goto LA77_;
			eqcopy___ast_u3255(&value_1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		}
		goto LA75_;
LA77_: ;
		{
			eqcopy___ast_u3255(&value_1, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		}
LA75_: ;
		b_1 = index__nilcheck_u3557(ctx_p1, value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		store__nilcheck_u4377((*Result).map, ctx_p1, b_1, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1), ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*value_1).info, value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
		{
			LA73_:;
		}
		{
			oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(value_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin73_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA67_;
LA71_: ;
	{
		{
			tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T87_;
			if (!!(((*n_p0).typField == 0))) goto LA85_;
			T87_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
			T87_ = typeNilability__nilcheck_u5762((*n_p0).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*Result).nilability = T87_;
		}
		goto LA83_;
LA85_: ;
		{
			(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
		}
LA83_: ;
	}
LA67_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u5982)(tySequence__XlRvVllIQIinot2wpb0XoA* dest_p0, tySequence__XlRvVllIQIinot2wpb0XoA src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((*dest_p0).p != src_p1.p) {	eqdestroy___nilcheck_u5973((*dest_p0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
(*dest_p0).len = src_p1.len; (*dest_p0).p = src_p1.p;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u5970)(tySequence__XlRvVllIQIinot2wpb0XoA* dest_p0) {
	(*dest_p0).len = 0; (*dest_p0).p = NIM_NIL;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u6040)(tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.Field0);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*dest_p0.Field0)));
		nimRawDispose(dest_p0.Field0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u6037)(tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ* dest_p0) {
	(*dest_p0).Field0 = 0;
	(*dest_p0).Field1 = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u5976)(tySequence__XlRvVllIQIinot2wpb0XoA* dest_p0, tySequence__XlRvVllIQIinot2wpb0XoA src_p1) {
	NI T6_;
	NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__nilcheck_u5995((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			{
				if (!src_p1.p->data[colontmp_].Field0) goto LA12_;
				nimIncRef(src_p1.p->data[colontmp_].Field0);
			}
LA12_: ;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = nimDecRefIsLastDyn((*dest_p0).p->data[colontmp_].Field0);
				if (!T16_) goto LA17_;
				eqdestroy___ast_u3270((&(*(*dest_p0).p->data[colontmp_].Field0)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				nimRawDispose((*dest_p0).p->data[colontmp_].Field0, ((NI)4));
			}
LA17_: ;
			(*dest_p0).p->data[colontmp_].Field0 = src_p1.p->data[colontmp_].Field0;
			(*dest_p0).p->data[colontmp_].Field1 = src_p1.p->data[colontmp_].Field1;
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u5954)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* dest_p0, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ src_p1) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*dest_p0).nilability = src_p1.nilability;
	colontmp_ = (*dest_p0).map;
	{
		if (!src_p1.map) goto LA3_;
		nimIncRefCyclic(src_p1.map, NIM_TRUE);
	}
LA3_: ;
	(*dest_p0).map = src_p1.map;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = nimDecRefIsLastCyclicStatic(colontmp_, ((TNimTypeV2*) ((&NTIv2__GPiwP4p5jdp9bjxML3UJ9cQw_))));
		if (!T7_) goto LA8_;
		eqdestroy___nilcheck_u1859((&(*colontmp_)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose(colontmp_, ((NI)4));
	}
LA8_: ;
	eqcopy___nilcheck_u5976((&(*dest_p0).elements), src_p1.elements);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkRefExpr__nilcheck_u7776)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ check_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	eqcopy___nilcheck_u5954(Result, check_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T5_;
		if (!!(((*(*n_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22)))) goto LA3_;
		T5_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
		T5_ = typeNilability__nilcheck_u5762((*n_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*Result).nilability = T5_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!!((((*(*n_p0).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0))) goto LA7_;
		{
			NIM_BOOL T11_;
			NIM_BOOL T13_;
			NI16 key_1;
			tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T17_;
			T11_ = (NIM_BOOL)0;
			T11_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
			if (T11_) goto LA12_;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
			if (!(T13_)) goto LA14_;
			T13_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
LA14_: ;
			T11_ = T13_;
LA12_: ;
			if (!T11_) goto LA15_;
			key_1 = index__nilcheck_u3557(ctx_p1, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T17_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
			T17_ = X5BX5D___nilcheck_u1916((*Result).map, key_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*Result).nilability = T17_;
		}
		goto LA9_;
LA15_: ;
		{
			if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42))) goto LA19_;
			(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
		}
		goto LA9_;
LA19_: ;
		{
			(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
		}
LA9_: ;
	}
	goto LA1_;
LA7_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkDotExpr__nilcheck_u7806)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	checkRefExpr__nilcheck_u7776(n_p0, ctx_p1, (*Result), (&T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqsink___nilcheck_u5960(Result, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___nilcheck_u720)(tySequence__tgZNpA9ayNCNeNkBBBthFtA* dest_p0, tySequence__tgZNpA9ayNCNeNkBBBthFtA src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((*dest_p0).p != src_p1.p) {	eqdestroy___nilcheck_u711((*dest_p0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
(*dest_p0).len = src_p1.len; (*dest_p0).p = src_p1.p;
	}BeforeRet_: ;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, derefWarning__nilcheck_u6144)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg kind_p3) {
	tySequence__tgZNpA9ayNCNeNkBBBthFtA a_1;
	NimStringV2 res_1;
	NimStringV2 issue_1;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 T13_;
	NimStringV2 T18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1.len = 0; a_1.p = NIM_NIL;
	res_1.len = 0; res_1.p = NIM_NIL;
	issue_1.len = 0; issue_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = contains__nilcheck_u6204((*ctx_p1).warningLocations, (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(res_1);
		eqdestroy___nilcheck_u711(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	incl__nilcheck_u6609((&(*ctx_p1).warningLocations), (*n_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1.len = 0; a_1.p = (tySequence__tgZNpA9ayNCNeNkBBBthFtA_Content*) newSeqPayload(0, sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg), NIM_ALIGNOF(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
	{
		NI16 T11_;
		tySequence__tgZNpA9ayNCNeNkBBBthFtA T12_;
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA9_;
		T11_ = (NI16)0;
		T11_ = index__nilcheck_u3557(ctx_p1, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_.len = 0; T12_.p = NIM_NIL;
		T12_ = history__nilcheck_u2126(map_p2, T11_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u711(T12_); goto LA1_;}
		eqsink___nilcheck_u720((&a_1), T12_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	res_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13;
	T13_.len = 0; T13_.p = NIM_NIL;
	switch (kind_p3) {
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3):
	{
		issue_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_15;
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2):
	{
		issue_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17;
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4):
	{
		issue_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_19;
	}
	break;
	default:
	{
		issue_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_20;
	}
	break;
	}
	T18_.len = 0; T18_.p = NIM_NIL;
	colontmpD_ = dollar___renderer_u2166(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T18_ = rawNewString(colontmpD_.len + issue_1.len + 14);
appendString((&T18_), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_22);
appendString((&T18_), colontmpD_);
appendString((&T18_), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_24);
appendString((&T18_), issue_1);
	colontmpD__2 = T18_;
	prepareAdd((&res_1), colontmpD__2.len + 0);
appendString((&res_1), colontmpD__2);
	{
		NI T21_;
		T21_ = a_1.len;
		if (!(((NI)0) < T21_)) goto LA22_;
		prepareAdd((&res_1), 1);
appendString((&res_1), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_26);
	}
LA22_: ;
	{
		tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* b_1;
		NI i_1;
		NI L_1;
		NI T25_;
		b_1 = (tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg*)0;
		i_1 = ((NI)0);
		T25_ = a_1.len;
		L_1 = T25_;
		{
			while (1) {
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				NimStringV2 colontmpD__6;
				NimStringV2 colontmpD__7;
				NimStringV2 colontmpD__8;
				NimStringV2 colontmpD__9;
				NimStringV2 colontmpD__10;
				NimStringV2 colontmpD__11;
				NimStringV2 colontmpD__12;
				NimStringV2 colontmpD__13;
				NimStringV2 colontmpD__14;
				NimStringV2 T28_;
				NimStringV2 T29_;
				if (!(i_1 < L_1)) goto LA27;
				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__7.len = 0; colontmpD__7.p = NIM_NIL;
				colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
				colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
				colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
				colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
				colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
				colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
				colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
				b_1 = (&a_1.p->data[i_1]);
				T28_.len = 0; T28_.p = NIM_NIL;
				T29_.len = 0; T29_.p = NIM_NIL;
				switch ((*b_1).kind) {
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0):
				{
					colontmpD__3 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_30;
					T29_ = colontmpD__3;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)3):
				{
					colontmpD__4 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_32;
					T29_ = colontmpD__4;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1):
				{
					colontmpD__5 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_34;
					T29_ = colontmpD__5;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)4):
				{
					colontmpD__6 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_36;
					T29_ = colontmpD__6;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)5):
				{
					colontmpD__7 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_38;
					T29_ = colontmpD__7;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)2):
				{
					colontmpD__8 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_40;
					T29_ = colontmpD__8;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)6):
				{
					colontmpD__9 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_42;
					T29_ = colontmpD__9;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)7):
				{
					colontmpD__10 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_44;
					T29_ = colontmpD__10;
				}
				break;
				case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)8):
				{
					colontmpD__11 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_46;
					T29_ = colontmpD__11;
				}
				break;
				default: __builtin_unreachable();
				}
				colontmpD__12 = dollar___systemZdollars_u44((*b_1).info.line);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				colontmpD__13 = dollar___systemZdollars_u19((*b_1).info.col);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T28_ = rawNewString(T29_.len + colontmpD__12.len + colontmpD__13.len + 12);
appendString((&T28_), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_28);
appendString((&T28_), T29_);
appendString((&T28_), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_48);
appendString((&T28_), colontmpD__12);
appendString((&T28_), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_50);
appendString((&T28_), colontmpD__13);
				colontmpD__14 = T28_;
				prepareAdd((&res_1), colontmpD__14.len + 0);
appendString((&res_1), colontmpD__14);
				i_1 += ((NI)1);
				eqdestroy___system_u2691(colontmpD__14);
				eqdestroy___system_u2691(colontmpD__13);
				eqdestroy___system_u2691(colontmpD__12);
				eqdestroy___system_u2691(colontmpD__11);
				eqdestroy___system_u2691(colontmpD__10);
				eqdestroy___system_u2691(colontmpD__9);
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
				eqdestroy___system_u2691(colontmpD__6);
				eqdestroy___system_u2691(colontmpD__5);
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___system_u2691(colontmpD__3);
			} LA27: ;
		}
	}
	liMessage__msgs_u1227((*ctx_p1).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)64), res_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_51, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(res_1);
		eqdestroy___nilcheck_u711(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, handleNilability__nilcheck_u7766)(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ check_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p2, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch (check_p0.nilability) {
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3):
	{
		derefWarning__nilcheck_u6144(n_p1, ctx_p2, map_p3, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2):
	{
		derefWarning__nilcheck_u6144(n_p1, ctx_p2, map_p3, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4):
	{
		derefWarning__nilcheck_u6144(n_p1, ctx_p2, map_p3, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkDeref__nilcheck_u7771)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	handleNilability__nilcheck_u7766((*Result), (*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimCopySeqPayload)(void* dest_p0, void* src_p1, NI elemSize_p2, NI elemAlign_p3) {
	tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ* d_1;
	tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ* s_1;
	d_1 = ((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (dest_p0));
	s_1 = ((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (src_p1));
	{
		NI headerSize_1;
		if (!(((NI)0) < (*s_1).len)) goto LA3_;
		headerSize_1 = align__system_u1639(((NI)4), elemAlign_p3);
		copyMem__system_u1742(((void*) ((NU)((NU32)(((NU) (ptrdiff_t) ((*d_1).p))) + (NU32)(((NU) (headerSize_1)))))), ((void*) ((NU)((NU32)(((NU) (ptrdiff_t) ((*s_1).p))) + (NU32)(((NU) (headerSize_1)))))), ((NI)((*s_1).len * elemSize_p2)));
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u459)(tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg* dest_p0, tySequence__Ztpn2oM9cgfTuhWpNNlH9ajg src_p1) {
	NI T6_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__nilcheck_u353((&(*dest_p0)), T6_);
	nimCopySeqPayload(dest_p0, (&src_p1), ((NI)1), ((NI)1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u961)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg* dest_p0, tySequence__xKcKU9c79cy1NlvTXGoOtyWg src_p1) {
	NI T6_;
	NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__nilcheck_u641((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			eqcopy___nilcheck_u714((&(*dest_p0).p->data[colontmp_]), src_p1.p->data[colontmp_]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u1576)(tySequence__4SBkVvm2CCxNvzruVhJR5g* dest_p0, tySequence__4SBkVvm2CCxNvzruVhJR5g src_p1) {
	NI T6_;
	NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__nilcheck_u1448((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			eqcopy___pureZcollectionsZintsets_u250((&(*dest_p0).p->data[colontmp_]), (&src_p1.p->data[colontmp_]));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___nilcheck_u1190)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest_p0, tySequence__qwqHTkRvwhrRyENtudHQ7g src_p1) {
	NI T6_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__nilcheck_u1056((&(*dest_p0)), T6_);
	nimCopySeqPayload(dest_p0, (&src_p1), ((NI)4), ((NI)4));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, copyMap__nilcheck_u5752)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!(map_p0 == 0)) goto LA3_;
		result = ((tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*) NIM_NIL);
		goto BeforeRet_;
	}
LA3_: ;
	result = newNilMap__nilcheck_u256((*map_p0).parent, ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___nilcheck_u459((&(*result).expressions), (*map_p0).expressions);
	eqcopy___nilcheck_u961((&(*result).history), (*map_p0).history);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___nilcheck_u1576((&(*result).sets), (*map_p0).sets);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___nilcheck_u1190((&(*result).setIndices), (*map_p0).setIndices);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg, reverse__nilcheck_u8457)(tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_p0) {
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg result;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T1_;
	T1_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	switch (value_p0) {
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3):
	{
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2):
	{
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1):
	{
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3);
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0):
	{
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0);
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4):
	{
		result = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4);
	}
	break;
	default: __builtin_unreachable();
	}
	return result;
}
static N_INLINE(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg*, X5BX5D___nilcheck_u8633)(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* result;
	result = (&s_p0[(NI)(s_p0Len_0 - i_p1)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw, reverse__nilcheck_u8460)(tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw kind_p0) {
	tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw result;
	tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw T1_;
	T1_ = (tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0;
	switch (kind_p0) {
	case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)3):
	{
		result = ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)6);
	}
	break;
	case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)6):
	{
		result = ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)3);
	}
	break;
	case ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)7):
	{
		result = ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)7);
	}
	break;
	default:
	{
		result = kind_p0;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, reverseDirect__nilcheck_u2324)(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p0) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyMap__nilcheck_u5752(map_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI16 index_1;
		tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_1;
		index_1 = (NI16)0;
		value_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
		{
			NI i_1;
			tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg element_1;
			NI i_2;
			NI L_1;
			NI T3_;
			i_1 = (NI)0;
			element_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
			i_2 = ((NI)0);
			T3_ = (*result).expressions.len;
			L_1 = T3_;
			{
				while (1) {
					tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T6_;
					if (!(i_2 < L_1)) goto LA5;
					i_1 = i_2;
					element_1 = (*result).expressions.p->data[i_2];
					index_1 = ((NI16) (i_1));
					value_1 = element_1;
					T6_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
					T6_ = reverse__nilcheck_u8457(value_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					X5BX5Deq___nilcheck_u4421((&(*result).expressions), index_1, T6_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						NI T9_;
						tySequence__tgZNpA9ayNCNeNkBBBthFtA* T10_;
						tySequence__tgZNpA9ayNCNeNkBBBthFtA* T13_;
						tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* T14_;
						tySequence__tgZNpA9ayNCNeNkBBBthFtA* T15_;
						tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* T16_;
						tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw T17_;
						tySequence__tgZNpA9ayNCNeNkBBBthFtA* T18_;
						tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg* T19_;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg* T20_;
						T10_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
						T10_ = X5BX5D___nilcheck_u2244((&(*result).history), index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T9_ = (*T10_).len;
						if (!(((NI)0) < T9_)) goto LA11_;
						T13_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
						T13_ = X5BX5D___nilcheck_u2244((&(*result).history), index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T14_ = (tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg*)0;
						T14_ = X5BX5D___nilcheck_u8633(((*T13_).p) ? ((*T13_).p->data) : NIM_NIL, (*T13_).len, ((NI)1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T15_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
						T15_ = X5BX5D___nilcheck_u2244((&(*result).history), index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T16_ = (tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg*)0;
						T16_ = X5BX5D___nilcheck_u8633(((*T15_).p) ? ((*T15_).p->data) : NIM_NIL, (*T15_).len, ((NI)1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T17_ = (tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0;
						T17_ = reverse__nilcheck_u8460((*T16_).kind);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						(*T14_).kind = T17_;
						T18_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
						T18_ = X5BX5D___nilcheck_u2244((&(*result).history), index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T19_ = (tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg*)0;
						T19_ = X5BX5D___nilcheck_u8633(((*T18_).p) ? ((*T18_).p->data) : NIM_NIL, (*T18_).len, ((NI)1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T20_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg*)0;
						T20_ = X5BX5D___nilcheck_u2038((&(*result).expressions), index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						(*T19_).nilability = (*T20_);
					}
LA11_: ;
					i_2 += ((NI)1);
				} LA5: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*, add__nilcheck_u7956)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* l_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* r_p2) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* result;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* common_1;
	NI16 T9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	common_1 = NIM_NIL;
	{
		if (!(l_p1 == 0)) goto LA4_;
		eqcopy___nilcheck_u1842(&result, r_p2, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___nilcheck_u1839(common_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		if (!(r_p2 == 0)) goto LA7_;
		eqcopy___nilcheck_u1842(&result, l_p1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___nilcheck_u1839(common_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA2_;
LA7_: ;
LA2_: ;
	common_1 = findCommonParent__nilcheck_u7822(l_p1, r_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T9_ = (NI16)0;
	T9_ = len__nilcheck_u7906((*ctx_p0).expressions);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNilMap__nilcheck_u256(common_1, ((NI) (T9_)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI16 index_1;
		tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_1;
		index_1 = (NI16)0;
		value_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
		{
			NI16 index_2;
			tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg value_2;
			index_2 = (NI16)0;
			value_2 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
			{
				NI i_1;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg element_1;
				NI i_2;
				NI L_1;
				NI T13_;
				i_1 = (NI)0;
				element_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
				i_2 = ((NI)0);
				T13_ = (*l_p1).expressions.len;
				L_1 = T13_;
				{
					while (1) {
						tySequence__tgZNpA9ayNCNeNkBBBthFtA h_1;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__2;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__3;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__4;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__5;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__6;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__7;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__8;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__9;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T22_;
						if (!(i_2 < L_1)) goto LA15;
						h_1.len = 0; h_1.p = NIM_NIL;
						nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
						nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
						colontmpD__3 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						colontmpD__4 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						colontmpD__5 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						colontmpD__6 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						colontmpD__7 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						colontmpD__8 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						colontmpD__9 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						i_1 = i_2;
						element_1 = (*l_p1).expressions.p->data[i_2];
						index_2 = ((NI16) (i_1));
						value_2 = element_1;
						index_1 = index_2;
						value_1 = X5BX5D___nilcheck_u1916(l_p1, index_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						h_1 = history__nilcheck_u2126(r_p2, index_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						{
							NI T18_;
							tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg colontmpD__10;
							T18_ = h_1.len;
							if (!(((NI)0) < T18_)) goto LA19_;
							nimZeroMem((void*)(&colontmpD__10), sizeof(tyObject_History__4bvV5E9b6p0voG0MTSK5Cwg));
							X5BX5D___nilcheck_u7920(((h_1).p) ? (h_1.p->data) : NIM_NIL, h_1.len, ((NI)1), (&colontmpD__10));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							colontmpD_ = colontmpD__10.info;
							eqdestroy___nilcheck_u778(colontmpD__10);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							info_1 = colontmpD_;
						}
						goto LA16_;
LA19_: ;
						{
							nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
							colontmpD__2.line = ((NU16)0);
							info_1 = colontmpD__2;
						}
LA16_: ;
						T22_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						{
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T25_;
							T25_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							T25_ = X5BX5D___nilcheck_u1916(r_p2, index_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!(value_1 == T25_)) goto LA26_;
							colontmpD__3 = value_1;
							T22_ = colontmpD__3;
						}
						goto LA23_;
LA26_: ;
						{
							if (!(value_1 == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0))) goto LA29_;
							colontmpD__4 = X5BX5D___nilcheck_u1916(r_p2, index_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							T22_ = colontmpD__4;
						}
						goto LA23_;
LA29_: ;
						{
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T32_;
							T32_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							T32_ = X5BX5D___nilcheck_u1916(r_p2, index_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!(T32_ == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0))) goto LA33_;
							colontmpD__5 = value_1;
							T22_ = colontmpD__5;
						}
						goto LA23_;
LA33_: ;
						{
							NIM_BOOL T36_;
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T38_;
							T36_ = (NIM_BOOL)0;
							T36_ = (value_1 == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4));
							if (T36_) goto LA37_;
							T38_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							T38_ = X5BX5D___nilcheck_u1916(r_p2, index_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							T36_ = (T38_ == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4));
LA37_: ;
							if (!T36_) goto LA39_;
							colontmpD__6 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4);
							T22_ = colontmpD__6;
						}
						goto LA23_;
LA39_: ;
						{
							if (!(value_1 == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2))) goto LA42_;
							colontmpD__7 = X5BX5D___nilcheck_u1916(r_p2, index_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							T22_ = colontmpD__7;
						}
						goto LA23_;
LA42_: ;
						{
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T45_;
							T45_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							T45_ = X5BX5D___nilcheck_u1916(r_p2, index_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!(T45_ == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2))) goto LA46_;
							colontmpD__8 = value_1;
							T22_ = colontmpD__8;
						}
						goto LA23_;
LA46_: ;
						{
							colontmpD__9 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4);
							T22_ = colontmpD__9;
						}
LA23_: ;
						store__nilcheck_u4377(result, ctx_p0, index_1, T22_, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), info_1, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						i_2 += ((NI)1);
						eqdestroy___nilcheck_u711(h_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					} LA15: ;
				}
			}
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u1839(common_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkBranch__nilcheck_u2326)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	check__nilcheck_u246(n_p0, ctx_p1, map_p2, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnstructuredControlFlowJump__nilcheck_u2330)(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* 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_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(&child_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						{
							NIM_BOOL T9_;
							T9_ = (NIM_BOOL)0;
							T9_ = hasUnstructuredControlFlowJump__nilcheck_u2330(child_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							if (!T9_) goto LA10_;
							result = NIM_TRUE;
							eqdestroy___ast_u3252(child_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA10_: ;
						i_2 += ((NI)1);
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108):
	{
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkIf__nilcheck_u8245)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* mapIf_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* mapCondition_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* layerHistory_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* afterLayer_1;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg nilability_1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	mapIf_1 = NIM_NIL;
	mapCondition_1 = NIM_NIL;
	layerHistory_1 = NIM_NIL;
	afterLayer_1 = NIM_NIL;
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	eqcopy___nilcheck_u1842(&mapIf_1, map_p2, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	mapCondition_1 = checkCondition__nilcheck_u250((*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)], ctx_p1, mapIf_1, NIM_FALSE, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	layerHistory_1 = newNilMap__nilcheck_u256(mapIf_1, ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	afterLayer_1 = ((tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*) NIM_NIL);
	nilability_1 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	{
		tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** branch_1;
		NI i_1;
		NI L_1;
		NI T4_;
		colontmp_.len = 0; colontmp_.p = NIM_NIL;
		branch_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		eqcopy___ast_u3699((&colontmp_), (*n_p0)._kind_6.sons);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		i_1 = ((NI)0);
		T4_ = colontmp_.len;
		L_1 = T4_;
		{
			while (1) {
				tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* branchConditionLayer_1;
				tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* branchLayer_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* code_1;
				tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ branchCheck_1;
				tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T17_;
				tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T18_;
				if (!(i_1 < L_1)) goto LA6;
				branchConditionLayer_1 = NIM_NIL;
				branchLayer_1 = NIM_NIL;
				code_1 = NIM_NIL;
				nimZeroMem((void*)(&branchCheck_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
				branch_1 = &colontmp_.p->data[i_1];
				branchConditionLayer_1 = newNilMap__nilcheck_u256(layerHistory_1, ((NI)-1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				branchLayer_1 = 0;
				code_1 = 0;
				{
					tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* mapCondition_2;
					tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* reverseMapCondition_1;
					tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T13_;
					if (!((*(*branch_1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92) || (*(*branch_1)).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86))) goto LA10_;
					mapCondition_2 = NIM_NIL;
					reverseMapCondition_1 = NIM_NIL;
					mapCondition_2 = checkCondition__nilcheck_u250((*(*branch_1))._kind_6.sons.p->data[((NI)0)], ctx_p1, branchConditionLayer_1, NIM_FALSE, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					reverseMapCondition_1 = reverseDirect__nilcheck_u2324(mapCondition_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T13_ = NIM_NIL;
					T13_ = add__nilcheck_u7956(ctx_p1, layerHistory_1, reverseMapCondition_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T13_); goto LA12_;}
					eqsink___nilcheck_u1850(&layerHistory_1, T13_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					branchLayer_1 = mapCondition_2;
					eqwasMoved___nilcheck_u1836(&mapCondition_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					eqcopy___ast_u3255(&code_1, (*(*branch_1))._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___nilcheck_u1839(reverseMapCondition_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						eqdestroy___nilcheck_u1839(mapCondition_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				}
				goto LA8_;
LA10_: ;
				{
					eqcopy___nilcheck_u1842(&branchLayer_1, layerHistory_1, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					eqcopy___ast_u3255(&code_1, (*branch_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				}
LA8_: ;
				checkBranch__nilcheck_u2326(code_1, ctx_p1, branchLayer_1, (&branchCheck_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				T17_ = NIM_NIL;
				T17_ = union__nilcheck_u7837(ctx_p1, afterLayer_1, branchCheck_1.map);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T17_); goto LA7_;}
				eqsink___nilcheck_u1850(&afterLayer_1, T17_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				T18_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
				{
					if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92))) goto LA21_;
					nilability_1 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
				}
				goto LA19_;
LA21_: ;
				{
					tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD_;
					tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__2;
					colontmpD_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
					colontmpD__2 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
					{
						if (!(nilability_1 == branchCheck_1.nilability)) goto LA26_;
						colontmpD_ = nilability_1;
						nilability_1 = colontmpD_;
					}
					goto LA24_;
LA26_: ;
					{
						colontmpD__2 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
						nilability_1 = colontmpD__2;
					}
LA24_: ;
				}
LA19_: ;
				i_1 += ((NI)1);
				{
					LA7_:;
				}
				{
					oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___nilcheck_u5951(branchCheck_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					eqdestroy___ast_u3252(code_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					eqdestroy___nilcheck_u1839(branchLayer_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					eqdestroy___nilcheck_u1839(branchConditionLayer_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					*nimErr_ = oldNimErrFin7_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			} LA6: ;
		}
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3696(colontmp_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		NI T35_;
		T35_ = (*n_p0)._kind_6.sons.len;
		if (!(((NI)1) < T35_)) goto LA36_;
		eqsink___nilcheck_u1850(&(*Result).map, afterLayer_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___nilcheck_u1836(&afterLayer_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*Result).nilability = nilability_1;
	}
	goto LA33_;
LA36_: ;
	{
		{
			NIM_BOOL T41_;
			tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T44_;
			T41_ = (NIM_BOOL)0;
			T41_ = hasUnstructuredControlFlowJump__nilcheck_u2330((*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T41_)) goto LA42_;
			T44_ = NIM_NIL;
			T44_ = union__nilcheck_u7837(ctx_p1, layerHistory_1, afterLayer_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T44_); goto LA1_;}
			eqsink___nilcheck_u1850(&(*Result).map, T44_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
		}
		goto LA39_;
LA42_: ;
		{
			eqsink___nilcheck_u1850(&(*Result).map, layerHistory_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqwasMoved___nilcheck_u1836(&layerHistory_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
		}
LA39_: ;
	}
LA33_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u1839(afterLayer_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(layerHistory_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(mapCondition_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(mapIf_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, move__nilcheck_u5391)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* target_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assigned_p3) {
	NI16 targetIndex_1;
	NI16 assignedIndex_1;
	NI targetSetIndex_1;
	NI* T1_;
	NI assignedSetIndex_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	targetIndex_1 = index__nilcheck_u3557(ctx_p0, target_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	assignedIndex_1 = (NI16)0;
	T1_ = (NI*)0;
	T1_ = X5BX5D___nilcheck_u4173((&(*map_p1).setIndices), targetIndex_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	targetSetIndex_1 = (*T1_);
	assignedSetIndex_1 = (NI)0;
	{
		NI* T6_;
		if (!((*assigned_p3).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA4_;
		assignedIndex_1 = index__nilcheck_u3557(ctx_p0, assigned_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T6_ = (NI*)0;
		T6_ = X5BX5D___nilcheck_u4173((&(*map_p1).setIndices), assignedIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		assignedSetIndex_1 = (*T6_);
	}
	goto LA2_;
LA4_: ;
	{
		assignedIndex_1 = ((NI16)-1);
		assignedSetIndex_1 = ((NI)-1);
	}
LA2_: ;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = eqeq___nilcheck_u198(assignedIndex_1, ((NI16)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T10_) goto LA11_;
		moveOut__nilcheck_u4683(ctx_p0, map_p1, target_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA8_;
LA11_: ;
	{
		NIM_BOOL T14_;
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* T17_;
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* T18_;
		T14_ = (NIM_BOOL)0;
		T14_ = eqeq___nilcheck_u234(targetSetIndex_1, assignedSetIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T14_)) goto LA15_;
		T17_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
		T17_ = X5BX5D___nilcheck_u2875((&(*map_p1).sets), targetSetIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		excl__suggestsymdb_u161(T17_, ((NI) (targetIndex_1)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T18_ = (tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA*)0;
		T18_ = X5BX5D___nilcheck_u2875((&(*map_p1).sets), assignedSetIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		incl__pureZcollectionsZintsets_u366(T18_, ((NI) (targetIndex_1)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		X5BX5Deq___nilcheck_u1325((&(*map_p1).setIndices), targetIndex_1, assignedSetIndex_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA8_;
LA15_: ;
LA8_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkAsgn__nilcheck_u8068)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* target_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* assigned_p1, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p2, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p3, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	{
		if (!!(((*assigned_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA4_;
		check__nilcheck_u246(assigned_p1, ctx_p2, map_p3, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD__2;
		tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T7_;
		nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		T7_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
		T7_ = typeNilability__nilcheck_u5762((*target_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*Result).nilability = T7_;
		colontmpD__2 = eqdup___nilcheck_u1846(map_p3, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*Result).map = colontmpD__2;
	}
LA2_: ;
	check__nilcheck_u246(target_p0, ctx_p2, map_p3, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(void)(colontmpD_);
	{
		if (!((*Result).map == 0)) goto LA10_;
		eqcopy___nilcheck_u1842(&(*Result).map, map_p3, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	{
		NIM_BOOL T14_;
		NIM_BOOL T16_;
		NI16 t_1;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*target_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3) || (*target_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45));
		if (T14_) goto LA15_;
		T16_ = (NIM_BOOL)0;
		T16_ = ((*target_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42));
		if (!(T16_)) goto LA17_;
		T16_ = ((*(*target_p0)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*target_p0)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22));
LA17_: ;
		T14_ = T16_;
LA15_: ;
		if (!T14_) goto LA18_;
		t_1 = index__nilcheck_u3557(ctx_p2, target_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		move__nilcheck_u5391(ctx_p2, map_p3, target_p0, assigned_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		switch ((*assigned_p1).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
		{
			store__nilcheck_u4377((*Result).map, ctx_p2, t_1, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3), ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*target_p0).info, target_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		break;
		default:
		{
			store__nilcheck_u4377((*Result).map, ctx_p2, t_1, (*Result).nilability, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*target_p0).info, target_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			moveOutDependants__nilcheck_u5197(ctx_p2, map_p3, target_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			storeDependants__nilcheck_u5323(ctx_p2, map_p3, target_p0, ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!((*assigned_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38) || (*assigned_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA24_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** element_1;
					tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg* value_1;
					NI i_1;
					NI L_1;
					NI T27_;
					element_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
					value_1 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg*)0;
					i_1 = ((NI)0);
					T27_ = (*Result).elements.len;
					L_1 = T27_;
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* elementNode_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
							tyArray__al2p7ldDMvbBVYNFCuu4Rw T31_;
							tyArray__TAsXwXSUBvAawE1kIQ5ziQ T32_;
							if (!(i_1 < L_1)) goto LA29;
							elementNode_1 = NIM_NIL;
							colontmpD__3 = NIM_NIL;
							element_1 = &(*Result).elements.p->data[i_1].Field0;
							value_1 = (&(*Result).elements.p->data[i_1].Field1);
							nimZeroMem((void*)T31_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
							nimZeroMem((void*)T32_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
							T32_[0] = target_p0;
							colontmpD__3 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65), T32_, 1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
							T31_[0] = colontmpD__3;
							T31_[1] = (*element_1);
							elementNode_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), T31_, 2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
							{
								NI T35_;
								NIM_BOOL T36_;
								NI16 elementIndex_1;
								T35_ = (NI)0;
								T35_ = symbol__nilcheck_u2320(elementNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
								T36_ = (NIM_BOOL)0;
								T36_ = contains__nilcheck_u8175((*ctx_p2).symbolIndices, T35_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
								if (!T36_) goto LA37_;
								elementIndex_1 = index__nilcheck_u3557(ctx_p2, elementNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
								store__nilcheck_u4377((*Result).map, ctx_p2, elementIndex_1, (*value_1), ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*target_p0).info, elementNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
							}
LA37_: ;
							i_1 += ((NI)1);
							{
								LA30_:;
							}
							{
								oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								eqdestroy___ast_u3252(elementNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								*nimErr_ = oldNimErrFin30_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						} LA29: ;
					}
				}
			}
LA24_: ;
		}
		break;
		}
	}
LA18_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u5951(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkFor__nilcheck_u8285)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* m_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map0_1;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD_;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ check2_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map2_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T2_;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T9_;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	m_1 = NIM_NIL;
	map0_1 = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	nimZeroMem((void*)(&check2_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	map2_1 = NIM_NIL;
	m_1 = copyMap__nilcheck_u5752(map_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	map0_1 = copyMap__nilcheck_u5752(map_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)2)], ctx_p1, map_p2, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = copyMap__nilcheck_u5752(colontmpD_.map);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T2_); goto LA1_;}
	eqsink___nilcheck_u1850(&m_1, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI16 T7_;
		tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T8_;
		if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA5_;
		T7_ = (NI16)0;
		T7_ = index__nilcheck_u3557(ctx_p1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
		T8_ = typeNilability__nilcheck_u5762((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		store__nilcheck_u4377(m_1, ctx_p1, T7_, T8_, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).info, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)2)], ctx_p1, m_1, (&check2_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	map2_1 = check2_1.map;
	eqwasMoved___nilcheck_u1836(&check2_1.map);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	T9_ = NIM_NIL;
	T9_ = union__nilcheck_u7837(ctx_p1, map0_1, m_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T9_); goto LA1_;}
	(*Result).map = T9_;
	T10_ = NIM_NIL;
	T10_ = union__nilcheck_u7837(ctx_p1, (*Result).map, map2_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T10_); goto LA1_;}
	eqsink___nilcheck_u1850(&(*Result).map, T10_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u1839(map2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u5951(check2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u5951(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(map0_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(m_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, infix__nilcheck_u8345)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* l_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NimStringV2 name_1;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	NimStringV2 T1_;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T6_;
	tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ T7_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	name_1.len = 0; name_1.p = NIM_NIL;
	cache_1 = NIM_NIL;
	op_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	switch (magic_p3) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	{
		name_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_54;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		name_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_56;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	{
		name_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_58;
	}
	break;
	default:
	{
		name_1 = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_59;
	}
	break;
	}
	cache_1 = newIdentCache__idents_u215();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = getIdent__idents_u206(cache_1, name_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = 0;
	op_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8), colontmpD_, (*ctx_p0).idgen, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), (*r_p2).info, T6_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*op_1).magic = magic_p3;
	nimZeroMem((void*)T7_, sizeof(tyArray__JEzAlj49cAK8qpM6I2Q9bfcQ));
	colontmpD__2 = newSymNode__ast_u5171(op_1, (*r_p2).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T7_[0] = colontmpD__2;
	T7_[1] = l_p1;
	T7_[2] = r_p2;
	result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), T7_, 3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T8_ = NIM_NIL;
	T8_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1), (*ctx_p0).idgen, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T8_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*result).typField, T8_);
	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_u4574(op_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___idents_u338(cache_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, infixEq__nilcheck_u8402)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* l_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = infix__nilcheck_u8345(ctx_p0, l_p1, r_p2, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, infixOr__nilcheck_u8407)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* l_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = infix__nilcheck_u8345(ctx_p0, l_p1, r_p2, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, prefixNot__nilcheck_u8396)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T1_;
	tyArray__al2p7ldDMvbBVYNFCuu4Rw T2_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	cache_1 = NIM_NIL;
	op_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	cache_1 = newIdentCache__idents_u215();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = getIdent__idents_u206(cache_1, TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_61);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = 0;
	op_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8), colontmpD_, (*ctx_p0).idgen, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), (*node_p1).info, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*op_1).magic = ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96);
	nimZeroMem((void*)T2_, sizeof(tyArray__al2p7ldDMvbBVYNFCuu4Rw));
	colontmpD__2 = newSymNode__ast_u5171(op_1, (*node_p1).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_[0] = colontmpD__2;
	T2_[1] = node_p1;
	result = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30), T2_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = NIM_NIL;
	T3_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1), (*ctx_p0).idgen, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T3_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*result).typField, T3_);
	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_u4574(op_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___idents_u338(cache_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkCase__nilcheck_u8412)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* base_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T2_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	base_1 = NIM_NIL;
	a_1 = NIM_NIL;
	eqcopy___ast_u3255(&base_1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	T2_ = NIM_NIL;
	T2_ = copyMap__nilcheck_u5752(map_p2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T2_); goto LA1_;}
	(*Result).map = T2_;
	(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	a_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		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_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i_1 = i_2;
					eqcopy___ast_u3255(&child_1, (*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					{
						switch ((*child_1).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branchBase_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* code_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* test_1;
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* conditionMap_1;
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD_;
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ newCheck_1;
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__2;
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__3;
							NI T16_;
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T23_;
							branchBase_1 = NIM_NIL;
							code_1 = NIM_NIL;
							test_1 = NIM_NIL;
							conditionMap_1 = NIM_NIL;
							colontmpD_ = NIM_NIL;
							nimZeroMem((void*)(&newCheck_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							colontmpD__2 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							colontmpD__3 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							{
								NI T13_;
								T13_ = (NI)0;
								T13_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
								if (!(T13_ < ((NI)2))) goto LA14_;
								eqdestroy___nilcheck_u5951(newCheck_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___nilcheck_u1839(colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___nilcheck_u1839(conditionMap_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___ast_u3252(test_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___ast_u3252(code_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___ast_u3252(branchBase_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								goto LA8;
							}
LA14_: ;
							eqcopy___ast_u3255(&branchBase_1, (*child_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							T16_ = (NI)0;
							T16_ = len__ast_u3190(child_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							eqcopy___ast_u3255(&code_1, (*child_1)._kind_6.sons.p->data[(NI)(T16_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							test_1 = infixEq__nilcheck_u8402(ctx_p1, base_1, branchBase_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							{
								if (!(a_1 == 0)) goto LA19_;
								eqcopy___ast_u3255(&a_1, test_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							}
							goto LA17_;
LA19_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
								T22_ = NIM_NIL;
								T22_ = infixOr__nilcheck_u8407(ctx_p1, a_1, test_1);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto LA10_;}
								eqsink___ast_u3261(&a_1, T22_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							}
LA17_: ;
							colontmpD_ = copyMap__nilcheck_u5752(map_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							conditionMap_1 = checkCondition__nilcheck_u250(test_1, ctx_p1, colontmpD_, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							checkBranch__nilcheck_u2326(code_1, ctx_p1, conditionMap_1, (&newCheck_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							T23_ = NIM_NIL;
							T23_ = union__nilcheck_u7837(ctx_p1, (*Result).map, newCheck_1.map);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T23_); goto LA10_;}
							eqsink___nilcheck_u1850(&(*Result).map, T23_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
							{
								if (!((*Result).nilability == newCheck_1.nilability)) goto LA26_;
								colontmpD__2 = (*Result).nilability;
								(*Result).nilability = colontmpD__2;
							}
							goto LA24_;
LA26_: ;
							{
								colontmpD__3 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
								(*Result).nilability = colontmpD__3;
							}
LA24_: ;
							{
								LA10_:;
							}
							{
								oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___nilcheck_u5951(newCheck_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___nilcheck_u1839(colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___nilcheck_u1839(conditionMap_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___ast_u3252(test_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___ast_u3252(code_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___ast_u3252(branchBase_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								*nimErr_ = oldNimErrFin10_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
						{
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
						{
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* mapElse_1;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD__5;
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ newCheck_2;
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__6;
							tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__7;
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T34_;
							mapElse_1 = NIM_NIL;
							colontmpD__4 = NIM_NIL;
							colontmpD__5 = NIM_NIL;
							nimZeroMem((void*)(&newCheck_2), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							colontmpD__6 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							colontmpD__7 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
							colontmpD__4 = prefixNot__nilcheck_u8396(ctx_p1, a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							colontmpD__5 = copyMap__nilcheck_u5752(map_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							mapElse_1 = checkCondition__nilcheck_u250(colontmpD__4, ctx_p1, colontmpD__5, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							checkBranch__nilcheck_u2326((*child_1)._kind_6.sons.p->data[((NI)0)], ctx_p1, mapElse_1, (&newCheck_2));
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							T34_ = NIM_NIL;
							T34_ = union__nilcheck_u7837(ctx_p1, (*Result).map, newCheck_2.map);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T34_); goto LA33_;}
							eqsink___nilcheck_u1850(&(*Result).map, T34_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
							{
								if (!((*Result).nilability == newCheck_2.nilability)) goto LA37_;
								colontmpD__6 = (*Result).nilability;
								(*Result).nilability = colontmpD__6;
							}
							goto LA35_;
LA37_: ;
							{
								colontmpD__7 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2);
								(*Result).nilability = colontmpD__7;
							}
LA35_: ;
							{
								LA33_:;
							}
							{
								oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___nilcheck_u5951(newCheck_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___nilcheck_u1839(colontmpD__5);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___ast_u3252(colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								eqdestroy___nilcheck_u1839(mapElse_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								*nimErr_ = oldNimErrFin33_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						}
						break;
						default:
						{
						}
						break;
						}
					} LA8: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			LA4_:;
		}
		{
			oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(child_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin4_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkReturn__nilcheck_u8240)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	store__nilcheck_u4377((*Result).map, ctx_p1, ((NI16)0), (*Result).nilability, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*n_p0).info, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkBracketExpr__nilcheck_u7811)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T1_;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	handleNilability__nilcheck_u7766((*Result), (*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, (*Result).map, (&T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqsink___nilcheck_u5960(Result, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	checkRefExpr__nilcheck_u7776(n_p0, ctx_p1, (*Result), (&T2_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqsink___nilcheck_u5960(Result, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimMarkCyclic)(void* p_p0) {
}
N_LIB_PRIVATE N_NIMCALL(void, checkTry__nilcheck_u8438)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* newMap_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* currentMap_1;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ tryCheck_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* afterTryMap_1;
	NIM_BOOL canRaise_1;
	NIM_BOOL hasFinally_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T2_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin4_;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* blitTmp_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	newMap_1 = NIM_NIL;
	currentMap_1 = NIM_NIL;
	nimZeroMem((void*)(&tryCheck_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	afterTryMap_1 = NIM_NIL;
	newMap_1 = copyMap__nilcheck_u5752(map_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___nilcheck_u1842(&currentMap_1, map_p2, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	canRaise_1 = NIM_FALSE;
	hasFinally_1 = NIM_FALSE;
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, currentMap_1, (&tryCheck_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = union__nilcheck_u7837(ctx_p1, currentMap_1, tryCheck_1.map);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T2_); goto LA1_;}
	eqsink___nilcheck_u1850(&newMap_1, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	canRaise_1 = canRaise__ast_u7516((*n_p0)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___nilcheck_u1842(&afterTryMap_1, newMap_1, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
		NI a_1;
		branch_1 = NIM_NIL;
		a_1 = (NI)0;
		{
			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 LA4_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i_1 = i_2;
					a_1 = i_1;
					eqcopy___ast_u3255(&branch_1, (*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					{
						if (!(((NI)0) < a_1)) goto LA10_;
						switch ((*branch_1).kind) {
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107):
						{
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ childCheck_1;
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T14_;
							tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T15_;
							nimZeroMem((void*)(&childCheck_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							T14_ = NIM_NIL;
							T14_ = union__nilcheck_u7837(ctx_p1, afterTryMap_1, newMap_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T14_); goto LA13_;}
							eqsink___nilcheck_u1850(&newMap_1, T14_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							check__nilcheck_u246((*branch_1)._kind_6.sons.p->data[((NI)0)], ctx_p1, newMap_1, (&childCheck_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							T15_ = NIM_NIL;
							T15_ = union__nilcheck_u7837(ctx_p1, newMap_1, childCheck_1.map);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T15_); goto LA13_;}
							eqsink___nilcheck_u1850(&newMap_1, T15_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							hasFinally_1 = NIM_TRUE;
							{
								LA13_:;
							}
							{
								oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___nilcheck_u5951(childCheck_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
								*nimErr_ = oldNimErrFin13_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						}
						break;
						case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87):
						{
							{
								tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ childCheck_2;
								NI T24_;
								tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T25_;
								if (!canRaise_1) goto LA21_;
								nimZeroMem((void*)(&childCheck_2), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
								T24_ = (NI)0;
								T24_ = len__ast_u3190(branch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
								check__nilcheck_u246((*branch_1)._kind_6.sons.p->data[(NI)(T24_ - ((NI)1))], ctx_p1, newMap_1, (&childCheck_2));
								if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
								T25_ = NIM_NIL;
								T25_ = union__nilcheck_u7837(ctx_p1, newMap_1, childCheck_2.map);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T25_); goto LA23_;}
								eqsink___nilcheck_u1850(&newMap_1, T25_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
								{
									LA23_:;
								}
								{
									oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___nilcheck_u5951(childCheck_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
									*nimErr_ = oldNimErrFin23_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
							}
LA21_: ;
						}
						break;
						default:
						{
						}
						break;
						}
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			LA4_:;
		}
		{
			oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin4_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T35_;
		if (!!(hasFinally_1)) goto LA33_;
		T35_ = NIM_NIL;
		T35_ = union__nilcheck_u7837(ctx_p1, afterTryMap_1, newMap_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T35_); goto LA1_;}
		eqsink___nilcheck_u1850(&newMap_1, T35_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA33_: ;
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	blitTmp_1 = newMap_1;
	nimMarkCyclic(newMap_1);
	eqwasMoved___nilcheck_u1836(&newMap_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*Result).map = blitTmp_1;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u1839(afterTryMap_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u5951(tryCheck_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(currentMap_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(newMap_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkWhile__nilcheck_u8298)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* m_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map0_1;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ colontmpD_;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map1_1;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ check2_1;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map2_1;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T2_;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T3_;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	m_1 = NIM_NIL;
	map0_1 = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	map1_1 = NIM_NIL;
	nimZeroMem((void*)(&check2_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	map2_1 = NIM_NIL;
	m_1 = checkCondition__nilcheck_u250((*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	map0_1 = copyMap__nilcheck_u5752(map_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, m_1, (&T2_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___nilcheck_u5960((&colontmpD_), T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___nilcheck_u1850(&m_1, colontmpD_.map);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqwasMoved___nilcheck_u1836(&colontmpD_.map);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	map1_1 = copyMap__nilcheck_u5752(m_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, m_1, (&check2_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	map2_1 = check2_1.map;
	eqwasMoved___nilcheck_u1836(&check2_1.map);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	T3_ = NIM_NIL;
	T3_ = union__nilcheck_u7837(ctx_p1, map0_1, map1_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T3_); goto LA1_;}
	(*Result).map = T3_;
	T4_ = NIM_NIL;
	T4_ = union__nilcheck_u7837(ctx_p1, (*Result).map, map2_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___nilcheck_u1839(T4_); goto LA1_;}
	eqsink___nilcheck_u1850(&(*Result).map, T4_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___nilcheck_u1839(map2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u5951(check2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(map1_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u5951(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(map0_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(m_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, check__nilcheck_u246)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2, tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ* Result) {
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin59_;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL oldNimErrFin75_;
NIM_BOOL oldNimErrFin73_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD_;
		NI16 T2_;
		tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T3_;
		nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		T2_ = (NI16)0;
		T2_ = index__nilcheck_u3557(ctx_p1, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
		T3_ = X5BX5D___nilcheck_u1916(map_p2, T2_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*Result).nilability = T3_;
		colontmpD_ = eqdup___nilcheck_u1846(map_p2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*Result).map = colontmpD_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* callSym_1;
			if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA7_;
			callSym_1 = NIM_NIL;
			callSym_1 = (*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym;
			switch ((*callSym_1).magic) {
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
			{
				checkInfix__nilcheck_u8308(n_p0, ctx_p1, map_p2, Result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142):
			{
				checkIsNil__nilcheck_u8338(n_p0, ctx_p1, map_p2, NIM_FALSE, Result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			default:
			{
				checkCall__nilcheck_u5764(n_p0, ctx_p1, map_p2, Result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			}
		}
		goto LA5_;
LA7_: ;
		{
			checkCall__nilcheck_u5764(n_p0, ctx_p1, map_p2, Result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	{
		check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)68):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)69):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)70):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD__2;
		nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		colontmpD__2 = eqdup___nilcheck_u1846(map_p2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*Result).map = colontmpD__2;
		{
			tySequence__XlRvVllIQIinot2wpb0XoA elements_1;
			if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA17_;
			elements_1.len = 0; elements_1.p = NIM_NIL;
			elements_1.len = 0; elements_1.p = (tySequence__XlRvVllIQIinot2wpb0XoA_Content*) newSeqPayload(0, sizeof(tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ), NIM_ALIGNOF(tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ));
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_1;
				NI i_1;
				child_1 = NIM_NIL;
				i_1 = (NI)0;
				{
					NI i_2;
					NI colontmp_;
					NI i_3;
					i_2 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = safeLen__ast_u3197(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					i_3 = ((NI)0);
					{
						while (1) {
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T25_;
							if (!(i_3 < colontmp_)) goto LA24;
							i_2 = i_3;
							i_1 = i_2;
							eqcopy___ast_u3255(&child_1, (*n_p0)._kind_6.sons.p->data[i_2]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							nimZeroMem((void*)(&T25_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							check__nilcheck_u246(child_1, ctx_p1, (*Result).map, (&T25_));
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							eqsink___nilcheck_u5960(Result, T25_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							{
								if (!(((NI)0) < i_1)) goto LA28_;
								{
									tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
									tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ T34_;
									if (!((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA32_;
									nimZeroMem((void*)(&T34_), sizeof(tyTuple__Amwoxm9cNbZUt5zCAFDHZTQ));
									colontmpD__3 = eqdup___ast_u3258((*child_1)._kind_6.sons.p->data[((NI)0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
									T34_.Field0 = colontmpD__3;
									T34_.Field1 = (*Result).nilability;
									add__nilcheck_u8961((&elements_1), T34_);
								}
LA32_: ;
							}
LA28_: ;
							i_3 += ((NI)1);
						} LA24: ;
					}
				}
				{
					LA21_:;
				}
				{
					oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(child_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
					*nimErr_ = oldNimErrFin21_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			}
			eqsink___nilcheck_u5982((&(*Result).elements), elements_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			eqwasMoved___nilcheck_u5970((&elements_1));
			(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___nilcheck_u5973(elements_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA15_;
LA17_: ;
		{
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_2;
				child_2 = NIM_NIL;
				{
					NI i_4;
					NI colontmp__2;
					NI i_5;
					i_4 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = safeLen__ast_u3197(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					i_5 = ((NI)0);
					{
						while (1) {
							tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T45_;
							if (!(i_5 < colontmp__2)) goto LA44;
							i_4 = i_5;
							eqcopy___ast_u3255(&child_2, (*n_p0)._kind_6.sons.p->data[i_4]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
							nimZeroMem((void*)(&T45_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
							check__nilcheck_u246(child_2, ctx_p1, (*Result).map, (&T45_));
							if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
							eqsink___nilcheck_u5960(Result, T45_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
							i_5 += ((NI)1);
						} LA44: ;
					}
				}
				{
					LA41_:;
				}
				{
					oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(child_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin41_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
		}
LA15_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		checkDotExpr__nilcheck_u7806(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
	{
		checkDeref__nilcheck_u7771(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	{
		check__nilcheck_u246((*n_p0)._kind_6.sons.p->data[((NI)0)], ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	{
		checkIf__nilcheck_u8245(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149):
	{
		checkAsgn__nilcheck_u8068((*n_p0)._kind_6.sons.p->data[((NI)0)], (*n_p0)._kind_6.sons.p->data[((NI)1)], ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD__4;
		nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		colontmpD__4 = eqdup___nilcheck_u1846(map_p2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*Result).map = colontmpD__4;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_3;
			child_3 = NIM_NIL;
			{
				NI i_6;
				NI colontmp__3;
				NI i_7;
				i_6 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = safeLen__ast_u3197(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
				i_7 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
						tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T60_;
						if (!(i_7 < colontmp__3)) goto LA58;
						colontmpD__5 = NIM_NIL;
						i_6 = i_7;
						eqcopy___ast_u3255(&child_3, (*n_p0)._kind_6.sons.p->data[i_6]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						colontmpD__5 = skipPragmaExpr__ast_u4047((*child_3)._kind_6.sons.p->data[((NI)0)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						nimZeroMem((void*)(&T60_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
						checkAsgn__nilcheck_u8068(colontmpD__5, (*child_3)._kind_6.sons.p->data[((NI)2)], ctx_p1, (*Result).map, (&T60_));
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						eqsink___nilcheck_u5960(Result, T60_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						i_7 += ((NI)1);
						{
							LA59_:;
						}
						{
							oldNimErrFin59_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
							*nimErr_ = oldNimErrFin59_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
					} LA58: ;
				}
			}
			{
				LA55_:;
			}
			{
				oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin55_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94):
	{
		checkFor__nilcheck_u8285(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		checkCase__nilcheck_u8412(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109):
	{
		checkReturn__nilcheck_u8240(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		checkBracketExpr__nilcheck_u7811(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106):
	{
		checkTry__nilcheck_u8438(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	{
		checkWhile__nilcheck_u8298(n_p0, ctx_p1, map_p2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)158):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* colontmpD__6;
		nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3);
		colontmpD__6 = eqdup___nilcheck_u1846(map_p2, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*Result).map = colontmpD__6;
	}
	break;
	default:
	{
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* elementMap_1;
		tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ elementCheck_1;
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* blitTmp_1;
		tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* blitTmp_2;
		elementMap_1 = NIM_NIL;
		nimZeroMem((void*)(&elementCheck_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		elementMap_1 = copyMap__nilcheck_u5752(map_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		nimZeroMem((void*)(&elementCheck_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		blitTmp_1 = elementMap_1;
		nimMarkCyclic(elementMap_1);
		eqwasMoved___nilcheck_u1836(&elementMap_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		elementCheck_1.map = blitTmp_1;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* element_1;
			element_1 = NIM_NIL;
			{
				NI i_8;
				NI colontmp__4;
				NI i_9;
				i_8 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = safeLen__ast_u3197(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
				i_9 = ((NI)0);
				{
					while (1) {
						tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ T79_;
						if (!(i_9 < colontmp__4)) goto LA78;
						i_8 = i_9;
						eqcopy___ast_u3255(&element_1, (*n_p0)._kind_6.sons.p->data[i_8]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
						nimZeroMem((void*)(&T79_), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
						check__nilcheck_u246(element_1, ctx_p1, elementCheck_1.map, (&T79_));
						if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
						eqsink___nilcheck_u5960((&elementCheck_1), T79_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
						i_9 += ((NI)1);
					} LA78: ;
				}
			}
			{
				LA75_:;
			}
			{
				oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(element_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				*nimErr_ = oldNimErrFin75_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		}
		nimZeroMem((void*)Result, sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
		(*Result).nilability = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3);
		blitTmp_2 = elementCheck_1.map;
		nimMarkCyclic(elementCheck_1.map);
		eqwasMoved___nilcheck_u1836(&elementCheck_1.map);
		if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
		(*Result).map = blitTmp_2;
		{
			LA73_:;
		}
		{
			oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___nilcheck_u5951(elementCheck_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___nilcheck_u1839(elementMap_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin73_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, contains__nilcheck_u11698)(tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ s_p0, NI16 value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = lteq___nilcheck_u186(s_p0.a, value_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(T1_)) goto LA2_;
	T1_ = lteq___nilcheck_u186(value_p1, s_p0.b);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ, dotdot___nilcheck_u11613)(NI16 a_p0, NI16 b_p1) {
	tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI16, low__nilcheck_u11576)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg a_p0) {
	NI16 result;
	result = ((NI16)0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI16, high__nilcheck_u11584)(tySequence__xKcKU9c79cy1NlvTXGoOtyWg a_p0) {
	NI16 result;
	NI T1_;
	result = (NI16)0;
	T1_ = (a_p0.len-1);
	result = ((NI16) (T1_));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkResult__nilcheck_u8920)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* ctx_p1, tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_p2) {
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg resultNilability_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	resultNilability_1 = X5BX5D___nilcheck_u1916(map_p2, ((NI16)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (resultNilability_1) {
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3):
	{
		liMessage__msgs_u1227((*ctx_p1).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)64), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_63, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_64, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)2):
	{
		liMessage__msgs_u1227((*ctx_p1).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)64), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_66, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_67, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)4):
	{
		liMessage__msgs_u1227((*ctx_p1).config, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)64), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_69, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_70, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1):
	case ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0):
	{
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((NI32)((*cell_1).rc) >> (NU32)(((NI)4) & (32 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u11789)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).config);
		if (!T3_) goto LA4_;
		eqdestroy___options_u1751((&(*(*dest_p0).config)));
		nimRawDispose((*dest_p0).config, ((NI)4));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLast((*dest_p0).idgen);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3074((&(*(*dest_p0).idgen)));
		nimRawDispose((*dest_p0).idgen, ((NI)4));
	}
LA9_: ;
	eqdestroy___nilcheck_u6479((*dest_p0).warningLocations.data);
	eqdestroy___nilcheck_u1426((*dest_p0).dependants);
	eqdestroy___ast_u3696((*dest_p0).expressions);
	eqdestroy___nilcheck_u3874((*dest_p0).symbolIndices.data);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_u11831)(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLast(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___nilcheck_u11789((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkNil__nilcheck_u11485)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3) {
	NimStringV2 filename_1;
	tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* context_1;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* colontmpD_;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* colontmpD__2;
	tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw* map_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__5;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg colontmpD__6;
	tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ res_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
	NU16 line_1;
	NI fileIndex_1;
	tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog* T2_;
	NI T3_;
NIM_BOOL oldNimErrFin5_;
	tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T22_;
	NIM_BOOL canCheck_1;
	NI16 T30_;
	NI16 T31_;
	tyObject_HSlice__fgT3b9cSxCfu0BjuDSnpIpQ T32_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	filename_1.len = 0; filename_1.p = NIM_NIL;
	context_1 = NIM_NIL;
	map_1 = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	colontmpD__5 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	colontmpD__6 = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	nimZeroMem((void*)(&res_1), sizeof(tyObject_Check__jfEHOFruCfSuEaN1PZpOMQ));
	colontmpD__7 = NIM_NIL;
	colontmpD__8 = NIM_NIL;
	colontmpD__9 = NIM_NIL;
	line_1 = (*(*s_p0).ast).info.line;
	fileIndex_1 = ((NI) ((*(*s_p0).ast).info.fileIndex));
	filename_1 = (*conf_p2).m.fileInfos.p->data[fileIndex_1].fullPath;
	T2_ = NIM_NIL;
	T2_ = (tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog*) nimNewObj(sizeof(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog), NIM_ALIGNOF(tyObject_NilCheckerContextcolonObjectType___OAms4PQGwe7OPXoZz9a6Cog));
	colontmpD_ = eqdup___options_u2141(conf_p2);
	(*T2_).config = colontmpD_;
	colontmpD__2 = eqdup___ast_u3106(idgen_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*T2_).idgen = colontmpD__2;
	context_1 = T2_;
	preVisit__nilcheck_u10811(context_1, s_p0, body_p1, conf_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = (NI)0;
	T3_ = len__nilcheck_u11551((*context_1).symbolIndices);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	map_1 = newNilMap__nilcheck_u256(((tyObject_NilMapcolonObjectType___GPiwP4p5jdp9bjxML3UJ9cQw*) NIM_NIL), T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_1;
		tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
		NI i_1;
		NI i_2;
		NI L_1;
		NI T6_;
		child_1 = NIM_NIL;
		colontmp_.len = 0; colontmp_.p = NIM_NIL;
		i_1 = (NI)0;
		eqcopy___ast_u3699((&colontmp_), (*(*(*s_p0).typ).n)._kind_6.sons);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		i_2 = ((NI)0);
		T6_ = colontmp_.len;
		L_1 = T6_;
		{
			while (1) {
				if (!(i_2 < L_1)) goto LA8;
				i_1 = i_2;
				eqcopy___ast_u3255(&child_1, colontmp_.p->data[i_2]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					{
						NI16 T18_;
						tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg T19_;
						if (!(((NI)0) < i_1)) goto LA12_;
						{
							if (!!(((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA16_;
							goto LA9;
						}
LA16_: ;
						T18_ = (NI16)0;
						T18_ = index__nilcheck_u3557(context_1, child_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						T19_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
						T19_ = typeNilability__nilcheck_u5762((*child_1).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						store__nilcheck_u4377(map_1, context_1, T18_, T19_, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)0), (*child_1).info, child_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA12_: ;
				} LA9: ;
				i_2 += ((NI)1);
			} LA8: ;
		}
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3696(colontmp_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(child_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	T22_ = (tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)0;
	{
		NIM_BOOL T25_;
		T25_ = (NIM_BOOL)0;
		colontmpD__3 = returnType__ast_u5354((*s_p0).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T25_ = !((colontmpD__3 == 0));
		if (!(T25_)) goto LA26_;
		colontmpD__4 = returnType__ast_u5354((*s_p0).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T25_ = ((*colontmpD__4).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA26_: ;
		if (!T25_) goto LA27_;
		colontmpD__5 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)3);
		T22_ = colontmpD__5;
	}
	goto LA23_;
LA27_: ;
	{
		colontmpD__6 = ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1);
		T22_ = colontmpD__6;
	}
LA23_: ;
	store__nilcheck_u4377(map_1, context_1, ((NI16)0), T22_, ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)5), (*(*s_p0).ast).info, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	check__nilcheck_u246(body_p1, context_1, map_1, (&res_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T30_ = (NI16)0;
	T30_ = low__nilcheck_u11576((*res_1.map).history);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T31_ = (NI16)0;
	T31_ = high__nilcheck_u11584((*res_1.map).history);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T32_ = dotdot___nilcheck_u11613(T30_, T31_);
	canCheck_1 = contains__nilcheck_u11698(T32_, ((NI16)0));
	{
		NIM_BOOL T35_;
		NIM_BOOL T36_;
		NI T39_;
		tySequence__tgZNpA9ayNCNeNkBBBthFtA* T40_;
		T35_ = (NIM_BOOL)0;
		T36_ = (NIM_BOOL)0;
		T36_ = (res_1.nilability == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1));
		if (!(T36_)) goto LA37_;
		T36_ = canCheck_1;
LA37_: ;
		T35_ = T36_;
		if (!(T35_)) goto LA38_;
		T40_ = (tySequence__tgZNpA9ayNCNeNkBBBthFtA*)0;
		T40_ = X5BX5D___nilcheck_u2244((&(*res_1.map).history), ((NI16)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T39_ = (*T40_).len;
		T35_ = (T39_ <= ((NI)1));
LA38_: ;
		if (!T35_) goto LA41_;
		store__nilcheck_u4377(res_1.map, context_1, ((NI16)0), ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1), ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*(*s_p0).ast).info, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA33_;
LA41_: ;
	{
		{
			if (!(res_1.nilability == ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1))) goto LA46_;
			store__nilcheck_u4377(res_1.map, context_1, ((NI16)0), ((tyEnum_Nilability__dSflzd1x9b2hnEWhJ29aqYgg)1), ((tyEnum_TransitionKind__9amM3JyQmWNhkq8kJSRGbPw)1), (*(*s_p0).ast).info, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA46_: ;
	}
LA33_: ;
	{
		NIM_BOOL T50_;
		NIM_BOOL T51_;
		T50_ = (NIM_BOOL)0;
		T51_ = (NIM_BOOL)0;
		colontmpD__7 = returnType__ast_u5354((*s_p0).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T51_ = !((colontmpD__7 == 0));
		if (!(T51_)) goto LA52_;
		colontmpD__8 = returnType__ast_u5354((*s_p0).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T51_ = ((*colontmpD__8).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
LA52_: ;
		T50_ = T51_;
		if (!(T50_)) goto LA53_;
		colontmpD__9 = returnType__ast_u5354((*s_p0).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T50_ = (((*colontmpD__9).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)17)))&63U)))!=0);
LA53_: ;
		if (!T50_) goto LA54_;
		checkResult__nilcheck_u8920((*s_p0).ast, context_1, res_1.map);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA54_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u5951(res_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u1839(map_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___nilcheck_u11831(context_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___nilcheck_u1423)(tySequence__4SBkVvm2CCxNvzruVhJR5g* dest_p0) {
	(*dest_p0).len = 0; (*dest_p0).p = NIM_NIL;
}
