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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
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 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 tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_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;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q;
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef 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;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderPlainSymbolName__typesrenderer_u9)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2694)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderDefinitionName__renderer_u125)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, NIM_BOOL noQuotes_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, renderParamTypes__typesrenderer_u111)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* found_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL toNormalize_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderType__typesrenderer_u12)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL toNormalize_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nimIdentNormalize__pureZstrutils_u124)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, typeToString__types_u54)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p0, tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q prefer_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
static N_INLINE(void, X5BX5Deq___system_u8175)(NimStringV2* s_p0, NI i_p1, NIM_CHAR x_p2);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2430)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2700)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u71)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2697)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2166)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuJoinSep)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 sep_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5506)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u79)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2688)(NimStringV2* dest_p0);
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_3 = {0, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_2};
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_4 = {0, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_2};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_5 = { 3 | NIM_STRLIT_FLAG, "var" };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_6 = {3, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_5};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_7 = { 4 | NIM_STRLIT_FLAG, "ref." };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_8 = {4, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_7};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_9 = { 3 | NIM_STRLIT_FLAG, "ref" };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_10 = {3, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_9};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_11 = { 4 | NIM_STRLIT_FLAG, "ptr." };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_12 = {4, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_11};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_13 = { 3 | NIM_STRLIT_FLAG, "ptr" };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_14 = {3, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_13};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_15 = { 5 | NIM_STRLIT_FLAG, "proc(" };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_16 = {5, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_15};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_17 = { 4 | NIM_STRLIT_FLAG, "proc" };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_18 = {4, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_17};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_19 = { 6 | NIM_STRLIT_FLAG, "tuple[" };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_20 = {6, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_19};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_21 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_22 = {2, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_21};
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_23 = {0, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_2};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__SgHDIVcSir4dkKoe0Xsi0A_24 = { 53 | NIM_STRLIT_FLAG, "typesrenderer.nim(104, 3) `n.kind == nkFormalParams` " };
static const NimStringV2 TM__SgHDIVcSir4dkKoe0Xsi0A_25 = {53, (NimStrPayload*)&TM__SgHDIVcSir4dkKoe0Xsi0A_24};
extern NIM_BOOL nimInErrorMode__system_u4143;
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;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderPlainSymbolName__typesrenderer_u9)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53):
	{
		NI T2_;
		T2_ = (NI)0;
		T2_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = renderPlainSymbolName__typesrenderer_u9((*n_p0)._kind_6.sons.p->data[(NI)(T2_ - ((NI)1))]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		eqcopy___system_u2694((&result), (*(*n_p0)._kind_5.ident).s);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = renderDefinitionName__renderer_u125((*n_p0)._kind_4.sym, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43):
	{
		result = renderPlainSymbolName__typesrenderer_u9((*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = TM__SgHDIVcSir4dkKoe0Xsi0A_3;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1) {
	(*(*dest_p0).p).data[(*dest_p0).len] = c_p1;
	(*dest_p0).len += ((NI)1);
	(*(*dest_p0).p).data[(*dest_p0).len] = 0;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)1073741824)) == ((NI)1073741824));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2430(s_p0);
	}
