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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA;
typedef struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA tySequence__ZeWVlH6DqG79b1pTDhrrUYA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA {
  NI len; tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content* p;
};
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
typedef NU8 tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA;
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
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 N_NIMCALL_PTR(NIM_BOOL, tyProc__iTi2aSteq9cki9bjIjUU2gYg) (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
typedef NU8 tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw;
typedef NU16 tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsTyRef__types_u587)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0);
static N_INLINE(NI, len__ast_u3175)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, checkIsolate__isolation95check_u220)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3366)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_u3644)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsDangerousRef__isolation95check_u198)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_u37)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA, containsDangerousRefAux__isolation95check_u84)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3363)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astyaml_u223)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5327)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5358)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA, containsDangerousRefAux__isolation95check_u87)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5187)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3240)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3237)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipModifier__ast_u5317)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5260)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5310)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u230)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAlias__isolation95check_u206)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ret_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValueOnlyType__isolation95check_u67)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_u419)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyProc__iTi2aSteq9cki9bjIjUU2gYg predicate_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__isolation95check_u70)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAlias__isolation95check_u6)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ret_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_u2771)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* y_p1, tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw cmp_p2, tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ flags_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_u768)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAliasN__isolation95check_u10)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsVariable__isolation95check_u212)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NI, safeLen__ast_u3182)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__VSC6iKzck1XeooN9aLTqhXA_2 = {
0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
extern NIM_BOOL nimInErrorMode__system_u4306;
static N_INLINE(NI, len__ast_u3175)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_u3644)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	result = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
	return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4306);
	return result;
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_u598)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initPackedSet__pureZcollectionsZintsets_u37(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5327)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3366(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5187)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5190((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3240(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA, containsDangerousRefAux__isolation95check_u87)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p1) {
	tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA result;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)0);
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3175(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					result = containsDangerousRefAux__isolation95check_u87((*n_p0)._kind_6.sons.p->data[i_1], marker_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!(result == ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)2))) goto LA7_;
						goto BeforeRet_;
					}
LA7_: ;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		result = containsDangerousRefAux__isolation95check_u87((*n_p0)._kind_6.sons.p->data[((NI)0)], marker_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(result == ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)2))) goto LA12_;
			goto BeforeRet_;
		}
LA12_: ;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3175(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)1);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA16;
					i_3 = i_4;
					switch ((*(*n_p0)._kind_6.sons.p->data[i_3]).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						colontmpD_ = NIM_NIL;
						colontmpD_ = lastSon__ast_u5187((*n_p0)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						result = containsDangerousRefAux__isolation95check_u87(colontmpD_, marker_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						{
							if (!(result == ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)2))) goto LA21_;
							eqdestroy___ast_u3237(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA21_: ;
						{
							LA18_:;
						}
						{
							oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin18_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					break;
					default:
					{
					}
					break;
					}
					i_4 += ((NI)1);
				} LA16: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = containsDangerousRefAux__isolation95check_u84((*(*n_p0)._kind_4.sym).typ, marker_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5260)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipModifier__ast_u5317)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5260((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3366(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5310)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5260((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3366(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA, containsDangerousRefAux__isolation95check_u84)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p1) {
	tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* xX60gensym18__1;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin52_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)0;
	xX60gensym18__1 = NIM_NIL;
	result = ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)0);
	{
		if (!(t_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA4_;
		eqdestroy___ast_u3363(xX60gensym18__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		eqcopy___ast_u3366(&xX60gensym18__1, t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_ = (NIM_BOOL)0;
		T8_ = containsOrIncl__astyaml_u223(marker_p1, (NI)((NI)((NU64)(((NI) ((*xX60gensym18__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym18__1).itemId.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3363(xX60gensym18__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		NIM_BOOL T15_;
		T13_ = (NIM_BOOL)0;
		T13_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22));
		if (T13_) goto LA14_;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
		if (!(T15_)) goto LA16_;
		T15_ = ((*t_p0).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA16_: ;
		T13_ = T15_;
LA14_: ;
		if (!T13_) goto LA17_;
		result = ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)2);
	}
	goto LA11_;
LA17_: ;
	{
		if (!(((*t_p0).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)46)))&63U)))!=0)) goto LA20_;
		result = ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)1);
	}
	goto LA11_;
LA20_: ;
	{
		result = ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)0);
	}
