/* Generated by Nim Compiler v2.2.10 */
#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 NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
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 tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NIM_BOOL tyArray__44NkN8GOVKjmKmQfvqDCIw[65];
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
typedef NU8 tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA;
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
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 NU8 tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA;
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_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw;
typedef NU16 tySet_tyEnum_TTypeCmpFlag__1219bojhd9apB6FQkQGJbzzQ;
typedef NU8 tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA;
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
typedef NU16 tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TAliasRequest__agH0cHTwuKHcbz8bKC9cyVQ;
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]; };
static N_INLINE(NIM_BOOL, isAtom__ast_u7223)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA, isAssignable__parampatterns_u315)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(NIM_BOOL, dontInlineConstant__trees_u396)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cnst_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, astdef__ast_u4596)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_u2782)(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(tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg, getMagic__trees_u122)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLentableBranch__parampatterns_u318)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseAssert__stdZassertions_u15)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA, checkForSideEffects__parampatterns_u206)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL, isRoutine__ast_u7152)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2700)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_NIMCALL(NimStringV2, rawNewString)(NI cap_p0);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, compileConstraints__parampatterns_u78)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_p0, NimStringV2* result_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2);
N_LIB_PRIVATE N_NIMCALL(void, patternError__parampatterns_u39)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_u59)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg renderFlags_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_u158)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA** dest_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* src_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(void, add__parampatterns_u42)(NimStringV2* code_p0, tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA op_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuNormalize)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringV2 s_p0);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2430)(NimStringV2* s_p0);
static N_INLINE(NimStringV2, toFileLineCol__msgs_u701)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info_p0);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_u187)(NimStringV2* result_p0, NI64 x_p1);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_u1598)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 errMsg_p2, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p3);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toHumanStr__ast_u7574)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___nodekinds_u168)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw e_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__kdeXVhLeMhTeIyOxnAjnxA_2 = {
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__kdeXVhLeMhTeIyOxnAjnxA_3 = {
0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__kdeXVhLeMhTeIyOxnAjnxA_4 = {
0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_5 = { 40 | NIM_STRLIT_FLAG, "Malformed `if` statement in isAssignable" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_6 = {40, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_5};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_7 = { 42 | NIM_STRLIT_FLAG, "Malformed `case` statement in isAssignable" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_8 = {42, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_7};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_9 = { 15 | NIM_STRLIT_FLAG, "illformed AST: " };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_10 = {15, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_9};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_12 = { 68 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/parampatterns.nim" };
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_13 = { 1 | NIM_STRLIT_FLAG, "|" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_14 = {1, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_13};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_15 = { 1 | NIM_STRLIT_FLAG, "&" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_16 = {1, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_15};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_17 = { 1 | NIM_STRLIT_FLAG, "~" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_18 = {1, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_17};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_19 = { 4 | NIM_STRLIT_FLAG, "atom" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_20 = {4, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_19};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_21 = { 3 | NIM_STRLIT_FLAG, "lit" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_22 = {3, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_21};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_23 = { 3 | NIM_STRLIT_FLAG, "sym" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_24 = {3, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_23};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_25 = { 5 | NIM_STRLIT_FLAG, "ident" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_26 = {5, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_25};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_27 = { 4 | NIM_STRLIT_FLAG, "call" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_28 = {4, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_27};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_29 = { 5 | NIM_STRLIT_FLAG, "alias" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_30 = {5, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_29};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_31 = { 7 | NIM_STRLIT_FLAG, "noalias" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_32 = {7, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_31};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_33 = { 6 | NIM_STRLIT_FLAG, "lvalue" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_34 = {6, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_33};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_35 = { 5 | NIM_STRLIT_FLAG, "local" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_36 = {5, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_35};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_37 = { 10 | NIM_STRLIT_FLAG, "sideeffect" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_38 = {10, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_37};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_39 = { 12 | NIM_STRLIT_FLAG, "nosideeffect" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_40 = {12, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_39};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_41 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_42 = {0, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_41};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_43 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_44 = {1, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_43};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_45 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_46 = {2, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_45};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_47 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_48 = {1, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_47};
static const struct {
  NI cap; NIM_CHAR data[29+1];
} TM__kdeXVhLeMhTeIyOxnAjnxA_51 = { 29 | NIM_STRLIT_FLAG, "parameter pattern too complex" };
static const NimStringV2 TM__kdeXVhLeMhTeIyOxnAjnxA_52 = {29, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_51};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__kdeXVhLeMhTeIyOxnAjnxA_54 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__kdeXVhLeMhTeIyOxnAjnxA_11 = {{68, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_12},
((NI)48),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__kdeXVhLeMhTeIyOxnAjnxA_49 = {{68, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_12},
((NI)103),
((NI)6)}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u364;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__kdeXVhLeMhTeIyOxnAjnxA_50 = {{68, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_12},
((NI)110),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__kdeXVhLeMhTeIyOxnAjnxA_53 = {{68, (NimStrPayload*)&TM__kdeXVhLeMhTeIyOxnAjnxA_12},
((NI)130),
((NI)19)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(NIM_BOOL, isAtom__ast_u7223)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) <= (*n_p0).kind);
	if (!(T1_)) goto LA2_;
	T1_ = ((*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
LA2_: ;
	result = T1_;
	return result;
}
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(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
static N_INLINE(NIM_BOOL, dontInlineConstant__trees_u396)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* orig_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* cnst_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*cnst_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39) || (*cnst_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*cnst_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160) || (*cnst_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41) || (*cnst_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38));
	if (!(T1_)) goto LA2_;
	T3_ = (NI)0;
	T3_ = len__ast_u3190(cnst_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (((*cnst_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38)) < T3_);
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
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(NIM_BOOL, isLentableBranch__parampatterns_u318)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
	tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0;
	T1_ = isAssignable__parampatterns_u315(owner_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (T1_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5) || T1_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4) || T1_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA, isAssignable__parampatterns_u315)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA result;
NIM_BOOL oldNimErrFin49_;
NIM_BOOL oldNimErrFin69_;
NIM_BOOL oldNimErrFin81_;
NIM_BOOL oldNimErrFin131_;
NIM_BOOL oldNimErrFin137_;
NIM_BOOL oldNimErrFin167_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0);
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	{
		{
			NIM_BOOL T4_;
			T4_ = (NIM_BOOL)0;
			T4_ = !(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T4_)) goto LA5_;
			T4_ = ((*(*n_p1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA5_: ;
			if (!T4_) goto LA6_;
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
		}
LA6_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		colontmpD_ = NIM_NIL;
		{
			tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA T13_;
			if (!((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3))) goto LA11_;
			T13_ = (tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0;
			{
				if (!((*(*(*n_p1)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*(*n_p1)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46))) goto LA16_;
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
			}
			goto LA14_;
LA16_: ;
			{
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4);
			}
LA14_: ;
		}
		goto LA9_;
LA11_: ;
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = ((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10));
			if (!(T20_)) goto LA21_;
			colontmpD_ = astdef__ast_u4596((*n_p1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T20_ = dontInlineConstant__trees_u396(n_p1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA21_: ;
			if (!T20_) goto LA22_;
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4);
		}
		goto LA9_;
LA22_: ;
		{
			if (!((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21))) goto LA25_;
			{
				if (!((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21))) goto LA29_;
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4);
			}
			goto LA27_;
LA29_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
				colontmpD__2 = NIM_NIL;
				{
					NIM_BOOL T34_;
					NIM_BOOL T35_;
					T34_ = (NIM_BOOL)0;
					T35_ = (NIM_BOOL)0;
					T35_ = !((owner_p0 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
					if (!(T35_)) goto LA36_;
					colontmpD__2 = owner__ast_u6254((*n_p1)._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T35_ = (owner_p0 == colontmpD__2);
LA36_: ;
					T34_ = T35_;
					if (!(T34_)) goto LA37_;
					T34_ = !((((*(*n_p1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA37_: ;
					if (!T34_) goto LA38_;
					result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)2);
				}
				goto LA32_;
LA38_: ;
				{
					result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
				}
LA32_: ;
				eqdestroy___ast_u4574(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA27_: ;
		}
		goto LA9_;
LA25_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			if (!((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7))) goto LA42_;
			t_1 = NIM_NIL;
			t_1 = skipTypes__ast_u5379((*(*n_p1)._kind_4.sym).typ, TM__kdeXVhLeMhTeIyOxnAjnxA_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23))) goto LA46_;
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)6);
			}
LA46_: ;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA9_;
LA42_: ;
LA9_: ;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_2;
		t_2 = NIM_NIL;
		t_2 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__kdeXVhLeMhTeIyOxnAjnxA_3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
		{
			if (!((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46) || (*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22))) goto LA52_;
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
		}
		goto LA50_;
LA52_: ;
		{
			if (!((*t_2).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA55_;
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4);
		}
		goto LA50_;
LA55_: ;
		{
			result = isAssignable__parampatterns_u315(owner_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
		}
LA50_: ;
		{
			NIM_BOOL T60_;
			NIM_BOOL T61_;
			T60_ = (NIM_BOOL)0;
			T61_ = (NIM_BOOL)0;
			T61_ = !((result == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0)));
			if (!(T61_)) goto LA62_;
			T61_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA62_: ;
			T60_ = T61_;
			if (!(T60_)) goto LA63_;
			T60_ = (((*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)20)))&63U)))!=0);
LA63_: ;
			if (!T60_) goto LA64_;
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)3);
		}
LA64_: ;
		{
			LA49_:;
		}
		{
			oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin49_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_3;
		t_3 = NIM_NIL;
		t_3 = skipTypes__ast_u5379((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField, TM__kdeXVhLeMhTeIyOxnAjnxA_3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
		{
			if (!((*t_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*t_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46) || (*t_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*t_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22))) goto LA72_;
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
		}
		goto LA70_;
LA72_: ;
		{
			if (!((*t_3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA75_;
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)4);
		}
		goto LA70_;
LA75_: ;
		{
			result = isAssignable__parampatterns_u315(owner_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
		}
LA70_: ;
		{
			LA69_:;
		}
		{
			oldNimErrFin69_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin69_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		{
			colontmpD__3 = skipTypes__ast_u5379((*n_p1).typField, TM__kdeXVhLeMhTeIyOxnAjnxA_4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
			if (!((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18) || (*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA84_;
			result = isAssignable__parampatterns_u315(owner_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
		}
		goto LA82_;
LA84_: ;
		{
			NIM_BOOL T87_;
			T87_ = (NIM_BOOL)0;
			T87_ = compareTypes__types_u2782((*n_p1).typField, (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField, ((tyEnum_TDistinctCompare__rXmGWNIojo9acZLzkP7RM9cw)1), 1024);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
			if (!T87_) goto LA88_;
			result = isAssignable__parampatterns_u315(owner_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA81_;
		}
		goto LA82_;
LA88_: ;
LA82_: ;
		{
			LA81_:;
		}
		{
			oldNimErrFin81_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin81_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n0_1;
		n0_1 = NIM_NIL;
		n0_1 = (*n_p1)._kind_6.sons.p->data[((NI)0)];
		{
			if (!((*(*n0_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47))) goto LA95_;
			{
				NIM_BOOL T99_;
				T99_ = (NIM_BOOL)0;
				T99_ = ((*n0_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T99_)) goto LA100_;
				T99_ = ((*(*n0_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
LA100_: ;
				if (!T99_) goto LA101_;
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
			}
			goto LA97_;
LA101_: ;
			{
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5);
			}
LA97_: ;
		}
		goto LA93_;
LA95_: ;
		{
			result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
		}
LA93_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	{
		result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	{
		result = isAssignable__parampatterns_u315(owner_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_1;
		m_1 = getMagic__trees_u122(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(m_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)124))) goto LA110_;
			{
				if (!((*(*(*n_p1)._kind_6.sons.p->data[((NI)1)]).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21))) goto LA114_;
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
			}
			goto LA112_;
LA114_: ;
			{
				result = isAssignable__parampatterns_u315(owner_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA112_: ;
		}
		goto LA108_;
LA110_: ;
		{
			if (!(m_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)5))) goto LA118_;
			result = isAssignable__parampatterns_u315(owner_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA108_;
LA118_: ;
		{
			if (!!(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA121_;
			switch ((*(*n_p1).typField).kind) {
			case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
			{
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
			}
			break;
			case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
			{
				result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5);
			}
			break;
			default:
			{
			}
			break;
			}
		}
		goto LA108_;
LA121_: ;
LA108_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			if (!!(((*n_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA129_;
			colontmpD__4 = NIM_NIL;
			colontmpD__4 = lastSon__ast_u5208(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
			result = isAssignable__parampatterns_u315(owner_p0, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
			{
				LA131_:;
			}
			{
				oldNimErrFin131_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin131_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA129_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143):
	{
		result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
			branch_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA140;
						i_1 = i_2;
						eqcopy___ast_u3255(&branch_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
						{
							NI T143_;
							T143_ = (NI)0;
							T143_ = len__ast_u3190(branch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
							if (!(T143_ == ((NI)2))) goto LA144_;
							{
								NIM_BOOL T148_;
								T148_ = (NIM_BOOL)0;
								T148_ = isLentableBranch__parampatterns_u318(owner_p0, (*branch_1)._kind_6.sons.p->data[((NI)1)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
								if (!!(T148_)) goto LA149_;
								eqdestroy___ast_u3252(branch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
LA149_: ;
						}
						goto LA141_;
LA144_: ;
						{
							NI T152_;
							T152_ = (NI)0;
							T152_ = len__ast_u3190(branch_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
							if (!(T152_ == ((NI)1))) goto LA153_;
							{
								NIM_BOOL T157_;
								T157_ = (NIM_BOOL)0;
								T157_ = isLentableBranch__parampatterns_u318(owner_p0, (*branch_1)._kind_6.sons.p->data[((NI)0)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
								if (!!(T157_)) goto LA158_;
								eqdestroy___ast_u3252(branch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
LA158_: ;
						}
						goto LA141_;
LA153_: ;
						{
							raiseAssert__stdZassertions_u15(TM__kdeXVhLeMhTeIyOxnAjnxA_6);
							if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
						}
LA141_: ;
						i_2 += ((NI)1);
					} LA140: ;
				}
			}
			{
				LA137_:;
			}
			{
				oldNimErrFin137_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin137_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_2;
					if (!(i_4 < colontmp__2)) goto LA166;
					branch_2 = NIM_NIL;
					i_3 = i_4;
					eqcopy___ast_u3255(&branch_2, (*n_p1)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
					switch ((*branch_2).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
					{
						{
							NI T171_;
							NIM_BOOL T172_;
							T171_ = (NI)0;
							T171_ = len__ast_u3190(branch_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
							T172_ = (NIM_BOOL)0;
							T172_ = isLentableBranch__parampatterns_u318(owner_p0, (*branch_2)._kind_6.sons.p->data[(NI)(T171_ - ((NI)1))]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
							if (!!(T172_)) goto LA173_;
							eqdestroy___ast_u3252(branch_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA173_: ;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
					{
						{
							NIM_BOOL T178_;
							T178_ = (NIM_BOOL)0;
							T178_ = isLentableBranch__parampatterns_u318(owner_p0, (*branch_2)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
							if (!!(T178_)) goto LA179_;
							eqdestroy___ast_u3252(branch_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA179_: ;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						{
							NIM_BOOL T184_;
							T184_ = (NIM_BOOL)0;
							T184_ = isLentableBranch__parampatterns_u318(owner_p0, (*branch_2)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
							if (!!(T184_)) goto LA185_;
							eqdestroy___ast_u3252(branch_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA185_: ;
					}
					break;
					default:
					{
						raiseAssert__stdZassertions_u15(TM__kdeXVhLeMhTeIyOxnAjnxA_8);
						if (NIM_UNLIKELY(*nimErr_)) goto LA167_;
					}
					break;
					}
					i_4 += ((NI)1);
					{
						LA167_:;
					}
					{
						oldNimErrFin167_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(branch_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin167_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA166: ;
			}
		}
		result = ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)5);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isRoutine__ast_u7152)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	result = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)12) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)13) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)18) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)15) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)14) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)16));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA, checkForSideEffects__parampatterns_u206)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_1;
		op_1 = NIM_NIL;
		eqcopy___ast_u3255(&op_1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			NIM_BOOL T5_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_1;
			T5_ = (NIM_BOOL)0;
			T5_ = ((*op_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T5_)) goto LA6_;
			T5_ = isRoutine__ast_u7152((*op_1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
LA6_: ;
			if (!T5_) goto LA7_;
			s_1 = NIM_NIL;
			s_1 = (*op_1)._kind_4.sym;
			{
				if (!(((*s_1).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)13)))&63U)))!=0)) goto LA11_;
				result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)1);
				eqdestroy___ast_u3252(op_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA9_;
LA11_: ;
			{
				if (!(((*(*op_1).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0)) goto LA14_;
				result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)2);
			}
			goto LA9_;
LA14_: ;
			{
				result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)1);
			}
LA9_: ;
		}
		goto LA3_;
LA7_: ;
		{
			if (!(((*(*op_1).typField).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0)) goto LA18_;
			result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)2);
		}
		goto LA3_;
LA18_: ;
		{
			result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)1);
			eqdestroy___ast_u3252(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA3_: ;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA ret_1;
					if (!(i_2 < colontmp_)) goto LA23;
					i_1 = i_2;
					ret_1 = checkForSideEffects__parampatterns_u206((*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
					{
						if (!(ret_1 == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)1))) goto LA26_;
						result = ret_1;
						eqdestroy___ast_u3252(op_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
					goto LA24_;
LA26_: ;
					{
						NIM_BOOL T29_;
						T29_ = (NIM_BOOL)0;
						T29_ = (ret_1 == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)0));
						if (!(T29_)) goto LA30_;
						T29_ = (result == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)2));
LA30_: ;
						if (!T29_) goto LA31_;
						result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)0);
					}
					goto LA24_;
LA31_: ;
LA24_: ;
					i_2 += ((NI)1);
				} LA23: ;
			}
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
		result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)2);
	}
	break;
	default:
	{
		result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)2);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)0);
			{
				while (1) {
					tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA ret_2;
					if (!(i_4 < colontmp__2)) goto LA39;
					i_3 = i_4;
					ret_2 = checkForSideEffects__parampatterns_u206((*n_p0)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!(ret_2 == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)1))) goto LA42_;
						result = ret_2;
						goto BeforeRet_;
					}
					goto LA40_;
LA42_: ;
					{
						NIM_BOOL T45_;
						T45_ = (NIM_BOOL)0;
						T45_ = (ret_2 == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)0));
						if (!(T45_)) goto LA46_;
						T45_ = (result == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)2));
LA46_: ;
						if (!T45_) goto LA47_;
						result = ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)0);
					}
					goto LA40_;
LA47_: ;
LA40_: ;
					i_4 += ((NI)1);
				} LA39: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchNodeKinds__parampatterns_u498)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	NIM_BOOL result;
	NimStringV2 code_1;
	tyArray__44NkN8GOVKjmKmQfvqDCIw stack_1;
	NI sp_1;
	NI pc_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	code_1.len = 0; code_1.p = NIM_NIL;
	stack_1[(((NI)0))- 0] = NIM_TRUE;
	sp_1 = ((NI)1);
	code_1 = (*p_p0)._kind_3.strVal;
	pc_1 = ((NI)1);
	{
		while (1) {
			switch (((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA) (((NU8)(code_1.p->data[pc_1]))))) {
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)1):
			{
				goto LA1;
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)2):
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = stack_1[((NI)(sp_1 - ((NI)1)))- 0];
				if (T5_) goto LA6_;
				T5_ = stack_1[((NI)(sp_1 - ((NI)2)))- 0];
LA6_: ;
				stack_1[((NI)(sp_1 - ((NI)2)))- 0] = T5_;
				sp_1 -= ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)3):
			{
				NIM_BOOL T8_;
				T8_ = (NIM_BOOL)0;
				T8_ = stack_1[((NI)(sp_1 - ((NI)1)))- 0];
				if (!(T8_)) goto LA9_;
				T8_ = stack_1[((NI)(sp_1 - ((NI)2)))- 0];
LA9_: ;
				stack_1[((NI)(sp_1 - ((NI)2)))- 0] = T8_;
				sp_1 -= ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)4):
			{
				stack_1[((NI)(sp_1 - ((NI)1)))- 0] = !(stack_1[((NI)(sp_1 - ((NI)1)))- 0]);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)5):
			{
				stack_1[(sp_1)- 0] = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)6):
			{
				NIM_BOOL T13_;
				T13_ = (NIM_BOOL)0;
				T13_ = isAtom__ast_u7223(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				stack_1[(sp_1)- 0] = T13_;
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)7):
			{
				stack_1[(sp_1)- 0] = ((*n_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*n_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)8):
			{
				stack_1[(sp_1)- 0] = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)9):
			{
				stack_1[(sp_1)- 0] = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)10):
			{
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind_1;
				NIM_BOOL T18_;
				kind_1 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q) (((NU8)(code_1.p->data[(NI)(pc_1 + ((NI)1))]))));
				T18_ = (NIM_BOOL)0;
				T18_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
				if (!(T18_)) goto LA19_;
				T18_ = ((*(*n_p1)._kind_4.sym).kind == kind_1);
LA19_: ;
				stack_1[(sp_1)- 0] = T18_;
				sp_1 += ((NI)1);
				pc_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)11):
			{
				tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_2;
				kind_2 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw) (((NU8)(code_1.p->data[(NI)(pc_1 + ((NI)1))]))));
				stack_1[(sp_1)- 0] = ((*n_p1).kind == kind_2);
				sp_1 += ((NI)1);
				pc_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)12):
			{
				tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA T22_;
				T22_ = (tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0;
				T22_ = isAssignable__parampatterns_u315(((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				stack_1[(sp_1)- 0] = (T22_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1) || T22_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)2));
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)13):
			{
				tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA T24_;
				T24_ = (tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0;
				T24_ = isAssignable__parampatterns_u315(((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				stack_1[(sp_1)- 0] = (T24_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)2));
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)14):
			{
				tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA T26_;
				T26_ = (tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)0;
				T26_ = checkForSideEffects__parampatterns_u206(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				stack_1[(sp_1)- 0] = (T26_ == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)1));
				sp_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)15):
			{
				tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA T28_;
				T28_ = (tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)0;
				T28_ = checkForSideEffects__parampatterns_u206(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				stack_1[(sp_1)- 0] = !((T28_ == ((tyEnum_TSideEffectAnalysis__5L30uP9cOuHThFD9cvKuY2ZA)1)));
				sp_1 += ((NI)1);
			}
			break;
			default: __builtin_unreachable();
			}
			pc_1 += ((NI)1);
		}
	} LA1: ;
	result = stack_1[((NI)(sp_1 - ((NI)1)))- 0];
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
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, patternError__parampatterns_u39)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1) {
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	colontmpD_ = renderTree__renderer_u59(n_p0, 4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = rawNewString(colontmpD_.len + 15);
appendString((&T2_), TM__kdeXVhLeMhTeIyOxnAjnxA_10);
appendString((&T2_), colontmpD_);
	colontmpD__2 = T2_;
	liMessage__msgs_u1227(conf_p1, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__kdeXVhLeMhTeIyOxnAjnxA_11), NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, add__parampatterns_u42)(NimStringV2* code_p0, tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA op_p1) {
	nimAddCharV1((&(*code_p0)), ((NIM_CHAR) ((op_p1))));
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2430(s_p0);
	}
LA5_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1) {
	addInt__stdZprivateZdigitsutils_u187(result_p0, ((NI64) (x_p1)));
}
static N_INLINE(NimStringV2, toFileLineCol__msgs_u701)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info_p0) {
	NimStringV2 result;
	result = TM__kdeXVhLeMhTeIyOxnAjnxA_42;
	prepareAdd((&result), (*info_p0).Field0.len + 0);
appendString((&result), (*info_p0).Field0);
	{
		if (!(((NI)0) < (*info_p0).Field1)) goto LA3_;
		prepareAdd((&result), 1);
appendString((&result), TM__kdeXVhLeMhTeIyOxnAjnxA_44);
		addInt__stdZprivateZdigitsutils_u204((&result), (*info_p0).Field1);
		{
			if (!(((NI)0) < (NI)((*info_p0).Field2 + ((NI)1)))) goto LA7_;
			prepareAdd((&result), 2);
appendString((&result), TM__kdeXVhLeMhTeIyOxnAjnxA_46);
			addInt__stdZprivateZdigitsutils_u204((&result), (NI)((*info_p0).Field2 + ((NI)1)));
		}
LA7_: ;
		prepareAdd((&result), 1);
appendString((&result), TM__kdeXVhLeMhTeIyOxnAjnxA_48);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compileConstraints__parampatterns_u78)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_p0, NimStringV2* result_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*p_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* op_1;
		op_1 = NIM_NIL;
		{
			if (!!(((*(*p_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2)))) goto LA5_;
			patternError__parampatterns_u39((*p_p0)._kind_6.sons.p->data[((NI)0)], conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			eqdestroy___idents_u155(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA5_: ;
		eqcopy___idents_u158(&op_1, (*(*p_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			NI T9_;
			T9_ = (NI)0;
			T9_ = len__ast_u3190(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (!(T9_ == ((NI)3))) goto LA10_;
			{
				NIM_BOOL T14_;
				T14_ = (NIM_BOOL)0;
				T14_ = eqStrings((*op_1).s, TM__kdeXVhLeMhTeIyOxnAjnxA_14);
				if (T14_) goto LA15_;
				T14_ = ((*op_1).id == ((NI)47));
LA15_: ;
				if (!T14_) goto LA16_;
				compileConstraints__parampatterns_u78((*p_p0)._kind_6.sons.p->data[((NI)1)], result_p1, conf_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				compileConstraints__parampatterns_u78((*p_p0)._kind_6.sons.p->data[((NI)2)], result_p1, conf_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)2));
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
			goto LA12_;
LA16_: ;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = eqStrings((*op_1).s, TM__kdeXVhLeMhTeIyOxnAjnxA_16);
				if (T19_) goto LA20_;
				T19_ = ((*op_1).id == ((NI)2));
LA20_: ;
				if (!T19_) goto LA21_;
				compileConstraints__parampatterns_u78((*p_p0)._kind_6.sons.p->data[((NI)1)], result_p1, conf_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				compileConstraints__parampatterns_u78((*p_p0)._kind_6.sons.p->data[((NI)2)], result_p1, conf_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)3));
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
			goto LA12_;
LA21_: ;
			{
				patternError__parampatterns_u39(p_p0, conf_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			}
LA12_: ;
		}
		goto LA7_;
LA10_: ;
		{
			NIM_BOOL T25_;
			NI T26_;
			NIM_BOOL T28_;
			T25_ = (NIM_BOOL)0;
			T26_ = (NI)0;
			T26_ = len__ast_u3190(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			T25_ = (T26_ == ((NI)2));
			if (!(T25_)) goto LA27_;
			T28_ = (NIM_BOOL)0;
			T28_ = eqStrings((*op_1).s, TM__kdeXVhLeMhTeIyOxnAjnxA_18);
			if (T28_) goto LA29_;
			T28_ = ((*op_1).id == ((NI)43));
LA29_: ;
			T25_ = T28_;
LA27_: ;
			if (!T25_) goto LA30_;
			compileConstraints__parampatterns_u78((*p_p0)._kind_6.sons.p->data[((NI)1)], result_p1, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)4));
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		goto LA7_;
LA30_: ;
		{
			patternError__parampatterns_u39(p_p0, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
LA7_: ;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(op_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	{
		{
			NI T38_;
			T38_ = (NI)0;
			T38_ = len__ast_u3190(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T38_ == ((NI)1))) goto LA39_;
			compileConstraints__parampatterns_u78((*p_p0)._kind_6.sons.p->data[((NI)0)], result_p1, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA36_;
LA39_: ;
		{
			patternError__parampatterns_u39(p_p0, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA36_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		NimStringV2 spec_1;
		spec_1.len = 0; spec_1.p = NIM_NIL;
		spec_1 = nsuNormalize((*(*p_p0)._kind_5.ident).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		switch (hashString(spec_1) & 15) {
		case 2: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_40)) goto LA54_;
break;
		case 4: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_24)) goto LA46_;
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_34)) goto LA51_;
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_38)) goto LA53_;
break;
		case 6: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_26)) goto LA47_;
break;
		case 10: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_32)) goto LA50_;
break;
		case 11: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_20)) goto LA44_;
break;
		case 12: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_22)) goto LA45_;
break;
		case 13: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_28)) goto LA48_;
break;
		case 14: 
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_30)) goto LA49_;
if (eqStrings(spec_1, TM__kdeXVhLeMhTeIyOxnAjnxA_36)) goto LA52_;
break;
		}
		goto LA55_;
		LA44_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)6));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA45_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)7));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA46_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)5));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA47_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)8));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA48_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)9));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA49_: ;
		{
			nimPrepareStrMutationV2((&(*result_p1)));
			(*result_p1).p->data[((NI)0)] = 2;
		}
		goto LA56_;
		LA50_: ;
		{
			nimPrepareStrMutationV2((&(*result_p1)));
			(*result_p1).p->data[((NI)0)] = 3;
		}
		goto LA56_;
		LA51_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)12));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA52_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)13));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA53_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)14));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA54_: ;
		{
			add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)15));
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
		goto LA56_;
		LA55_: ;
		{
			{
				NimStringV2 argX60gensym13__1;
				if (!NIM_FALSE) goto LA71_;
				argX60gensym13__1.len = 0; argX60gensym13__1.p = NIM_NIL;
				argX60gensym13__1 = toFileLineCol__msgs_u701((&TM__kdeXVhLeMhTeIyOxnAjnxA_49));
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				internalErrorImpl__msgs_u1598(conf_p2, unknownLineInfo__lineinfos_u364, argX60gensym13__1, (&TM__kdeXVhLeMhTeIyOxnAjnxA_49));
				if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
				{
					LA73_:;
				}
				{
					eqdestroy___system_u2691(argX60gensym13__1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
			}
LA71_: ;
			{
				tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q i_1;
				i_1 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
				{
					tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q v_1;
					NI res_1;
					v_1 = (tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)0;
					res_1 = ((NI)0);
					{
						while (1) {
							NimStringV2 colontmpD_;
							if (!(res_1 <= ((NI)24))) goto LA79;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							v_1 = ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q) (res_1));
							i_1 = v_1;
							{
								NI T83_;
								colontmpD_ = toHumanStr__ast_u7574(i_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
								T83_ = (NI)0;
								T83_ = nsuCmpIgnoreStyle(colontmpD_, spec_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
								if (!(T83_ == ((NI)0))) goto LA84_;
								add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)10));
								if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
								nimAddCharV1((&(*result_p1)), ((NIM_CHAR) ((i_1))));
								eqdestroy___system_u2691(colontmpD_);
								eqdestroy___system_u2691(spec_1);
								goto BeforeRet_;
							}
LA84_: ;
							res_1 += ((NI)1);
							{
								LA80_:;
							}
							{
								eqdestroy___system_u2691(colontmpD_);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						} LA79: ;
					}
				}
			}
			{
				NimStringV2 argX60gensym15__1;
				if (!NIM_FALSE) goto LA90_;
				argX60gensym15__1.len = 0; argX60gensym15__1.p = NIM_NIL;
				argX60gensym15__1 = toFileLineCol__msgs_u701((&TM__kdeXVhLeMhTeIyOxnAjnxA_50));
				if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
				internalErrorImpl__msgs_u1598(conf_p2, unknownLineInfo__lineinfos_u364, argX60gensym15__1, (&TM__kdeXVhLeMhTeIyOxnAjnxA_50));
				if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
				{
					LA92_:;
				}
				{
					eqdestroy___system_u2691(argX60gensym15__1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
			}
LA90_: ;
			{
				tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw i_2;
				i_2 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
				{
					tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw v_2;
					NI res_2;
					v_2 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
					res_2 = ((NI)0);
					{
						while (1) {
							NimStringV2 colontmpD__2;
							if (!(res_2 <= ((NI)165))) goto LA98;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							v_2 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw) (res_2));
							i_2 = v_2;
							{
								NI T102_;
								colontmpD__2 = dollar___nodekinds_u168(i_2);
								T102_ = (NI)0;
								T102_ = nsuCmpIgnoreStyle(colontmpD__2, spec_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
								if (!(T102_ == ((NI)0))) goto LA103_;
								add__parampatterns_u42(result_p1, ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)11));
								if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
								nimAddCharV1((&(*result_p1)), ((NIM_CHAR) ((i_2))));
								eqdestroy___system_u2691(colontmpD__2);
								eqdestroy___system_u2691(spec_1);
								goto BeforeRet_;
							}
LA103_: ;
							res_2 += ((NI)1);
							{
								LA99_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__2);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
						} LA98: ;
					}
				}
			}
			patternError__parampatterns_u39(p_p0, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		}