LA5_: ;
}
static N_INLINE(void, X5BX5Deq___system_u8175)(NimStringV2* s_p0, NI i_p1, NIM_CHAR x_p2) {
	nimPrepareStrMutationV2((&(*s_p0)));
	(*s_p0).p->data[(NI)((*s_p0).len - i_p1)] = x_p2;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderType__typesrenderer_u12)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL toNormalize_p1) {
	NimStringV2 result;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		NimStringV2 T2_;
		T2_.len = 0; T2_.p = NIM_NIL;
		{
			if (!toNormalize_p1) goto LA5_;
			result = nimIdentNormalize__pureZstrutils_u124((*(*n_p0)._kind_5.ident).s);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA3_;
LA5_: ;
		{
			eqcopy___system_u2694((&result), (*(*n_p0)._kind_5.ident).s);
		}
LA3_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		NimStringV2 T9_;
		T9_.len = 0; T9_.p = NIM_NIL;
		{
			NimStringV2 colontmpD_;
			if (!toNormalize_p1) goto LA12_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD_ = typeToString__types_u54((*(*n_p0)._kind_4.sym).typ, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			result = nimIdentNormalize__pureZstrutils_u124(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				LA14_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA10_;
LA12_: ;
		{
			result = typeToString__types_u54((*(*n_p0)._kind_4.sym).typ, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA10_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143):
	{
		{
			NI T21_;
			T21_ = (NI)0;
			T21_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T21_ == ((NI)1))) goto LA22_;
			result = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[((NI)0)], toNormalize_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA19_;
LA22_: ;
		{
			result = TM__SgHDIVcSir4dkKoe0Xsi0A_6;
		}
LA19_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141):
	{
		{
			NI T28_;
			NimStringV2 colontmpD__2;
			NimStringV2 T32_;
			T28_ = (NI)0;
			T28_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T28_ == ((NI)1))) goto LA29_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T32_.len = 0; T32_.p = NIM_NIL;
			colontmpD__2 = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[((NI)0)], toNormalize_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
			T32_ = rawNewString(colontmpD__2.len + 4);
appendString((&T32_), TM__SgHDIVcSir4dkKoe0Xsi0A_8);
appendString((&T32_), colontmpD__2);
			result = T32_;
			{
				LA31_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA26_;
LA29_: ;
		{
			result = TM__SgHDIVcSir4dkKoe0Xsi0A_10;
		}
LA26_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142):
	{
		{
			NI T39_;
			NimStringV2 colontmpD__3;
			NimStringV2 T43_;
			T39_ = (NI)0;
			T39_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T39_ == ((NI)1))) goto LA40_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			T43_.len = 0; T43_.p = NIM_NIL;
			colontmpD__3 = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[((NI)0)], toNormalize_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			T43_ = rawNewString(colontmpD__3.len + 4);
appendString((&T43_), TM__SgHDIVcSir4dkKoe0Xsi0A_12);
appendString((&T43_), colontmpD__3);
			result = T43_;
			{
				LA42_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA37_;
LA40_: ;
		{
			result = TM__SgHDIVcSir4dkKoe0Xsi0A_14;
		}
LA37_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)147):
	{
		{
			NIM_BOOL T50_;
			NI T51_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
			T50_ = (NIM_BOOL)0;
			T51_ = (NI)0;
			T51_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T50_ = (((NI)1) < T51_);
			if (!(T50_)) goto LA52_;
			T50_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76));
LA52_: ;
			if (!T50_) goto LA53_;
			params_1 = NIM_NIL;
			eqcopy___ast_u3255(&params_1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			result = TM__SgHDIVcSir4dkKoe0Xsi0A_16;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3190(params_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
				i_2 = ((NI)1);
				{
					while (1) {
						NimStringV2 colontmpD__4;
						NimStringV2 colontmpD__5;
						NimStringV2 T60_;
						if (!(i_2 < colontmp_)) goto LA58;
						colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						i_1 = i_2;
						T60_.len = 0; T60_.p = NIM_NIL;
						colontmpD__4 = renderType__typesrenderer_u12((*params_1)._kind_6.sons.p->data[i_1], toNormalize_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						T60_ = rawNewString(colontmpD__4.len + 1);
appendString((&T60_), colontmpD__4);
appendChar((&T60_), 44);
						colontmpD__5 = T60_;
						prepareAdd((&result), colontmpD__5.len + 0);
appendString((&result), colontmpD__5);
						i_2 += ((NI)1);
						{
							LA59_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__5);
							eqdestroy___system_u2691(colontmpD__4);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
					} LA58: ;
				}
			}
			X5BX5Deq___system_u8175((&result), ((NI)1), 41);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			{
				LA55_:;
			}
			{
				oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(params_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin55_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA48_;
LA53_: ;
		{
			result = TM__SgHDIVcSir4dkKoe0Xsi0A_18;
		}
LA48_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
	{
		NimStringV2 typeStr_1;
		NI typePos_1;
		NI T68_;
		typeStr_1.len = 0; typeStr_1.p = NIM_NIL;
		T68_ = (NI)0;
		T68_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
		typePos_1 = (NI)(T68_ - ((NI)2));
		typeStr_1 = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[typePos_1], toNormalize_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
		eqcopy___system_u2694((&result), typeStr_1);
		{
			NI i_3;
			NI i_4;
			i_3 = (NI)0;
			i_4 = ((NI)1);
			{
				while (1) {
					NimStringV2 colontmpD__6;
					NimStringV2 T72_;
					if (!(i_4 < typePos_1)) goto LA71;
					colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
					i_3 = i_4;
					T72_.len = 0; T72_.p = NIM_NIL;
					T72_ = rawNewString(typeStr_1.len + 1);
appendChar((&T72_), 44);
appendString((&T72_), typeStr_1);
					colontmpD__6 = T72_;
					prepareAdd((&result), colontmpD__6.len + 0);
appendString((&result), colontmpD__6);
					i_4 += ((NI)1);
					eqdestroy___system_u2691(colontmpD__6);
				} LA71: ;
			}
		}
		{
			LA67_:;
		}
		{
			eqdestroy___system_u2691(typeStr_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)134):
	{
		result = TM__SgHDIVcSir4dkKoe0Xsi0A_20;
		{
			NI i_5;
			NI colontmp__2;
			NI i_6;
			i_5 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_6 = ((NI)0);
			{
				while (1) {
					NimStringV2 colontmpD__7;
					NimStringV2 colontmpD__8;
					NimStringV2 T80_;
					if (!(i_6 < colontmp__2)) goto LA78;
					colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
					colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
					i_5 = i_6;
					T80_.len = 0; T80_.p = NIM_NIL;
					colontmpD__7 = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[i_5], toNormalize_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
					T80_ = rawNewString(colontmpD__7.len + 1);
appendString((&T80_), colontmpD__7);
appendChar((&T80_), 44);
					colontmpD__8 = T80_;
					prepareAdd((&result), colontmpD__8.len + 0);
appendString((&result), colontmpD__8);
					i_6 += ((NI)1);
					{
						LA79_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__8);
						eqdestroy___system_u2691(colontmpD__7);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA78: ;
			}
		}
		X5BX5Deq___system_u8175((&result), ((NI)1), 93);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		NimStringV2 colontmpD__9;
		NimStringV2 T85_;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		T85_.len = 0; T85_.p = NIM_NIL;
		colontmpD__9 = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[((NI)0)], toNormalize_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		T85_ = rawNewString(colontmpD__9.len + 1);
appendString((&T85_), colontmpD__9);
appendChar((&T85_), 91);
		result = T85_;
		{
			NI i_7;
			NI colontmp__3;
			NI i_8;
			i_7 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			i_8 = ((NI)1);
			{
				while (1) {
					NimStringV2 colontmpD__10;
					NimStringV2 colontmpD__11;
					NimStringV2 T90_;
					if (!(i_8 < colontmp__3)) goto LA88;
					colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
					colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
					i_7 = i_8;
					T90_.len = 0; T90_.p = NIM_NIL;
					colontmpD__10 = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[i_7], toNormalize_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA89_;
					T90_ = rawNewString(colontmpD__10.len + 1);
appendString((&T90_), colontmpD__10);
appendChar((&T90_), 44);
					colontmpD__11 = T90_;
					prepareAdd((&result), colontmpD__11.len + 0);
appendString((&result), colontmpD__11);
					i_8 += ((NI)1);
					{
						LA89_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__11);
						eqdestroy___system_u2691(colontmpD__10);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
				} LA88: ;
			}
		}
		X5BX5Deq___system_u8175((&result), ((NI)1), 93);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		{
			LA84_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__9);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26):
	{
		result = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[((NI)0)], toNormalize_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_9;
			NI colontmp__4;
			NI i_10;
			i_9 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_10 = ((NI)1);
			{
				while (1) {
					NimStringV2 colontmpD__12;
					if (!(i_10 < colontmp__4)) goto LA98;
					colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
					i_9 = i_10;
					{
						if (!(((NI)1) < i_9)) goto LA102_;
						prepareAdd((&result), 2);
appendString((&result), TM__SgHDIVcSir4dkKoe0Xsi0A_22);
					}
LA102_: ;
					colontmpD__12 = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[i_9], toNormalize_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
					prepareAdd((&result), colontmpD__12.len + 0);
appendString((&result), colontmpD__12);
					i_10 += ((NI)1);
					{
						LA99_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__12);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA98: ;
			}
		}
	}
	break;
	default:
	{
		result = TM__SgHDIVcSir4dkKoe0Xsi0A_23;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, renderParamTypes__typesrenderer_u111)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* found_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NIM_BOOL toNormalize_p2) {
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					renderParamTypes__typesrenderer_u111(found_p0, (*n_p1)._kind_6.sons.p->data[i_1], toNormalize_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35):
	{
		NimStringV2 typeStr_1;
		NI typePos_1;
		NI T7_;
		typeStr_1.len = 0; typeStr_1.p = NIM_NIL;
		T7_ = (NI)0;
		T7_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		typePos_1 = (NI)(T7_ - ((NI)2));
		typeStr_1 = renderType__typesrenderer_u12((*n_p1)._kind_6.sons.p->data[typePos_1], toNormalize_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T10_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
			T10_ = (NIM_BOOL)0;
			T10_ = (typeStr_1.len < ((NI)1));
			if (!(T10_)) goto LA11_;
			T10_ = !(((*(*n_p1)._kind_6.sons.p->data[(NI)(typePos_1 + ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA11_: ;
			if (!T10_) goto LA12_;
			typ_1 = NIM_NIL;
			eqcopy___ast_u3381(&typ_1, (*(*n_p1)._kind_6.sons.p->data[(NI)(typePos_1 + ((NI)1))]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			{
				NimStringV2 T19_;
				if (!!((typ_1 == 0))) goto LA17_;
				T19_.len = 0; T19_.p = NIM_NIL;
				T19_ = typeToString__types_u54(typ_1, ((tyEnum_TPreferedDesc__ddj0M89bv09cBYthgD4XTq3Q)2));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T19_); goto LA14_;}
				eqsink___system_u2700((&typeStr_1), T19_);
			}
LA17_: ;
			{
				if (!(typeStr_1.len < ((NI)1))) goto LA22_;
				eqdestroy___ast_u3378(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				eqdestroy___system_u2691(typeStr_1);
				goto BeforeRet_;
			}
LA22_: ;
			{
				LA14_:;
			}
			{
				oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(typ_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				*nimErr_ = oldNimErrFin14_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA12_: ;
		{
			NI i_3;
			NI i_4;
			i_3 = (NI)0;
			i_4 = ((NI)0);
			{
				while (1) {
					NimStringV2 colontmpD_;
					if (!(i_4 < typePos_1)) goto LA28;
					i_3 = i_4;
					colontmpD_ = eqdup___system_u2697(typeStr_1);
					add__stdZenumutils_u71((&(*found_p0)), colontmpD_);
					i_4 += ((NI)1);
				} LA28: ;
			}
		}
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(typeStr_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NimStringV2 T32_;
		T32_.len = 0; T32_.p = NIM_NIL;
		T32_ = dollar___renderer_u2166(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T32_); goto BeforeRet_;}
		add__stdZenumutils_u71((&(*found_p0)), T32_);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderParamTypes__typesrenderer_u146)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NimStringV2 sep_p1, NIM_BOOL toNormalize_p2) {
	NimStringV2 result;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ found_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	found_1.len = 0; found_1.p = NIM_NIL;
	result = TM__SgHDIVcSir4dkKoe0Xsi0A_4;
	found_1.len = 0; found_1.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
	renderParamTypes__typesrenderer_u111((&found_1), n_p0, toNormalize_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T4_;
		NimStringV2 T7_;
		T4_ = found_1.len;
		if (!(((NI)0) < T4_)) goto LA5_;
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = nsuJoinSep(((found_1).p) ? (found_1.p->data) : NIM_NIL, found_1.len, sep_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T7_); goto LA1_;}
		eqsink___system_u2700((&result), T7_);
	}
LA5_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u5506(found_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, renderParamNames__typesrenderer_u67)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL toNormalize_p1) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
	{
		if (!!(((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76)))) goto LA3_;
		failedAssertImpl__stdZassertions_u79(TM__SgHDIVcSir4dkKoe0Xsi0A_25);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i_1 = i_2;
					{
						NI typePos_1;
						NI T13_;
						if (!((*(*n_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35))) goto LA11_;
						T13_ = (NI)0;
						T13_ = len__ast_u3190((*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						typePos_1 = (NI)(T13_ - ((NI)2));
						{
							NI j_1;
							NI i_3;
							j_1 = (NI)0;
							i_3 = ((NI)0);
							{
								while (1) {
									NimStringV2 colontmpD_;
									NimStringV2 colontmpD__2;
									NimStringV2 T18_;
									if (!(i_3 < typePos_1)) goto LA16;
									colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
									colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
									j_1 = i_3;
									T18_.len = 0; T18_.p = NIM_NIL;
									{
										NimStringV2 colontmpD__3;
										NimStringV2 blitTmp_1;
										if (!toNormalize_p1) goto LA21_;
										colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
										colontmpD__3 = dollar___renderer_u2166((*(*n_p0)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
										colontmpD_ = nimIdentNormalize__pureZstrutils_u124(colontmpD__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
										blitTmp_1 = colontmpD_;
										eqwasMoved___system_u2688((&colontmpD_));
										T18_ = blitTmp_1;
										{
											LA23_:;
										}
										{
											eqdestroy___system_u2691(colontmpD__3);
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
									}
									goto LA19_;
LA21_: ;
									{
										NimStringV2 blitTmp_2;
										colontmpD__2 = dollar___renderer_u2166((*(*n_p0)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
										blitTmp_2 = colontmpD__2;
										eqwasMoved___system_u2688((&colontmpD__2));
										T18_ = blitTmp_2;
										{
											LA27_:;
										}
										{
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
									}
LA19_: ;
									add__stdZenumutils_u71((&result), T18_);
									i_3 += ((NI)1);
									{
										LA17_:;
									}
									{
										eqdestroy___system_u2691(colontmpD__2);
										eqdestroy___system_u2691(colontmpD_);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								} LA16: ;
							}
						}
					}
					goto LA9_;
LA11_: ;
					{
						NimStringV2 T33_;
						T33_.len = 0; T33_.p = NIM_NIL;
						T33_ = dollar___renderer_u2166((*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T33_); goto BeforeRet_;}
						add__stdZenumutils_u71((&result), T33_);
					}
LA9_: ;
					i_2 += ((NI)1);
				} LA8: ;
			}
		}
	}
	break;
	default:
	{
		NimStringV2 T35_;
		T35_.len = 0; T35_.p = NIM_NIL;
		T35_ = dollar___renderer_u2166(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T35_); goto BeforeRet_;}
		add__stdZenumutils_u71((&result), T35_);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderOutType__typesrenderer_u159)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL toNormalize_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = renderType__typesrenderer_u12((*n_p0)._kind_6.sons.p->data[((NI)0)], toNormalize_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
