/* Generated by Nim Compiler v1.3.5 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

/* section: NIM_merge_HEADERS */

#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

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w;
typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug;
typedef struct tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag;
typedef struct tySequence__7PsCyIDXDb8nGSU5UlS9cAA tySequence__7PsCyIDXDb8nGSU5UlS9cAA;
typedef struct tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA;
typedef struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__Ef05srmQTDulnBdXR4Ja6Q tySequence__Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA tySequence__DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
typedef struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ tySequence__DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
typedef struct tySequence__MvZmat48bhe9b6x9aUD58D5Q tySequence__MvZmat48bhe9b6x9aUD58D5Q;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct tyTuple__zwpS6d6iewrdlBSTNFoyVA tyTuple__zwpS6d6iewrdlBSTNFoyVA;

/* section: NIM_merge_TYPES */
struct tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag {
tySequence__7PsCyIDXDb8nGSU5UlS9cAA* s;
tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA* graphs;
NIM_BOOL unanalysableMutation;
NIM_BOOL performCursorInference;
NI inAsgnSource;
NI inConstructor;
NI inNoSideEffectSection;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* data;
};
typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence__Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
} _kind_1;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
} _kind_2;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
NI alignment;
} _kind_4;
};
tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* name;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
};
typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* tyArray__PsPyPA45AAjHu4uDGHNjTg[6];
struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray__PsPyPA45AAjHu4uDGHNjTg attachedOps;
tySequence__MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
NI uniqueId;
};
typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
} _kind_4;
struct {tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
NimStringDesc* comment;
};
typedef NU8 tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ;
typedef NU8 tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA;
struct tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA {
tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ flags;
tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA kind;
union{
NI parent;
NI graphIndex;
};
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
};
typedef NU8 tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ;
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw;
struct tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug {
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* param;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q mutatedHere;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q connectedVia;
tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw flags;
};
typedef NU8 tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw;
typedef NU64 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__M46oZaFErZrJhpbqd9adDQg) (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
struct tyTuple__zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__7PsCyIDXDb8nGSU5UlS9cAA {
  TGenericSeq Sup;
  tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA data[SEQ_DECL_SIZE];
};
struct tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA {
  TGenericSeq Sup;
  tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug data[SEQ_DECL_SIZE];
};
struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence__Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence__MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple__zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, registerVariable__MTx9aqQcHjOG7Y3GcfwyisQ)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__7PsCyIDXDb8nGSU5UlS9cAA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
static N_NIMCALL(void, Marker_tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA)(void* p, NI op);
static N_INLINE(NI, safeLen__P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__UPSW0jLTX5qJL51YMUAHgw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, deps__zhnEtb59cIvsKY59c2ohiC7A)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(void, allRoots__Qv5oXdlV9ba9buFS9a12wMLLw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__DfgJFJEYoj4YBAHLZPl5lQ** result, NIM_BOOL followDotExpr);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg, getMagic__4W1ZJaFiusqlhViRx9cbM9bw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
static N_INLINE(NI, len__5mJADrRYkP3r9auuiuDZN9cQast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
static N_INLINE(NIM_BOOL, isCompileTimeOnly__F9ciDIanrWYqbJ4rgLlNAAg_3types)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
static N_INLINE(NIM_BOOL, isEmptyType__nPImuPGZIdcrAfCNyf4oxA_2ast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAlias__jIVi9bzs9agwC20URygUSbDA)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* arg, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* ret);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__QA5oWYPirn9bgEvrXiCsgVg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyProc__M46oZaFErZrJhpbqd9adDQg predicate);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__cUxwrEV3U05oH6XIGBUvVg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(void, potentialMutation__z9bvsGPZpuLBe2eWE6jHgxA)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
static N_INLINE(NI, variableId__0pT9cxAL3FquY9cUgC3R7xGQvarpartitions)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* x);
N_LIB_PRIVATE N_NIMCALL(NI, root__gA4jbgjuMZouJJWZSjLrIg)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, NI start);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___59bygf5b7AsTVb9a1lVM66oA)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
N_LIB_PRIVATE N_NIMCALL(void, connect__8fetAzrI3XuRmHA5WaXvMg)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* a, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* b, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(void, analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasDisabledAsgn__aVxWxXLmf103vwE8uZ9cXRw_2)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rhsIsSink__MTx9aqQcHjOG7Y3GcfwyisQ_3)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, noCursor__rXTe0qFn2hkwCUsPkYI5Mg)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipColon__UPSW0jLTX5qJL51YMUAHgw_3)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__Pjztiiq9bHmTTxDuLd39cNRw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSideEffect__o7Sjy4adraWNg67FeaH7Nw)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* info);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___aQsiZUvE4SFfnWyKx1JgKA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);

/* section: NIM_merge_DATA */
N_LIB_PRIVATE TNimType NTI__9bUY0kR5KFdp9cLhJiAMwmwA_;
N_LIB_PRIVATE TNimType NTI__F7v3qXI9a6XJkYmtFhBnwUQ_;
N_LIB_PRIVATE TNimType NTI__aPvbyqN5lPiKM7xpscHQuw_;
N_LIB_PRIVATE TNimType NTI__TA6PMQGIDoHplflSd7kZxA_;
TNimNode* NimDT___9bUY0kR5KFdp9cLhJiAMwmwA_kind[4];
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__K9bspPztfoWajecnwjyHuYQ_;
N_LIB_PRIVATE TNimType NTI__7PsCyIDXDb8nGSU5UlS9cAA_;
N_LIB_PRIVATE TNimType NTI__0Sg6dzXBBdtdBAkDWxEFug_;
extern TNimType NTI__WGx4rAexNXnczy1Avn646Q_;
N_LIB_PRIVATE TNimType NTI__mxQvR0HTC631bhUr6jBDDw_;
N_LIB_PRIVATE TNimType NTI__o2yv2nZi9a9cCH8g7WNv9aEew_;
N_LIB_PRIVATE TNimType NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_;
extern TNimType NTI__DfgJFJEYoj4YBAHLZPl5lQ_;
static NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q TM__39a9bfgg3gnILXo9by9cxATh0Q_13 = {((NU16) 0), ((NI16) -1), ((NI32) -1)}
;
STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_14, "\012an object reachable from \'", 27);
STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_15, "\' is potentially mutated", 24);
STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_16, "\012", 1);
STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_17, " the mutation is here", 21);
STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_18, " is the statement that connected the mutation to the parameter", 62);

/* section: NIM_merge_VARS */
extern NIM_BOOL nimInErrorMode__759bT87luu8XGcbkw13FUjA;