LA11_: ;
	{
		if (!!((result == ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)0)))) goto LA25_;
		eqdestroy___ast_u3363(xX60gensym18__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA25_: ;
	switch ((*t_p0).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		colontmpD_ = NIM_NIL;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
			colontmpD_ = baseClass__ast_u5327(t_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
			if (!!((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA31_;
			colontmpD__2 = NIM_NIL;
			colontmpD__3 = NIM_NIL;
			colontmpD__2 = baseClass__ast_u5327(t_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			colontmpD__3 = skipTypes__ast_u5358(colontmpD__2, TM__VSC6iKzck1XeooN9aLTqhXA_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			result = containsDangerousRefAux__isolation95check_u84(colontmpD__3, marker_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
				eqdestroy___ast_u3363(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
				*nimErr_ = oldNimErrFin33_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		}
LA31_: ;
		{
			if (!(result == ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)0))) goto LA38_;
			result = containsDangerousRefAux__isolation95check_u87((*t_p0).n, marker_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		}
LA38_: ;
		{
			LA28_:;
		}
		{
			oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin28_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		colontmpD__4 = skipModifier__ast_u5317(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		result = containsDangerousRefAux__isolation95check_u84(colontmpD__4, marker_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		{
			LA43_:;
		}
		{
			oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin43_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
		colontmpD__5 = NIM_NIL;
		colontmpD__5 = elementType__ast_u5310(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
		result = containsDangerousRefAux__isolation95check_u84(colontmpD__5, marker_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
		{
			LA47_:;
		}
		{
			oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin47_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_1;
			a_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI T54_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T54_ = (*t_p0).sons.len;
				colontmp_ = T54_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA56;
						i_1 = i_2;
						eqcopy___ast_u3366(&a_1, (*t_p0).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						result = containsDangerousRefAux__isolation95check_u84(a_1, marker_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
						{
							if (!(result == ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)2))) goto LA59_;
							eqdestroy___ast_u3363(a_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							eqdestroy___ast_u3363(xX60gensym18__1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA59_: ;
						i_2 += ((NI)1);
					} LA56: ;
				}
			}
			{
				LA52_:;
			}
			{
				oldNimErrFin52_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin52_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	}
	break;
	default:
	{
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3363(xX60gensym18__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsDangerousRef__isolation95check_u198)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA marker_1;
	tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&marker_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initIntSet__pureZcollectionsZintsets_u598((&marker_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)0;
	T2_ = containsDangerousRefAux__isolation95check_u84(t_p0, (&marker_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = (T2_ == ((tyEnum_SearchResult__0oHFuwWyG2dsI1eYIq9bisA)2));
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZcollectionsZintsets_u230((&marker_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__isolation95check_u70)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	result = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValueOnlyType__isolation95check_u67)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = searchTypeFor__types_u419(t_p0, wrap__isolation95check_u70);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = !(T1_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAliasN__isolation95check_u10)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p2) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		result = NIM_FALSE;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					result = canAliasN__isolation95check_u10(arg_p0, (*n_p1)._kind_6.sons.p->data[i_1], marker_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!result) goto LA7_;
						goto BeforeRet_;
					}
LA7_: ;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		result = canAliasN__isolation95check_u10(arg_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], marker_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!result) goto LA12_;
			goto BeforeRet_;
		}
LA12_: ;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3175(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)1);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA16;
					i_3 = i_4;
					switch ((*(*n_p1)._kind_6.sons.p->data[i_3]).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						colontmpD_ = NIM_NIL;
						colontmpD_ = lastSon__ast_u5187((*n_p1)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						result = canAliasN__isolation95check_u10(arg_p0, colontmpD_, marker_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
						{
							if (!result) goto LA21_;
							eqdestroy___ast_u3237(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA21_: ;
						{
							LA18_:;
						}
						{
							oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin18_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					break;
					default:
					{
					}
					break;
					}
					i_4 += ((NI)1);
				} LA16: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = canAlias__isolation95check_u6(arg_p0, (*(*n_p1)._kind_4.sym).typ, marker_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAlias__isolation95check_u6)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ret_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* marker_p2) {
	NIM_BOOL result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* xX60gensym7__1;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	xX60gensym7__1 = NIM_NIL;
	{
		NIM_BOOL T4_;
		eqcopy___ast_u3366(&xX60gensym7__1, ret_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (NIM_BOOL)0;
		T4_ = containsOrIncl__astyaml_u223(marker_p2, (NI)((NI)((NU64)(((NI) ((*xX60gensym7__1).itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym7__1).itemId.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		result = NIM_FALSE;
		eqdestroy___ast_u3363(xX60gensym7__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA5_: ;
	{
		if (!((*ret_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*ret_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26))) goto LA9_;
		result = NIM_FALSE;
		eqdestroy___ast_u3363(xX60gensym7__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA9_: ;
	{
		tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ T13_;
		NIM_BOOL T14_;
		T13_ = 0;
		T14_ = (NIM_BOOL)0;
		T14_ = compareTypes__types_u2771(arg_p0, ret_p1, ((tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw)1), T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T14_) goto LA15_;
		result = NIM_TRUE;
		eqdestroy___ast_u3363(xX60gensym7__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA15_: ;
	switch ((*ret_p1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17):
	{
		{
			NIM_BOOL T20_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
			T20_ = (NIM_BOOL)0;
			T20_ = isFinal__types_u768(ret_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T20_) goto LA21_;
			colontmpD_ = NIM_NIL;
			result = canAliasN__isolation95check_u10(arg_p0, (*ret_p1).n, marker_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				NIM_BOOL T26_;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__2;
				T26_ = (NIM_BOOL)0;
				T26_ = !(result);
				if (!(T26_)) goto LA27_;
				colontmpD_ = baseClass__ast_u5327(ret_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				T26_ = !((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA27_: ;
				if (!T26_) goto LA28_;
				colontmpD__2 = NIM_NIL;
				colontmpD__2 = baseClass__ast_u5327(ret_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				result = canAlias__isolation95check_u6(arg_p0, colontmpD__2, marker_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				{
					LA30_:;
				}
				{
					oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3363(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					*nimErr_ = oldNimErrFin30_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
LA28_: ;
			{
				LA23_:;
			}
			{
				oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin23_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA18_;
LA21_: ;
		{
			result = NIM_TRUE;
		}
LA18_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		result = NIM_FALSE;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* r_1;
			r_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI T40_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T40_ = (*ret_p1).sons.len;
				colontmp_ = T40_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA42;
						i_1 = i_2;
						eqcopy___ast_u3366(&r_1, (*ret_p1).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						result = canAlias__isolation95check_u6(arg_p0, r_1, marker_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
						{
							if (!result) goto LA45_;
							eqdestroy___ast_u3363(r_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							goto LA37;
						}
LA45_: ;
						i_2 += ((NI)1);
					} LA42: ;
				}
			}
			{
				LA38_:;
			}
			{
				oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3363(r_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin38_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA37: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)55):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = skipModifier__ast_u5317(ret_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		result = canAlias__isolation95check_u6(arg_p0, colontmpD__3, marker_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		{
			LA50_:;
		}
		{
			oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3363(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin50_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25):
	{
		result = ((*ret_p1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3363(xX60gensym7__1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAlias__isolation95check_u206)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ret_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isValueOnlyType__isolation95check_u67(arg_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		result = NIM_FALSE;
	}
	goto LA1_;
LA4_: ;
	{
		tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA marker_1;
		nimZeroMem((void*)(&marker_1), sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
		initIntSet__pureZcollectionsZintsets_u598((&marker_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		result = canAlias__isolation95check_u6(arg_p0, ret_p1, (&marker_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___pureZcollectionsZintsets_u230((&marker_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, safeLen__ast_u3182)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3175(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsVariable__isolation95check_u212)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)158) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
		result = NIM_FALSE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5));
	}
	break;
	default:
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ch_1;
			ch_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3182(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA8;
						i_1 = i_2;
						eqcopy___ast_u3240(&ch_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						{
							NIM_BOOL T11_;
							T11_ = (NIM_BOOL)0;
							T11_ = containsVariable__isolation95check_u212(ch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							if (!T11_) goto LA12_;
							result = NIM_TRUE;
							eqdestroy___ast_u3237(ch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA12_: ;
						i_2 += ((NI)1);
					} LA8: ;
				}
			}
			{
				LA5_:;
			}
			{
				oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3237(ch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin5_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, checkIsolate__isolation95check_u220)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL oldNimErrFin58_;
NIM_BOOL oldNimErrFin69_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin103_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = containsTyRef__types_u587((*n_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		switch ((*n_p0).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
		{
			result = NIM_TRUE;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
		{
			{
				if (!!((((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0))) goto LA10_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
LA10_: ;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3175(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI)1);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA14;
						i_1 = i_2;
						{
							NIM_BOOL T17_;
							T17_ = (NIM_BOOL)0;
							T17_ = checkIsolate__isolation95check_u220((*n_p0)._kind_6.sons.p->data[i_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T17_) goto LA18_;
						}
						goto LA15_;
LA18_: ;
						{
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* argType_1;
							argType_1 = NIM_NIL;
							eqcopy___ast_u3366(&argType_1, (*(*n_p0)._kind_6.sons.p->data[i_1]).typField);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							{
								NIM_BOOL T24_;
								NIM_BOOL T25_;
								NIM_BOOL T27_;
								T24_ = (NIM_BOOL)0;
								T25_ = (NIM_BOOL)0;
								T25_ = !((argType_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
								if (!(T25_)) goto LA26_;
								T27_ = (NIM_BOOL)0;
								T27_ = isCompileTimeOnly__types_u3644(argType_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
								T25_ = !(T27_);
LA26_: ;
								T24_ = T25_;
								if (!(T24_)) goto LA28_;
								T24_ = containsDangerousRef__isolation95check_u198(argType_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
LA28_: ;
								if (!T24_) goto LA29_;
								{
									NIM_BOOL T33_;
									T33_ = (NIM_BOOL)0;
									T33_ = canAlias__isolation95check_u206(argType_1, (*n_p0).typField);
									if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
									if (T33_) goto LA34_;
									T33_ = containsVariable__isolation95check_u212((*n_p0)._kind_6.sons.p->data[i_1]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
LA34_: ;
									if (!T33_) goto LA35_;
									result = NIM_FALSE;
									eqdestroy___ast_u3363(argType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									goto BeforeRet_;
								}
LA35_: ;
							}
LA29_: ;
							{
								LA21_:;
							}
							{
								oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3363(argType_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								*nimErr_ = oldNimErrFin21_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA15_: ;
						i_2 += ((NI)1);
					} LA14: ;
				}
			}
			result = NIM_TRUE;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
		{
			result = NIM_FALSE;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				it_1 = NIM_NIL;
				{
					NI i_3;
					NI colontmp__2;
					NI i_4;
					i_3 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = safeLen__ast_u3182(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
					i_4 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
							if (!(i_4 < colontmp__2)) goto LA44;
							colontmpD_ = NIM_NIL;
							i_3 = i_4;
							eqcopy___ast_u3240(&it_1, (*n_p0)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							colontmpD_ = lastSon__ast_u5187(it_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							result = checkIsolate__isolation95check_u220(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							{
								if (!!(result)) goto LA48_;
								eqdestroy___ast_u3237(colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
								eqdestroy___ast_u3237(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto LA40;
							}
LA48_: ;
							i_4 += ((NI)1);
							{
								LA45_:;
							}
							{
								oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3237(colontmpD_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
								*nimErr_ = oldNimErrFin45_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
						} LA44: ;
					}
				}
				{
					LA41_:;
				}
				{
					oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin41_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA40: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
		{
			result = NIM_FALSE;
			{
				NI i_5;
				NI colontmp__3;
				NI i_6;
				i_5 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = len__ast_u3175(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_6 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
						if (!(i_6 < colontmp__3)) goto LA57;
						colontmpD__2 = NIM_NIL;
						i_5 = i_6;
						colontmpD__2 = lastSon__ast_u5187((*n_p0)._kind_6.sons.p->data[i_5]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
						result = checkIsolate__isolation95check_u220(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
						{
							if (!!(result)) goto LA61_;
							eqdestroy___ast_u3237(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA55;
						}
LA61_: ;
						i_6 += ((NI)1);
						{
							LA58_:;
						}
						{
							oldNimErrFin58_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin58_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA57: ;
				}
			} LA55: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
		{
			result = NIM_TRUE;
			{
				NI i_7;
				NI colontmp__4;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = len__ast_u3175(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_8 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
						if (!(i_8 < colontmp__4)) goto LA68;
						colontmpD__3 = NIM_NIL;
						i_7 = i_8;
						colontmpD__3 = lastSon__ast_u5187((*n_p0)._kind_6.sons.p->data[i_7]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
						result = checkIsolate__isolation95check_u220(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
						{
							if (!!(result)) goto LA72_;
							eqdestroy___ast_u3237(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA66;
						}
LA72_: ;
						i_8 += ((NI)1);
						{
							LA69_:;
						}
						{
							oldNimErrFin69_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3237(colontmpD__3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin69_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA68: ;
				}
			} LA66: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
		{
			result = NIM_FALSE;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_2;
				it_2 = NIM_NIL;
				{
					NI i_9;
					NI colontmp__5;
					NI i_10;
					i_9 = (NI)0;
					colontmp__5 = (NI)0;
					colontmp__5 = safeLen__ast_u3182(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
					i_10 = ((NI)0);
					{
						while (1) {
							if (!(i_10 < colontmp__5)) goto LA81;
							i_9 = i_10;
							eqcopy___ast_u3240(&it_2, (*n_p0)._kind_6.sons.p->data[i_9]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
							result = checkIsolate__isolation95check_u220(it_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
							{
								if (!!(result)) goto LA84_;
								eqdestroy___ast_u3237(it_2);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto LA77;
							}
LA84_: ;
							i_10 += ((NI)1);
						} LA81: ;
					}
				}
				{
					LA78_:;
				}
				{
					oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3237(it_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin78_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA77: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
		{
			result = checkIsolate__isolation95check_u220((*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
		{
			result = checkIsolate__isolation95check_u220((*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
		{
			{
				NI T93_;
				NI T96_;
				T93_ = (NI)0;
				T93_ = len__ast_u3175(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(((NI)0) < T93_)) goto LA94_;
				T96_ = (NI)0;
				T96_ = len__ast_u3175(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				result = checkIsolate__isolation95check_u220((*n_p0)._kind_6.sons.p->data[(NI)(T96_ - ((NI)1))]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA91_;
LA94_: ;
			{
				result = NIM_FALSE;
			}
LA91_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
		{
			result = NIM_TRUE;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* argType_2;
				if (!((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5))) goto LA101_;
				argType_2 = NIM_NIL;
				eqcopy___ast_u3366(&argType_2, (*n_p0).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				{
					NIM_BOOL T106_;
					NIM_BOOL T107_;
					NIM_BOOL T109_;
					T106_ = (NIM_BOOL)0;
					T107_ = (NIM_BOOL)0;
					T107_ = !((argType_2 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
					if (!(T107_)) goto LA108_;
					T109_ = (NIM_BOOL)0;
					T109_ = isCompileTimeOnly__types_u3644(argType_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
					T107_ = !(T109_);
LA108_: ;
					T106_ = T107_;
					if (!(T106_)) goto LA110_;
					T106_ = containsDangerousRef__isolation95check_u198(argType_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
LA110_: ;
					if (!T106_) goto LA111_;
					result = NIM_FALSE;
				}
LA111_: ;
				{
					LA103_:;
				}
				{
					oldNimErrFin103_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3363(argType_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin103_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA101_: ;
		}
		break;
		default:
		{
			result = NIM_FALSE;
		}
		break;
		}
	}
	goto LA1_;
LA4_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