LA56_: ;
		{
			LA43_:;
		}
		{
			eqdestroy___system_u2691(spec_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		patternError__parampatterns_u39(p_p0, conf_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, semNodeKindConstraints__parampatterns_u180)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1, NI start_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), (*n_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = rawNewString(((NI)10));
	eqsink___system_u2700((&(*result)._kind_3.strVal), T1_);
	nimAddCharV1((&(*result)._kind_3.strVal), 1);
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(((NI)2) <= T4_)) goto LA5_;
		{
			NI i_1;
			NI colontmp_;
			NI T8_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T8_ = (NI)0;
			T8_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp_ = (T8_);
			i_2 = start_p2;
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA10;
					i_1 = i_2;
					compileConstraints__parampatterns_u78((*n_p0)._kind_6.sons.p->data[i_1], (&(*result)._kind_3.strVal), conf_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA10: ;
			}
		}
		{
			if (!(((NI)63) < (*result)._kind_3.strVal.len)) goto LA13_;
			internalErrorImpl__msgs_u1598(conf_p1, (*n_p0).info, TM__kdeXVhLeMhTeIyOxnAjnxA_52, (&TM__kdeXVhLeMhTeIyOxnAjnxA_53));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
	}
	goto LA2_;
LA5_: ;
	{
		patternError__parampatterns_u39(n_p0, conf_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	add__parampatterns_u42((&(*result)._kind_3.strVal), ((tyEnum_TOpcode__HoNm5cn6ep86MKbajxjxFA)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAliasRequest__agH0cHTwuKHcbz8bKC9cyVQ, whichAlias__parampatterns_u49)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* p_p0) {
	tyEnum_TAliasRequest__agH0cHTwuKHcbz8bKC9cyVQ result;
	result = (tyEnum_TAliasRequest__agH0cHTwuKHcbz8bKC9cyVQ)0;
	{
		if (!!(((*p_p0).constraint == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA3_;
		result = ((tyEnum_TAliasRequest__agH0cHTwuKHcbz8bKC9cyVQ) (((NU8)((*(*p_p0).constraint)._kind_3.strVal.p->data[((NI)0)]))));
	}
	goto LA1_;
LA3_: ;
	{
		result = ((tyEnum_TAliasRequest__agH0cHTwuKHcbz8bKC9cyVQ)1);
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, exprRoot__parampatterns_u294)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL allowCalls_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	it_1 = NIM_NIL;
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	eqcopy___ast_u3255(&it_1, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			switch ((*it_1).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
			{
				eqcopy___ast_u4577(&result, (*it_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				colontmpD_ = NIM_NIL;
				{
					colontmpD_ = skipTypes__ast_u5379((*(*it_1)._kind_6.sons.p->data[((NI)0)]).typField, TM__kdeXVhLeMhTeIyOxnAjnxA_54);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) || (*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22))) goto LA9_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA2;
				}
				goto LA7_;
LA9_: ;
				{
					eqcopy___ast_u3255(&it_1, (*it_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA7_: ;
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
			{
				eqcopy___ast_u3255(&it_1, (*it_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
			{
				eqcopy___ast_u3255(&it_1, (*it_1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
			{
				{
					NIM_BOOL T19_;
					NI T20_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T24_;
					T19_ = (NIM_BOOL)0;
					T20_ = (NI)0;
					T20_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T19_ = (((NI)0) < T20_);
					if (!(T19_)) goto LA21_;
					T19_ = !(((*it_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA21_: ;
					if (!T19_) goto LA22_;
					T24_ = NIM_NIL;
					T24_ = lastSon__ast_u5208(it_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T24_); goto LA1_;}
					eqsink___ast_u3261(&it_1, T24_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA17_;
LA22_: ;
				{
					goto LA2;
				}
LA17_: ;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
			{
				{
					NIM_BOOL T29_;
					NIM_BOOL T30_;
					NIM_BOOL T31_;
					NI T35_;
					T29_ = (NIM_BOOL)0;
					T30_ = (NIM_BOOL)0;
					T31_ = (NIM_BOOL)0;
					T31_ = allowCalls_p1;
					if (!(T31_)) goto LA32_;
					T31_ = !(((*it_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA32_: ;
					T30_ = T31_;
					if (!(T30_)) goto LA33_;
					T30_ = ((*(*it_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*it_1).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47));
LA33_: ;
					T29_ = T30_;
					if (!(T29_)) goto LA34_;
					T35_ = (NI)0;
					T35_ = len__ast_u3190(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T29_ = (((NI)1) < T35_);
LA34_: ;
					if (!T29_) goto LA36_;
					eqcopy___ast_u3255(&it_1, (*it_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA27_;
LA36_: ;
				{
					goto LA2;
				}
LA27_: ;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
		}
	} LA2: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue__parampatterns_u491)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)0;
	T1_ = isAssignable__parampatterns_u315(((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL), n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (T1_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)1) || T1_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)2) || T1_ == ((tyEnum_TAssignableResult__3ybZZK771F9azx9ccTLKswSA)6));
	}BeforeRet_: ;
	return result;
}