/* section: NIM_merge_PROCS */
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (NIM_BOOL*)0;
	result = (&nimInErrorMode__759bT87luu8XGcbkw13FUjA);
	return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
	result = T1_;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__7PsCyIDXDb8nGSU5UlS9cAA)(void* p, NI op) {
	tySequence__7PsCyIDXDb8nGSU5UlS9cAA* a;
	NI T1_;
	a = (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	switch (a->data[T1_].kind) {
	case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0):
	break;
	case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1):
	break;
	case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2):
	break;
	} 
	nimGCvisit((void*)a->data[T1_].sym, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA)(void* p, NI op) {
	tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA* a;
	NI T1_;
	a = (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].param, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, registerVariable__MTx9aqQcHjOG7Y3GcfwyisQ)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
		{
			NIM_BOOL T7_;
			tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T11_;
			NI T12_;
			NI T13_;
			tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug T14_;
			NI T15_;
			T7_ = (NIM_BOOL)0;
			T7_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			if (!(T7_)) goto LA8_;
			T7_ = !(((*(*(*n)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
			LA8_: ;
			if (!T7_) goto LA9_;
			nimZeroMem((void*)(&T11_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			nimZeroMem((void*)(&T11_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			T11_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2);
			T12_ = ((*c).graphs ? (*c).graphs->Sup.len : 0);
			T11_.graphIndex = T12_;
			T11_.sym = (*n)._kind_4.sym;
			(*c).s = (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*) incrSeqV3((TGenericSeq*)((*c).s), (&NTI__7PsCyIDXDb8nGSU5UlS9cAA_));
			T13_ = (*c).s->Sup.len++;
			genericAssign((void*)(&(*c).s->data[T13_]), (void*)(&T11_), (&NTI__9bUY0kR5KFdp9cLhJiAMwmwA_));
			nimZeroMem((void*)(&T14_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
			nimZeroMem((void*)(&T14_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
			T14_.param = (*n)._kind_4.sym;
			nimZeroMem((void*)(&T14_.mutatedHere), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
			T14_.mutatedHere.line = ((NU16) 0);
			T14_.mutatedHere.col = ((NI16) -1);
			T14_.mutatedHere.fileIndex = ((NI32) -1);
			nimZeroMem((void*)(&T14_.connectedVia), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
			T14_.connectedVia.line = ((NU16) 0);
			T14_.connectedVia.col = ((NI16) -1);
			T14_.connectedVia.fileIndex = ((NI32) -1);
			T14_.flags = 2;
			(*c).graphs = (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*) incrSeqV3((TGenericSeq*)((*c).graphs), (&NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_));
			T15_ = (*c).graphs->Sup.len++;
			(*c).graphs->data[T15_].param = T14_.param;
			(*c).graphs->data[T15_].mutatedHere = T14_.mutatedHere;
			(*c).graphs->data[T15_].connectedVia = T14_.connectedVia;
			(*c).graphs->data[T15_].flags = T14_.flags;
		}
		goto LA5_;
		LA9_: ;
		{
			tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T17_;
			NI T18_;
			nimZeroMem((void*)(&T17_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			nimZeroMem((void*)(&T17_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			T17_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0);
			T17_.sym = (*n)._kind_4.sym;
			(*c).s = (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*) incrSeqV3((TGenericSeq*)((*c).s), (&NTI__7PsCyIDXDb8nGSU5UlS9cAA_));
			T18_ = (*c).s->Sup.len++;
			genericAssign((void*)(&(*c).s->data[T18_]), (void*)(&T17_), (&NTI__9bUY0kR5KFdp9cLhJiAMwmwA_));
		}
		LA5_: ;
	}
	LA3_: ;
}
static N_INLINE(NI, safeLen__P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len__P89cqdlERShb9alU3iC0yj8wast(n);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, len__5mJADrRYkP3r9auuiuDZN9cQast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly__F9ciDIanrWYqbJ4rgLlNAAg_3types)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((IL64(1152921504606847232) &((NU64)1<<((NU)((*t).kind)&63U)))!=0);
	return result;
}
static N_INLINE(NIM_BOOL, isEmptyType__nPImuPGZIdcrAfCNyf4oxA_2ast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (t == NIM_NIL);
	if (T1_) goto LA2_;
	T1_ = ((IL64(-9223372036854775680) &((NU64)1<<((NU)((*t).kind)&63U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, allRoots__Qv5oXdlV9ba9buFS9a12wMLLw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__DfgJFJEYoj4YBAHLZPl5lQ** result, NIM_BOOL followDotExpr) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		{
			NI T6_;
			if (!((2100008 &(1U<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA4_;
			(*result) = (tySequence__DfgJFJEYoj4YBAHLZPl5lQ*) incrSeqV3((TGenericSeq*)((*result)), (&NTI__DfgJFJEYoj4YBAHLZPl5lQ_));
			T6_ = (*result)->Sup.len++;
			(*result)->data[T6_] = (*n)._kind_4.sym;
		}
		LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	{
		{
			if (!followDotExpr) goto LA10_;
			allRoots__Qv5oXdlV9ba9buFS9a12wMLLw((*n)._kind_6.sons->data[((NI) 0)], result, followDotExpr);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA10_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
	{
		{
			NI T15_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
			T15_ = (NI)0;
			T15_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI) 0) < T15_)) goto LA16_;
			T18_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T18_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(T18_, result, followDotExpr);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA16_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
					if (!(i_2 < colontmp_)) goto LA22;
					i = i_2;
					T23_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T23_ = lastSon__UPSW0jLTX5qJL51YMUAHgw((*n)._kind_6.sons->data[i]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(T23_, result, followDotExpr);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI) 1);
				} LA22: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI) 0);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
					if (!(i_4 < colontmp__2)) goto LA27;
					i_3 = i_4;
					T28_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T28_ = lastSon__UPSW0jLTX5qJL51YMUAHgw((*n)._kind_6.sons->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(T28_, result, followDotExpr);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI) 1);
				} LA27: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
	{
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_6 = ((NI) 0);
			{
				while (1) {
					if (!(i_6 < colontmp__3)) goto LA32;
					i_5 = i_6;
					allRoots__Qv5oXdlV9ba9buFS9a12wMLLw((*n)._kind_6.sons->data[i_5], result, followDotExpr);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_6 += ((NI) 1);
				} LA32: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		{
			NIM_BOOL T36_;
			T36_ = (NIM_BOOL)0;
			T36_ = !(((*n).typ == NIM_NIL));
			if (!(T36_)) goto LA37_;
			T36_ = ((IL64(140737496743936) &((NU64)1<<((NU)((*(*n).typ).kind)&63U)))!=0);
			LA37_: ;
			if (!T36_) goto LA38_;
			{
				NI T42_;
				T42_ = (NI)0;
				T42_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(((NI) 1) < T42_)) goto LA43_;
				allRoots__Qv5oXdlV9ba9buFS9a12wMLLw((*n)._kind_6.sons->data[((NI) 1)], result, followDotExpr);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			LA43_: ;
		}
		goto LA34_;
		LA38_: ;
		{
			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m;
			m = getMagic__4W1ZJaFiusqlhViRx9cbM9bw(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			switch (m) {
			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
				{
					if (!((*(*n)._kind_6.sons->data[((NI) 0)]).typ == 0)) goto LA49_;
					goto BeforeRet_;
				}
				LA49_: ;
				typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
				{
					if (!!((typ == NIM_NIL))) goto LA53_;
					typ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(typ, IL64(36134350135273744));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)))) goto LA57_;
						typ = NIM_NIL;
					}
					goto LA55_;
					LA57_: ;
					{
					}
					LA55_: ;
				}
				LA53_: ;
				{
					NI i_7;
					NI colontmp__4;
					NI i_8;
					i_7 = (NI)0;
					colontmp__4 = (NI)0;
					colontmp__4 = len__P89cqdlERShb9alU3iC0yj8wast(n);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_8 = ((NI) 1);
					{
						while (1) {
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
							if (!(i_8 < colontmp__4)) goto LA62;
							i_7 = i_8;
							it = (*n)._kind_6.sons->data[i_7];
							{
								NIM_BOOL T65_;
								NI T67_;
								tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* paramType;
								T65_ = (NIM_BOOL)0;
								T65_ = !((typ == NIM_NIL));
								if (!(T65_)) goto LA66_;
								T67_ = (NI)0;
								T67_ = len__5mJADrRYkP3r9auuiuDZN9cQast(typ);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								T65_ = (i_7 < T67_);
								LA66_: ;
								if (!T65_) goto LA68_;
								paramType = (*(*(*typ).n)._kind_6.sons->data[i_7]).typ;
								{
									NIM_BOOL T72_;
									NIM_BOOL T73_;
									NIM_BOOL T74_;
									NIM_BOOL T76_;
									T72_ = (NIM_BOOL)0;
									T73_ = (NIM_BOOL)0;
									T74_ = (NIM_BOOL)0;
									T74_ = isCompileTimeOnly__F9ciDIanrWYqbJ4rgLlNAAg_3types(paramType);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									T73_ = !(T74_);
									if (!(T73_)) goto LA75_;
									T76_ = (NIM_BOOL)0;
									T76_ = isEmptyType__nPImuPGZIdcrAfCNyf4oxA_2ast((*typ).sons->data[((NI) 0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									T73_ = !(T76_);
									LA75_: ;
									T72_ = T73_;
									if (!(T72_)) goto LA77_;
									T72_ = canAlias__jIVi9bzs9agwC20URygUSbDA(paramType, (*typ).sons->data[((NI) 0)]);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									LA77_: ;
									if (!T72_) goto LA78_;
									allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(it, result, followDotExpr);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								}
								LA78_: ;
							}
							goto LA63_;
							LA68_: ;
							{
								allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(it, result, followDotExpr);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
							LA63_: ;
							i_8 += ((NI) 1);
						} LA62: ;
					}
				}
			}
			break;
			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126):
			{
				allRoots__Qv5oXdlV9ba9buFS9a12wMLLw((*n)._kind_6.sons->data[((NI) 1)], result, followDotExpr);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			default:
			{
			}
			break;
			}
		}
		LA34_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__cUxwrEV3U05oH6XIGBUvVg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((6291456 &((NU64)1<<((NU)((*t).kind)&63U)))!=0);
	return result;
}
static N_INLINE(NI, variableId__0pT9cxAL3FquY9cUgC3R7xGQvarpartitions)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* x) {
	NI result;
{	result = (NI)0;
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = ((*c).s ? (*c).s->Sup.len : 0);
		colontmp_ = T2_;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				{
					if (!((*c).s->data[i].sym == x)) goto LA7_;
					result = i;
					goto BeforeRet_;
				}
				LA7_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	result = ((NI) -1);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
N_LIB_PRIVATE N_NIMCALL(NI, root__gA4jbgjuMZouJJWZSjLrIg)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, NI start) {
	NI result;
	NI depth;
	result = (NI)0;
	result = start;
	depth = ((NI) 0);
	{
		while (1) {
			if (!((*v).s->data[result].kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1))) goto LA2;
			result = (*v).s->data[result].parent;
			depth += ((NI) 1);
		} LA2: ;
	}
	{
		NI it;
		if (!(((NI) 0) < depth)) goto LA5_;
		it = start;
		{
			while (1) {
				NI next;
				tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T9_;
				if (!((*v).s->data[it].kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1))) goto LA8;
				next = (*v).s->data[it].parent;
				nimZeroMem((void*)(&T9_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
				nimZeroMem((void*)(&T9_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
				T9_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1);
				T9_.parent = result;
				T9_.sym = (*v).s->data[it].sym;
				T9_.flags = (*v).s->data[it].flags;
				nimCopyMem((void*)(&(*v).s->data[it]), (NIM_CONST void*)(&T9_), sizeof((*v).s->data[it]));
				it = next;
			} LA8: ;
		}
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, potentialMutation__z9bvsGPZpuLBe2eWE6jHgxA)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NI id;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	id = variableId__0pT9cxAL3FquY9cUgC3R7xGQvarpartitions((&(*v)), s);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI r;
		if (!(((NI) 0) <= id)) goto LA3_;
		r = root__gA4jbgjuMZouJJWZSjLrIg(v, id);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		switch ((*v).s->data[r].kind) {
		case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0):
		{
			tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T6_;
			NI T7_;
			tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug T8_;
			NI T16_;
			nimZeroMem((void*)(&T6_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			nimZeroMem((void*)(&T6_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			T6_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2);
			T7_ = ((*v).graphs ? (*v).graphs->Sup.len : 0);
			T6_.graphIndex = T7_;
			T6_.sym = (*v).s->data[r].sym;
			T6_.flags = (*v).s->data[r].flags;
			nimCopyMem((void*)(&(*v).s->data[r]), (NIM_CONST void*)(&T6_), sizeof((*v).s->data[r]));
			nimZeroMem((void*)(&T8_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
			nimZeroMem((void*)(&T8_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				if (!(T11_)) goto LA12_;
				T11_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
				LA12_: ;
				if (!T11_) goto LA13_;
				T8_.param = s;
			}
			goto LA9_;
			LA13_: ;
			{
				T8_.param = NIM_NIL;
			}
			LA9_: ;
			T8_.mutatedHere = info;
			nimZeroMem((void*)(&T8_.connectedVia), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
			T8_.connectedVia.line = ((NU16) 0);
			T8_.connectedVia.col = ((NI16) -1);
			T8_.connectedVia.fileIndex = ((NI32) -1);
			T8_.flags = 1;
			(*v).graphs = (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*) incrSeqV3((TGenericSeq*)((*v).graphs), (&NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_));
			T16_ = (*v).graphs->Sup.len++;
			(*v).graphs->data[T16_].param = T8_.param;
			(*v).graphs->data[T16_].mutatedHere = T8_.mutatedHere;
			(*v).graphs->data[T16_].connectedVia = T8_.connectedVia;
			(*v).graphs->data[T16_].flags = T8_.flags;
		}
		break;
		case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2):
		{
			tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g;
			g = (&(*v).graphs->data[(*v).s->data[r].graphIndex]);
			{
				NIM_BOOL T20_;
				NIM_BOOL T22_;
				T20_ = (NIM_BOOL)0;
				T20_ = ((*g).param == NIM_NIL);
				if (!(T20_)) goto LA21_;
				T22_ = (NIM_BOOL)0;
				T22_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				if (!(T22_)) goto LA23_;
				T22_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
				LA23_: ;
				T20_ = T22_;
				LA21_: ;
				if (!T20_) goto LA24_;
				(*g).param = s;
			}
			LA24_: ;
			{
				NIM_BOOL T28_;
				T28_ = (NIM_BOOL)0;
				T28_ = eqeq___59bygf5b7AsTVb9a1lVM66oA((*g).mutatedHere, TM__39a9bfgg3gnILXo9by9cxATh0Q_13);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T28_) goto LA29_;
				(*g).mutatedHere = info;
			}
			LA29_: ;
			(*g).flags |= ((NU8)1)<<((((tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw) 0)) & 7);
		}
		break;
		default:
		{
		}
		break;
		}
	}
	goto LA1_;
	LA3_: ;
	{
		(*v).unanalysableMutation = NIM_TRUE;
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, connect__8fetAzrI3XuRmHA5WaXvMg)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* a, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* b, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NI aid;
	NI bid;
	NI ra;
	NI rb;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	aid = variableId__0pT9cxAL3FquY9cUgC3R7xGQvarpartitions((&(*v)), a);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(aid < ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	bid = variableId__0pT9cxAL3FquY9cUgC3R7xGQvarpartitions((&(*v)), b);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(bid < ((NI) 0))) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	ra = root__gA4jbgjuMZouJJWZSjLrIg(v, aid);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rb = root__gA4jbgjuMZouJJWZSjLrIg(v, bid);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* param;
		tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw paramFlags;
		tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw rbFlags;
		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q mutatedHere;
		tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T37_;
		if (!!((ra == rb))) goto LA11_;
		param = NIM_NIL;
		{
			NIM_BOOL T15_;
			T15_ = (NIM_BOOL)0;
			T15_ = ((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			if (!(T15_)) goto LA16_;
			T15_ = !(((*(*a).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
			LA16_: ;
			if (!T15_) goto LA17_;
			param = a;
		}
		goto LA13_;
		LA17_: ;
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = ((*b).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			if (!(T20_)) goto LA21_;
			T20_ = !(((*(*b).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
			LA21_: ;
			if (!T20_) goto LA22_;
			param = b;
		}
		goto LA13_;
		LA22_: ;
		LA13_: ;
		{
			if (!!((param == NIM_NIL))) goto LA26_;
			paramFlags = 2;
		}
		goto LA24_;
		LA26_: ;
		{
			paramFlags = 0;
		}
		LA24_: ;
		rbFlags = 0;
		nimZeroMem((void*)(&mutatedHere), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
		mutatedHere.line = ((NU16) 0);
		mutatedHere.col = ((NI16) -1);
		mutatedHere.fileIndex = ((NI32) -1);
		{
			tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* gb;
			if (!((*v).s->data[rb].kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2))) goto LA31_;
			gb = (&(*v).graphs->data[(*v).s->data[rb].graphIndex]);
			{
				if (!(param == NIM_NIL)) goto LA35_;
				param = (*gb).param;
			}
			LA35_: ;
			mutatedHere = (*gb).mutatedHere;
			rbFlags = (*gb).flags;
		}
		LA31_: ;
		nimZeroMem((void*)(&T37_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
		nimZeroMem((void*)(&T37_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
		T37_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1);
		T37_.parent = ra;
		T37_.sym = (*v).s->data[rb].sym;
		T37_.flags = (*v).s->data[rb].flags;
		nimCopyMem((void*)(&(*v).s->data[rb]), (NIM_CONST void*)(&T37_), sizeof((*v).s->data[rb]));
		switch ((*v).s->data[ra].kind) {
		case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0):
		{
			tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T39_;
			NI T40_;
			tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug T41_;
			NI T42_;
			nimZeroMem((void*)(&T39_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			nimZeroMem((void*)(&T39_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
			T39_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2);
			T40_ = ((*v).graphs ? (*v).graphs->Sup.len : 0);
			T39_.graphIndex = T40_;
			T39_.sym = (*v).s->data[ra].sym;
			T39_.flags = (*v).s->data[ra].flags;
			nimCopyMem((void*)(&(*v).s->data[ra]), (NIM_CONST void*)(&T39_), sizeof((*v).s->data[ra]));
			nimZeroMem((void*)(&T41_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
			nimZeroMem((void*)(&T41_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
			T41_.param = param;
			T41_.mutatedHere = mutatedHere;
			T41_.connectedVia = info;
			T41_.flags = (paramFlags | rbFlags);
			(*v).graphs = (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*) incrSeqV3((TGenericSeq*)((*v).graphs), (&NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_));
			T42_ = (*v).graphs->Sup.len++;
			(*v).graphs->data[T42_].param = T41_.param;
			(*v).graphs->data[T42_].mutatedHere = T41_.mutatedHere;
			(*v).graphs->data[T42_].connectedVia = T41_.connectedVia;
			(*v).graphs->data[T42_].flags = T41_.flags;
		}
		break;
		case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2):
		{
			tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g;
			g = (&(*v).graphs->data[(*v).s->data[ra].graphIndex]);
			{
				if (!((*g).param == NIM_NIL)) goto LA46_;
				(*g).param = param;
			}
			LA46_: ;
			{
				NIM_BOOL T50_;
				T50_ = (NIM_BOOL)0;
				T50_ = eqeq___59bygf5b7AsTVb9a1lVM66oA((*g).mutatedHere, TM__39a9bfgg3gnILXo9by9cxATh0Q_13);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T50_) goto LA51_;
				(*g).mutatedHere = mutatedHere;
			}
			LA51_: ;
			(*g).connectedVia = info;
			(*g).flags = ((*g).flags | (paramFlags | rbFlags));
		}
		break;
		default:
		{
		}
		break;
		}
	}
	LA11_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
	{
		analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, (*n)._kind_6.sons->data[((NI) 1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
					if (!(i_2 < colontmp_)) goto LA6;
					i = i_2;
					T7_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T7_ = lastSon__UPSW0jLTX5qJL51YMUAHgw((*n)._kind_6.sons->data[i]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, T7_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI) 1);
				} LA6: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
					if (!(i_4 < colontmp__2)) goto LA11;
					i_3 = i_4;
					T12_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T12_ = lastSon__UPSW0jLTX5qJL51YMUAHgw((*n)._kind_6.sons->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, T12_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI) 1);
				} LA11: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	{
		{
			NI T16_;
			NI T19_;
			T16_ = (NI)0;
			T16_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI) 0) < T16_)) goto LA17_;
			T19_ = (NI)0;
			T19_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, (*n)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA17_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_6 = ((NI) 1);
			{
				while (1) {
					if (!(i_6 < colontmp__3)) goto LA23;
					i_5 = i_6;
					analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, (*n)._kind_6.sons->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_6 += ((NI) 1);
				} LA23: ;
			}
		}
		(*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		{
			NI i_7;
			NI colontmp__4;
			NI i_8;
			i_7 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_8 = ((NI) 1);
			{
				while (1) {
					if (!(i_8 < colontmp__4)) goto LA27;
					i_7 = i_8;
					analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, (*n)._kind_6.sons->data[i_7]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_8 += ((NI) 1);
				} LA27: ;
			}
		}
		{
			if (!!(((IL64(2147483664) & (*(*n).typ).flags) == 0))) goto LA30_;
			(*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
		}
		LA30_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		(*c).inConstructor += ((NI) 1);
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
			son = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_9;
				NI colontmp__5;
				NI i_10;
				i_9 = (NI)0;
				colontmp__5 = (NI)0;
				colontmp__5 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_10 = ((NI) 0);
				{
					while (1) {
						if (!(i_10 < colontmp__5)) goto LA36;
						i_9 = i_10;
						son = (*n)._kind_6.sons->data[i_9];
						analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, son);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_10 += ((NI) 1);
					} LA36: ;
				}
			}
		}
		(*c).inConstructor -= ((NI) 1);
		{
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T39_;
			T39_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T39_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*n).typ, IL64(36134350135273744));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!((*T39_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA40_;
			(*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
		}
		LA40_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		{
			if (!((2100008 &(1U<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA45_;
			{
				if (!!((((*(*n)._kind_4.sym).flags & 67108872) == 0))) goto LA49_;
				(*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
			}
			goto LA47_;
			LA49_: ;
			{
				connect__8fetAzrI3XuRmHA5WaXvMg(c, (*dest).sym, (*n)._kind_4.sym, (*n).info);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((NI) 0) < (*c).inConstructor)) goto LA54_;
					(*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
				}
				LA54_: ;
			}
			LA47_: ;
		}
		LA45_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	{
		analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, (*n)._kind_6.sons->data[((NI) 0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		{
			if (!!(((IL64(2147483664) & (*(*n).typ).flags) == 0))) goto LA60_;
			(*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
		}
		goto LA58_;
		LA60_: ;
		{
			tySequence__DfgJFJEYoj4YBAHLZPl5lQ* roots;
			if (!((IL64(140737496743936) &((NU64)1<<((NU)((*(*n).typ).kind)&63U)))!=0)) goto LA63_;
			roots = (tySequence__DfgJFJEYoj4YBAHLZPl5lQ*)0;
			allRoots__Qv5oXdlV9ba9buFS9a12wMLLw((*n)._kind_6.sons->data[((NI) 1)], (&roots), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w** r;
				NI i_11;
				NI L;
				NI T66_;
				r = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w**)0;
				i_11 = ((NI) 0);
				T66_ = (roots ? roots->Sup.len : 0);
				L = T66_;
				{
					while (1) {
						if (!(i_11 < L)) goto LA68;
						r = &roots->data[i_11];
						connect__8fetAzrI3XuRmHA5WaXvMg(c, (*dest).sym, (*r), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_11 += ((NI) 1);
					} LA68: ;
				}
			}
		}
		goto LA58_;
		LA63_: ;
		{
			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA72_;
				magic = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic;
			}
			goto LA70_;
			LA72_: ;
			{
				magic = ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0);
			}
			LA70_: ;
			{
				if (!(magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144))) goto LA77_;
				{
					NI i_12;
					NI colontmp__6;
					NI i_13;
					i_12 = (NI)0;
					colontmp__6 = (NI)0;
					colontmp__6 = len__P89cqdlERShb9alU3iC0yj8wast(n);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_13 = ((NI) 1);
					{
						while (1) {
							if (!(i_13 < colontmp__6)) goto LA81;
							i_12 = i_13;
							{
								tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T84_;
								T84_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
								T84_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*(*n)._kind_6.sons->data[i_12]).typ, IL64(211106240923664));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								if (!!(((IL64(2147483664) & (*T84_).flags) == 0))) goto LA85_;
								analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(c, dest, (*n)._kind_6.sons->data[i_12]);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
							LA85_: ;
							i_13 += ((NI) 1);
						} LA81: ;
					}
				}
			}
			LA77_: ;
		}
		LA58_: ;
	}
	break;
	default:
	{
		(*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, noCursor__rXTe0qFn2hkwCUsPkYI5Mg)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s) {
	NI vid;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	vid = variableId__0pT9cxAL3FquY9cUgC3R7xGQvarpartitions((&(*c)), s);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= vid)) goto LA3_;
		(*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
	}
	LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rhsIsSink__MTx9aqQcHjOG7Y3GcfwyisQ_3)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T3_)) goto LA4_;
		T5_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T5_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*n).typ, IL64(36099165763184912));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = ((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
		LA4_: ;
		if (!T3_) goto LA6_;
	}
	goto LA1_;
	LA6_: ;
	{
		tySequence__DfgJFJEYoj4YBAHLZPl5lQ* roots;
		roots = (tySequence__DfgJFJEYoj4YBAHLZPl5lQ*)0;
		allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(n, (&roots), NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w** r;
			NI i;
			NI L;
			NI T10_;
			r = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w**)0;
			i = ((NI) 0);
			T10_ = (roots ? roots->Sup.len : 0);
			L = T10_;
			{
				while (1) {
					if (!(i < L)) goto LA12;
					r = &roots->data[i];
					noCursor__rXTe0qFn2hkwCUsPkYI5Mg(c, (*r));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i += ((NI) 1);
				} LA12: ;
			}
		}
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, deps__zhnEtb59cIvsKY59c2ohiC7A)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
	tySequence__DfgJFJEYoj4YBAHLZPl5lQ* targets;
	tySequence__DfgJFJEYoj4YBAHLZPl5lQ* sources;
	NIM_BOOL destIsComplex;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	targets = (tySequence__DfgJFJEYoj4YBAHLZPl5lQ*)0;
	sources = (tySequence__DfgJFJEYoj4YBAHLZPl5lQ*)0;
	allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(dest, (&targets), NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(src, (&sources), NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	destIsComplex = searchTypeFor__QA5oWYPirn9bgEvrXiCsgVg((*dest).typ, wrap__cUxwrEV3U05oH6XIGBUvVg);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w** t;
		NI i;
		NI L;
		NI T2_;
		t = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w**)0;
		i = ((NI) 0);
		T2_ = (targets ? targets->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				t = &targets->data[i];
				{
					if (!!(((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA7_;
					potentialMutation__z9bvsGPZpuLBe2eWE6jHgxA(c, (*t), (*dest).info);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA7_: ;
				{
					if (!destIsComplex) goto LA11_;
					{
						tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w** s;
						NI i_2;
						NI L_2;
						NI T14_;
						s = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w**)0;
						i_2 = ((NI) 0);
						T14_ = (sources ? sources->Sup.len : 0);
						L_2 = T14_;
						{
							while (1) {
								if (!(i_2 < L_2)) goto LA16;
								s = &sources->data[i_2];
								connect__8fetAzrI3XuRmHA5WaXvMg(c, (*t), (*s), (*dest).info);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								i_2 += ((NI) 1);
							} LA16: ;
						}
					}
				}
				LA11_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	{
		NIM_BOOL T19_;
		T19_ = (NIM_BOOL)0;
		T19_ = (*c).performCursorInference;
		if (!(T19_)) goto LA20_;
		T19_ = !(((*src).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA20_: ;
		if (!T19_) goto LA21_;
		{
			NI vid;
			if (!((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA25_;
			vid = variableId__0pT9cxAL3FquY9cUgC3R7xGQvarpartitions((&(*c)), (*dest)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* T31_;
				if (!(((NI) 0) <= vid)) goto LA29_;
				T31_ = (tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag*)0;
				T31_ = c;
				analyseAsgn__trbOAp2zfKMe9aImNg9bXcjQ(T31_, (&(*c).s->data[vid]), src);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T34_;
					NIM_BOOL T36_;
					NIM_BOOL T38_;
					T34_ = (NIM_BOOL)0;
					T34_ = ((*src).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T34_)) goto LA35_;
					T36_ = (NIM_BOOL)0;
					T36_ = ((2336 &(1U<<((NU)((*(*src)._kind_4.sym).kind)&31U)))!=0);
					if (T36_) goto LA37_;
					T38_ = (NIM_BOOL)0;
					T38_ = ((2097672 &(1U<<((NU)((*(*src)._kind_4.sym).kind)&31U)))!=0);
					if (!(T38_)) goto LA39_;
					T38_ = hasDisabledAsgn__aVxWxXLmf103vwE8uZ9cXRw_2((*(*src)._kind_4.sym).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					LA39_: ;
					T36_ = T38_;
					LA37_: ;
					T34_ = T36_;
					LA35_: ;
					if (!T34_) goto LA40_;
					(*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
				}
				LA40_: ;
			}
			LA29_: ;
		}
		LA25_: ;
		{
			if (!!(((IL64(2147483664) & (*(*src).typ).flags) == 0))) goto LA44_;
			rhsIsSink__MTx9aqQcHjOG7Y3GcfwyisQ_3(c, src);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA44_: ;
	}
	LA21_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
			child = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last;
						if (!(i_2 < colontmp_)) goto LA5;
						i = i_2;
						child = (*n)._kind_6.sons->data[i];
						last = lastSon__UPSW0jLTX5qJL51YMUAHgw(child);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, last);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							NIM_BOOL T8_;
							T8_ = (NIM_BOOL)0;
							T8_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
							if (!(T8_)) goto LA9_;
							T8_ = ((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
							LA9_: ;
							if (!T8_) goto LA10_;
							{
								NI T14_;
								NI T15_;
								T14_ = (NI)0;
								T14_ = len__P89cqdlERShb9alU3iC0yj8wast(child);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								T15_ = (NI)0;
								T15_ = len__P89cqdlERShb9alU3iC0yj8wast(last);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								if (!!(((NI)(T14_ - ((NI) 2)) == T15_))) goto LA16_;
								goto BeforeRet_;
							}
							LA16_: ;
							{
								NI i_3;
								NI colontmp__2;
								NI T19_;
								NI i_4;
								i_3 = (NI)0;
								colontmp__2 = (NI)0;
								T19_ = (NI)0;
								T19_ = len__P89cqdlERShb9alU3iC0yj8wast(child);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								colontmp__2 = (NI)(T19_ - ((NI) 2));
								i_4 = ((NI) 0);
								{
									while (1) {
										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
										if (!(i_4 < colontmp__2)) goto LA21;
										i_3 = i_4;
										registerVariable__MTx9aqQcHjOG7Y3GcfwyisQ(c, (*child)._kind_6.sons->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										T22_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
										T22_ = (*child)._kind_6.sons->data[i_3];
										deps__zhnEtb59cIvsKY59c2ohiC7A(c, T22_, (*last)._kind_6.sons->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										i_4 += ((NI) 1);
									} LA21: ;
								}
							}
						}
						goto LA6_;
						LA10_: ;
						{
							{
								NI i_5;
								NI colontmp__3;
								NI T25_;
								NI i_6;
								i_5 = (NI)0;
								colontmp__3 = (NI)0;
								T25_ = (NI)0;
								T25_ = len__P89cqdlERShb9alU3iC0yj8wast(child);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								colontmp__3 = (NI)(T25_ - ((NI) 2));
								i_6 = ((NI) 0);
								{
									while (1) {
										if (!(i_6 < colontmp__3)) goto LA27;
										i_5 = i_6;
										registerVariable__MTx9aqQcHjOG7Y3GcfwyisQ(c, (*child)._kind_6.sons->data[i_5]);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										deps__zhnEtb59cIvsKY59c2ohiC7A(c, (*child)._kind_6.sons->data[i_5], last);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										i_6 += ((NI) 1);
									} LA27: ;
								}
							}
						}
						LA6_: ;
						i_2 += ((NI) 1);
					} LA5: ;
				}
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
		traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, (*n)._kind_6.sons->data[((NI) 0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*c).inAsgnSource += ((NI) 1);
		traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, (*n)._kind_6.sons->data[((NI) 1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*c).inAsgnSource -= ((NI) 1);
		T29_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T29_ = (*n)._kind_6.sons->data[((NI) 0)];
		deps__zhnEtb59cIvsKY59c2ohiC7A(c, T29_, (*n)._kind_6.sons->data[((NI) 1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* parameters;
		NI L;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
			child_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_7;
				NI colontmp__4;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_8 = ((NI) 0);
				{
					while (1) {
						if (!(i_8 < colontmp__4)) goto LA35;
						i_7 = i_8;
						child_2 = (*n)._kind_6.sons->data[i_7];
						traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, child_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_8 += ((NI) 1);
					} LA35: ;
				}
			}
		}
		parameters = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
		{
			if (!!((parameters == NIM_NIL))) goto LA38_;
			L = len__5mJADrRYkP3r9auuiuDZN9cQast(parameters);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA36_;
		LA38_: ;
		{
			L = ((NI) 0);
		}
		LA36_: ;
		{
			NI i_9;
			NI colontmp__5;
			NI i_10;
			i_9 = (NI)0;
			colontmp__5 = (NI)0;
			colontmp__5 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_10 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
					if (!(i_10 < colontmp__5)) goto LA43;
					i_9 = i_10;
					it = (*n)._kind_6.sons->data[i_9];
					{
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* paramType;
						if (!(i_9 < L)) goto LA46_;
						paramType = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*parameters).sons->data[i_9], 2064);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							NIM_BOOL T50_;
							NIM_BOOL T51_;
							tySequence__DfgJFJEYoj4YBAHLZPl5lQ* roots;
							T50_ = (NIM_BOOL)0;
							T51_ = (NIM_BOOL)0;
							T51_ = isCompileTimeOnly__F9ciDIanrWYqbJ4rgLlNAAg_3types(paramType);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							T50_ = !(T51_);
							if (!(T50_)) goto LA52_;
							T50_ = ((IL64(105553124655104) &((NU64)1<<((NU)((*paramType).kind)&63U)))!=0);
							LA52_: ;
							if (!T50_) goto LA53_;
							roots = (tySequence__DfgJFJEYoj4YBAHLZPl5lQ*)0;
							allRoots__Qv5oXdlV9ba9buFS9a12wMLLw(it, (&roots), NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							{
								if (!((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA57_;
								{
									if (!((*c).inNoSideEffectSection == ((NI) 0))) goto LA61_;
									{
										tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w** r;
										NI i_11;
										NI L_2;
										NI T64_;
										r = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w**)0;
										i_11 = ((NI) 0);
										T64_ = (roots ? roots->Sup.len : 0);
										L_2 = T64_;
										{
											while (1) {
												if (!(i_11 < L_2)) goto LA66;
												r = &roots->data[i_11];
												potentialMutation__z9bvsGPZpuLBe2eWE6jHgxA(c, (*r), (*it).info);
												if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
												i_11 += ((NI) 1);
											} LA66: ;
										}
									}
								}
								LA61_: ;
							}
							goto LA55_;
							LA57_: ;
							{
								{
									tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w** r_2;
									NI i_12;
									NI L_3;
									NI T69_;
									r_2 = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w**)0;
									i_12 = ((NI) 0);
									T69_ = (roots ? roots->Sup.len : 0);
									L_3 = T69_;
									{
										while (1) {
											if (!(i_12 < L_3)) goto LA71;
											r_2 = &roots->data[i_12];
											noCursor__rXTe0qFn2hkwCUsPkYI5Mg(c, (*r_2));
											if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
											i_12 += ((NI) 1);
										} LA71: ;
									}
								}
							}
							LA55_: ;
						}
						LA53_: ;
					}
					LA46_: ;
					i_10 += ((NI) 1);
				} LA43: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	{
		traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, (*n)._kind_6.sons->data[((NI) 0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_3;
			child_3 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_13;
				NI colontmp__6;
				NI i_14;
				i_13 = (NI)0;
				colontmp__6 = (NI)0;
				colontmp__6 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_14 = ((NI) 0);
				{
					while (1) {
						if (!(i_14 < colontmp__6)) goto LA77;
						i_13 = i_14;
						child_3 = (*n)._kind_6.sons->data[i_13];
						traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, child_3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_14 += ((NI) 1);
					} LA77: ;
				}
			}
		}
		{
			if (!(((NI) 0) < (*c).inAsgnSource)) goto LA80_;
			{
				NI i_15;
				NI colontmp__7;
				NI i_16;
				i_15 = (NI)0;
				colontmp__7 = (NI)0;
				colontmp__7 = len__P89cqdlERShb9alU3iC0yj8wast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_16 = ((NI) 0);
				{
					while (1) {
						if (!(i_16 < colontmp__7)) goto LA84;
						i_15 = i_16;
						{
							if (!((*(*n)._kind_6.sons->data[i_15]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA87_;
							noCursor__rXTe0qFn2hkwCUsPkYI5Mg(c, (*(*n)._kind_6.sons->data[i_15])._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						LA87_: ;
						i_16 += ((NI) 1);
					} LA84: ;
				}
			}
		}
		LA80_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_4;
			child_4 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_17;
				NI colontmp__8;
				NI i_18;
				i_17 = (NI)0;
				colontmp__8 = (NI)0;
				colontmp__8 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_18 = ((NI) 0);
				{
					while (1) {
						if (!(i_18 < colontmp__8)) goto LA93;
						i_17 = i_18;
						child_4 = (*n)._kind_6.sons->data[i_17];
						traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, child_4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_18 += ((NI) 1);
					} LA93: ;
				}
			}
		}
		{
			if (!(((NI) 0) < (*c).inAsgnSource)) goto LA96_;
			{
				NI i_19;
				NI colontmp__9;
				NI i_20;
				i_19 = (NI)0;
				colontmp__9 = (NI)0;
				colontmp__9 = len__P89cqdlERShb9alU3iC0yj8wast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_20 = ((NI) 1);
				{
					while (1) {
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_2;
						if (!(i_20 < colontmp__9)) goto LA100;
						i_19 = i_20;
						it_2 = skipColon__UPSW0jLTX5qJL51YMUAHgw_3((*n)._kind_6.sons->data[i_19]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							if (!((*it_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA103_;
							noCursor__rXTe0qFn2hkwCUsPkYI5Mg(c, (*it_2)._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						LA103_: ;
						i_20 += ((NI) 1);
					} LA100: ;
				}
			}
		}
		LA96_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaList;
		NI enforceNoSideEffects;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T114_;
		pragmaList = (*n)._kind_6.sons->data[((NI) 0)];
		enforceNoSideEffects = ((NI) 0);
		{
			NI i_21;
			NI colontmp__10;
			NI i_22;
			i_21 = (NI)0;
			colontmp__10 = (NI)0;
			colontmp__10 = len__P89cqdlERShb9alU3iC0yj8wast(pragmaList);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_22 = ((NI) 0);
			{
				while (1) {
					if (!(i_22 < colontmp__10)) goto LA108;
					i_21 = i_22;
					{
						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T111_;
						T111_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
						T111_ = whichPragma__Pjztiiq9bHmTTxDuLd39cNRw((*pragmaList)._kind_6.sons->data[i_21]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!(T111_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 105))) goto LA112_;
						enforceNoSideEffects = ((NI) 1);
						goto LA106;
					}
					LA112_: ;
					i_22 += ((NI) 1);
				} LA108: ;
			}
		} LA106: ;
		(*c).inNoSideEffectSection += enforceNoSideEffects;
		T114_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T114_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, T114_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*c).inNoSideEffectSection -= enforceNoSideEffects;
	}
	break;
	default:
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_5;
			child_5 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_23;
				NI colontmp__11;
				NI i_24;
				i_23 = (NI)0;
				colontmp__11 = (NI)0;
				colontmp__11 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_24 = ((NI) 0);
				{
					while (1) {
						if (!(i_24 < colontmp__11)) goto LA119;
						i_23 = i_24;
						child_5 = (*n)._kind_6.sons->data[i_23];
						traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2(c, child_5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_24 += ((NI) 1);
					} LA119: ;
				}
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSideEffect__o7Sjy4adraWNg67FeaH7Nw)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* info) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g;
		NI i;
		NI L;
		NI T2_;
		g = (tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug*)0;
		i = ((NI) 0);
		T2_ = ((*c).graphs ? (*c).graphs->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				g = (&(*c).graphs->data[i]);
				{
					if (!((*g).flags == 3)) goto LA7_;
					(*info).param = (*g).param;
					(*info).mutatedHere = (*g).mutatedHere;
					(*info).connectedVia = (*g).connectedVia;
					(*info).flags = (*g).flags;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, mutatesNonVarParameters__9age37MsDb7QbqlAIsfXXzw)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* info) {
	NIM_BOOL result;
	tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag par;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&par), sizeof(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag));
	nimZeroMem((void*)(&par), sizeof(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag));
	par.performCursorInference = NIM_FALSE;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
		if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA3_;
		params = (*(*s).typ).n;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(params);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI) 1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i = i_2;
					registerVariable__MTx9aqQcHjOG7Y3GcfwyisQ((&par), (*params)._kind_6.sons->data[i]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI) 1);
				} LA7: ;
			}
		}
		{
			NI T10_;
			T10_ = (NI)0;
			T10_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast((*s).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI) 7) < T10_)) goto LA11_;
			registerVariable__MTx9aqQcHjOG7Y3GcfwyisQ((&par), (*(*s).ast)._kind_6.sons->data[((NI) 7)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA11_: ;
	}
	LA3_: ;
	traverse__MTx9aqQcHjOG7Y3GcfwyisQ_2((&par), n);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = hasSideEffect__o7Sjy4adraWNg67FeaH7Nw((&par), info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___Ksyu2fr8gIEvUey9aJnQyIw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g) {
	NimStringDesc* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		if (!((*g).flags == 3)) goto LA3_;
		result = resizeString(result, 27);
appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_14));
		result = resizeString(result, ((*(*(*g).param).name).s ? (*(*(*g).param).name).s->Sup.len : 0) + 0);
appendString(result, (*(*(*g).param).name).s);
		result = resizeString(result, 24);
appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_15));
		{
			NIM_BOOL T7_;
			NimStringDesc* T10_;
			T7_ = (NIM_BOOL)0;
			T7_ = eqeq___59bygf5b7AsTVb9a1lVM66oA((*g).mutatedHere, TM__39a9bfgg3gnILXo9by9cxATh0Q_13);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T7_)) goto LA8_;
			result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_16));
			T10_ = (NimStringDesc*)0;
			T10_ = dollar___aQsiZUvE4SFfnWyKx1JgKA(config, (*g).mutatedHere);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = resizeString(result, (T10_ ? T10_->Sup.len : 0) + 0);
appendString(result, T10_);
			result = resizeString(result, 21);
appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_17));
		}
		LA8_: ;
		{
			NIM_BOOL T13_;
			NimStringDesc* T16_;
			T13_ = (NIM_BOOL)0;
			T13_ = eqeq___59bygf5b7AsTVb9a1lVM66oA((*g).connectedVia, TM__39a9bfgg3gnILXo9by9cxATh0Q_13);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T13_)) goto LA14_;
			result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_16));
			T16_ = (NimStringDesc*)0;
			T16_ = dollar___aQsiZUvE4SFfnWyKx1JgKA(config, (*g).connectedVia);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = resizeString(result, (T16_ ? T16_->Sup.len : 0) + 0);
appendString(result, T16_);
			result = resizeString(result, 62);
appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18));
		}
		LA14_: ;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_varpartitionsDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_2_3[3];
static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_3_2[2];
NI TM__39a9bfgg3gnILXo9by9cxATh0Q_5;
static char* NIM_CONST TM__39a9bfgg3gnILXo9by9cxATh0Q_4[2] = {
"ownsData", 
"preventCursor"};
static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_6_3[3];
NI TM__39a9bfgg3gnILXo9by9cxATh0Q_8;
static char* NIM_CONST TM__39a9bfgg3gnILXo9by9cxATh0Q_7[3] = {
"isEmptyRoot", 
"dependsOn", 
"isRootOf"};
static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_9_4[4];
static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_10_2[2];
NI TM__39a9bfgg3gnILXo9by9cxATh0Q_12;
static char* NIM_CONST TM__39a9bfgg3gnILXo9by9cxATh0Q_11[2] = {
"isMutated", 
"connectsConstParam"};
static TNimNode TM__39a9bfgg3gnILXo9by9cxATh0Q_0[24];

/* section: NIM_merge_TYPE_INIT3 */
NTI__9bUY0kR5KFdp9cLhJiAMwmwA_.size = sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA);
NTI__9bUY0kR5KFdp9cLhJiAMwmwA_.align = NIM_ALIGNOF(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA);
NTI__9bUY0kR5KFdp9cLhJiAMwmwA_.kind = 18;
NTI__9bUY0kR5KFdp9cLhJiAMwmwA_.base = 0;
NTI__9bUY0kR5KFdp9cLhJiAMwmwA_.flags = 2;
TM__39a9bfgg3gnILXo9by9cxATh0Q_2_3[0] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1];
NTI__F7v3qXI9a6XJkYmtFhBnwUQ_.size = sizeof(tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
NTI__F7v3qXI9a6XJkYmtFhBnwUQ_.align = NIM_ALIGNOF(tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
NTI__F7v3qXI9a6XJkYmtFhBnwUQ_.kind = 14;
NTI__F7v3qXI9a6XJkYmtFhBnwUQ_.base = 0;
NTI__F7v3qXI9a6XJkYmtFhBnwUQ_.flags = 3;
for (TM__39a9bfgg3gnILXo9by9cxATh0Q_5 = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_5 < 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_5++) {
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+2].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+2].offset = TM__39a9bfgg3gnILXo9by9cxATh0Q_5;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+2].name = TM__39a9bfgg3gnILXo9by9cxATh0Q_4[TM__39a9bfgg3gnILXo9by9cxATh0Q_5];
TM__39a9bfgg3gnILXo9by9cxATh0Q_3_2[TM__39a9bfgg3gnILXo9by9cxATh0Q_5] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+2];
}
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[4].len = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[4].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[4].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_3_2[0];
NTI__F7v3qXI9a6XJkYmtFhBnwUQ_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[4];
NTI__aPvbyqN5lPiKM7xpscHQuw_.size = sizeof(tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
NTI__aPvbyqN5lPiKM7xpscHQuw_.align = NIM_ALIGNOF(tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
NTI__aPvbyqN5lPiKM7xpscHQuw_.kind = 19;
NTI__aPvbyqN5lPiKM7xpscHQuw_.base = (&NTI__F7v3qXI9a6XJkYmtFhBnwUQ_);
NTI__aPvbyqN5lPiKM7xpscHQuw_.flags = 3;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[5].len = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[5].kind = 0;
NTI__aPvbyqN5lPiKM7xpscHQuw_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[5];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, flags);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].typ = (&NTI__aPvbyqN5lPiKM7xpscHQuw_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].name = "flags";
TM__39a9bfgg3gnILXo9by9cxATh0Q_2_3[1] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6];
NTI__TA6PMQGIDoHplflSd7kZxA_.size = sizeof(tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA);
NTI__TA6PMQGIDoHplflSd7kZxA_.align = NIM_ALIGNOF(tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA);
NTI__TA6PMQGIDoHplflSd7kZxA_.kind = 14;
NTI__TA6PMQGIDoHplflSd7kZxA_.base = 0;
NTI__TA6PMQGIDoHplflSd7kZxA_.flags = 3;
for (TM__39a9bfgg3gnILXo9by9cxATh0Q_8 = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_8 < 3; TM__39a9bfgg3gnILXo9by9cxATh0Q_8++) {
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+7].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+7].offset = TM__39a9bfgg3gnILXo9by9cxATh0Q_8;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+7].name = TM__39a9bfgg3gnILXo9by9cxATh0Q_7[TM__39a9bfgg3gnILXo9by9cxATh0Q_8];
TM__39a9bfgg3gnILXo9by9cxATh0Q_6_3[TM__39a9bfgg3gnILXo9by9cxATh0Q_8] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+7];
}
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10].len = 3; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_6_3[0];
NTI__TA6PMQGIDoHplflSd7kZxA_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].kind = 3;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, kind);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].typ = (&NTI__TA6PMQGIDoHplflSd7kZxA_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].name = "kind";
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].sons = &NimDT___9bUY0kR5KFdp9cLhJiAMwmwA_kind[0];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].len = 3;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[11].len = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[11].kind = 2;
NimDT___9bUY0kR5KFdp9cLhJiAMwmwA_kind[0] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[11];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[12].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[12].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, parent);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[12].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[12].name = "parent";
NimDT___9bUY0kR5KFdp9cLhJiAMwmwA_kind[1] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[12];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[13].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[13].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, graphIndex);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[13].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[13].name = "graphIndex";
NimDT___9bUY0kR5KFdp9cLhJiAMwmwA_kind[2] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[13];
TM__39a9bfgg3gnILXo9by9cxATh0Q_2_3[2] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[14];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[14].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[14].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, sym);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[14].typ = (&NTI__K9bspPztfoWajecnwjyHuYQ_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[14].name = "sym";
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0].len = 3; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_2_3[0];
NTI__9bUY0kR5KFdp9cLhJiAMwmwA_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0];
NTI__7PsCyIDXDb8nGSU5UlS9cAA_.size = sizeof(tySequence__7PsCyIDXDb8nGSU5UlS9cAA*);
NTI__7PsCyIDXDb8nGSU5UlS9cAA_.align = NIM_ALIGNOF(tySequence__7PsCyIDXDb8nGSU5UlS9cAA*);
NTI__7PsCyIDXDb8nGSU5UlS9cAA_.kind = 24;
NTI__7PsCyIDXDb8nGSU5UlS9cAA_.base = (&NTI__9bUY0kR5KFdp9cLhJiAMwmwA_);
NTI__7PsCyIDXDb8nGSU5UlS9cAA_.flags = 2;
NTI__7PsCyIDXDb8nGSU5UlS9cAA_.marker = Marker_tySequence__7PsCyIDXDb8nGSU5UlS9cAA;
NTI__0Sg6dzXBBdtdBAkDWxEFug_.size = sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug);
NTI__0Sg6dzXBBdtdBAkDWxEFug_.align = NIM_ALIGNOF(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug);
NTI__0Sg6dzXBBdtdBAkDWxEFug_.kind = 18;
NTI__0Sg6dzXBBdtdBAkDWxEFug_.base = 0;
NTI__0Sg6dzXBBdtdBAkDWxEFug_.flags = 2;
TM__39a9bfgg3gnILXo9by9cxATh0Q_9_4[0] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[16];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[16].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[16].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, param);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[16].typ = (&NTI__K9bspPztfoWajecnwjyHuYQ_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[16].name = "param";
TM__39a9bfgg3gnILXo9by9cxATh0Q_9_4[1] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, mutatedHere);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17].typ = (&NTI__WGx4rAexNXnczy1Avn646Q_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17].name = "mutatedHere";
TM__39a9bfgg3gnILXo9by9cxATh0Q_9_4[2] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, connectedVia);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18].typ = (&NTI__WGx4rAexNXnczy1Avn646Q_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18].name = "connectedVia";
TM__39a9bfgg3gnILXo9by9cxATh0Q_9_4[3] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19];
NTI__mxQvR0HTC631bhUr6jBDDw_.size = sizeof(tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
NTI__mxQvR0HTC631bhUr6jBDDw_.align = NIM_ALIGNOF(tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
NTI__mxQvR0HTC631bhUr6jBDDw_.kind = 14;
NTI__mxQvR0HTC631bhUr6jBDDw_.base = 0;
NTI__mxQvR0HTC631bhUr6jBDDw_.flags = 3;
for (TM__39a9bfgg3gnILXo9by9cxATh0Q_12 = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_12 < 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_12++) {
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+20].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+20].offset = TM__39a9bfgg3gnILXo9by9cxATh0Q_12;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+20].name = TM__39a9bfgg3gnILXo9by9cxATh0Q_11[TM__39a9bfgg3gnILXo9by9cxATh0Q_12];
TM__39a9bfgg3gnILXo9by9cxATh0Q_10_2[TM__39a9bfgg3gnILXo9by9cxATh0Q_12] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+20];
}
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22].len = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_10_2[0];
NTI__mxQvR0HTC631bhUr6jBDDw_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22];
NTI__o2yv2nZi9a9cCH8g7WNv9aEew_.size = sizeof(tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
NTI__o2yv2nZi9a9cCH8g7WNv9aEew_.align = NIM_ALIGNOF(tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
NTI__o2yv2nZi9a9cCH8g7WNv9aEew_.kind = 19;
NTI__o2yv2nZi9a9cCH8g7WNv9aEew_.base = (&NTI__mxQvR0HTC631bhUr6jBDDw_);
NTI__o2yv2nZi9a9cCH8g7WNv9aEew_.flags = 3;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23].len = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23].kind = 0;
NTI__o2yv2nZi9a9cCH8g7WNv9aEew_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23];
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].kind = 1;
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, flags);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].typ = (&NTI__o2yv2nZi9a9cCH8g7WNv9aEew_);
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].name = "flags";
TM__39a9bfgg3gnILXo9by9cxATh0Q_0[15].len = 4; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[15].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[15].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_9_4[0];
NTI__0Sg6dzXBBdtdBAkDWxEFug_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[15];
NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_.size = sizeof(tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*);
NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_.align = NIM_ALIGNOF(tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*);
NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_.kind = 24;
NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_.base = (&NTI__0Sg6dzXBBdtdBAkDWxEFug_);
NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_.flags = 2;
NTI__QAWA9c8ge5HfZnhFNlb9c9ajA_.marker = Marker_tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA;
}

