Fuzion Logo
flang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.

c_hello/HelloWorld.c


#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <math.h>
#include <float.h>
#include <assert.h>
#include <time.h>
#include <setjmp.h>
#include <pthread.h>

int fzG_argc;
char ** fzG_argv;
// helper to clone a (stack) instance to the heap
void * fzH_heapClone(void * of, size_t sz)
{
  void * r = malloc(sz);
  memcpy(r,of,sz);
  return r;
}
struct fzThrd_startRoutineArg
{
  void * fzThrd_startRoutineArgFun;
  void * fzThrd_startRoutineArgArg;
};
static void * fzThrd_startRoutine(void * arg0);
typedef struct fzT_Cons_l_i32_k_list_l_i32_gg fzT_Cons_l_i32_k_list_l_i32_gg;
typedef struct fzT__L0_RCons_l_i__ist_l_i32_gg fzT__L0_RCons_l_i__ist_l_i32_gg;
typedef struct fzT__L3Cons_l_str___l_string_gg fzT__L3Cons_l_str___l_string_gg;
typedef struct fzT__L2_RCons_l_s___l_string_gg fzT__L2_RCons_l_s___l_string_gg;
typedef struct fzT_Cons_l_u8_k_list_l_u8_gg fzT_Cons_l_u8_k_list_l_u8_gg;
typedef struct fzT__RCons_l_u8_k_list_l_u8_gg fzT__RCons_l_u8_k_list_l_u8_gg;
typedef struct fzT_Function_l_unit_g fzT_Function_l_unit_g;
typedef struct fzT__RFunction_l_unit_g fzT__RFunction_l_unit_g;
typedef struct fzT_Function_l_i32_k_i32_g fzT_Function_l_i32_k_i32_g;
typedef struct fzT__RFunction_l_i32_k_i32_g fzT__RFunction_l_i32_k_i32_g;
typedef struct fzT_Function_l_i32_k_string_g fzT_Function_l_i32_k_string_g;
typedef struct fzT__RFunction_l_i32_k_string_g fzT__RFunction_l_i32_k_string_g;
typedef struct fzT_Function_l_i32_k_u8_g fzT_Function_l_i32_k_u8_g;
typedef struct fzT__RFunction_l_i32_k_u8_g fzT__RFunction_l_i32_k_u8_g;
typedef struct fzT__L21Function_l__32_gk_i32_g fzT__L21Function_l__32_gk_i32_g;
typedef struct fzT__L20_RFunction__32_gk_i32_g fzT__L20_RFunction__32_gk_i32_g;
typedef struct fzT_Function_l_string_k_i32_g fzT_Function_l_string_k_i32_g;
typedef struct fzT__RFunction_l_string_k_i32_g fzT__RFunction_l_string_k_i32_g;
typedef struct fzT__L25Function_l___k_string_g fzT__L25Function_l___k_string_g;
typedef struct fzT__L24_RFunction___k_string_g fzT__L24_RFunction___k_string_g;
typedef struct fzT_Function_l_string_k_u8_g fzT_Function_l_string_k_u8_g;
typedef struct fzT__RFunction_l_string_k_u8_g fzT__RFunction_l_string_k_u8_g;
typedef struct fzT_Function_l_u8_k_i32_g fzT_Function_l_u8_k_i32_g;
typedef struct fzT__RFunction_l_u8_k_i32_g fzT__RFunction_l_u8_k_i32_g;
typedef struct fzT_Function_l_unit_k_unit_g fzT_Function_l_unit_k_unit_g;
typedef struct fzT__RFunction_l_unit_k_unit_g fzT__RFunction_l_unit_k_unit_g;
typedef int32_t fzT_1i32;
typedef uint8_t fzT_1u8;
typedef struct fzT_unit fzT_unit;
typedef struct fzT_Monoid_l_i32_g fzT_Monoid_l_i32_g;
typedef struct fzT__RMonoid_l_i32_g fzT__RMonoid_l_i32_g;
typedef struct fzT_Monoid_l_string_g fzT_Monoid_l_string_g;
typedef struct fzT__RMonoid_l_string_g fzT__RMonoid_l_string_g;
typedef struct fzT_Monoid_l_u8_g fzT_Monoid_l_u8_g;
typedef struct fzT__RMonoid_l_u8_g fzT__RMonoid_l_u8_g;
typedef struct fzT__RMonoid_l_i32_g__2op fzT__RMonoid_l_i32_g__2op;
typedef struct fzT__RMonoid_l_string_g__2op fzT__RMonoid_l_string_g__2op;
typedef struct fzT__RMonoid_l_u8_g__2op fzT__RMonoid_l_u8_g__2op;
typedef struct fzT_i32s_Rsum__2op fzT_i32s_Rsum__2op;
typedef struct fzT_strings_R1concat__2op fzT_strings_R1concat__2op;
typedef struct fzT_Object fzT_Object;
typedef struct fzT__RObject fzT__RObject;
typedef struct fzT_Sequence_l_i32_g fzT_Sequence_l_i32_g;
typedef struct fzT__RSequence_l_i32_g fzT__RSequence_l_i32_g;
typedef struct fzT_Sequence_l_string_g fzT_Sequence_l_string_g;
typedef struct fzT__RSequence_l_string_g fzT__RSequence_l_string_g;
typedef struct fzT_Sequence_l_u32_g fzT_Sequence_l_u32_g;
typedef struct fzT__RSequence_l_u32_g fzT__RSequence_l_u32_g;
typedef struct fzT_Sequence_l_u8_g fzT_Sequence_l_u8_g;
typedef struct fzT__RSequence_l_u8_g fzT__RSequence_l_u8_g;
typedef struct fzT__R4array_l_u8_g__asString fzT__R4array_l_u8_g__asString;
typedef struct fzT__L3141i32__1asS____asString fzT__L3141i32__1asS____asString;
typedef struct fzT__L3151u8__1asSt____asString fzT__L3151u8__1asSt____asString;
typedef struct fzT_nil fzT_nil;
typedef struct fzT_list_l_i32_g fzT_list_l_i32_g;
typedef struct fzT__RSequence_l_i32_g__asList fzT__RSequence_l_i32_g__asList;
typedef struct fzT_list_l_string_g fzT_list_l_string_g;
typedef struct fzT__L323_RSequence___g__asList fzT__L323_RSequence___g__asList;
typedef struct fzT_list_l_u8_g fzT_list_l_u8_g;
typedef struct fzT__RSequence_l_u8_g__asList fzT__RSequence_l_u8_g__asList;
typedef struct fzT__L3251i32__1asS__f8__asList fzT__L3251i32__1asS__f8__asList;
typedef struct fzT__L3261u8__1asSt__f8__asList fzT__L3261u8__1asSt__f8__asList;
typedef struct fzT__L337_RSequence____asStream fzT__L337_RSequence____asStream;
typedef struct fzT__L338_RSequence____asStream fzT__L338_RSequence____asStream;
typedef struct fzT__RSequence_l_u8_g__asStream fzT__RSequence_l_u8_g__asStream;
typedef struct fzT_FALSE fzT_FALSE;
typedef struct fzT_TRUE fzT_TRUE;
typedef struct fzT_bool fzT_bool;
typedef struct fzT__RSequence_l_u8_g__isEmpty fzT__RSequence_l_u8_g__isEmpty;
typedef struct fzT__R4array_l_u8_g__isEmpty fzT__R4array_l_u8_g__isEmpty;
typedef struct fzT__L348_R4array_l__m__isEmpty fzT__L348_R4array_l__m__isEmpty;
typedef struct fzT__L3491i32__1inf__m__isEmpty fzT__L3491i32__1inf__m__isEmpty;
typedef struct fzT__L3501i32__1asS__8__isEmpty fzT__L3501i32__1asS__8__isEmpty;
typedef struct fzT__L3511u8__1asSt__8__isEmpty fzT__L3511u8__1asSt__8__isEmpty;
typedef struct fzT__L3521i32__1asS__2__isEmpty fzT__L3521i32__1asS__2__isEmpty;
typedef struct fzT__L3531u8__1asSt__2__isEmpty fzT__L3531u8__1asSt__2__isEmpty;
typedef struct fzT__L354list_l_i32__m__isEmpty fzT__L354list_l_i32__m__isEmpty;
typedef struct fzT__L355list_l_str__m__isEmpty fzT__L355list_l_str__m__isEmpty;
typedef struct fzT__L356list_l_u8___m__isEmpty fzT__L356list_l_u8___m__isEmpty;
typedef struct fzT__L357_Rlist_l_i__m__isEmpty fzT__L357_Rlist_l_i__m__isEmpty;
typedef struct fzT__L358_Rlist_l_s__m__isEmpty fzT__L358_Rlist_l_s__m__isEmpty;
typedef struct fzT__L359_Rlist_l_u__m__isEmpty fzT__L359_Rlist_l_u__m__isEmpty;
typedef struct fzT__L360_R4array_l__7__isEmpty fzT__L360_R4array_l__7__isEmpty;
typedef struct fzT__L3611i32__1inf__7__isEmpty fzT__L3611i32__1inf__7__isEmpty;
typedef struct fzT__L3621i32__1asS__7__isEmpty fzT__L3621i32__1asS__7__isEmpty;
typedef struct fzT__L3631u8__1asSt__7__isEmpty fzT__L3631u8__1asSt__7__isEmpty;
typedef struct fzT__L364list_l_i32__7__isEmpty fzT__L364list_l_i32__7__isEmpty;
typedef struct fzT__L365list_l_str__7__isEmpty fzT__L365list_l_str__7__isEmpty;
typedef struct fzT__L366list_l_u8___7__isEmpty fzT__L366list_l_u8___7__isEmpty;
typedef struct fzT__L367_Rlist_l_i__7__isEmpty fzT__L367_Rlist_l_i__7__isEmpty;
typedef struct fzT__L368_Rlist_l_s__7__isEmpty fzT__L368_Rlist_l_s__7__isEmpty;
typedef struct fzT__L369_Rlist_l_u__7__isEmpty fzT__L369_Rlist_l_u__7__isEmpty;
typedef struct fzT__L370_Rstream_l__7__isEmpty fzT__L370_Rstream_l__7__isEmpty;
typedef struct fzT__RSequence_l_u8_g__count fzT__RSequence_l_u8_g__count;
typedef struct fzT__R4array_l_u8_g__count fzT__R4array_l_u8_g__count;
typedef struct fzT__R1conststring__count fzT__R1conststring__count;
typedef struct fzT__L4241i32__1asS__tf8__count fzT__L4241i32__1asS__tf8__count;
typedef struct fzT__L4251u8__1asSt__tf8__count fzT__L4251u8__1asSt__tf8__count;
typedef struct fzT__L441_RSequence___U40__6883 fzT__L441_RSequence___U40__6883;
typedef struct fzT__L436_RSequence___U40__6883 fzT__L436_RSequence___U40__6883;
typedef struct fzT__L442_R4array_l___U40__6883 fzT__L442_R4array_l___U40__6883;
typedef struct fzT__L437_R4array_l___U40__6883 fzT__L437_R4array_l___U40__6883;
typedef struct fzT__L443_R1constst___U40__6883 fzT__L443_R1constst___U40__6883;
typedef struct fzT__L438_R1constst___U40__6883 fzT__L438_R1constst___U40__6883;
typedef struct fzT__L4441i32__1asS___U40__6883 fzT__L4441i32__1asS___U40__6883;
typedef struct fzT__L4391i32__1asS___U40__6883 fzT__L4391i32__1asS___U40__6883;
typedef struct fzT__L4451u8__1asSt___U40__6883 fzT__L4451u8__1asSt___U40__6883;
typedef struct fzT__L4401u8__1asSt___U40__6883 fzT__L4401u8__1asSt___U40__6883;
typedef struct fzT__L446_RSequence__883__1call fzT__L446_RSequence__883__1call;
typedef struct fzT__L447_R4array_l__883__1call fzT__L447_R4array_l__883__1call;
typedef struct fzT__L448_R1constst__883__1call fzT__L448_R1constst__883__1call;
typedef struct fzT__L4491i32__1asS__883__1call fzT__L4491i32__1asS__883__1call;
typedef struct fzT__L4501u8__1asSt__883__1call fzT__L4501u8__1asSt__883__1call;
typedef struct fzT__RSequence_l_u8_g__first fzT__RSequence_l_u8_g__first;
typedef struct fzT__R4array_l_u8_g__first fzT__R4array_l_u8_g__first;
typedef struct fzT__L463_R4array_l__eam__first fzT__L463_R4array_l__eam__first;
typedef struct fzT__R1conststring__first fzT__R1conststring__first;
typedef struct fzT__L4651i32__1inf__eam__first fzT__L4651i32__1inf__eam__first;
typedef struct fzT__L4661i32__1asS__tf8__first fzT__L4661i32__1asS__tf8__first;
typedef struct fzT__L4671u8__1asSt__tf8__first fzT__L4671u8__1asSt__tf8__first;
typedef struct fzT__L4681i32__1asS__222__first fzT__L4681i32__1asS__222__first;
typedef struct fzT__L4691u8__1asSt__222__first fzT__L4691u8__1asSt__222__first;
typedef struct fzT__L470list_l_i32__eam__first fzT__L470list_l_i32__eam__first;
typedef struct fzT__L471list_l_str__eam__first fzT__L471list_l_str__eam__first;
typedef struct fzT__L472list_l_u8___eam__first fzT__L472list_l_u8___eam__first;
typedef struct fzT__L473_Rlist_l_i__eam__first fzT__L473_Rlist_l_i__eam__first;
typedef struct fzT__L474_Rlist_l_s__eam__first fzT__L474_Rlist_l_s__eam__first;
typedef struct fzT__L475_Rlist_l_u__eam__first fzT__L475_Rlist_l_u__eam__first;
typedef struct fzT__L476_R4array_l__307__first fzT__L476_R4array_l__307__first;
typedef struct fzT__L4771i32__1inf__307__first fzT__L4771i32__1inf__307__first;
typedef struct fzT__L4781i32__1asS__307__first fzT__L4781i32__1asS__307__first;
typedef struct fzT__L4791u8__1asSt__307__first fzT__L4791u8__1asSt__307__first;
typedef struct fzT__L480list_l_i32__307__first fzT__L480list_l_i32__307__first;
typedef struct fzT__L481list_l_str__307__first fzT__L481list_l_str__307__first;
typedef struct fzT__L482list_l_u8___307__first fzT__L482list_l_u8___307__first;
typedef struct fzT__L483_Rlist_l_i__307__first fzT__L483_Rlist_l_i__307__first;
typedef struct fzT__L484_Rlist_l_s__307__first fzT__L484_Rlist_l_s__307__first;
typedef struct fzT__L485_Rlist_l_u__307__first fzT__L485_Rlist_l_u__307__first;
typedef struct fzT__L486_Rstream_l__307__first fzT__L486_Rstream_l__307__first;
typedef struct fzT_fuzion__sys__1array_l_u8_g fzT_fuzion__sys__1array_l_u8_g;
typedef struct fzT_4array_l_u8_g fzT_4array_l_u8_g;
typedef struct fzT_list_l_u8_g__asArray fzT_list_l_u8_g__asArray;
typedef struct fzT__RSequence_l_u8_g__asArray fzT__RSequence_l_u8_g__asArray;
typedef struct fzT__L5671i32__1asS__8__asArray fzT__L5671i32__1asS__8__asArray;
typedef struct fzT__L5681u8__1asSt__8__asArray fzT__L5681u8__1asSt__8__asArray;
typedef struct fzT_fuzion__sys__1array_l_i32_g fzT_fuzion__sys__1array_l_i32_g;
typedef struct fzT_4array_l_i32_g fzT_4array_l_i32_g;
typedef struct fzT__Rlist_l_i32_g__asArray fzT__Rlist_l_i32_g__asArray;
typedef struct fzT__L1164fuzion__sy___string_g fzT__L1164fuzion__sy___string_g;
typedef struct fzT_4array_l_string_g fzT_4array_l_string_g;
typedef struct fzT__Rlist_l_string_g__asArray fzT__Rlist_l_string_g__asArray;
typedef struct fzT__Rlist_l_u8_g__asArray fzT__Rlist_l_u8_g__asArray;
typedef struct fzT__L600list_l_u8____U40__9594 fzT__L600list_l_u8____U40__9594;
typedef struct fzT__L593list_l_u8____U40__9594 fzT__L593list_l_u8____U40__9594;
typedef struct fzT__L601_RSequence___U40__9594 fzT__L601_RSequence___U40__9594;
typedef struct fzT__L594_RSequence___U40__9594 fzT__L594_RSequence___U40__9594;
typedef struct fzT__L6021i32__1asS___U40__9594 fzT__L6021i32__1asS___U40__9594;
typedef struct fzT__L5951i32__1asS___U40__9594 fzT__L5951i32__1asS___U40__9594;
typedef struct fzT__L6031u8__1asSt___U40__9594 fzT__L6031u8__1asSt___U40__9594;
typedef struct fzT__L5961u8__1asSt___U40__9594 fzT__L5961u8__1asSt___U40__9594;
typedef struct fzT__L604_Rlist_l_i___U40__9594 fzT__L604_Rlist_l_i___U40__9594;
typedef struct fzT__L597_Rlist_l_i___U40__9594 fzT__L597_Rlist_l_i___U40__9594;
typedef struct fzT__L605_Rlist_l_s___U40__9594 fzT__L605_Rlist_l_s___U40__9594;
typedef struct fzT__L598_Rlist_l_s___U40__9594 fzT__L598_Rlist_l_s___U40__9594;
typedef struct fzT__L606_Rlist_l_u___U40__9594 fzT__L606_Rlist_l_u___U40__9594;
typedef struct fzT__L599_Rlist_l_u___U40__9594 fzT__L599_Rlist_l_u___U40__9594;
typedef struct fzT__L621list_l_u8___594__1call fzT__L621list_l_u8___594__1call;
typedef struct fzT__L622_RSequence__594__1call fzT__L622_RSequence__594__1call;
typedef struct fzT__L6231i32__1asS__594__1call fzT__L6231i32__1asS__594__1call;
typedef struct fzT__L6241u8__1asSt__594__1call fzT__L6241u8__1asSt__594__1call;
typedef struct fzT__L625_Rlist_l_i__594__1call fzT__L625_Rlist_l_i__594__1call;
typedef struct fzT__L626_Rlist_l_s__594__1call fzT__L626_Rlist_l_s__594__1call;
typedef struct fzT__L627_Rlist_l_u__594__1call fzT__L627_Rlist_l_u__594__1call;
typedef struct fzT__L649_RSequence__1infix_wpp fzT__L649_RSequence__1infix_wpp;
typedef struct fzT__R4array_l_u8_g__1infix_wpp fzT__R4array_l_u8_g__1infix_wpp;
typedef struct fzT__L651_R4array_l__1infix_wpp fzT__L651_R4array_l__1infix_wpp;
typedef struct fzT__R1conststring__1infix_wpp fzT__R1conststring__1infix_wpp;
typedef struct fzT__L6531i32__1inf__1infix_wpp fzT__L6531i32__1inf__1infix_wpp;
typedef struct fzT__L6541i32__1asS__1infix_wpp fzT__L6541i32__1asS__1infix_wpp;
typedef struct fzT__L6551u8__1asSt__1infix_wpp fzT__L6551u8__1asSt__1infix_wpp;
typedef struct fzT__L6561i32__1asS__1infix_wpp fzT__L6561i32__1asS__1infix_wpp;
typedef struct fzT__L6571u8__1asSt__1infix_wpp fzT__L6571u8__1asSt__1infix_wpp;
typedef struct fzT__L658list_l_i32__1infix_wpp fzT__L658list_l_i32__1infix_wpp;
typedef struct fzT__L659list_l_str__1infix_wpp fzT__L659list_l_str__1infix_wpp;
typedef struct fzT__L660list_l_u8___1infix_wpp fzT__L660list_l_u8___1infix_wpp;
typedef struct fzT__L661_Rlist_l_i__1infix_wpp fzT__L661_Rlist_l_i__1infix_wpp;
typedef struct fzT__L662_Rlist_l_s__1infix_wpp fzT__L662_Rlist_l_s__1infix_wpp;
typedef struct fzT__L663_Rlist_l_u__1infix_wpp fzT__L663_Rlist_l_u__1infix_wpp;
typedef struct fzT__L664_R4array_l__1infix_wpp fzT__L664_R4array_l__1infix_wpp;
typedef struct fzT__L6651i32__1inf__1infix_wpp fzT__L6651i32__1inf__1infix_wpp;
typedef struct fzT__L6661i32__1asS__1infix_wpp fzT__L6661i32__1asS__1infix_wpp;
typedef struct fzT__L6671u8__1asSt__1infix_wpp fzT__L6671u8__1asSt__1infix_wpp;
typedef struct fzT__L668list_l_i32__1infix_wpp fzT__L668list_l_i32__1infix_wpp;
typedef struct fzT__L669list_l_str__1infix_wpp fzT__L669list_l_str__1infix_wpp;
typedef struct fzT__L670list_l_u8___1infix_wpp fzT__L670list_l_u8___1infix_wpp;
typedef struct fzT__L671_Rlist_l_i__1infix_wpp fzT__L671_Rlist_l_i__1infix_wpp;
typedef struct fzT__L672_Rlist_l_s__1infix_wpp fzT__L672_Rlist_l_s__1infix_wpp;
typedef struct fzT__L673_Rlist_l_u__1infix_wpp fzT__L673_Rlist_l_u__1infix_wpp;
typedef struct fzT__L674_Rstream_l__1infix_wpp fzT__L674_Rstream_l__1infix_wpp;
typedef struct fzT__L753_RSequence__ce_l_i32_g fzT__L753_RSequence__ce_l_i32_g;
typedef struct fzT__L754_R4array_l__ce_l_i32_g fzT__L754_R4array_l__ce_l_i32_g;
typedef struct fzT__L755_R1constst__ce_l_i32_g fzT__L755_R1constst__ce_l_i32_g;
typedef struct fzT__L7561i32__1asS__ce_l_i32_g fzT__L7561i32__1asS__ce_l_i32_g;
typedef struct fzT__L7571u8__1asSt__ce_l_i32_g fzT__L7571u8__1asSt__ce_l_i32_g;
typedef struct fzT_Set_l_i32_g fzT_Set_l_i32_g;
typedef struct fzT__RSet_l_i32_g fzT__RSet_l_i32_g;
typedef struct fzT_Set_l_u32_g fzT_Set_l_u32_g;
typedef struct fzT__RSet_l_u32_g fzT__RSet_l_u32_g;
typedef struct fzT_2array_l_i32_g fzT_2array_l_i32_g;
typedef struct fzT_2array_l_string_g fzT_2array_l_string_g;
typedef struct fzT_2array_l_u8_g fzT_2array_l_u8_g;
typedef struct fzT_1i32__1infix_woo fzT_1i32__1infix_woo;
typedef struct fzT_2array_l_i32_g__indices fzT_2array_l_i32_g__indices;
typedef struct fzT_2array_l_string_g__indices fzT_2array_l_string_g__indices;
typedef struct fzT_2array_l_u8_g__indices fzT_2array_l_u8_g__indices;
typedef struct fzT__L8072array_l_i__U40__43139 fzT__L8072array_l_i__U40__43139;
typedef struct fzT__L8082array_l_s__U40__43139 fzT__L8082array_l_s__U40__43139;
typedef struct fzT_2array_l_u8_g__1_U40__43139 fzT_2array_l_u8_g__1_U40__43139;
typedef struct fzT__R4array_l_u8_g fzT__R4array_l_u8_g;
typedef struct fzT__R4array_l_u8_g__asList fzT__R4array_l_u8_g__asList;
typedef struct fzT__R1conststring__asList fzT__R1conststring__asList;
typedef struct fzT__R4array_l_u8_g__1asList fzT__R4array_l_u8_g__1asList;
typedef struct fzT__R1conststring__1asList fzT__R1conststring__1asList;
typedef struct fzT_1some_l_list_l_u8_gg fzT_1some_l_list_l_u8_gg;
typedef struct fzT__L2400option_l_s___l_u8_ggg fzT__L2400option_l_s___l_u8_ggg;
typedef struct fzT__R4array_l_u8_g__asStream fzT__R4array_l_u8_g__asStream;
typedef struct fzT__R4array_l_u8_g_RasStream fzT__R4array_l_u8_g_RasStream;
typedef struct fzT__L882_R4array_l__m__hasNext fzT__L882_R4array_l__m__hasNext;
typedef struct fzT__L885_R4array_l__ream__next fzT__L885_R4array_l__ream__next;
typedef struct fzT__R4array_l_u8_g__asArray fzT__R4array_l_u8_g__asArray;
typedef struct fzT__R1conststring__asArray fzT__R1conststring__asArray;
typedef struct fzT__L894_R4array_l__wU5b_wU5d_ fzT__L894_R4array_l__wU5b_wU5d_;
typedef struct fzT__L895_R1constst__wU5b_wU5d_ fzT__L895_R1constst__wU5b_wU5d_;
typedef struct fzT_4array_l_u8_g__length fzT_4array_l_u8_g__length;
typedef struct fzT__R4array_l_u8_g__length fzT__R4array_l_u8_g__length;
typedef struct fzT__R1conststring__length fzT__R1conststring__length;
typedef struct fzT_4array_l_u8_g__1arrayCons fzT_4array_l_u8_g__1arrayCons;
typedef struct fzT_4array_l_u8_g_R1arrayCons fzT_4array_l_u8_g_R1arrayCons;
typedef struct fzT__R4array_l_u8_g__1arrayCons fzT__R4array_l_u8_g__1arrayCons;
typedef struct fzT__R4array_l_u8_g_R1arrayCons fzT__R4array_l_u8_g_R1arrayCons;
typedef struct fzT__L927_R4array_l__Cons__head fzT__L927_R4array_l__Cons__head;
typedef struct fzT__L930_R4array_l__Cons__tail fzT__L930_R4array_l__Cons__tail;
typedef struct fzT_false fzT_false;
typedef struct fzT_true fzT_true;
typedef struct fzT_character_u_encodings fzT_character_u_encodings;
typedef struct fzT_fuzion__std__err__ascii fzT_fuzion__std__err__ascii;
typedef struct fzT_1i32__1asString__ascii fzT_1i32__1asString__ascii;
typedef struct fzT_1u8__1asString__ascii fzT_1u8__1asString__ascii;
typedef struct fzT_fuzion__std__err__ascii__lf fzT_fuzion__std__err__ascii__lf;
typedef struct fzT_1i32__1asString__ascii__lf fzT_1i32__1asString__ascii__lf;
typedef struct fzT_1u8__1asString__ascii__lf fzT_1u8__1asString__ascii__lf;
typedef struct fzT_choice_l_FALSE_k_TRUE_g fzT_choice_l_FALSE_k_TRUE_g;
typedef struct fzT_choice_l_i32_k_nil_g fzT_choice_l_i32_k_nil_g;
typedef struct fzT__L962choice_l_n___l_i32_ggg fzT__L962choice_l_n___l_i32_ggg;
typedef struct fzT__L961_Rchoice_l___l_i32_ggg fzT__L961_Rchoice_l___l_i32_ggg;
typedef struct fzT__L964choice_l_n__string_ggg fzT__L964choice_l_n__string_ggg;
typedef struct fzT__L963_Rchoice_l__string_ggg fzT__L963_Rchoice_l__string_ggg;
typedef struct fzT__L966choice_l_n__t_l_u8_ggg fzT__L966choice_l_n__t_l_u8_ggg;
typedef struct fzT__L965_Rchoice_l__t_l_u8_ggg fzT__L965_Rchoice_l__t_l_u8_ggg;
typedef struct fzT_1some_l_list_l_i32_gg fzT_1some_l_list_l_i32_gg;
typedef struct fzT__L967choice_l_s___ggk_nil_g fzT__L967choice_l_s___ggk_nil_g;
typedef struct fzT_1some_l_list_l_string_gg fzT_1some_l_list_l_string_gg;
typedef struct fzT__L968choice_l_s___ggk_nil_g fzT__L968choice_l_s___ggk_nil_g;
typedef struct fzT__L969choice_l_s___ggk_nil_g fzT__L969choice_l_s___ggk_nil_g;
typedef struct fzT_choice_l_u8_k_nil_g fzT_choice_l_u8_k_nil_g;
typedef struct fzT_choice_l_unit_k_nil_g fzT_choice_l_unit_k_nil_g;
typedef struct fzT_effectMode__default fzT_effectMode__default;
typedef struct fzT__L972choice_l_e__e_o_inst_g fzT__L972choice_l_e__e_o_inst_g;
typedef uint32_t fzT_1u32;
typedef struct fzT_1codepoint fzT_1codepoint;
typedef struct fzT__R1codepoint fzT__R1codepoint;
typedef struct fzT__R1codepoint__utf8 fzT__R1codepoint__utf8;
typedef struct fzT_codepoints fzT_codepoints;
typedef struct fzT__Rcodepoints fzT__Rcodepoints;
typedef struct fzT_1u32__1infix_woo fzT_1u32__1infix_woo;
typedef struct fzT_1codepoint__range fzT_1codepoint__range;
typedef struct fzT__R1codepoint__range fzT__R1codepoint__range;
typedef struct fzT__R1codepoint__ascii fzT__R1codepoint__ascii;
typedef struct fzT__L1005_R1codepoi__InOneByte fzT__L1005_R1codepoi__InOneByte;
typedef struct fzT__L1008_R1codepoi__nTwoBytes fzT__L1008_R1codepoi__nTwoBytes;
typedef struct fzT__L1010_R1codepoi__hreeBytes fzT__L1010_R1codepoi__hreeBytes;
typedef struct fzT__L1012_R1codepoi__FourBytes fzT__L1012_R1codepoi__FourBytes;
typedef struct fzT_1codepoint__utf16Surrogate fzT_1codepoint__utf16Surrogate;
typedef struct fzT__L1015_R1codepoi__Surrogate fzT__L1015_R1codepoi__Surrogate;
typedef struct fzT_void fzT_void;
typedef struct fzT_1conststring fzT_1conststring;
typedef struct fzT__R1conststring fzT__R1conststring;
typedef struct fzT__R1conststring__asString fzT__R1conststring__asString;
typedef struct fzT__R1conststring__isEmpty fzT__R1conststring__isEmpty;
typedef struct fzT__R1conststring__utf8 fzT__R1conststring__utf8;
typedef struct fzT_effectMode__val fzT_effectMode__val;
typedef struct fzT_effectMode__1inst fzT_effectMode__1inst;
typedef struct fzT_1effect fzT_1effect;
typedef struct fzT_1effect__2run_l_unit_g fzT_1effect__2run_l_unit_g;
typedef struct fzT_io__3out__2run_l_unit_g fzT_io__3out__2run_l_unit_g;
typedef struct fzT__L1060io__2print___l_unit_g fzT__L1060io__2print___l_unit_g;
typedef struct fzT_1effect___U40__227454 fzT_1effect___U40__227454;
typedef struct fzT_1effect_R_U40__227454 fzT_1effect_R_U40__227454;
typedef struct fzT_io__3out___U40__227454 fzT_io__3out___U40__227454;
typedef struct fzT_io__3out_R_U40__227454 fzT_io__3out_R_U40__227454;
typedef struct fzT__L1090io__2print__0__227454 fzT__L1090io__2print__0__227454;
typedef struct fzT__L1087io__2print__0__227454 fzT__L1087io__2print__0__227454;
typedef struct fzT__L1091io__3out_R__54__1call fzT__L1091io__3out_R__54__1call;
typedef struct fzT_option_l_unit_g fzT_option_l_unit_g;
typedef struct fzT_1effect_u_call_l_unit_g fzT_1effect_u_call_l_unit_g;
typedef struct fzT__R1effect_u_call_l_unit_g fzT__R1effect_u_call_l_unit_g;
typedef struct fzT__L1098_R1effect___t_g__call fzT__L1098_R1effect___t_g__call;
typedef struct fzT_effects fzT_effects;
typedef struct fzT_effectMode fzT_effectMode;
typedef struct fzT_effectMode__abort fzT_effectMode__abort;
typedef struct fzT_effectMode__plain fzT_effectMode__plain;
typedef struct fzT_effectMode__repl fzT_effectMode__repl;
typedef struct fzT_effectMode__new fzT_effectMode__new;
typedef float fzT_1f32;
typedef struct fzT_f32s fzT_f32s;
typedef double fzT_1f64;
typedef struct fzT_f64s fzT_f64s;
typedef struct fzT_float_l_f32_g fzT_float_l_f32_g;
typedef struct fzT_float_l_f64_g fzT_float_l_f64_g;
typedef struct fzT_floats_l_f32_g fzT_floats_l_f32_g;
typedef struct fzT_floats_l_f64_g fzT_floats_l_f64_g;
typedef struct fzT_fuzion fzT_fuzion;
typedef struct fzT_fuzion__std fzT_fuzion__std;
typedef struct fzT_fuzion__std__err fzT_fuzion__std__err;
typedef struct fzT_fuzion__std__err__1println fzT_fuzion__std__err__1println;
typedef struct fzT_fuzion__std__err__1write fzT_fuzion__std__err__1write;
typedef struct fzT_fuzion__std__1panic fzT_fuzion__std__1panic;
typedef struct fzT_fuzion__std__out fzT_fuzion__std__out;
typedef struct fzT_fuzion__std__out__1print fzT_fuzion__std__out__1print;
typedef struct fzT_fuzion__std__out__1write fzT_fuzion__std__out__1write;
typedef struct fzT_fuzion__sys fzT_fuzion__sys;
typedef struct fzT__L1169fuzion__sy__U5b_wU5d_ fzT__L1169fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1170fuzion__sy__U5b_wU5d_ fzT__L1170fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1171fuzion__sy__U5b_wU5d_ fzT__L1171fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1202fuzion__sy__b_wU5d_we fzT__L1202fuzion__sy__b_wU5d_we;
typedef struct fzT__L1203fuzion__sy__b_wU5d_we fzT__L1203fuzion__sy__b_wU5d_we;
typedef struct fzT__L1204fuzion__sy__b_wU5d_we fzT__L1204fuzion__sy__b_wU5d_we;
typedef struct fzT_hasEquals_l_bool_g fzT_hasEquals_l_bool_g;
typedef struct fzT_hasEquals_l_f32_g fzT_hasEquals_l_f32_g;
typedef struct fzT_hasEquals_l_f64_g fzT_hasEquals_l_f64_g;
typedef struct fzT_hasEquals_l_i32_g fzT_hasEquals_l_i32_g;
typedef struct fzT_hasEquals_l_i64_g fzT_hasEquals_l_i64_g;
typedef struct fzT_hasEquals_l_string_g fzT_hasEquals_l_string_g;
typedef struct fzT__RhasEquals_l_string_g fzT__RhasEquals_l_string_g;
typedef struct fzT_hasEquals_l_u32_g fzT_hasEquals_l_u32_g;
typedef struct fzT_hasEquals_l_u64_g fzT_hasEquals_l_u64_g;
typedef struct fzT_hasEquals_l_u8_g fzT_hasEquals_l_u8_g;
typedef struct fzT_hasHash_l_f32_g fzT_hasHash_l_f32_g;
typedef struct fzT_hasHash_l_f64_g fzT_hasHash_l_f64_g;
typedef struct fzT_hasHash_l_i32_g fzT_hasHash_l_i32_g;
typedef struct fzT_hasHash_l_i64_g fzT_hasHash_l_i64_g;
typedef struct fzT_hasHash_l_string_g fzT_hasHash_l_string_g;
typedef struct fzT__RhasHash_l_string_g fzT__RhasHash_l_string_g;
typedef struct fzT_hasHash_l_u32_g fzT_hasHash_l_u32_g;
typedef struct fzT_hasHash_l_u64_g fzT_hasHash_l_u64_g;
typedef struct fzT_hasHash_l_u8_g fzT_hasHash_l_u8_g;
typedef struct fzT_hasInterval_l_i32_g fzT_hasInterval_l_i32_g;
typedef struct fzT_hasInterval_l_i64_g fzT_hasInterval_l_i64_g;
typedef struct fzT_hasInterval_l_u32_g fzT_hasInterval_l_u32_g;
typedef struct fzT_hasInterval_l_u64_g fzT_hasInterval_l_u64_g;
typedef struct fzT_hasInterval_l_u8_g fzT_hasInterval_l_u8_g;
typedef struct fzT_numOption_l_i32_g fzT_numOption_l_i32_g;
typedef struct fzT__L2398option_l_s__l_i32_ggg fzT__L2398option_l_s__l_i32_ggg;
typedef struct fzT_1i32__1infix_woo__asStream fzT_1i32__1infix_woo__asStream;
typedef struct fzT_1i32__1infix_woo_RasStream fzT_1i32__1infix_woo_RasStream;
typedef struct fzT__L12831i32__1inf____hasNext fzT__L12831i32__1inf____hasNext;
typedef struct fzT__L12871i32__1inf__eam__next fzT__L12871i32__1inf__eam__next;
typedef struct fzT_1u32__1infix_woo__1contains fzT_1u32__1infix_woo__1contains;
typedef struct fzT_1i32__1infix_woo__lower fzT_1i32__1infix_woo__lower;
typedef struct fzT_1u32__1infix_woo__lower fzT_1u32__1infix_woo__lower;
typedef struct fzT_i32s fzT_i32s;
typedef struct fzT_i32 fzT_i32;
typedef struct fzT_1i32__thiz fzT_1i32__thiz;
typedef struct fzT_1i32__1infix_wd fzT_1i32__1infix_wd;
typedef struct fzT_1i32__1infix_wP fzT_1i32__1infix_wP;
typedef struct fzT_1i32__max fzT_1i32__max;
typedef struct fzT_1i32__wrappedOnNeg fzT_1i32__wrappedOnNeg;
typedef struct fzT_1i32__1overflowOnAdd fzT_1i32__1overflowOnAdd;
typedef struct fzT_1i32__1underflowOnAdd fzT_1i32__1underflowOnAdd;
typedef struct fzT_1i32__1overflowOnSub fzT_1i32__1overflowOnSub;
typedef struct fzT_1i32__1underflowOnSub fzT_1i32__1underflowOnSub;
typedef struct fzT_1i32__1overflowOnMul fzT_1i32__1overflowOnMul;
typedef struct fzT_1i32__1underflowOnMul fzT_1i32__1underflowOnMul;
typedef struct fzT_1i32__as_u_u8 fzT_1i32__as_u_u8;
typedef struct fzT_1i32__as_u_u32 fzT_1i32__as_u_u32;
typedef struct fzT_1i32__low8bits fzT_1i32__low8bits;
typedef struct fzT_1i32__zero fzT_1i32__zero;
typedef struct fzT_i32s__zero fzT_i32s__zero;
typedef struct fzT_1i32__one fzT_1i32__one;
typedef struct fzT_1i32__min fzT_1i32__min;
typedef int64_t fzT_1i64;
typedef struct fzT_i64s fzT_i64s;
typedef struct fzT_integer_l_i32_g fzT_integer_l_i32_g;
typedef struct fzT_integer_l_i64_g fzT_integer_l_i64_g;
typedef struct fzT_integer_l_u32_g fzT_integer_l_u32_g;
typedef struct fzT_integer_l_u64_g fzT_integer_l_u64_g;
typedef struct fzT_integer_l_u8_g fzT_integer_l_u8_g;
typedef struct fzT_1i32__asString fzT_1i32__asString;
typedef struct fzT_1u8__asString fzT_1u8__asString;
typedef struct fzT_1i32__1asString fzT_1i32__1asString;
typedef struct fzT_1u8__1asString fzT_1u8__1asString;
typedef struct fzT__L14441i32__1asS__0__452350 fzT__L14441i32__1asS__0__452350;
typedef struct fzT__L14421i32__1asS__0__452350 fzT__L14421i32__1asS__0__452350;
typedef struct fzT__L14451u8__1asSt__0__452350 fzT__L14451u8__1asSt__0__452350;
typedef struct fzT__L14431u8__1asSt__0__452350 fzT__L14431u8__1asSt__0__452350;
typedef struct fzT__L14521i32__1asS__350__utf8 fzT__L14521i32__1asS__350__utf8;
typedef struct fzT__L14501i32__1asS__350_Rutf8 fzT__L14501i32__1asS__350_Rutf8;
typedef struct fzT__L14531u8__1asSt__350__utf8 fzT__L14531u8__1asSt__350__utf8;
typedef struct fzT__L14511u8__1asSt__350_Rutf8 fzT__L14511u8__1asSt__350_Rutf8;
typedef struct fzT__L14581i32__1asS___asStream fzT__L14581i32__1asS___asStream;
typedef struct fzT_numOption_l_u8_g fzT_numOption_l_u8_g;
typedef struct fzT__L14591u8__1asSt___asStream fzT__L14591u8__1asSt___asStream;
typedef struct fzT__L14721i32__1asS__0__454222 fzT__L14721i32__1asS__0__454222;
typedef struct fzT__L14701i32__1asS__0__454222 fzT__L14701i32__1asS__0__454222;
typedef struct fzT__L14731u8__1asSt__0__454222 fzT__L14731u8__1asSt__0__454222;
typedef struct fzT__L14711u8__1asSt__0__454222 fzT__L14711u8__1asSt__0__454222;
typedef struct fzT__L14821i32__1asS____hasNext fzT__L14821i32__1asS____hasNext;
typedef struct fzT__L14831u8__1asSt____hasNext fzT__L14831u8__1asSt____hasNext;
typedef struct fzT__L14881i32__1asS__222__next fzT__L14881i32__1asS__222__next;
typedef struct fzT__L14891u8__1asSt__222__next fzT__L14891u8__1asSt__222__next;
typedef struct fzT_io fzT_io;
typedef struct fzT_io__3out fzT_io__3out;
typedef struct fzT_io__out fzT_io__out;
typedef struct fzT_io__defaultPrintToOut fzT_io__defaultPrintToOut;
typedef struct fzT_io_RdefaultPrintToOut fzT_io_RdefaultPrintToOut;
typedef struct fzT__L1519io_Rdefaul__t__1print fzT__L1519io_Rdefaul__t__1print;
typedef struct fzT_io__outs fzT_io__outs;
typedef struct fzT_io__outs__installDefault fzT_io__outs__installDefault;
typedef struct fzT_io__2printEffect fzT_io__2printEffect;
typedef struct fzT_io__3out__1println fzT_io__3out__1println;
typedef struct fzT_io__canPrint fzT_io__canPrint;
typedef struct fzT_io_RcanPrint fzT_io_RcanPrint;
typedef struct fzT__L1541io_Rdefaul____println fzT__L1541io_Rdefaul____println;
typedef struct fzT_io_RcanPrint__println fzT_io_RcanPrint__println;
typedef struct fzT__L1547io_Rdefaul___1println fzT__L1547io_Rdefaul___1println;
typedef struct fzT_io_RcanPrint__1println fzT_io_RcanPrint__1println;
typedef struct fzT__Rlist_l_i32_g fzT__Rlist_l_i32_g;
typedef struct fzT__Rlist_l_string_g fzT__Rlist_l_string_g;
typedef struct fzT__Rlist_l_u8_g fzT__Rlist_l_u8_g;
typedef struct fzT_list_l_u8_g__asString fzT_list_l_u8_g__asString;
typedef struct fzT__Rlist_l_i32_g__asString fzT__Rlist_l_i32_g__asString;
typedef struct fzT__Rlist_l_string_g__asString fzT__Rlist_l_string_g__asString;
typedef struct fzT__Rlist_l_u8_g__asString fzT__Rlist_l_u8_g__asString;
typedef struct fzT_list_l_u8_g__1asString fzT_list_l_u8_g__1asString;
typedef struct fzT__Rlist_l_i32_g__1asString fzT__Rlist_l_i32_g__1asString;
typedef struct fzT__L1575_Rlist_l_s__1asString fzT__L1575_Rlist_l_s__1asString;
typedef struct fzT__Rlist_l_u8_g__1asString fzT__Rlist_l_u8_g__1asString;
typedef struct fzT__L1593list_l_u8___0__500003 fzT__L1593list_l_u8___0__500003;
typedef struct fzT__L1589list_l_u8___0__500003 fzT__L1589list_l_u8___0__500003;
typedef struct fzT__L1594_Rlist_l_i__0__500003 fzT__L1594_Rlist_l_i__0__500003;
typedef struct fzT__L1590_Rlist_l_i__0__500003 fzT__L1590_Rlist_l_i__0__500003;
typedef struct fzT__L1595_Rlist_l_s__0__500003 fzT__L1595_Rlist_l_s__0__500003;
typedef struct fzT__L1591_Rlist_l_s__0__500003 fzT__L1591_Rlist_l_s__0__500003;
typedef struct fzT__L1596_Rlist_l_u__0__500003 fzT__L1596_Rlist_l_u__0__500003;
typedef struct fzT__L1592_Rlist_l_u__0__500003 fzT__L1592_Rlist_l_u__0__500003;
typedef struct fzT__L1597list_l_u8___03__1call fzT__L1597list_l_u8___03__1call;
typedef struct fzT__L1598_Rlist_l_i__03__1call fzT__L1598_Rlist_l_i__03__1call;
typedef struct fzT__L1599_Rlist_l_s__03__1call fzT__L1599_Rlist_l_s__03__1call;
typedef struct fzT__L1600_Rlist_l_u__03__1call fzT__L1600_Rlist_l_u__03__1call;
typedef struct fzT__Rlist_l_i32_g__asList fzT__Rlist_l_i32_g__asList;
typedef struct fzT__Rlist_l_string_g__asList fzT__Rlist_l_string_g__asList;
typedef struct fzT__Rlist_l_u8_g__asList fzT__Rlist_l_u8_g__asList;
typedef struct fzT_list_l_i32_g__asStream fzT_list_l_i32_g__asStream;
typedef struct fzT_list_l_i32_g_RasStream fzT_list_l_i32_g_RasStream;
typedef struct fzT__L2399option_l_s__tring_ggg fzT__L2399option_l_s__tring_ggg;
typedef struct fzT_list_l_string_g__asStream fzT_list_l_string_g__asStream;
typedef struct fzT_list_l_string_g_RasStream fzT_list_l_string_g_RasStream;
typedef struct fzT_list_l_u8_g__asStream fzT_list_l_u8_g__asStream;
typedef struct fzT_list_l_u8_g_RasStream fzT_list_l_u8_g_RasStream;
typedef struct fzT__Rlist_l_i32_g__asStream fzT__Rlist_l_i32_g__asStream;
typedef struct fzT__Rlist_l_i32_g_RasStream fzT__Rlist_l_i32_g_RasStream;
typedef struct fzT__Rlist_l_string_g__asStream fzT__Rlist_l_string_g__asStream;
typedef struct fzT__Rlist_l_string_g_RasStream fzT__Rlist_l_string_g_RasStream;
typedef struct fzT__Rlist_l_u8_g__asStream fzT__Rlist_l_u8_g__asStream;
typedef struct fzT__Rlist_l_u8_g_RasStream fzT__Rlist_l_u8_g_RasStream;
typedef struct fzT__L1642list_l_i32____hasNext fzT__L1642list_l_i32____hasNext;
typedef struct fzT__L1643list_l_str____hasNext fzT__L1643list_l_str____hasNext;
typedef struct fzT__L1644list_l_u8_____hasNext fzT__L1644list_l_u8_____hasNext;
typedef struct fzT__L1645_Rlist_l_i____hasNext fzT__L1645_Rlist_l_i____hasNext;
typedef struct fzT__L1646_Rlist_l_s____hasNext fzT__L1646_Rlist_l_s____hasNext;
typedef struct fzT__L1647_Rlist_l_u____hasNext fzT__L1647_Rlist_l_u____hasNext;
typedef struct fzT__L1666list_l_i32__eam__next fzT__L1666list_l_i32__eam__next;
typedef struct fzT__L1667list_l_str__eam__next fzT__L1667list_l_str__eam__next;
typedef struct fzT_list_l_u8_g_RasStream__next fzT_list_l_u8_g_RasStream__next;
typedef struct fzT__L1669_Rlist_l_i__eam__next fzT__L1669_Rlist_l_i__eam__next;
typedef struct fzT__L1670_Rlist_l_s__eam__next fzT__L1670_Rlist_l_s__eam__next;
typedef struct fzT__L1671_Rlist_l_u__eam__next fzT__L1671_Rlist_l_u__eam__next;
typedef struct fzT_list_l_i32_g__isEmpty fzT_list_l_i32_g__isEmpty;
typedef struct fzT_list_l_string_g__isEmpty fzT_list_l_string_g__isEmpty;
typedef struct fzT_list_l_u8_g__isEmpty fzT_list_l_u8_g__isEmpty;
typedef struct fzT__Rlist_l_i32_g__isEmpty fzT__Rlist_l_i32_g__isEmpty;
typedef struct fzT__Rlist_l_string_g__isEmpty fzT__Rlist_l_string_g__isEmpty;
typedef struct fzT__Rlist_l_u8_g__isEmpty fzT__Rlist_l_u8_g__isEmpty;
typedef struct fzT_list_l_u8_g__count fzT_list_l_u8_g__count;
typedef struct fzT__Rlist_l_i32_g__count fzT__Rlist_l_i32_g__count;
typedef struct fzT__Rlist_l_string_g__count fzT__Rlist_l_string_g__count;
typedef struct fzT__Rlist_l_u8_g__count fzT__Rlist_l_u8_g__count;
typedef struct fzT_list_l_i32_g__1count fzT_list_l_i32_g__1count;
typedef struct fzT_list_l_string_g__1count fzT_list_l_string_g__1count;
typedef struct fzT_list_l_u8_g__1count fzT_list_l_u8_g__1count;
typedef struct fzT__Rlist_l_i32_g__1count fzT__Rlist_l_i32_g__1count;
typedef struct fzT__Rlist_l_string_g__1count fzT__Rlist_l_string_g__1count;
typedef struct fzT__Rlist_l_u8_g__1count fzT__Rlist_l_u8_g__1count;
typedef struct fzT__Rlist_l_i32_g__first fzT__Rlist_l_i32_g__first;
typedef struct fzT__Rlist_l_string_g__first fzT__Rlist_l_string_g__first;
typedef struct fzT__Rlist_l_u8_g__first fzT__Rlist_l_u8_g__first;
typedef struct fzT_list_l_i32_g__1infix_wpp fzT_list_l_i32_g__1infix_wpp;
typedef struct fzT_list_l_string_g__1infix_wpp fzT_list_l_string_g__1infix_wpp;
typedef struct fzT_list_l_u8_g__1infix_wpp fzT_list_l_u8_g__1infix_wpp;
typedef struct fzT__Rlist_l_i32_g__1infix_wpp fzT__Rlist_l_i32_g__1infix_wpp;
typedef struct fzT__L1790_Rlist_l_s__infix_wpp fzT__L1790_Rlist_l_s__infix_wpp;
typedef struct fzT__Rlist_l_u8_g__1infix_wpp fzT__Rlist_l_u8_g__1infix_wpp;
typedef struct fzT_list_l_i32_g__1fold fzT_list_l_i32_g__1fold;
typedef struct fzT_list_l_string_g__1fold fzT_list_l_string_g__1fold;
typedef struct fzT_list_l_i32_g__2fold fzT_list_l_i32_g__2fold;
typedef struct fzT_list_l_string_g__2fold fzT_list_l_string_g__2fold;
typedef struct fzT_list_l_i32_g__1map_l_i32_g fzT_list_l_i32_g__1map_l_i32_g;
typedef struct fzT__L1833list_l_str__p_l_i32_g fzT__L1833list_l_str__p_l_i32_g;
typedef struct fzT_list_l_u8_g__1map_l_i32_g fzT_list_l_u8_g__1map_l_i32_g;
typedef struct fzT__L1835list_l_i32___string_g fzT__L1835list_l_i32___string_g;
typedef struct fzT__L1836list_l_str___string_g fzT__L1836list_l_str___string_g;
typedef struct fzT__L1837list_l_u8____string_g fzT__L1837list_l_u8____string_g;
typedef struct fzT__L1838_Rlist_l_i___string_g fzT__L1838_Rlist_l_i___string_g;
typedef struct fzT__L1839_Rlist_l_s___string_g fzT__L1839_Rlist_l_s___string_g;
typedef struct fzT__L1840_Rlist_l_u___string_g fzT__L1840_Rlist_l_u___string_g;
typedef struct fzT__L1886list_l_i32__0__514403 fzT__L1886list_l_i32__0__514403;
typedef struct fzT__L1877list_l_i32__0__514403 fzT__L1877list_l_i32__0__514403;
typedef struct fzT__L1887list_l_str__0__514403 fzT__L1887list_l_str__0__514403;
typedef struct fzT__L1878list_l_str__0__514403 fzT__L1878list_l_str__0__514403;
typedef struct fzT__L1888list_l_u8___0__514403 fzT__L1888list_l_u8___0__514403;
typedef struct fzT__L1879list_l_u8___0__514403 fzT__L1879list_l_u8___0__514403;
typedef struct fzT__L1889list_l_i32__0__514403 fzT__L1889list_l_i32__0__514403;
typedef struct fzT__L1880list_l_i32__0__514403 fzT__L1880list_l_i32__0__514403;
typedef struct fzT__L1890list_l_str__0__514403 fzT__L1890list_l_str__0__514403;
typedef struct fzT__L1881list_l_str__0__514403 fzT__L1881list_l_str__0__514403;
typedef struct fzT__L1891list_l_u8___0__514403 fzT__L1891list_l_u8___0__514403;
typedef struct fzT__L1882list_l_u8___0__514403 fzT__L1882list_l_u8___0__514403;
typedef struct fzT__L1892_Rlist_l_i__0__514403 fzT__L1892_Rlist_l_i__0__514403;
typedef struct fzT__L1883_Rlist_l_i__0__514403 fzT__L1883_Rlist_l_i__0__514403;
typedef struct fzT__L1893_Rlist_l_s__0__514403 fzT__L1893_Rlist_l_s__0__514403;
typedef struct fzT__L1884_Rlist_l_s__0__514403 fzT__L1884_Rlist_l_s__0__514403;
typedef struct fzT__L1894_Rlist_l_u__0__514403 fzT__L1894_Rlist_l_u__0__514403;
typedef struct fzT__L1885_Rlist_l_u__0__514403 fzT__L1885_Rlist_l_u__0__514403;
typedef struct fzT__L1913list_l_i32__403__head fzT__L1913list_l_i32__403__head;
typedef struct fzT__L1914list_l_str__403__head fzT__L1914list_l_str__403__head;
typedef struct fzT__L1915list_l_u8___403__head fzT__L1915list_l_u8___403__head;
typedef struct fzT__L1916list_l_i32__403__head fzT__L1916list_l_i32__403__head;
typedef struct fzT__L1917list_l_str__403__head fzT__L1917list_l_str__403__head;
typedef struct fzT__L1918list_l_u8___403__head fzT__L1918list_l_u8___403__head;
typedef struct fzT__L1919_Rlist_l_i__403__head fzT__L1919_Rlist_l_i__403__head;
typedef struct fzT__L1920_Rlist_l_s__403__head fzT__L1920_Rlist_l_s__403__head;
typedef struct fzT__L1921_Rlist_l_u__403__head fzT__L1921_Rlist_l_u__403__head;
typedef struct fzT__L1940list_l_i32__403__tail fzT__L1940list_l_i32__403__tail;
typedef struct fzT__L1941list_l_str__403__tail fzT__L1941list_l_str__403__tail;
typedef struct fzT__L1942list_l_u8___403__tail fzT__L1942list_l_u8___403__tail;
typedef struct fzT__L1943list_l_i32__403__tail fzT__L1943list_l_i32__403__tail;
typedef struct fzT__L1944list_l_str__403__tail fzT__L1944list_l_str__403__tail;
typedef struct fzT__L1945list_l_u8___403__tail fzT__L1945list_l_u8___403__tail;
typedef struct fzT__L1946_Rlist_l_i__403__tail fzT__L1946_Rlist_l_i__403__tail;
typedef struct fzT__L1947_Rlist_l_s__403__tail fzT__L1947_Rlist_l_s__403__tail;
typedef struct fzT__L1948_Rlist_l_u__403__tail fzT__L1948_Rlist_l_u__403__tail;
typedef struct fzT_list_l_i32_g__forceHead fzT_list_l_i32_g__forceHead;
typedef struct fzT_list_l_string_g__forceHead fzT_list_l_string_g__forceHead;
typedef struct fzT_list_l_u8_g__forceHead fzT_list_l_u8_g__forceHead;
typedef struct fzT__Rlist_l_i32_g__forceHead fzT__Rlist_l_i32_g__forceHead;
typedef struct fzT__L1980_Rlist_l_s__forceHead fzT__L1980_Rlist_l_s__forceHead;
typedef struct fzT__Rlist_l_u8_g__forceHead fzT__Rlist_l_u8_g__forceHead;
typedef struct fzT_list_l_i32_g__forceTail fzT_list_l_i32_g__forceTail;
typedef struct fzT_list_l_string_g__forceTail fzT_list_l_string_g__forceTail;
typedef struct fzT_list_l_u8_g__forceTail fzT_list_l_u8_g__forceTail;
typedef struct fzT_list_l_i32_g__1concat fzT_list_l_i32_g__1concat;
typedef struct fzT_list_l_string_g__1concat fzT_list_l_string_g__1concat;
typedef struct fzT_list_l_u8_g__1concat fzT_list_l_u8_g__1concat;
typedef struct fzT__Rlist_l_i32_g__1concat fzT__Rlist_l_i32_g__1concat;
typedef struct fzT__Rlist_l_string_g__1concat fzT__Rlist_l_string_g__1concat;
typedef struct fzT__Rlist_l_u8_g__1concat fzT__Rlist_l_u8_g__1concat;
typedef struct fzT__L2066list_l_i32__0__520727 fzT__L2066list_l_i32__0__520727;
typedef struct fzT__L2060list_l_i32__0__520727 fzT__L2060list_l_i32__0__520727;
typedef struct fzT__L2067list_l_str__0__520727 fzT__L2067list_l_str__0__520727;
typedef struct fzT__L2061list_l_str__0__520727 fzT__L2061list_l_str__0__520727;
typedef struct fzT__L2068list_l_u8___0__520727 fzT__L2068list_l_u8___0__520727;
typedef struct fzT__L2062list_l_u8___0__520727 fzT__L2062list_l_u8___0__520727;
typedef struct fzT__L2069_Rlist_l_i__0__520727 fzT__L2069_Rlist_l_i__0__520727;
typedef struct fzT__L2063_Rlist_l_i__0__520727 fzT__L2063_Rlist_l_i__0__520727;
typedef struct fzT__L2070_Rlist_l_s__0__520727 fzT__L2070_Rlist_l_s__0__520727;
typedef struct fzT__L2064_Rlist_l_s__0__520727 fzT__L2064_Rlist_l_s__0__520727;
typedef struct fzT__L2071_Rlist_l_u__0__520727 fzT__L2071_Rlist_l_u__0__520727;
typedef struct fzT__L2065_Rlist_l_u__0__520727 fzT__L2065_Rlist_l_u__0__520727;
typedef struct fzT__L2084list_l_i32__727__head fzT__L2084list_l_i32__727__head;
typedef struct fzT__L2085list_l_str__727__head fzT__L2085list_l_str__727__head;
typedef struct fzT__L2086list_l_u8___727__head fzT__L2086list_l_u8___727__head;
typedef struct fzT__L2087_Rlist_l_i__727__head fzT__L2087_Rlist_l_i__727__head;
typedef struct fzT__L2088_Rlist_l_s__727__head fzT__L2088_Rlist_l_s__727__head;
typedef struct fzT__L2089_Rlist_l_u__727__head fzT__L2089_Rlist_l_u__727__head;
typedef struct fzT__L2102list_l_i32__727__tail fzT__L2102list_l_i32__727__tail;
typedef struct fzT__L2103list_l_str__727__tail fzT__L2103list_l_str__727__tail;
typedef struct fzT__L2104list_l_u8___727__tail fzT__L2104list_l_u8___727__tail;
typedef struct fzT__L2105_Rlist_l_i__727__tail fzT__L2105_Rlist_l_i__727__tail;
typedef struct fzT__L2106_Rlist_l_s__727__tail fzT__L2106_Rlist_l_s__727__tail;
typedef struct fzT__L2107_Rlist_l_u__727__tail fzT__L2107_Rlist_l_u__727__tail;
typedef struct fzT_2marray_l_i32_g fzT_2marray_l_i32_g;
typedef struct fzT_2marray_l_string_g fzT_2marray_l_string_g;
typedef struct fzT_2marray_l_u8_g fzT_2marray_l_u8_g;
typedef struct fzT__L21352marray_l___U5b_wU5d_ fzT__L21352marray_l___U5b_wU5d_;
typedef struct fzT__L21362marray_l___U5b_wU5d_ fzT__L21362marray_l___U5b_wU5d_;
typedef struct fzT__L21372marray_l___U5b_wU5d_ fzT__L21372marray_l___U5b_wU5d_;
typedef struct fzT_2marray_l_i32_g__1add fzT_2marray_l_i32_g__1add;
typedef struct fzT_2marray_l_string_g__1add fzT_2marray_l_string_g__1add;
typedef struct fzT_2marray_l_u8_g__1add fzT_2marray_l_u8_g__1add;
typedef struct fzT__L21772marray_l___0__536173 fzT__L21772marray_l___0__536173;
typedef struct fzT__L21782marray_l___0__536173 fzT__L21782marray_l___0__536173;
typedef struct fzT__L21792marray_l___0__536173 fzT__L21792marray_l___0__536173;
typedef struct fzT_2marray_l_i32_g__indices fzT_2marray_l_i32_g__indices;
typedef struct fzT_2marray_l_string_g__indices fzT_2marray_l_string_g__indices;
typedef struct fzT_2marray_l_u8_g__indices fzT_2marray_l_u8_g__indices;
typedef struct fzT_2marray_l_i32_g__as_u_array fzT_2marray_l_i32_g__as_u_array;
typedef struct fzT__L22112marray_l___s_u_array fzT__L22112marray_l___s_u_array;
typedef struct fzT_2marray_l_u8_g__as_u_array fzT_2marray_l_u8_g__as_u_array;
typedef struct fzT__L22222marray_l___0__539752 fzT__L22222marray_l___0__539752;
typedef struct fzT__L22192marray_l___0__539752 fzT__L22192marray_l___0__539752;
typedef struct fzT__L22232marray_l___0__539752 fzT__L22232marray_l___0__539752;
typedef struct fzT__L22202marray_l___0__539752 fzT__L22202marray_l___0__539752;
typedef struct fzT__L22242marray_l___0__539752 fzT__L22242marray_l___0__539752;
typedef struct fzT__L22212marray_l___0__539752 fzT__L22212marray_l___0__539752;
typedef struct fzT__L22312marray_l___52__1call fzT__L22312marray_l___52__1call;
typedef struct fzT__L22322marray_l___52__1call fzT__L22322marray_l___52__1call;
typedef struct fzT__L22332marray_l___52__1call fzT__L22332marray_l___52__1call;
typedef struct fzT__L2246monad_l_i3___l_i32_gg fzT__L2246monad_l_i3___l_i32_gg;
typedef struct fzT__L2247monad_l_so___i32_gggg fzT__L2247monad_l_so___i32_gggg;
typedef struct fzT__L2248monad_l_so__ring_gggg fzT__L2248monad_l_so__ring_gggg;
typedef struct fzT__L2249monad_l_so__l_u8_gggg fzT__L2249monad_l_so__l_u8_gggg;
typedef struct fzT__L2250monad_l_u8__n_l_u8_gg fzT__L2250monad_l_u8__n_l_u8_gg;
typedef struct fzT__L2251monad_l_un__l_unit_gg fzT__L2251monad_l_un__l_unit_gg;
typedef struct fzT_numOption_l_i32_g__val fzT_numOption_l_i32_g__val;
typedef struct fzT_numOption_l_i32_g__exists fzT_numOption_l_i32_g__exists;
typedef struct fzT__L2267numOption___nfix_wgge fzT__L2267numOption___nfix_wgge;
typedef struct fzT__L2271numOption___d_l_i32_g fzT__L2271numOption___d_l_i32_g;
typedef struct fzT__L2277numOption___stfix_wQQ fzT__L2277numOption___stfix_wQQ;
typedef struct fzT__L2280numOption___infix_wpQ fzT__L2280numOption___infix_wpQ;
typedef struct fzT__L2285numOption___0__568736 fzT__L2285numOption___0__568736;
typedef struct fzT__L2284numOption___0__568736 fzT__L2284numOption___0__568736;
typedef struct fzT__L2288numOption___36__1call fzT__L2288numOption___36__1call;
typedef struct fzT__L2293numOption___0__569212 fzT__L2293numOption___0__569212;
typedef struct fzT__L2292numOption___0__569212 fzT__L2292numOption___0__569212;
typedef struct fzT__L2296numOption___12__1call fzT__L2296numOption___12__1call;
typedef struct fzT_1numOption_l_i32_g fzT_1numOption_l_i32_g;
typedef struct fzT_numeric_l_f32_g fzT_numeric_l_f32_g;
typedef struct fzT_numeric_l_f64_g fzT_numeric_l_f64_g;
typedef struct fzT_numeric_l_i32_g fzT_numeric_l_i32_g;
typedef struct fzT_numeric_l_i64_g fzT_numeric_l_i64_g;
typedef struct fzT_numeric_l_u32_g fzT_numeric_l_u32_g;
typedef struct fzT_numeric_l_u64_g fzT_numeric_l_u64_g;
typedef struct fzT_numeric_l_u8_g fzT_numeric_l_u8_g;
typedef struct fzT_1i32__1highest fzT_1i32__1highest;
typedef struct fzT_1u8__1highest fzT_1u8__1highest;
typedef struct fzT__L23201i32__1hig__0__586773 fzT__L23201i32__1hig__0__586773;
typedef struct fzT__L23211u8__1high__0__586773 fzT__L23211u8__1high__0__586773;
typedef struct fzT_1i32__1infix_we fzT_1i32__1infix_we;
typedef struct fzT_1i32__1max fzT_1i32__1max;
typedef struct fzT_1i32__sign fzT_1i32__sign;
typedef struct fzT_1u8__sign fzT_1u8__sign;
typedef struct fzT_1u8__isZero fzT_1u8__isZero;
typedef struct fzT_1i32__to_u_u32 fzT_1i32__to_u_u32;
typedef struct fzT_1u8__to_u_u32 fzT_1u8__to_u_u32;
typedef struct fzT_numerics_l_f32_g fzT_numerics_l_f32_g;
typedef struct fzT_numerics_l_f64_g fzT_numerics_l_f64_g;
typedef struct fzT_numerics_l_i32_g fzT_numerics_l_i32_g;
typedef struct fzT_numerics_l_i64_g fzT_numerics_l_i64_g;
typedef struct fzT_numerics_l_u32_g fzT_numerics_l_u32_g;
typedef struct fzT_numerics_l_u64_g fzT_numerics_l_u64_g;
typedef struct fzT_numerics_l_u8_g fzT_numerics_l_u8_g;
typedef struct fzT_1i32__1from_u_u32 fzT_1i32__1from_u_u32;
typedef struct fzT_1u8__1from_u_u32 fzT_1u8__1from_u_u32;
typedef struct fzT_i32s__sum fzT_i32s__sum;
typedef struct fzT_i32s_Rsum fzT_i32s_Rsum;
typedef struct fzT_i32s_Rsum__2infix_wU2219_ fzT_i32s_Rsum__2infix_wU2219_;
typedef struct fzT_i32s_Rsum__e fzT_i32s_Rsum__e;
typedef struct fzT__L2406option_l_s___ggg__get fzT__L2406option_l_s___ggg__get;
typedef struct fzT__L2407option_l_s___ggg__get fzT__L2407option_l_s___ggg__get;
typedef struct fzT__L2408option_l_s___ggg__get fzT__L2408option_l_s___ggg__get;
typedef struct fzT__L2424option_l_s__g__exists fzT__L2424option_l_s__g__exists;
typedef struct fzT__L2425option_l_s__g__exists fzT__L2425option_l_s__g__exists;
typedef struct fzT__L2426option_l_s__g__exists fzT__L2426option_l_s__g__exists;
typedef struct fzT__L2436option_l_s__stfix_wQQ fzT__L2436option_l_s__stfix_wQQ;
typedef struct fzT__L2437option_l_s__stfix_wQQ fzT__L2437option_l_s__stfix_wQQ;
typedef struct fzT__L2438option_l_s__stfix_wQQ fzT__L2438option_l_s__stfix_wQQ;
typedef struct fzT_ordered_l_f32_g fzT_ordered_l_f32_g;
typedef struct fzT_ordered_l_f64_g fzT_ordered_l_f64_g;
typedef struct fzT_ordered_l_i32_g fzT_ordered_l_i32_g;
typedef struct fzT_ordered_l_i64_g fzT_ordered_l_i64_g;
typedef struct fzT_ordered_l_string_g fzT_ordered_l_string_g;
typedef struct fzT__Rordered_l_string_g fzT__Rordered_l_string_g;
typedef struct fzT_ordered_l_u32_g fzT_ordered_l_u32_g;
typedef struct fzT_ordered_l_u64_g fzT_ordered_l_u64_g;
typedef struct fzT_ordered_l_u8_g fzT_ordered_l_u8_g;
typedef struct fzT_partiallyOrdered_l_f32_g fzT_partiallyOrdered_l_f32_g;
typedef struct fzT_partiallyOrdered_l_f64_g fzT_partiallyOrdered_l_f64_g;
typedef struct fzT_partiallyOrdered_l_i32_g fzT_partiallyOrdered_l_i32_g;
typedef struct fzT_partiallyOrdered_l_i64_g fzT_partiallyOrdered_l_i64_g;
typedef struct fzT_partiallyOrdered_l_string_g fzT_partiallyOrdered_l_string_g;
typedef struct fzT__L2458_Rpartiall___string_g fzT__L2458_Rpartiall___string_g;
typedef struct fzT_partiallyOrdered_l_u32_g fzT_partiallyOrdered_l_u32_g;
typedef struct fzT_partiallyOrdered_l_u64_g fzT_partiallyOrdered_l_u64_g;
typedef struct fzT_partiallyOrdered_l_u8_g fzT_partiallyOrdered_l_u8_g;
typedef struct fzT_1say fzT_1say;
typedef struct fzT_stdout fzT_stdout;
typedef struct fzT_stream_l_i32_g fzT_stream_l_i32_g;
typedef struct fzT__Rstream_l_i32_g fzT__Rstream_l_i32_g;
typedef struct fzT_stream_l_string_g fzT_stream_l_string_g;
typedef struct fzT__Rstream_l_string_g fzT__Rstream_l_string_g;
typedef struct fzT_stream_l_u8_g fzT_stream_l_u8_g;
typedef struct fzT__Rstream_l_u8_g fzT__Rstream_l_u8_g;
typedef struct fzT__L2481_R4array_l___asString fzT__L2481_R4array_l___asString;
typedef struct fzT__L24821i32__1inf___asString fzT__L24821i32__1inf___asString;
typedef struct fzT__L24831i32__1asS___asString fzT__L24831i32__1asS___asString;
typedef struct fzT__L24841u8__1asSt___asString fzT__L24841u8__1asSt___asString;
typedef struct fzT__L2485list_l_i32___asString fzT__L2485list_l_i32___asString;
typedef struct fzT__L2486list_l_str___asString fzT__L2486list_l_str___asString;
typedef struct fzT__L2487list_l_u8____asString fzT__L2487list_l_u8____asString;
typedef struct fzT__L2488_Rlist_l_i___asString fzT__L2488_Rlist_l_i___asString;
typedef struct fzT__L2489_Rlist_l_s___asString fzT__L2489_Rlist_l_s___asString;
typedef struct fzT__L2490_Rlist_l_u___asString fzT__L2490_Rlist_l_u___asString;
typedef struct fzT__L2491_R4array_l___asString fzT__L2491_R4array_l___asString;
typedef struct fzT__L24921i32__1inf___asString fzT__L24921i32__1inf___asString;
typedef struct fzT__L24931i32__1asS___asString fzT__L24931i32__1asS___asString;
typedef struct fzT__L24941u8__1asSt___asString fzT__L24941u8__1asSt___asString;
typedef struct fzT__L2495list_l_i32___asString fzT__L2495list_l_i32___asString;
typedef struct fzT__L2496list_l_str___asString fzT__L2496list_l_str___asString;
typedef struct fzT__L2497list_l_u8____asString fzT__L2497list_l_u8____asString;
typedef struct fzT__L2498_Rlist_l_i___asString fzT__L2498_Rlist_l_i___asString;
typedef struct fzT__L2499_Rlist_l_s___asString fzT__L2499_Rlist_l_s___asString;
typedef struct fzT__L2500_Rlist_l_u___asString fzT__L2500_Rlist_l_u___asString;
typedef struct fzT__L2501_Rstream_l___asString fzT__L2501_Rstream_l___asString;
typedef struct fzT__L2565_R4array_l__0__753233 fzT__L2565_R4array_l__0__753233;
typedef struct fzT__L2544_R4array_l__0__753233 fzT__L2544_R4array_l__0__753233;
typedef struct fzT__L25661i32__1inf__0__753233 fzT__L25661i32__1inf__0__753233;
typedef struct fzT__L25451i32__1inf__0__753233 fzT__L25451i32__1inf__0__753233;
typedef struct fzT__L25671i32__1asS__0__753233 fzT__L25671i32__1asS__0__753233;
typedef struct fzT__L25461i32__1asS__0__753233 fzT__L25461i32__1asS__0__753233;
typedef struct fzT__L25681u8__1asSt__0__753233 fzT__L25681u8__1asSt__0__753233;
typedef struct fzT__L25471u8__1asSt__0__753233 fzT__L25471u8__1asSt__0__753233;
typedef struct fzT__L2569list_l_i32__0__753233 fzT__L2569list_l_i32__0__753233;
typedef struct fzT__L2548list_l_i32__0__753233 fzT__L2548list_l_i32__0__753233;
typedef struct fzT__L2570list_l_str__0__753233 fzT__L2570list_l_str__0__753233;
typedef struct fzT__L2549list_l_str__0__753233 fzT__L2549list_l_str__0__753233;
typedef struct fzT__L2571list_l_u8___0__753233 fzT__L2571list_l_u8___0__753233;
typedef struct fzT__L2550list_l_u8___0__753233 fzT__L2550list_l_u8___0__753233;
typedef struct fzT__L2572_Rlist_l_i__0__753233 fzT__L2572_Rlist_l_i__0__753233;
typedef struct fzT__L2551_Rlist_l_i__0__753233 fzT__L2551_Rlist_l_i__0__753233;
typedef struct fzT__L2573_Rlist_l_s__0__753233 fzT__L2573_Rlist_l_s__0__753233;
typedef struct fzT__L2552_Rlist_l_s__0__753233 fzT__L2552_Rlist_l_s__0__753233;
typedef struct fzT__L2574_Rlist_l_u__0__753233 fzT__L2574_Rlist_l_u__0__753233;
typedef struct fzT__L2553_Rlist_l_u__0__753233 fzT__L2553_Rlist_l_u__0__753233;
typedef struct fzT__L2575_R4array_l__0__753233 fzT__L2575_R4array_l__0__753233;
typedef struct fzT__L2554_R4array_l__0__753233 fzT__L2554_R4array_l__0__753233;
typedef struct fzT__L25761i32__1inf__0__753233 fzT__L25761i32__1inf__0__753233;
typedef struct fzT__L25551i32__1inf__0__753233 fzT__L25551i32__1inf__0__753233;
typedef struct fzT__L25771i32__1asS__0__753233 fzT__L25771i32__1asS__0__753233;
typedef struct fzT__L25561i32__1asS__0__753233 fzT__L25561i32__1asS__0__753233;
typedef struct fzT__L25781u8__1asSt__0__753233 fzT__L25781u8__1asSt__0__753233;
typedef struct fzT__L25571u8__1asSt__0__753233 fzT__L25571u8__1asSt__0__753233;
typedef struct fzT__L2579list_l_i32__0__753233 fzT__L2579list_l_i32__0__753233;
typedef struct fzT__L2558list_l_i32__0__753233 fzT__L2558list_l_i32__0__753233;
typedef struct fzT__L2580list_l_str__0__753233 fzT__L2580list_l_str__0__753233;
typedef struct fzT__L2559list_l_str__0__753233 fzT__L2559list_l_str__0__753233;
typedef struct fzT__L2581list_l_u8___0__753233 fzT__L2581list_l_u8___0__753233;
typedef struct fzT__L2560list_l_u8___0__753233 fzT__L2560list_l_u8___0__753233;
typedef struct fzT__L2582_Rlist_l_i__0__753233 fzT__L2582_Rlist_l_i__0__753233;
typedef struct fzT__L2561_Rlist_l_i__0__753233 fzT__L2561_Rlist_l_i__0__753233;
typedef struct fzT__L2583_Rlist_l_s__0__753233 fzT__L2583_Rlist_l_s__0__753233;
typedef struct fzT__L2562_Rlist_l_s__0__753233 fzT__L2562_Rlist_l_s__0__753233;
typedef struct fzT__L2584_Rlist_l_u__0__753233 fzT__L2584_Rlist_l_u__0__753233;
typedef struct fzT__L2563_Rlist_l_u__0__753233 fzT__L2563_Rlist_l_u__0__753233;
typedef struct fzT__L2585_Rstream_l__0__753233 fzT__L2585_Rstream_l__0__753233;
typedef struct fzT__L2564_Rstream_l__0__753233 fzT__L2564_Rstream_l__0__753233;
typedef struct fzT__L2586_R4array_l__33__1call fzT__L2586_R4array_l__33__1call;
typedef struct fzT__L25871i32__1inf__33__1call fzT__L25871i32__1inf__33__1call;
typedef struct fzT__L25881i32__1asS__33__1call fzT__L25881i32__1asS__33__1call;
typedef struct fzT__L25891u8__1asSt__33__1call fzT__L25891u8__1asSt__33__1call;
typedef struct fzT__L2590list_l_i32__33__1call fzT__L2590list_l_i32__33__1call;
typedef struct fzT__L2591list_l_str__33__1call fzT__L2591list_l_str__33__1call;
typedef struct fzT__L2592list_l_u8___33__1call fzT__L2592list_l_u8___33__1call;
typedef struct fzT__L2593_Rlist_l_i__33__1call fzT__L2593_Rlist_l_i__33__1call;
typedef struct fzT__L2594_Rlist_l_s__33__1call fzT__L2594_Rlist_l_s__33__1call;
typedef struct fzT__L2595_Rlist_l_u__33__1call fzT__L2595_Rlist_l_u__33__1call;
typedef struct fzT__L2596_R4array_l__33__1call fzT__L2596_R4array_l__33__1call;
typedef struct fzT__L25971i32__1inf__33__1call fzT__L25971i32__1inf__33__1call;
typedef struct fzT__L25981i32__1asS__33__1call fzT__L25981i32__1asS__33__1call;
typedef struct fzT__L25991u8__1asSt__33__1call fzT__L25991u8__1asSt__33__1call;
typedef struct fzT__L2600list_l_i32__33__1call fzT__L2600list_l_i32__33__1call;
typedef struct fzT__L2601list_l_str__33__1call fzT__L2601list_l_str__33__1call;
typedef struct fzT__L2602list_l_u8___33__1call fzT__L2602list_l_u8___33__1call;
typedef struct fzT__L2603_Rlist_l_i__33__1call fzT__L2603_Rlist_l_i__33__1call;
typedef struct fzT__L2604_Rlist_l_s__33__1call fzT__L2604_Rlist_l_s__33__1call;
typedef struct fzT__L2605_Rlist_l_u__33__1call fzT__L2605_Rlist_l_u__33__1call;
typedef struct fzT__L2606_Rstream_l__33__1call fzT__L2606_Rstream_l__33__1call;
typedef struct fzT__L2649_R4array_l__m__asList fzT__L2649_R4array_l__m__asList;
typedef struct fzT__L26501i32__1inf__m__asList fzT__L26501i32__1inf__m__asList;
typedef struct fzT__L26511i32__1asS__2__asList fzT__L26511i32__1asS__2__asList;
typedef struct fzT__L26521u8__1asSt__2__asList fzT__L26521u8__1asSt__2__asList;
typedef struct fzT__L2653list_l_i32__m__asList fzT__L2653list_l_i32__m__asList;
typedef struct fzT__L2654list_l_str__m__asList fzT__L2654list_l_str__m__asList;
typedef struct fzT__L2655list_l_u8___m__asList fzT__L2655list_l_u8___m__asList;
typedef struct fzT__L2656_Rlist_l_i__m__asList fzT__L2656_Rlist_l_i__m__asList;
typedef struct fzT__L2657_Rlist_l_s__m__asList fzT__L2657_Rlist_l_s__m__asList;
typedef struct fzT__L2658_Rlist_l_u__m__asList fzT__L2658_Rlist_l_u__m__asList;
typedef struct fzT__Rstream_l_i32_g__asList fzT__Rstream_l_i32_g__asList;
typedef struct fzT__Rstream_l_string_g__asList fzT__Rstream_l_string_g__asList;
typedef struct fzT__Rstream_l_u8_g__asList fzT__Rstream_l_u8_g__asList;
typedef struct fzT__L2662_R4array_l__7__asList fzT__L2662_R4array_l__7__asList;
typedef struct fzT__L26631i32__1inf__7__asList fzT__L26631i32__1inf__7__asList;
typedef struct fzT__L26641i32__1asS__7__asList fzT__L26641i32__1asS__7__asList;
typedef struct fzT__L26651u8__1asSt__7__asList fzT__L26651u8__1asSt__7__asList;
typedef struct fzT__L2666list_l_i32__7__asList fzT__L2666list_l_i32__7__asList;
typedef struct fzT__L2667list_l_str__7__asList fzT__L2667list_l_str__7__asList;
typedef struct fzT__L2668list_l_u8___7__asList fzT__L2668list_l_u8___7__asList;
typedef struct fzT__L2669_Rlist_l_i__7__asList fzT__L2669_Rlist_l_i__7__asList;
typedef struct fzT__L2670_Rlist_l_s__7__asList fzT__L2670_Rlist_l_s__7__asList;
typedef struct fzT__L2671_Rlist_l_u__7__asList fzT__L2671_Rlist_l_u__7__asList;
typedef struct fzT__L2672_Rstream_l__7__asList fzT__L2672_Rstream_l__7__asList;
typedef struct fzT__L2745_R4array_l___asStream fzT__L2745_R4array_l___asStream;
typedef struct fzT__L27461i32__1inf___asStream fzT__L27461i32__1inf___asStream;
typedef struct fzT__L27471i32__1asS___asStream fzT__L27471i32__1asS___asStream;
typedef struct fzT__L27481u8__1asSt___asStream fzT__L27481u8__1asSt___asStream;
typedef struct fzT__L2749list_l_i32___asStream fzT__L2749list_l_i32___asStream;
typedef struct fzT__L2750list_l_str___asStream fzT__L2750list_l_str___asStream;
typedef struct fzT__L2751list_l_u8____asStream fzT__L2751list_l_u8____asStream;
typedef struct fzT__L2752_Rlist_l_i___asStream fzT__L2752_Rlist_l_i___asStream;
typedef struct fzT__L2753_Rlist_l_s___asStream fzT__L2753_Rlist_l_s___asStream;
typedef struct fzT__L2754_Rlist_l_u___asStream fzT__L2754_Rlist_l_u___asStream;
typedef struct fzT__L2755_R4array_l___asStream fzT__L2755_R4array_l___asStream;
typedef struct fzT__L27561i32__1inf___asStream fzT__L27561i32__1inf___asStream;
typedef struct fzT__L27571i32__1asS___asStream fzT__L27571i32__1asS___asStream;
typedef struct fzT__L27581u8__1asSt___asStream fzT__L27581u8__1asSt___asStream;
typedef struct fzT__L2759list_l_i32___asStream fzT__L2759list_l_i32___asStream;
typedef struct fzT__L2760list_l_str___asStream fzT__L2760list_l_str___asStream;
typedef struct fzT__L2761list_l_u8____asStream fzT__L2761list_l_u8____asStream;
typedef struct fzT__L2762_Rlist_l_i___asStream fzT__L2762_Rlist_l_i___asStream;
typedef struct fzT__L2763_Rlist_l_s___asStream fzT__L2763_Rlist_l_s___asStream;
typedef struct fzT__L2764_Rlist_l_u___asStream fzT__L2764_Rlist_l_u___asStream;
typedef struct fzT__L2765_Rstream_l___asStream fzT__L2765_Rstream_l___asStream;
typedef struct fzT__L2808_R4array_l__am__count fzT__L2808_R4array_l__am__count;
typedef struct fzT__L28091i32__1inf__am__count fzT__L28091i32__1inf__am__count;
typedef struct fzT__L28101i32__1asS__22__count fzT__L28101i32__1asS__22__count;
typedef struct fzT__L28111u8__1asSt__22__count fzT__L28111u8__1asSt__22__count;
typedef struct fzT__L2812list_l_i32__am__count fzT__L2812list_l_i32__am__count;
typedef struct fzT__L2813list_l_str__am__count fzT__L2813list_l_str__am__count;
typedef struct fzT__L2814list_l_u8___am__count fzT__L2814list_l_u8___am__count;
typedef struct fzT__L2815_Rlist_l_i__am__count fzT__L2815_Rlist_l_i__am__count;
typedef struct fzT__L2816_Rlist_l_s__am__count fzT__L2816_Rlist_l_s__am__count;
typedef struct fzT__L2817_Rlist_l_u__am__count fzT__L2817_Rlist_l_u__am__count;
typedef struct fzT__L2818_R4array_l__07__count fzT__L2818_R4array_l__07__count;
typedef struct fzT__L28191i32__1inf__07__count fzT__L28191i32__1inf__07__count;
typedef struct fzT__L28201i32__1asS__07__count fzT__L28201i32__1asS__07__count;
typedef struct fzT__L28211u8__1asSt__07__count fzT__L28211u8__1asSt__07__count;
typedef struct fzT__L2822list_l_i32__07__count fzT__L2822list_l_i32__07__count;
typedef struct fzT__L2823list_l_str__07__count fzT__L2823list_l_str__07__count;
typedef struct fzT__L2824list_l_u8___07__count fzT__L2824list_l_u8___07__count;
typedef struct fzT__L2825_Rlist_l_i__07__count fzT__L2825_Rlist_l_i__07__count;
typedef struct fzT__L2826_Rlist_l_s__07__count fzT__L2826_Rlist_l_s__07__count;
typedef struct fzT__L2827_Rlist_l_u__07__count fzT__L2827_Rlist_l_u__07__count;
typedef struct fzT__L2828_Rstream_l__07__count fzT__L2828_Rstream_l__07__count;
typedef struct fzT__L2892_R4array_l__0__755116 fzT__L2892_R4array_l__0__755116;
typedef struct fzT__L2871_R4array_l__0__755116 fzT__L2871_R4array_l__0__755116;
typedef struct fzT__L28931i32__1inf__0__755116 fzT__L28931i32__1inf__0__755116;
typedef struct fzT__L28721i32__1inf__0__755116 fzT__L28721i32__1inf__0__755116;
typedef struct fzT__L28941i32__1asS__0__755116 fzT__L28941i32__1asS__0__755116;
typedef struct fzT__L28731i32__1asS__0__755116 fzT__L28731i32__1asS__0__755116;
typedef struct fzT__L28951u8__1asSt__0__755116 fzT__L28951u8__1asSt__0__755116;
typedef struct fzT__L28741u8__1asSt__0__755116 fzT__L28741u8__1asSt__0__755116;
typedef struct fzT__L2896list_l_i32__0__755116 fzT__L2896list_l_i32__0__755116;
typedef struct fzT__L2875list_l_i32__0__755116 fzT__L2875list_l_i32__0__755116;
typedef struct fzT__L2897list_l_str__0__755116 fzT__L2897list_l_str__0__755116;
typedef struct fzT__L2876list_l_str__0__755116 fzT__L2876list_l_str__0__755116;
typedef struct fzT__L2898list_l_u8___0__755116 fzT__L2898list_l_u8___0__755116;
typedef struct fzT__L2877list_l_u8___0__755116 fzT__L2877list_l_u8___0__755116;
typedef struct fzT__L2899_Rlist_l_i__0__755116 fzT__L2899_Rlist_l_i__0__755116;
typedef struct fzT__L2878_Rlist_l_i__0__755116 fzT__L2878_Rlist_l_i__0__755116;
typedef struct fzT__L2900_Rlist_l_s__0__755116 fzT__L2900_Rlist_l_s__0__755116;
typedef struct fzT__L2879_Rlist_l_s__0__755116 fzT__L2879_Rlist_l_s__0__755116;
typedef struct fzT__L2901_Rlist_l_u__0__755116 fzT__L2901_Rlist_l_u__0__755116;
typedef struct fzT__L2880_Rlist_l_u__0__755116 fzT__L2880_Rlist_l_u__0__755116;
typedef struct fzT__L2902_R4array_l__0__755116 fzT__L2902_R4array_l__0__755116;
typedef struct fzT__L2881_R4array_l__0__755116 fzT__L2881_R4array_l__0__755116;
typedef struct fzT__L29031i32__1inf__0__755116 fzT__L29031i32__1inf__0__755116;
typedef struct fzT__L28821i32__1inf__0__755116 fzT__L28821i32__1inf__0__755116;
typedef struct fzT__L29041i32__1asS__0__755116 fzT__L29041i32__1asS__0__755116;
typedef struct fzT__L28831i32__1asS__0__755116 fzT__L28831i32__1asS__0__755116;
typedef struct fzT__L29051u8__1asSt__0__755116 fzT__L29051u8__1asSt__0__755116;
typedef struct fzT__L28841u8__1asSt__0__755116 fzT__L28841u8__1asSt__0__755116;
typedef struct fzT__L2906list_l_i32__0__755116 fzT__L2906list_l_i32__0__755116;
typedef struct fzT__L2885list_l_i32__0__755116 fzT__L2885list_l_i32__0__755116;
typedef struct fzT__L2907list_l_str__0__755116 fzT__L2907list_l_str__0__755116;
typedef struct fzT__L2886list_l_str__0__755116 fzT__L2886list_l_str__0__755116;
typedef struct fzT__L2908list_l_u8___0__755116 fzT__L2908list_l_u8___0__755116;
typedef struct fzT__L2887list_l_u8___0__755116 fzT__L2887list_l_u8___0__755116;
typedef struct fzT__L2909_Rlist_l_i__0__755116 fzT__L2909_Rlist_l_i__0__755116;
typedef struct fzT__L2888_Rlist_l_i__0__755116 fzT__L2888_Rlist_l_i__0__755116;
typedef struct fzT__L2910_Rlist_l_s__0__755116 fzT__L2910_Rlist_l_s__0__755116;
typedef struct fzT__L2889_Rlist_l_s__0__755116 fzT__L2889_Rlist_l_s__0__755116;
typedef struct fzT__L2911_Rlist_l_u__0__755116 fzT__L2911_Rlist_l_u__0__755116;
typedef struct fzT__L2890_Rlist_l_u__0__755116 fzT__L2890_Rlist_l_u__0__755116;
typedef struct fzT__L2912_Rstream_l__0__755116 fzT__L2912_Rstream_l__0__755116;
typedef struct fzT__L2891_Rstream_l__0__755116 fzT__L2891_Rstream_l__0__755116;
typedef struct fzT__L2913_R4array_l__16__1call fzT__L2913_R4array_l__16__1call;
typedef struct fzT__L29141i32__1inf__16__1call fzT__L29141i32__1inf__16__1call;
typedef struct fzT__L29151i32__1asS__16__1call fzT__L29151i32__1asS__16__1call;
typedef struct fzT__L29161u8__1asSt__16__1call fzT__L29161u8__1asSt__16__1call;
typedef struct fzT__L2917list_l_i32__16__1call fzT__L2917list_l_i32__16__1call;
typedef struct fzT__L2918list_l_str__16__1call fzT__L2918list_l_str__16__1call;
typedef struct fzT__L2919list_l_u8___16__1call fzT__L2919list_l_u8___16__1call;
typedef struct fzT__L2920_Rlist_l_i__16__1call fzT__L2920_Rlist_l_i__16__1call;
typedef struct fzT__L2921_Rlist_l_s__16__1call fzT__L2921_Rlist_l_s__16__1call;
typedef struct fzT__L2922_Rlist_l_u__16__1call fzT__L2922_Rlist_l_u__16__1call;
typedef struct fzT__L2923_R4array_l__16__1call fzT__L2923_R4array_l__16__1call;
typedef struct fzT__L29241i32__1inf__16__1call fzT__L29241i32__1inf__16__1call;
typedef struct fzT__L29251i32__1asS__16__1call fzT__L29251i32__1asS__16__1call;
typedef struct fzT__L29261u8__1asSt__16__1call fzT__L29261u8__1asSt__16__1call;
typedef struct fzT__L2927list_l_i32__16__1call fzT__L2927list_l_i32__16__1call;
typedef struct fzT__L2928list_l_str__16__1call fzT__L2928list_l_str__16__1call;
typedef struct fzT__L2929list_l_u8___16__1call fzT__L2929list_l_u8___16__1call;
typedef struct fzT__L2930_Rlist_l_i__16__1call fzT__L2930_Rlist_l_i__16__1call;
typedef struct fzT__L2931_Rlist_l_s__16__1call fzT__L2931_Rlist_l_s__16__1call;
typedef struct fzT__L2932_Rlist_l_u__16__1call fzT__L2932_Rlist_l_u__16__1call;
typedef struct fzT__L2933_Rstream_l__16__1call fzT__L2933_Rstream_l__16__1call;
typedef struct fzT__L2976_R4array_l____asArray fzT__L2976_R4array_l____asArray;
typedef struct fzT__L29771i32__1inf____asArray fzT__L29771i32__1inf____asArray;
typedef struct fzT__L29781i32__1asS____asArray fzT__L29781i32__1asS____asArray;
typedef struct fzT__L29791u8__1asSt____asArray fzT__L29791u8__1asSt____asArray;
typedef struct fzT__L2980list_l_i32____asArray fzT__L2980list_l_i32____asArray;
typedef struct fzT__L2981list_l_str____asArray fzT__L2981list_l_str____asArray;
typedef struct fzT__L2982list_l_u8_____asArray fzT__L2982list_l_u8_____asArray;
typedef struct fzT__L2983_Rlist_l_i____asArray fzT__L2983_Rlist_l_i____asArray;
typedef struct fzT__L2984_Rlist_l_s____asArray fzT__L2984_Rlist_l_s____asArray;
typedef struct fzT__L2985_Rlist_l_u____asArray fzT__L2985_Rlist_l_u____asArray;
typedef struct fzT__L2986_R4array_l____asArray fzT__L2986_R4array_l____asArray;
typedef struct fzT__L29871i32__1inf____asArray fzT__L29871i32__1inf____asArray;
typedef struct fzT__L29881i32__1asS____asArray fzT__L29881i32__1asS____asArray;
typedef struct fzT__L29891u8__1asSt____asArray fzT__L29891u8__1asSt____asArray;
typedef struct fzT__L2990list_l_i32____asArray fzT__L2990list_l_i32____asArray;
typedef struct fzT__L2991list_l_str____asArray fzT__L2991list_l_str____asArray;
typedef struct fzT__L2992list_l_u8_____asArray fzT__L2992list_l_u8_____asArray;
typedef struct fzT__L2993_Rlist_l_i____asArray fzT__L2993_Rlist_l_i____asArray;
typedef struct fzT__L2994_Rlist_l_s____asArray fzT__L2994_Rlist_l_s____asArray;
typedef struct fzT__L2995_Rlist_l_u____asArray fzT__L2995_Rlist_l_u____asArray;
typedef struct fzT__L2996_Rstream_l____asArray fzT__L2996_Rstream_l____asArray;
typedef struct fzT__L3060_R4array_l__0__755995 fzT__L3060_R4array_l__0__755995;
typedef struct fzT__L30611i32__1inf__0__755995 fzT__L30611i32__1inf__0__755995;
typedef struct fzT__L30621i32__1asS__0__755995 fzT__L30621i32__1asS__0__755995;
typedef struct fzT__L30631u8__1asSt__0__755995 fzT__L30631u8__1asSt__0__755995;
typedef struct fzT__L3064list_l_i32__0__755995 fzT__L3064list_l_i32__0__755995;
typedef struct fzT__L3065list_l_str__0__755995 fzT__L3065list_l_str__0__755995;
typedef struct fzT__L3066list_l_u8___0__755995 fzT__L3066list_l_u8___0__755995;
typedef struct fzT__L3067_Rlist_l_i__0__755995 fzT__L3067_Rlist_l_i__0__755995;
typedef struct fzT__L3068_Rlist_l_s__0__755995 fzT__L3068_Rlist_l_s__0__755995;
typedef struct fzT__L3069_Rlist_l_u__0__755995 fzT__L3069_Rlist_l_u__0__755995;
typedef struct fzT__L3070_R4array_l__0__755995 fzT__L3070_R4array_l__0__755995;
typedef struct fzT__L30711i32__1inf__0__755995 fzT__L30711i32__1inf__0__755995;
typedef struct fzT__L30721i32__1asS__0__755995 fzT__L30721i32__1asS__0__755995;
typedef struct fzT__L30731u8__1asSt__0__755995 fzT__L30731u8__1asSt__0__755995;
typedef struct fzT__L3074list_l_i32__0__755995 fzT__L3074list_l_i32__0__755995;
typedef struct fzT__L3075list_l_str__0__755995 fzT__L3075list_l_str__0__755995;
typedef struct fzT__L3076list_l_u8___0__755995 fzT__L3076list_l_u8___0__755995;
typedef struct fzT__L3077_Rlist_l_i__0__755995 fzT__L3077_Rlist_l_i__0__755995;
typedef struct fzT__L3078_Rlist_l_s__0__755995 fzT__L3078_Rlist_l_s__0__755995;
typedef struct fzT__L3079_Rlist_l_u__0__755995 fzT__L3079_Rlist_l_u__0__755995;
typedef struct fzT__L3080_Rstream_l__0__755995 fzT__L3080_Rstream_l__0__755995;
typedef struct fzT__L3207_R4array_l__am__1fold fzT__L3207_R4array_l__am__1fold;
typedef struct fzT__L32081i32__1inf__am__1fold fzT__L32081i32__1inf__am__1fold;
typedef struct fzT__L32091i32__1asS__22__1fold fzT__L32091i32__1asS__22__1fold;
typedef struct fzT__L32101u8__1asSt__22__1fold fzT__L32101u8__1asSt__22__1fold;
typedef struct fzT__L3211list_l_i32__am__1fold fzT__L3211list_l_i32__am__1fold;
typedef struct fzT__L3212list_l_str__am__1fold fzT__L3212list_l_str__am__1fold;
typedef struct fzT__L3213list_l_u8___am__1fold fzT__L3213list_l_u8___am__1fold;
typedef struct fzT__L3214_Rlist_l_i__am__1fold fzT__L3214_Rlist_l_i__am__1fold;
typedef struct fzT__L3215_Rlist_l_s__am__1fold fzT__L3215_Rlist_l_s__am__1fold;
typedef struct fzT__L3216_Rlist_l_u__am__1fold fzT__L3216_Rlist_l_u__am__1fold;
typedef struct fzT__Rstream_l_string_g__1fold fzT__Rstream_l_string_g__1fold;
typedef struct fzT__L3218_R4array_l__07__1fold fzT__L3218_R4array_l__07__1fold;
typedef struct fzT__L32191i32__1inf__07__1fold fzT__L32191i32__1inf__07__1fold;
typedef struct fzT__L32201i32__1asS__07__1fold fzT__L32201i32__1asS__07__1fold;
typedef struct fzT__L32211u8__1asSt__07__1fold fzT__L32211u8__1asSt__07__1fold;
typedef struct fzT__L3222list_l_i32__07__1fold fzT__L3222list_l_i32__07__1fold;
typedef struct fzT__L3223list_l_str__07__1fold fzT__L3223list_l_str__07__1fold;
typedef struct fzT__L3224list_l_u8___07__1fold fzT__L3224list_l_u8___07__1fold;
typedef struct fzT__L3225_Rlist_l_i__07__1fold fzT__L3225_Rlist_l_i__07__1fold;
typedef struct fzT__L3226_Rlist_l_s__07__1fold fzT__L3226_Rlist_l_s__07__1fold;
typedef struct fzT__L3227_Rlist_l_u__07__1fold fzT__L3227_Rlist_l_u__07__1fold;
typedef struct fzT__L3228_Rstream_l__07__1fold fzT__L3228_Rstream_l__07__1fold;
typedef struct fzT__L3295_R4array_l__am__2fold fzT__L3295_R4array_l__am__2fold;
typedef struct fzT__L32961i32__1inf__am__2fold fzT__L32961i32__1inf__am__2fold;
typedef struct fzT__L32971i32__1asS__22__2fold fzT__L32971i32__1asS__22__2fold;
typedef struct fzT__L32981u8__1asSt__22__2fold fzT__L32981u8__1asSt__22__2fold;
typedef struct fzT__L3299list_l_i32__am__2fold fzT__L3299list_l_i32__am__2fold;
typedef struct fzT__L3300list_l_str__am__2fold fzT__L3300list_l_str__am__2fold;
typedef struct fzT__L3301list_l_u8___am__2fold fzT__L3301list_l_u8___am__2fold;
typedef struct fzT__L3302_Rlist_l_i__am__2fold fzT__L3302_Rlist_l_i__am__2fold;
typedef struct fzT__L3303_Rlist_l_s__am__2fold fzT__L3303_Rlist_l_s__am__2fold;
typedef struct fzT__L3304_Rlist_l_u__am__2fold fzT__L3304_Rlist_l_u__am__2fold;
typedef struct fzT__Rstream_l_string_g__2fold fzT__Rstream_l_string_g__2fold;
typedef struct fzT__L3306_R4array_l__07__2fold fzT__L3306_R4array_l__07__2fold;
typedef struct fzT__L33071i32__1inf__07__2fold fzT__L33071i32__1inf__07__2fold;
typedef struct fzT__L33081i32__1asS__07__2fold fzT__L33081i32__1asS__07__2fold;
typedef struct fzT__L33091u8__1asSt__07__2fold fzT__L33091u8__1asSt__07__2fold;
typedef struct fzT__L3310list_l_i32__07__2fold fzT__L3310list_l_i32__07__2fold;
typedef struct fzT__L3311list_l_str__07__2fold fzT__L3311list_l_str__07__2fold;
typedef struct fzT__L3312list_l_u8___07__2fold fzT__L3312list_l_u8___07__2fold;
typedef struct fzT__L3313_Rlist_l_i__07__2fold fzT__L3313_Rlist_l_i__07__2fold;
typedef struct fzT__L3314_Rlist_l_s__07__2fold fzT__L3314_Rlist_l_s__07__2fold;
typedef struct fzT__L3315_Rlist_l_u__07__2fold fzT__L3315_Rlist_l_u__07__2fold;
typedef struct fzT__L3316_Rstream_l__07__2fold fzT__L3316_Rstream_l__07__2fold;
typedef struct fzT__L3427_R4array_l__0__764966 fzT__L3427_R4array_l__0__764966;
typedef struct fzT__L34281i32__1inf__0__764966 fzT__L34281i32__1inf__0__764966;
typedef struct fzT__L34291i32__1asS__0__764966 fzT__L34291i32__1asS__0__764966;
typedef struct fzT__L34301u8__1asSt__0__764966 fzT__L34301u8__1asSt__0__764966;
typedef struct fzT__L3431list_l_i32__0__764966 fzT__L3431list_l_i32__0__764966;
typedef struct fzT__L3432list_l_str__0__764966 fzT__L3432list_l_str__0__764966;
typedef struct fzT__L3433list_l_u8___0__764966 fzT__L3433list_l_u8___0__764966;
typedef struct fzT__L3434_Rlist_l_i__0__764966 fzT__L3434_Rlist_l_i__0__764966;
typedef struct fzT__L3435_Rlist_l_s__0__764966 fzT__L3435_Rlist_l_s__0__764966;
typedef struct fzT__L3436_Rlist_l_u__0__764966 fzT__L3436_Rlist_l_u__0__764966;
typedef struct fzT__L3437_Rstream_l__0__764966 fzT__L3437_Rstream_l__0__764966;
typedef struct fzT__L3438_R4array_l__0__764966 fzT__L3438_R4array_l__0__764966;
typedef struct fzT__L34391i32__1inf__0__764966 fzT__L34391i32__1inf__0__764966;
typedef struct fzT__L34401i32__1asS__0__764966 fzT__L34401i32__1asS__0__764966;
typedef struct fzT__L34411u8__1asSt__0__764966 fzT__L34411u8__1asSt__0__764966;
typedef struct fzT__L3442list_l_i32__0__764966 fzT__L3442list_l_i32__0__764966;
typedef struct fzT__L3443list_l_str__0__764966 fzT__L3443list_l_str__0__764966;
typedef struct fzT__L3444list_l_u8___0__764966 fzT__L3444list_l_u8___0__764966;
typedef struct fzT__L3445_Rlist_l_i__0__764966 fzT__L3445_Rlist_l_i__0__764966;
typedef struct fzT__L3446_Rlist_l_s__0__764966 fzT__L3446_Rlist_l_s__0__764966;
typedef struct fzT__L3447_Rlist_l_u__0__764966 fzT__L3447_Rlist_l_u__0__764966;
typedef struct fzT__L3448_Rstream_l__0__764966 fzT__L3448_Rstream_l__0__764966;
typedef struct fzT__L3565_R4array_l___string_g fzT__L3565_R4array_l___string_g;
typedef struct fzT__L35661i32__1inf___string_g fzT__L35661i32__1inf___string_g;
typedef struct fzT__L35671i32__1asS___string_g fzT__L35671i32__1asS___string_g;
typedef struct fzT__L35681u8__1asSt___string_g fzT__L35681u8__1asSt___string_g;
typedef struct fzT__L3569list_l_i32___string_g fzT__L3569list_l_i32___string_g;
typedef struct fzT__L3570list_l_str___string_g fzT__L3570list_l_str___string_g;
typedef struct fzT__L3571list_l_u8____string_g fzT__L3571list_l_u8____string_g;
typedef struct fzT__L3572_Rlist_l_i___string_g fzT__L3572_Rlist_l_i___string_g;
typedef struct fzT__L3573_Rlist_l_s___string_g fzT__L3573_Rlist_l_s___string_g;
typedef struct fzT__L3574_Rlist_l_u___string_g fzT__L3574_Rlist_l_u___string_g;
typedef struct fzT__L3575_Rstream_l___string_g fzT__L3575_Rstream_l___string_g;
typedef struct fzT__L3620_R4array_l__0__766307 fzT__L3620_R4array_l__0__766307;
typedef struct fzT__L3609_R4array_l__0__766307 fzT__L3609_R4array_l__0__766307;
typedef struct fzT__L36211i32__1inf__0__766307 fzT__L36211i32__1inf__0__766307;
typedef struct fzT__L36101i32__1inf__0__766307 fzT__L36101i32__1inf__0__766307;
typedef struct fzT__L36221i32__1asS__0__766307 fzT__L36221i32__1asS__0__766307;
typedef struct fzT__L36111i32__1asS__0__766307 fzT__L36111i32__1asS__0__766307;
typedef struct fzT__L36231u8__1asSt__0__766307 fzT__L36231u8__1asSt__0__766307;
typedef struct fzT__L36121u8__1asSt__0__766307 fzT__L36121u8__1asSt__0__766307;
typedef struct fzT__L3624list_l_i32__0__766307 fzT__L3624list_l_i32__0__766307;
typedef struct fzT__L3613list_l_i32__0__766307 fzT__L3613list_l_i32__0__766307;
typedef struct fzT__L3625list_l_str__0__766307 fzT__L3625list_l_str__0__766307;
typedef struct fzT__L3614list_l_str__0__766307 fzT__L3614list_l_str__0__766307;
typedef struct fzT__L3626list_l_u8___0__766307 fzT__L3626list_l_u8___0__766307;
typedef struct fzT__L3615list_l_u8___0__766307 fzT__L3615list_l_u8___0__766307;
typedef struct fzT__L3627_Rlist_l_i__0__766307 fzT__L3627_Rlist_l_i__0__766307;
typedef struct fzT__L3616_Rlist_l_i__0__766307 fzT__L3616_Rlist_l_i__0__766307;
typedef struct fzT__L3628_Rlist_l_s__0__766307 fzT__L3628_Rlist_l_s__0__766307;
typedef struct fzT__L3617_Rlist_l_s__0__766307 fzT__L3617_Rlist_l_s__0__766307;
typedef struct fzT__L3629_Rlist_l_u__0__766307 fzT__L3629_Rlist_l_u__0__766307;
typedef struct fzT__L3618_Rlist_l_u__0__766307 fzT__L3618_Rlist_l_u__0__766307;
typedef struct fzT__L3630_Rstream_l__0__766307 fzT__L3630_Rstream_l__0__766307;
typedef struct fzT__L3619_Rstream_l__0__766307 fzT__L3619_Rstream_l__0__766307;
typedef struct fzT__L3653_R4array_l____hasNext fzT__L3653_R4array_l____hasNext;
typedef struct fzT__L36541i32__1inf____hasNext fzT__L36541i32__1inf____hasNext;
typedef struct fzT__L36551i32__1asS____hasNext fzT__L36551i32__1asS____hasNext;
typedef struct fzT__L36561u8__1asSt____hasNext fzT__L36561u8__1asSt____hasNext;
typedef struct fzT__L3657list_l_i32____hasNext fzT__L3657list_l_i32____hasNext;
typedef struct fzT__L3658list_l_str____hasNext fzT__L3658list_l_str____hasNext;
typedef struct fzT__L3659list_l_u8_____hasNext fzT__L3659list_l_u8_____hasNext;
typedef struct fzT__L3660_Rlist_l_i____hasNext fzT__L3660_Rlist_l_i____hasNext;
typedef struct fzT__L3661_Rlist_l_s____hasNext fzT__L3661_Rlist_l_s____hasNext;
typedef struct fzT__L3662_Rlist_l_u____hasNext fzT__L3662_Rlist_l_u____hasNext;
typedef struct fzT__L3663_Rstream_l____hasNext fzT__L3663_Rstream_l____hasNext;
typedef struct fzT__L3686_R4array_l__307__next fzT__L3686_R4array_l__307__next;
typedef struct fzT__L36871i32__1inf__307__next fzT__L36871i32__1inf__307__next;
typedef struct fzT__L36881i32__1asS__307__next fzT__L36881i32__1asS__307__next;
typedef struct fzT__L36891u8__1asSt__307__next fzT__L36891u8__1asSt__307__next;
typedef struct fzT__L3690list_l_i32__307__next fzT__L3690list_l_i32__307__next;
typedef struct fzT__L3691list_l_str__307__next fzT__L3691list_l_str__307__next;
typedef struct fzT__L3692list_l_u8___307__next fzT__L3692list_l_u8___307__next;
typedef struct fzT__L3693_Rlist_l_i__307__next fzT__L3693_Rlist_l_i__307__next;
typedef struct fzT__L3694_Rlist_l_s__307__next fzT__L3694_Rlist_l_s__307__next;
typedef struct fzT__L3695_Rlist_l_u__307__next fzT__L3695_Rlist_l_u__307__next;
typedef struct fzT__L3696_Rstream_l__307__next fzT__L3696_Rstream_l__307__next;
typedef struct fzT__L3767_R4array_l__romStream fzT__L3767_R4array_l__romStream;
typedef struct fzT__L37681i32__1inf__romStream fzT__L37681i32__1inf__romStream;
typedef struct fzT__L37691i32__1asS__romStream fzT__L37691i32__1asS__romStream;
typedef struct fzT__L37701u8__1asSt__romStream fzT__L37701u8__1asSt__romStream;
typedef struct fzT__L3771list_l_i32__romStream fzT__L3771list_l_i32__romStream;
typedef struct fzT__L3772list_l_str__romStream fzT__L3772list_l_str__romStream;
typedef struct fzT__L3773list_l_u8___romStream fzT__L3773list_l_u8___romStream;
typedef struct fzT__L3774_Rlist_l_i__romStream fzT__L3774_Rlist_l_i__romStream;
typedef struct fzT__L3775_Rlist_l_s__romStream fzT__L3775_Rlist_l_s__romStream;
typedef struct fzT__L3776_Rlist_l_u__romStream fzT__L3776_Rlist_l_u__romStream;
typedef struct fzT__L3777_Rstream_l__romStream fzT__L3777_Rstream_l__romStream;
typedef struct fzT__L3778_Rstream_l__romStream fzT__L3778_Rstream_l__romStream;
typedef struct fzT__Rstream_l_u8_g__fromStream fzT__Rstream_l_u8_g__fromStream;
typedef struct fzT__L3780_R4array_l__romStream fzT__L3780_R4array_l__romStream;
typedef struct fzT__L37811i32__1inf__romStream fzT__L37811i32__1inf__romStream;
typedef struct fzT__L37821i32__1asS__romStream fzT__L37821i32__1asS__romStream;
typedef struct fzT__L37831u8__1asSt__romStream fzT__L37831u8__1asSt__romStream;
typedef struct fzT__L3784list_l_i32__romStream fzT__L3784list_l_i32__romStream;
typedef struct fzT__L3785list_l_str__romStream fzT__L3785list_l_str__romStream;
typedef struct fzT__L3786list_l_u8___romStream fzT__L3786list_l_u8___romStream;
typedef struct fzT__L3787_Rlist_l_i__romStream fzT__L3787_Rlist_l_i__romStream;
typedef struct fzT__L3788_Rlist_l_s__romStream fzT__L3788_Rlist_l_s__romStream;
typedef struct fzT__L3789_Rlist_l_u__romStream fzT__L3789_Rlist_l_u__romStream;
typedef struct fzT__L3790_Rstream_l__romStream fzT__L3790_Rstream_l__romStream;
typedef struct fzT__L3887_R4array_l__0__767531 fzT__L3887_R4array_l__0__767531;
typedef struct fzT__L3863_R4array_l__0__767531 fzT__L3863_R4array_l__0__767531;
typedef struct fzT__L38881i32__1inf__0__767531 fzT__L38881i32__1inf__0__767531;
typedef struct fzT__L38641i32__1inf__0__767531 fzT__L38641i32__1inf__0__767531;
typedef struct fzT__L38891i32__1asS__0__767531 fzT__L38891i32__1asS__0__767531;
typedef struct fzT__L38651i32__1asS__0__767531 fzT__L38651i32__1asS__0__767531;
typedef struct fzT__L38901u8__1asSt__0__767531 fzT__L38901u8__1asSt__0__767531;
typedef struct fzT__L38661u8__1asSt__0__767531 fzT__L38661u8__1asSt__0__767531;
typedef struct fzT__L3891list_l_i32__0__767531 fzT__L3891list_l_i32__0__767531;
typedef struct fzT__L3867list_l_i32__0__767531 fzT__L3867list_l_i32__0__767531;
typedef struct fzT__L3892list_l_str__0__767531 fzT__L3892list_l_str__0__767531;
typedef struct fzT__L3868list_l_str__0__767531 fzT__L3868list_l_str__0__767531;
typedef struct fzT__L3893list_l_u8___0__767531 fzT__L3893list_l_u8___0__767531;
typedef struct fzT__L3869list_l_u8___0__767531 fzT__L3869list_l_u8___0__767531;
typedef struct fzT__L3894_Rlist_l_i__0__767531 fzT__L3894_Rlist_l_i__0__767531;
typedef struct fzT__L3870_Rlist_l_i__0__767531 fzT__L3870_Rlist_l_i__0__767531;
typedef struct fzT__L3895_Rlist_l_s__0__767531 fzT__L3895_Rlist_l_s__0__767531;
typedef struct fzT__L3871_Rlist_l_s__0__767531 fzT__L3871_Rlist_l_s__0__767531;
typedef struct fzT__L3896_Rlist_l_u__0__767531 fzT__L3896_Rlist_l_u__0__767531;
typedef struct fzT__L3872_Rlist_l_u__0__767531 fzT__L3872_Rlist_l_u__0__767531;
typedef struct fzT__L3897_Rstream_l__0__767531 fzT__L3897_Rstream_l__0__767531;
typedef struct fzT__L3873_Rstream_l__0__767531 fzT__L3873_Rstream_l__0__767531;
typedef struct fzT__L3898_Rstream_l__0__767531 fzT__L3898_Rstream_l__0__767531;
typedef struct fzT__L3874_Rstream_l__0__767531 fzT__L3874_Rstream_l__0__767531;
typedef struct fzT__L3899_Rstream_l__0__767531 fzT__L3899_Rstream_l__0__767531;
typedef struct fzT__L3875_Rstream_l__0__767531 fzT__L3875_Rstream_l__0__767531;
typedef struct fzT__L3900_R4array_l__0__767531 fzT__L3900_R4array_l__0__767531;
typedef struct fzT__L3876_R4array_l__0__767531 fzT__L3876_R4array_l__0__767531;
typedef struct fzT__L39011i32__1inf__0__767531 fzT__L39011i32__1inf__0__767531;
typedef struct fzT__L38771i32__1inf__0__767531 fzT__L38771i32__1inf__0__767531;
typedef struct fzT__L39021i32__1asS__0__767531 fzT__L39021i32__1asS__0__767531;
typedef struct fzT__L38781i32__1asS__0__767531 fzT__L38781i32__1asS__0__767531;
typedef struct fzT__L39031u8__1asSt__0__767531 fzT__L39031u8__1asSt__0__767531;
typedef struct fzT__L38791u8__1asSt__0__767531 fzT__L38791u8__1asSt__0__767531;
typedef struct fzT__L3904list_l_i32__0__767531 fzT__L3904list_l_i32__0__767531;
typedef struct fzT__L3880list_l_i32__0__767531 fzT__L3880list_l_i32__0__767531;
typedef struct fzT__L3905list_l_str__0__767531 fzT__L3905list_l_str__0__767531;
typedef struct fzT__L3881list_l_str__0__767531 fzT__L3881list_l_str__0__767531;
typedef struct fzT__L3906list_l_u8___0__767531 fzT__L3906list_l_u8___0__767531;
typedef struct fzT__L3882list_l_u8___0__767531 fzT__L3882list_l_u8___0__767531;
typedef struct fzT__L3907_Rlist_l_i__0__767531 fzT__L3907_Rlist_l_i__0__767531;
typedef struct fzT__L3883_Rlist_l_i__0__767531 fzT__L3883_Rlist_l_i__0__767531;
typedef struct fzT__L3908_Rlist_l_s__0__767531 fzT__L3908_Rlist_l_s__0__767531;
typedef struct fzT__L3884_Rlist_l_s__0__767531 fzT__L3884_Rlist_l_s__0__767531;
typedef struct fzT__L3909_Rlist_l_u__0__767531 fzT__L3909_Rlist_l_u__0__767531;
typedef struct fzT__L3885_Rlist_l_u__0__767531 fzT__L3885_Rlist_l_u__0__767531;
typedef struct fzT__L3910_Rstream_l__0__767531 fzT__L3910_Rstream_l__0__767531;
typedef struct fzT__L3886_Rstream_l__0__767531 fzT__L3886_Rstream_l__0__767531;
typedef struct fzT__L3959_R4array_l__531__head fzT__L3959_R4array_l__531__head;
typedef struct fzT__L39601i32__1inf__531__head fzT__L39601i32__1inf__531__head;
typedef struct fzT__L39611i32__1asS__531__head fzT__L39611i32__1asS__531__head;
typedef struct fzT__L39621u8__1asSt__531__head fzT__L39621u8__1asSt__531__head;
typedef struct fzT__L3963list_l_i32__531__head fzT__L3963list_l_i32__531__head;
typedef struct fzT__L3964list_l_str__531__head fzT__L3964list_l_str__531__head;
typedef struct fzT__L3965list_l_u8___531__head fzT__L3965list_l_u8___531__head;
typedef struct fzT__L3966_Rlist_l_i__531__head fzT__L3966_Rlist_l_i__531__head;
typedef struct fzT__L3967_Rlist_l_s__531__head fzT__L3967_Rlist_l_s__531__head;
typedef struct fzT__L3968_Rlist_l_u__531__head fzT__L3968_Rlist_l_u__531__head;
typedef struct fzT__L3969_Rstream_l__531__head fzT__L3969_Rstream_l__531__head;
typedef struct fzT__L3970_Rstream_l__531__head fzT__L3970_Rstream_l__531__head;
typedef struct fzT__L3971_Rstream_l__531__head fzT__L3971_Rstream_l__531__head;
typedef struct fzT__L3972_R4array_l__531__head fzT__L3972_R4array_l__531__head;
typedef struct fzT__L39731i32__1inf__531__head fzT__L39731i32__1inf__531__head;
typedef struct fzT__L39741i32__1asS__531__head fzT__L39741i32__1asS__531__head;
typedef struct fzT__L39751u8__1asSt__531__head fzT__L39751u8__1asSt__531__head;
typedef struct fzT__L3976list_l_i32__531__head fzT__L3976list_l_i32__531__head;
typedef struct fzT__L3977list_l_str__531__head fzT__L3977list_l_str__531__head;
typedef struct fzT__L3978list_l_u8___531__head fzT__L3978list_l_u8___531__head;
typedef struct fzT__L3979_Rlist_l_i__531__head fzT__L3979_Rlist_l_i__531__head;
typedef struct fzT__L3980_Rlist_l_s__531__head fzT__L3980_Rlist_l_s__531__head;
typedef struct fzT__L3981_Rlist_l_u__531__head fzT__L3981_Rlist_l_u__531__head;
typedef struct fzT__L3982_Rstream_l__531__head fzT__L3982_Rstream_l__531__head;
typedef struct fzT__L4031_R4array_l__531__tail fzT__L4031_R4array_l__531__tail;
typedef struct fzT__L40321i32__1inf__531__tail fzT__L40321i32__1inf__531__tail;
typedef struct fzT__L40331i32__1asS__531__tail fzT__L40331i32__1asS__531__tail;
typedef struct fzT__L40341u8__1asSt__531__tail fzT__L40341u8__1asSt__531__tail;
typedef struct fzT__L4035list_l_i32__531__tail fzT__L4035list_l_i32__531__tail;
typedef struct fzT__L4036list_l_str__531__tail fzT__L4036list_l_str__531__tail;
typedef struct fzT__L4037list_l_u8___531__tail fzT__L4037list_l_u8___531__tail;
typedef struct fzT__L4038_Rlist_l_i__531__tail fzT__L4038_Rlist_l_i__531__tail;
typedef struct fzT__L4039_Rlist_l_s__531__tail fzT__L4039_Rlist_l_s__531__tail;
typedef struct fzT__L4040_Rlist_l_u__531__tail fzT__L4040_Rlist_l_u__531__tail;
typedef struct fzT__L4041_Rstream_l__531__tail fzT__L4041_Rstream_l__531__tail;
typedef struct fzT__L4042_Rstream_l__531__tail fzT__L4042_Rstream_l__531__tail;
typedef struct fzT__L4043_Rstream_l__531__tail fzT__L4043_Rstream_l__531__tail;
typedef struct fzT__L4044_R4array_l__531__tail fzT__L4044_R4array_l__531__tail;
typedef struct fzT__L40451i32__1inf__531__tail fzT__L40451i32__1inf__531__tail;
typedef struct fzT__L40461i32__1asS__531__tail fzT__L40461i32__1asS__531__tail;
typedef struct fzT__L40471u8__1asSt__531__tail fzT__L40471u8__1asSt__531__tail;
typedef struct fzT__L4048list_l_i32__531__tail fzT__L4048list_l_i32__531__tail;
typedef struct fzT__L4049list_l_str__531__tail fzT__L4049list_l_str__531__tail;
typedef struct fzT__L4050list_l_u8___531__tail fzT__L4050list_l_u8___531__tail;
typedef struct fzT__L4051_Rlist_l_i__531__tail fzT__L4051_Rlist_l_i__531__tail;
typedef struct fzT__L4052_Rlist_l_s__531__tail fzT__L4052_Rlist_l_s__531__tail;
typedef struct fzT__L4053_Rlist_l_u__531__tail fzT__L4053_Rlist_l_u__531__tail;
typedef struct fzT__L4054_Rstream_l__531__tail fzT__L4054_Rstream_l__531__tail;
typedef struct fzT_string fzT_string;
typedef struct fzT__Rstring fzT__Rstring;
typedef struct fzT__R1codepoint__asString fzT__R1codepoint__asString;
typedef struct fzT__L42021i32__1asS___asString fzT__L42021i32__1asS___asString;
typedef struct fzT__L42031u8__1asSt___asString fzT__L42031u8__1asSt___asString;
typedef struct fzT__Rstring__asString fzT__Rstring__asString;
typedef struct fzT__L4205strings__2___asString fzT__L4205strings__2___asString;
typedef struct fzT__R1codepoint__isEmpty fzT__R1codepoint__isEmpty;
typedef struct fzT__L42171i32__1asS____isEmpty fzT__L42171i32__1asS____isEmpty;
typedef struct fzT__L42181u8__1asSt____isEmpty fzT__L42181u8__1asSt____isEmpty;
typedef struct fzT__Rstring__isEmpty fzT__Rstring__isEmpty;
typedef struct fzT__L4220strings__2____isEmpty fzT__L4220strings__2____isEmpty;
typedef struct fzT__R1codepoint__1infix_wp fzT__R1codepoint__1infix_wp;
typedef struct fzT__R1conststring__1infix_wp fzT__R1conststring__1infix_wp;
typedef struct fzT__L42341i32__1asS__1infix_wp fzT__L42341i32__1asS__1infix_wp;
typedef struct fzT__L42351u8__1asSt__1infix_wp fzT__L42351u8__1asSt__1infix_wp;
typedef struct fzT__Rstring__1infix_wp fzT__Rstring__1infix_wp;
typedef struct fzT__L4237strings__2__1infix_wp fzT__L4237strings__2__1infix_wp;
typedef struct fzT_strings fzT_strings;
typedef struct fzT__Rstrings fzT__Rstrings;
typedef struct fzT_strings__1concat fzT_strings__1concat;
typedef struct fzT_strings_R1concat fzT_strings_R1concat;
typedef struct fzT__L4262strings_R1__x_wU2219_ fzT__L4262strings_R1__x_wU2219_;
typedef struct fzT_strings_R1concat__e fzT_strings_R1concat__e;
typedef struct fzT_strings__2concat fzT_strings__2concat;
typedef struct fzT__L4276strings__2__0__834261 fzT__L4276strings__2__0__834261;
typedef struct fzT__L4275strings__2__0__834261 fzT__L4275strings__2__0__834261;
typedef struct fzT__L4279strings__2__261__utf8 fzT__L4279strings__2__261__utf8;
typedef struct fzT_strings__zeroChar fzT_strings__zeroChar;
typedef struct fzT_strings__aChar fzT_strings__aChar;
typedef struct fzT_1u32__thiz fzT_1u32__thiz;
typedef struct fzT_1u32__max fzT_1u32__max;
typedef struct fzT_1u32__1overflowOnAdd fzT_1u32__1overflowOnAdd;
typedef struct fzT_1u32__1underflowOnAdd fzT_1u32__1underflowOnAdd;
typedef struct fzT_1u32__1overflowOnSub fzT_1u32__1overflowOnSub;
typedef struct fzT_1u32__1underflowOnSub fzT_1u32__1underflowOnSub;
typedef struct fzT_1u32__as_u_u8 fzT_1u32__as_u_u8;
typedef struct fzT_u32s fzT_u32s;
typedef uint64_t fzT_1u64;
typedef struct fzT_u64s fzT_u64s;
typedef struct fzT_u8s fzT_u8s;
typedef struct fzT_u8 fzT_u8;
typedef struct fzT_1u8__thiz fzT_1u8__thiz;
typedef struct fzT_1u8__1infix_wd fzT_1u8__1infix_wd;
typedef struct fzT_1u8__1infix_wP fzT_1u8__1infix_wP;
typedef struct fzT_1u8__max fzT_1u8__max;
typedef struct fzT_1u8__wrappedOnNeg fzT_1u8__wrappedOnNeg;
typedef struct fzT_1u8__1overflowOnAdd fzT_1u8__1overflowOnAdd;
typedef struct fzT_1u8__1underflowOnAdd fzT_1u8__1underflowOnAdd;
typedef struct fzT_1u8__1overflowOnSub fzT_1u8__1overflowOnSub;
typedef struct fzT_1u8__1underflowOnSub fzT_1u8__1underflowOnSub;
typedef struct fzT_1u8__1overflowOnMul fzT_1u8__1overflowOnMul;
typedef struct fzT_1u8__1underflowOnMul fzT_1u8__1underflowOnMul;
typedef struct fzT_1u8__as_u_u32 fzT_1u8__as_u_u32;
typedef struct fzT_1u8__zero fzT_1u8__zero;
typedef struct fzT_u8s__zero fzT_u8s__zero;
typedef struct fzT_1u8__one fzT_1u8__one;
typedef struct fzT_u8s__max fzT_u8s__max;
typedef struct fzT_1u8__min fzT_1u8__min;
typedef struct fzT_u8s__min fzT_u8s__min;
typedef struct fzT_wrappingInteger_l_i32_g fzT_wrappingInteger_l_i32_g;
typedef struct fzT_wrappingInteger_l_i64_g fzT_wrappingInteger_l_i64_g;
typedef struct fzT_wrappingInteger_l_u32_g fzT_wrappingInteger_l_u32_g;
typedef struct fzT_wrappingInteger_l_u64_g fzT_wrappingInteger_l_u64_g;
typedef struct fzT_wrappingInteger_l_u8_g fzT_wrappingInteger_l_u8_g;
typedef struct fzT_1i32__1infix_wp fzT_1i32__1infix_wp;
typedef struct fzT_1u32__1infix_wp fzT_1u32__1infix_wp;
typedef struct fzT_1u8__1infix_wp fzT_1u8__1infix_wp;
typedef struct fzT_1i32__1infix_wm fzT_1i32__1infix_wm;
typedef struct fzT_1u32__1infix_wm fzT_1u32__1infix_wm;
typedef struct fzT_1u8__1infix_wm fzT_1u8__1infix_wm;
typedef struct fzT_1i32__1infix_wt fzT_1i32__1infix_wt;
typedef struct fzT_1u8__1infix_wt fzT_1u8__1infix_wt;
typedef struct fzT_1i32__prefix_wm fzT_1i32__prefix_wm;
typedef struct fzT_1u8__prefix_wm fzT_1u8__prefix_wm;
typedef struct fzT_1i32__prefix_wmQ fzT_1i32__prefix_wmQ;
typedef struct fzT_1u8__prefix_wmQ fzT_1u8__prefix_wmQ;
typedef struct fzT_1i32__1infix_wpQ fzT_1i32__1infix_wpQ;
typedef struct fzT_1i32__1infix_wpc fzT_1i32__1infix_wpc;
typedef struct fzT_1u8__1infix_wpc fzT_1u8__1infix_wpc;
typedef struct fzT_1i32__1wrappedOnAdd fzT_1i32__1wrappedOnAdd;
typedef struct fzT_1i32__isMin fzT_1i32__isMin;
typedef struct fzT_wrappingIntegers_l_i32_g fzT_wrappingIntegers_l_i32_g;
typedef struct fzT_wrappingIntegers_l_i64_g fzT_wrappingIntegers_l_i64_g;
typedef struct fzT_wrappingIntegers_l_u32_g fzT_wrappingIntegers_l_u32_g;
typedef struct fzT_wrappingIntegers_l_u64_g fzT_wrappingIntegers_l_u64_g;
typedef struct fzT_wrappingIntegers_l_u8_g fzT_wrappingIntegers_l_u8_g;
typedef struct fzT__Huniverse fzT__Huniverse;
typedef struct fzT_HelloWorld fzT_HelloWorld;

// for Cons<i32, list<i32>>
struct fzT_Cons_l_i32_k_list_l_i32_gg
{
};
// for ref Cons<i32, list<i32>>
struct fzT__L0_RCons_l_i__ist_l_i32_gg
{
  uint32_t clazzId;
  fzT_Cons_l_i32_k_list_l_i32_gg fields;
};
// for Cons<string, list<string>>
struct fzT__L3Cons_l_str___l_string_gg
{
};
// for ref Cons<string, list<string>>
struct fzT__L2_RCons_l_s___l_string_gg
{
  uint32_t clazzId;
  fzT__L3Cons_l_str___l_string_gg fields;
};
// for Cons<u8, list<u8>>
struct fzT_Cons_l_u8_k_list_l_u8_gg
{
};
// for ref Cons<u8, list<u8>>
struct fzT__RCons_l_u8_k_list_l_u8_gg
{
  uint32_t clazzId;
  fzT_Cons_l_u8_k_list_l_u8_gg fields;
};
// for Function<unit>
struct fzT_Function_l_unit_g
{
};
// for ref Function<unit>
struct fzT__RFunction_l_unit_g
{
  uint32_t clazzId;
  fzT_Function_l_unit_g fields;
};
// for Function<i32, i32>
struct fzT_Function_l_i32_k_i32_g
{
};
// for ref Function<i32, i32>
struct fzT__RFunction_l_i32_k_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_i32_k_i32_g fields;
};
// for Function<i32, string>
struct fzT_Function_l_i32_k_string_g
{
};
// for ref Function<i32, string>
struct fzT__RFunction_l_i32_k_string_g
{
  uint32_t clazzId;
  fzT_Function_l_i32_k_string_g fields;
};
// for Function<i32, u8>
struct fzT_Function_l_i32_k_u8_g
{
};
// for ref Function<i32, u8>
struct fzT__RFunction_l_i32_k_u8_g
{
  uint32_t clazzId;
  fzT_Function_l_i32_k_u8_g fields;
};
// for Function<numOption<i32>, i32>
struct fzT__L21Function_l__32_gk_i32_g
{
};
// for ref Function<numOption<i32>, i32>
struct fzT__L20_RFunction__32_gk_i32_g
{
  uint32_t clazzId;
  fzT__L21Function_l__32_gk_i32_g fields;
};
// for Function<string, i32>
struct fzT_Function_l_string_k_i32_g
{
};
// for ref Function<string, i32>
struct fzT__RFunction_l_string_k_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_string_k_i32_g fields;
};
// for Function<string, string>
struct fzT__L25Function_l___k_string_g
{
};
// for ref Function<string, string>
struct fzT__L24_RFunction___k_string_g
{
  uint32_t clazzId;
  fzT__L25Function_l___k_string_g fields;
};
// for Function<string, u8>
struct fzT_Function_l_string_k_u8_g
{
};
// for ref Function<string, u8>
struct fzT__RFunction_l_string_k_u8_g
{
  uint32_t clazzId;
  fzT_Function_l_string_k_u8_g fields;
};
// for Function<u8, i32>
struct fzT_Function_l_u8_k_i32_g
{
};
// for ref Function<u8, i32>
struct fzT__RFunction_l_u8_k_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_u8_k_i32_g fields;
};
// for Function<unit, unit>
struct fzT_Function_l_unit_k_unit_g
{
};
// for ref Function<unit, unit>
struct fzT__RFunction_l_unit_k_unit_g
{
  uint32_t clazzId;
  fzT_Function_l_unit_k_unit_g fields;
};
// for i32
struct fzT_1i32
{
  fzT_1i32 fzF_0_val;
};
// for u8
struct fzT_1u8
{
  fzT_1u8 fzF_0_val;
};
// for unit
struct fzT_unit
{
};
// for Monoid<i32>
struct fzT_Monoid_l_i32_g
{
};
// for ref Monoid<i32>
struct fzT__RMonoid_l_i32_g
{
  uint32_t clazzId;
  fzT_Monoid_l_i32_g fields;
};
// for Monoid<string>
struct fzT_Monoid_l_string_g
{
};
// for ref Monoid<string>
struct fzT__RMonoid_l_string_g
{
  uint32_t clazzId;
  fzT_Monoid_l_string_g fields;
};
// for Monoid<u8>
struct fzT_Monoid_l_u8_g
{
};
// for ref Monoid<u8>
struct fzT__RMonoid_l_u8_g
{
  uint32_t clazzId;
  fzT_Monoid_l_u8_g fields;
};
// for ref Monoid<i32>.op
struct fzT__RMonoid_l_i32_g__2op
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_1i32 fzF_2_result;
  fzT__RMonoid_l_i32_g* fzF_3__U40__4065;
};
// for ref Monoid<string>.op
struct fzT__RMonoid_l_string_g__2op
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
  fzT__RMonoid_l_string_g* fzF_3__U40__4065;
};
// for ref Monoid<u8>.op
struct fzT__RMonoid_l_u8_g__2op
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_1u8 fzF_2_result;
  fzT__RMonoid_l_u8_g* fzF_3__U40__4065;
};
// for i32s.ref sum.op
struct fzT_i32s_Rsum__2op
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_1i32 fzF_2_result;
  fzT_i32s_Rsum* fzF_3__U40__4065;
};
// for strings.ref concat.op
struct fzT_strings_R1concat__2op
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
  fzT_strings_R1concat* fzF_3__U40__4065;
};
// for Object
struct fzT_Object
{
};
// for ref Object
struct fzT__RObject
{
  uint32_t clazzId;
  fzT_Object fields;
};
// for Sequence<i32>
struct fzT_Sequence_l_i32_g
{
};
// for ref Sequence<i32>
struct fzT__RSequence_l_i32_g
{
  uint32_t clazzId;
  fzT_Sequence_l_i32_g fields;
};
// for Sequence<string>
struct fzT_Sequence_l_string_g
{
};
// for ref Sequence<string>
struct fzT__RSequence_l_string_g
{
  uint32_t clazzId;
  fzT_Sequence_l_string_g fields;
};
// for Sequence<u32>
struct fzT_Sequence_l_u32_g
{
};
// for ref Sequence<u32>
struct fzT__RSequence_l_u32_g
{
  uint32_t clazzId;
  fzT_Sequence_l_u32_g fields;
};
// for Sequence<u8>
struct fzT_Sequence_l_u8_g
{
};
// for ref Sequence<u8>
struct fzT__RSequence_l_u8_g
{
  uint32_t clazzId;
  fzT_Sequence_l_u8_g fields;
};
// for ref array<u8>.asString
struct fzT__R4array_l_u8_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__5438;
};
// for i32.asString.ref @452350.ref utf8.asString
struct fzT__L3141i32__1asS____asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_1__U40__5438;
};
// for u8.asString.ref @452350.ref utf8.asString
struct fzT__L3151u8__1asSt____asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_1__U40__5438;
};
// for nil
struct fzT_nil
{
};
// for list<i32>
struct fzT_list_l_i32_g
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref Sequence<i32>.asList
struct fzT__RSequence_l_i32_g__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__RSequence_l_i32_g* fzF_1__U40__5999;
};
// for list<string>
struct fzT_list_l_string_g
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref Sequence<string>.asList
struct fzT__L323_RSequence___g__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__RSequence_l_string_g* fzF_1__U40__5999;
};
// for list<u8>
struct fzT_list_l_u8_g
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref Sequence<u8>.asList
struct fzT__RSequence_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__5999;
};
// for i32.asString.ref @452350.ref utf8.asList
struct fzT__L3251i32__1asS__f8__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_1__U40__5999;
};
// for u8.asString.ref @452350.ref utf8.asList
struct fzT__L3261u8__1asSt__f8__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_1__U40__5999;
};
// for ref Sequence<i32>.asStream
struct fzT__L337_RSequence____asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT__RSequence_l_i32_g* fzF_1__U40__6248;
};
// for ref Sequence<string>.asStream
struct fzT__L338_RSequence____asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__RSequence_l_string_g* fzF_1__U40__6248;
};
// for ref Sequence<u8>.asStream
struct fzT__RSequence_l_u8_g__asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__6248;
};
// for FALSE
struct fzT_FALSE
{
};
// for TRUE
struct fzT_TRUE
{
};
// for bool
struct fzT_bool
{
  fzT_1i32 fzTag;
  union
  {
    fzT_FALSE v0;
    fzT_TRUE v1;
  }fzChoice;
};
// for ref Sequence<u8>.isEmpty
struct fzT__RSequence_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__6487;
};
// for ref array<u8>.isEmpty
struct fzT__R4array_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__6487;
};
// for ref array<u8>.ref asStream.isEmpty
struct fzT__L348_R4array_l__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__6487;
};
// for i32.infix ...ref asStream.isEmpty
struct fzT__L3491i32__1inf__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__6487;
};
// for i32.asString.ref @452350.ref utf8.isEmpty
struct fzT__L3501i32__1asS__8__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_1__U40__6487;
};
// for u8.asString.ref @452350.ref utf8.isEmpty
struct fzT__L3511u8__1asSt__8__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_1__U40__6487;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.isEmpty
struct fzT__L3521i32__1asS__2__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__6487;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.isEmpty
struct fzT__L3531u8__1asSt__2__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__6487;
};
// for list<i32>.ref asStream.isEmpty
struct fzT__L354list_l_i32__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__6487;
};
// for list<string>.ref asStream.isEmpty
struct fzT__L355list_l_str__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__6487;
};
// for list<u8>.ref asStream.isEmpty
struct fzT__L356list_l_u8___m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__6487;
};
// for ref list<i32>.ref asStream.isEmpty
struct fzT__L357_Rlist_l_i__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__6487;
};
// for ref list<string>.ref asStream.isEmpty
struct fzT__L358_Rlist_l_s__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__6487;
};
// for ref list<u8>.ref asStream.isEmpty
struct fzT__L359_Rlist_l_u__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__6487;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L360_R4array_l__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__6487;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L3611i32__1inf__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__6487;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.isEmpty
struct fzT__L3621i32__1asS__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__6487;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.isEmpty
struct fzT__L3631u8__1asSt__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__6487;
};
// for list<i32>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L364list_l_i32__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__6487;
};
// for list<string>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L365list_l_str__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__6487;
};
// for list<u8>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L366list_l_u8___7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__6487;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L367_Rlist_l_i__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__6487;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L368_Rlist_l_s__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__6487;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L369_Rlist_l_u__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__6487;
};
// for ref stream<string>.map<string>.ref @766307.isEmpty
struct fzT__L370_Rstream_l__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__6487;
};
// for ref Sequence<u8>.count
struct fzT__RSequence_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__6834;
};
// for ref array<u8>.count
struct fzT__R4array_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__6834;
};
// for ref conststring.count
struct fzT__R1conststring__count
{
  fzT_1i32 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__6834;
};
// for i32.asString.ref @452350.ref utf8.count
struct fzT__L4241i32__1asS__tf8__count
{
  fzT_1i32 fzF_0_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_1__U40__6834;
};
// for u8.asString.ref @452350.ref utf8.count
struct fzT__L4251u8__1asSt__tf8__count
{
  fzT_1i32 fzF_0_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_1__U40__6834;
};
// for ref Sequence<u8>.count.@6883
struct fzT__L441_RSequence___U40__6883
{
};
// for ref Sequence<u8>.count.ref @6883
struct fzT__L436_RSequence___U40__6883
{
  uint32_t clazzId;
  fzT__L441_RSequence___U40__6883 fields;
};
// for ref array<u8>.count.@6883
struct fzT__L442_R4array_l___U40__6883
{
};
// for ref array<u8>.count.ref @6883
struct fzT__L437_R4array_l___U40__6883
{
  uint32_t clazzId;
  fzT__L442_R4array_l___U40__6883 fields;
};
// for ref conststring.count.@6883
struct fzT__L443_R1constst___U40__6883
{
};
// for ref conststring.count.ref @6883
struct fzT__L438_R1constst___U40__6883
{
  uint32_t clazzId;
  fzT__L443_R1constst___U40__6883 fields;
};
// for i32.asString.ref @452350.ref utf8.count.@6883
struct fzT__L4441i32__1asS___U40__6883
{
};
// for i32.asString.ref @452350.ref utf8.count.ref @6883
struct fzT__L4391i32__1asS___U40__6883
{
  uint32_t clazzId;
  fzT__L4441i32__1asS___U40__6883 fields;
};
// for u8.asString.ref @452350.ref utf8.count.@6883
struct fzT__L4451u8__1asSt___U40__6883
{
};
// for u8.asString.ref @452350.ref utf8.count.ref @6883
struct fzT__L4401u8__1asSt___U40__6883
{
  uint32_t clazzId;
  fzT__L4451u8__1asSt___U40__6883 fields;
};
// for ref Sequence<u8>.count.ref @6883.call
struct fzT__L446_RSequence__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.count.ref @6883.call
struct fzT__L447_R4array_l__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for ref conststring.count.ref @6883.call
struct fzT__L448_R1constst__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.count.ref @6883.call
struct fzT__L4491i32__1asS__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.count.ref @6883.call
struct fzT__L4501u8__1asSt__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for ref Sequence<u8>.first
struct fzT__RSequence_l_u8_g__first
{
  fzT_1u8 fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref array<u8>.first
struct fzT__R4array_l_u8_g__first
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref array<u8>.ref asStream.first
struct fzT__L463_R4array_l__eam__first
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref conststring.first
struct fzT__R1conststring__first
{
  fzT_1u8 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.infix ...ref asStream.first
struct fzT__L4651i32__1inf__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.asString.ref @452350.ref utf8.first
struct fzT__L4661i32__1asS__tf8__first
{
  fzT_1u8 fzF_0_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for u8.asString.ref @452350.ref utf8.first
struct fzT__L4671u8__1asSt__tf8__first
{
  fzT_1u8 fzF_0_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.first
struct fzT__L4681i32__1asS__222__first
{
  fzT_1u8 fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.first
struct fzT__L4691u8__1asSt__222__first
{
  fzT_1u8 fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<i32>.ref asStream.first
struct fzT__L470list_l_i32__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<string>.ref asStream.first
struct fzT__L471list_l_str__eam__first
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<u8>.ref asStream.first
struct fzT__L472list_l_u8___eam__first
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<i32>.ref asStream.first
struct fzT__L473_Rlist_l_i__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<string>.ref asStream.first
struct fzT__L474_Rlist_l_s__eam__first
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<u8>.ref asStream.first
struct fzT__L475_Rlist_l_u__eam__first
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.first
struct fzT__L476_R4array_l__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.first
struct fzT__L4771i32__1inf__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.first
struct fzT__L4781i32__1asS__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.first
struct fzT__L4791u8__1asSt__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<i32>.ref asStream.map<string>.ref @766307.first
struct fzT__L480list_l_i32__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<string>.ref asStream.map<string>.ref @766307.first
struct fzT__L481list_l_str__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<u8>.ref asStream.map<string>.ref @766307.first
struct fzT__L482list_l_u8___307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.first
struct fzT__L483_Rlist_l_i__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.first
struct fzT__L484_Rlist_l_s__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.first
struct fzT__L485_Rlist_l_u__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref stream<string>.map<string>.ref @766307.first
struct fzT__L486_Rstream_l__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for fuzion.sys.array<u8>
struct fzT_fuzion__sys__1array_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT__RObject* fzF_1_data;
};
// for array<u8>
struct fzT_4array_l_u8_g
{
  fzT_fuzion__sys__1array_l_u8_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
};
// for list<u8>.asArray
struct fzT_list_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for ref Sequence<u8>.asArray
struct fzT__RSequence_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for i32.asString.ref @452350.ref utf8.asArray
struct fzT__L5671i32__1asS__8__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for u8.asString.ref @452350.ref utf8.asArray
struct fzT__L5681u8__1asSt__8__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for fuzion.sys.array<i32>
struct fzT_fuzion__sys__1array_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT__RObject* fzF_1_data;
};
// for array<i32>
struct fzT_4array_l_i32_g
{
  fzT_fuzion__sys__1array_l_i32_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
};
// for ref list<i32>.asArray
struct fzT__Rlist_l_i32_g__asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__9495;
  fzT__Rstream_l_i32_g* fzF_2_s;
};
// for fuzion.sys.array<string>
struct fzT__L1164fuzion__sy___string_g
{
  fzT_1i32 fzF_0_length;
  fzT__RObject* fzF_1_data;
};
// for array<string>
struct fzT_4array_l_string_g
{
  fzT__L1164fuzion__sy___string_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
};
// for ref list<string>.asArray
struct fzT__Rlist_l_string_g__asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__9495;
  fzT__Rstream_l_string_g* fzF_2_s;
};
// for ref list<u8>.asArray
struct fzT__Rlist_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for list<u8>.asArray.@9594
struct fzT__L600list_l_u8____U40__9594
{
  fzT_list_l_u8_g__asArray* fzF_0__U40__9701;
};
// for list<u8>.asArray.ref @9594
struct fzT__L593list_l_u8____U40__9594
{
  uint32_t clazzId;
  fzT__L600list_l_u8____U40__9594 fields;
};
// for ref Sequence<u8>.asArray.@9594
struct fzT__L601_RSequence___U40__9594
{
  fzT__RSequence_l_u8_g__asArray* fzF_0__U40__9701;
};
// for ref Sequence<u8>.asArray.ref @9594
struct fzT__L594_RSequence___U40__9594
{
  uint32_t clazzId;
  fzT__L601_RSequence___U40__9594 fields;
};
// for i32.asString.ref @452350.ref utf8.asArray.@9594
struct fzT__L6021i32__1asS___U40__9594
{
  fzT__L5671i32__1asS__8__asArray* fzF_0__U40__9701;
};
// for i32.asString.ref @452350.ref utf8.asArray.ref @9594
struct fzT__L5951i32__1asS___U40__9594
{
  uint32_t clazzId;
  fzT__L6021i32__1asS___U40__9594 fields;
};
// for u8.asString.ref @452350.ref utf8.asArray.@9594
struct fzT__L6031u8__1asSt___U40__9594
{
  fzT__L5681u8__1asSt__8__asArray* fzF_0__U40__9701;
};
// for u8.asString.ref @452350.ref utf8.asArray.ref @9594
struct fzT__L5961u8__1asSt___U40__9594
{
  uint32_t clazzId;
  fzT__L6031u8__1asSt___U40__9594 fields;
};
// for ref list<i32>.asArray.@9594
struct fzT__L604_Rlist_l_i___U40__9594
{
  fzT__Rlist_l_i32_g__asArray* fzF_0__U40__9701;
};
// for ref list<i32>.asArray.ref @9594
struct fzT__L597_Rlist_l_i___U40__9594
{
  uint32_t clazzId;
  fzT__L604_Rlist_l_i___U40__9594 fields;
};
// for ref list<string>.asArray.@9594
struct fzT__L605_Rlist_l_s___U40__9594
{
  fzT__Rlist_l_string_g__asArray* fzF_0__U40__9701;
};
// for ref list<string>.asArray.ref @9594
struct fzT__L598_Rlist_l_s___U40__9594
{
  uint32_t clazzId;
  fzT__L605_Rlist_l_s___U40__9594 fields;
};
// for ref list<u8>.asArray.@9594
struct fzT__L606_Rlist_l_u___U40__9594
{
  fzT__Rlist_l_u8_g__asArray* fzF_0__U40__9701;
};
// for ref list<u8>.asArray.ref @9594
struct fzT__L599_Rlist_l_u___U40__9594
{
  uint32_t clazzId;
  fzT__L606_Rlist_l_u___U40__9594 fields;
};
// for list<u8>.asArray.ref @9594.call
struct fzT__L621list_l_u8___594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L593list_l_u8____U40__9594* fzF_2__U40__10007;
};
// for ref Sequence<u8>.asArray.ref @9594.call
struct fzT__L622_RSequence__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L594_RSequence___U40__9594* fzF_2__U40__10007;
};
// for i32.asString.ref @452350.ref utf8.asArray.ref @9594.call
struct fzT__L6231i32__1asS__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L5951i32__1asS___U40__9594* fzF_2__U40__10007;
};
// for u8.asString.ref @452350.ref utf8.asArray.ref @9594.call
struct fzT__L6241u8__1asSt__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L5961u8__1asSt___U40__9594* fzF_2__U40__10007;
};
// for ref list<i32>.asArray.ref @9594.call
struct fzT__L625_Rlist_l_i__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT__L597_Rlist_l_i___U40__9594* fzF_2__U40__10007;
};
// for ref list<string>.asArray.ref @9594.call
struct fzT__L626_Rlist_l_s__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT__L598_Rlist_l_s___U40__9594* fzF_2__U40__10007;
};
// for ref list<u8>.asArray.ref @9594.call
struct fzT__L627_Rlist_l_u__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L599_Rlist_l_u___U40__9594* fzF_2__U40__10007;
};
// for ref Sequence<u8>.infix ++
struct fzT__L649_RSequence__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__RSequence_l_u8_g* fzF_2__U40__15716;
};
// for ref array<u8>.infix ++
struct fzT__R4array_l_u8_g__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__15716;
};
// for ref array<u8>.ref asStream.infix ++
struct fzT__L651_R4array_l__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R4array_l_u8_g_RasStream* fzF_2__U40__15716;
};
// for ref conststring.infix ++
struct fzT__R1conststring__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R1conststring* fzF_2__U40__15716;
};
// for i32.infix ...ref asStream.infix ++
struct fzT__L6531i32__1inf__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_s;
  fzT_list_l_i32_g fzF_1_result;
  fzT_1i32__1infix_woo_RasStream* fzF_2__U40__15716;
};
// for i32.asString.ref @452350.ref utf8.infix ++
struct fzT__L6541i32__1asS__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_2__U40__15716;
};
// for u8.asString.ref @452350.ref utf8.infix ++
struct fzT__L6551u8__1asSt__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_2__U40__15716;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.infix ++
struct fzT__L6561i32__1asS__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L14701i32__1asS__0__454222* fzF_2__U40__15716;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.infix ++
struct fzT__L6571u8__1asSt__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L14711u8__1asSt__0__454222* fzF_2__U40__15716;
};
// for list<i32>.ref asStream.infix ++
struct fzT__L658list_l_i32__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_s;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g_RasStream* fzF_2__U40__15716;
};
// for list<string>.ref asStream.infix ++
struct fzT__L659list_l_str__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g_RasStream* fzF_2__U40__15716;
};
// for list<u8>.ref asStream.infix ++
struct fzT__L660list_l_u8___1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT_list_l_u8_g_RasStream* fzF_2__U40__15716;
};
// for ref list<i32>.ref asStream.infix ++
struct fzT__L661_Rlist_l_i__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_s;
  fzT_list_l_i32_g fzF_1_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_2__U40__15716;
};
// for ref list<string>.ref asStream.infix ++
struct fzT__L662_Rlist_l_s__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g_RasStream* fzF_2__U40__15716;
};
// for ref list<u8>.ref asStream.infix ++
struct fzT__L663_Rlist_l_u__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_2__U40__15716;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L664_R4array_l__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3609_R4array_l__0__766307* fzF_2__U40__15716;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.infix ++
struct fzT__L6651i32__1inf__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L36101i32__1inf__0__766307* fzF_2__U40__15716;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.infix ++
struct fzT__L6661i32__1asS__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L36111i32__1asS__0__766307* fzF_2__U40__15716;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.infix ++
struct fzT__L6671u8__1asSt__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L36121u8__1asSt__0__766307* fzF_2__U40__15716;
};
// for list<i32>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L668list_l_i32__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3613list_l_i32__0__766307* fzF_2__U40__15716;
};
// for list<string>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L669list_l_str__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3614list_l_str__0__766307* fzF_2__U40__15716;
};
// for list<u8>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L670list_l_u8___1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3615list_l_u8___0__766307* fzF_2__U40__15716;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L671_Rlist_l_i__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_2__U40__15716;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L672_Rlist_l_s__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_2__U40__15716;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L673_Rlist_l_u__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_2__U40__15716;
};
// for ref stream<string>.map<string>.ref @766307.infix ++
struct fzT__L674_Rstream_l__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3619_Rstream_l__0__766307* fzF_2__U40__15716;
};
// for ref Sequence<u8>.mapSequence<i32>
struct fzT__L753_RSequence__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__RSequence_l_u8_g* fzF_2__U40__17387;
};
// for ref array<u8>.mapSequence<i32>
struct fzT__L754_R4array_l__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__17387;
};
// for ref conststring.mapSequence<i32>
struct fzT__L755_R1constst__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__R1conststring* fzF_2__U40__17387;
};
// for i32.asString.ref @452350.ref utf8.mapSequence<i32>
struct fzT__L7561i32__1asS__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_2__U40__17387;
};
// for u8.asString.ref @452350.ref utf8.mapSequence<i32>
struct fzT__L7571u8__1asSt__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_2__U40__17387;
};
// for Set<i32>
struct fzT_Set_l_i32_g
{
};
// for ref Set<i32>
struct fzT__RSet_l_i32_g
{
  uint32_t clazzId;
  fzT_Set_l_i32_g fields;
};
// for Set<u32>
struct fzT_Set_l_u32_g
{
};
// for ref Set<u32>
struct fzT__RSet_l_u32_g
{
  uint32_t clazzId;
  fzT_Set_l_u32_g fields;
};
// for array<i32>
struct fzT_2array_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT__RFunction_l_i32_k_i32_g* fzF_1_init;
  fzT_4array_l_i32_g fzF_2_result;
  fzT_1i32 fzF_3_x;
  fzT_fuzion__sys__1array_l_i32_g fzF_4_internal;
  fzT_1i32__1infix_woo_RasStream* fzF_5__U40__43090;
  fzT_bool fzF_6__U40__43859;
};
// for array<string>
struct fzT_2array_l_string_g
{
  fzT_1i32 fzF_0_length;
  fzT__RFunction_l_string_k_i32_g* fzF_1_init;
  fzT_4array_l_string_g fzF_2_result;
  fzT_1i32 fzF_3_x;
  fzT__L1164fuzion__sy___string_g fzF_4_internal;
  fzT_1i32__1infix_woo_RasStream* fzF_5__U40__43090;
  fzT_bool fzF_6__U40__43859;
};
// for array<u8>
struct fzT_2array_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT__RFunction_l_u8_k_i32_g* fzF_1_init;
  fzT_4array_l_u8_g fzF_2_result;
  fzT_1i32 fzF_3_x;
  fzT_fuzion__sys__1array_l_u8_g fzF_4_internal;
  fzT_1i32__1infix_woo_RasStream* fzF_5__U40__43090;
  fzT_bool fzF_6__U40__43859;
};
// for i32.infix ..
struct fzT_1i32__1infix_woo
{
  fzT_1i32 fzF_0_upper;
  fzT_1i32 fzF_1__U40__348886;
};
// for array<i32>.indices
struct fzT_2array_l_i32_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2array_l_i32_g* fzF_1__U40__42988;
};
// for array<string>.indices
struct fzT_2array_l_string_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2array_l_string_g* fzF_1__U40__42988;
};
// for array<u8>.indices
struct fzT_2array_l_u8_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2array_l_u8_g* fzF_1__U40__42988;
};
// for array<i32>.@43139
struct fzT__L8072array_l_i__U40__43139
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__43645;
  fzT_2array_l_i32_g* fzF_2__U40__43694;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__43810;
};
// for array<string>.@43139
struct fzT__L8082array_l_s__U40__43139
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__43645;
  fzT_2array_l_string_g* fzF_2__U40__43694;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__43810;
};
// for array<u8>.@43139
struct fzT_2array_l_u8_g__1_U40__43139
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__43645;
  fzT_2array_l_u8_g* fzF_2__U40__43694;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__43810;
};
// for ref array<u8>
struct fzT__R4array_l_u8_g
{
  uint32_t clazzId;
  fzT_4array_l_u8_g fields;
};
// for ref array<u8>.asList
struct fzT__R4array_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__44583;
};
// for ref conststring.asList
struct fzT__R1conststring__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R1conststring* fzF_1__U40__44583;
};
// for ref array<u8>.asList
struct fzT__R4array_l_u8_g__1asList
{
  fzT_1i32 fzF_0_i;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__45224;
  fzT_list_l_u8_g fzF_3__U40__45269;
  fzT_bool fzF_4__U40__45318;
};
// for ref conststring.asList
struct fzT__R1conststring__1asList
{
  fzT_1i32 fzF_0_i;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R1conststring* fzF_2__U40__45224;
  fzT_list_l_u8_g fzF_3__U40__45269;
  fzT_bool fzF_4__U40__45318;
};
// for some<list<u8>>
struct fzT_1some_l_list_l_u8_gg
{
  fzT_list_l_u8_g fzF_0_val;
};
// for option<some<list<u8>>>
struct fzT__L2400option_l_s___l_u8_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_u8_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for ref array<u8>.asStream
struct fzT__R4array_l_u8_g__asStream
{
  fzT__R4array_l_u8_g* fzF_0__U40__45532;
  fzT_1i32 fzF_1_x;
  fzT__R4array_l_u8_g* fzF_2_array_u_this;
  fzT__L2400option_l_s___l_u8_ggg fzF_3_asList0;
};
// for ref array<u8>.ref asStream
struct fzT__R4array_l_u8_g_RasStream
{
  uint32_t clazzId;
  fzT__R4array_l_u8_g__asStream fields;
};
// for ref array<u8>.ref asStream.hasNext
struct fzT__L882_R4array_l__m__hasNext
{
  fzT_bool fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__45950;
};
// for ref array<u8>.ref asStream.next
struct fzT__L885_R4array_l__ream__next
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__46352;
};
// for ref array<u8>.asArray
struct fzT__R4array_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__46660;
};
// for ref conststring.asArray
struct fzT__R1conststring__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R1conststring* fzF_1__U40__46660;
};
// for ref array<u8>.index [ ]
struct fzT__L894_R4array_l__wU5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__51028;
  fzT_1i32 fzF_3__U40__51073;
  fzT_bool fzF_4__U40__51122;
};
// for ref conststring.index [ ]
struct fzT__L895_R1constst__wU5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__R1conststring* fzF_2__U40__51028;
  fzT_1i32 fzF_3__U40__51073;
  fzT_bool fzF_4__U40__51122;
};
// for array<u8>.length
struct fzT_4array_l_u8_g__length
{
  fzT_1i32 fzF_0_result;
  fzT_4array_l_u8_g* fzF_1__U40__51366;
};
// for ref array<u8>.length
struct fzT__R4array_l_u8_g__length
{
  fzT_1i32 fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__51366;
};
// for ref conststring.length
struct fzT__R1conststring__length
{
  fzT_1i32 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__51366;
};
// for array<u8>.arrayCons
struct fzT_4array_l_u8_g__1arrayCons
{
  fzT_1i32 fzF_0_i;
  fzT_4array_l_u8_g* fzF_1__U40__55447;
  fzT_1i32 fzF_2__U40__56101;
  fzT_bool fzF_3__U40__56150;
};
// for array<u8>.ref arrayCons
struct fzT_4array_l_u8_g_R1arrayCons
{
  uint32_t clazzId;
  fzT_4array_l_u8_g__1arrayCons fields;
};
// for ref array<u8>.arrayCons
struct fzT__R4array_l_u8_g__1arrayCons
{
  fzT_1i32 fzF_0_i;
  fzT__R4array_l_u8_g* fzF_1__U40__55447;
  fzT_1i32 fzF_2__U40__56101;
  fzT_bool fzF_3__U40__56150;
};
// for ref array<u8>.ref arrayCons
struct fzT__R4array_l_u8_g_R1arrayCons
{
  uint32_t clazzId;
  fzT__R4array_l_u8_g__1arrayCons fields;
};
// for ref array<u8>.ref arrayCons.head
struct fzT__L927_R4array_l__Cons__head
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g_R1arrayCons* fzF_1__U40__55733;
};
// for ref array<u8>.ref arrayCons.tail
struct fzT__L930_R4array_l__Cons__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_R1arrayCons* fzF_1__U40__56056;
};
// for false
struct fzT_false
{
  fzT_bool fzF_0_result;
};
// for true
struct fzT_true
{
  fzT_bool fzF_0_result;
};
// for character_encodings
struct fzT_character_u_encodings
{
};
// for fuzion.std.err.ascii
struct fzT_fuzion__std__err__ascii
{
};
// for i32.asString.ascii
struct fzT_1i32__1asString__ascii
{
};
// for u8.asString.ascii
struct fzT_1u8__1asString__ascii
{
};
// for fuzion.std.err.ascii.lf
struct fzT_fuzion__std__err__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for i32.asString.ascii.lf
struct fzT_1i32__1asString__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for u8.asString.ascii.lf
struct fzT_1u8__1asString__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for choice<FALSE, TRUE>
struct fzT_choice_l_FALSE_k_TRUE_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_FALSE v0;
    fzT_TRUE v1;
  }fzChoice;
};
// for choice<i32, nil>
struct fzT_choice_l_i32_k_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1i32 v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<nil, Cons<i32, list<i32>>>
struct fzT__L962choice_l_n___l_i32_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<i32, list<i32>>>
struct fzT__L961_Rchoice_l___l_i32_ggg
{
  uint32_t clazzId;
  fzT__L962choice_l_n___l_i32_ggg fields;
};
// for choice<nil, Cons<string, list<string>>>
struct fzT__L964choice_l_n__string_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<string, list<string>>>
struct fzT__L963_Rchoice_l__string_ggg
{
  uint32_t clazzId;
  fzT__L964choice_l_n__string_ggg fields;
};
// for choice<nil, Cons<u8, list<u8>>>
struct fzT__L966choice_l_n__t_l_u8_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<u8, list<u8>>>
struct fzT__L965_Rchoice_l__t_l_u8_ggg
{
  uint32_t clazzId;
  fzT__L966choice_l_n__t_l_u8_ggg fields;
};
// for some<list<i32>>
struct fzT_1some_l_list_l_i32_gg
{
  fzT_list_l_i32_g fzF_0_val;
};
// for choice<some<list<i32>>, nil>
struct fzT__L967choice_l_s___ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_i32_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for some<list<string>>
struct fzT_1some_l_list_l_string_gg
{
  fzT_list_l_string_g fzF_0_val;
};
// for choice<some<list<string>>, nil>
struct fzT__L968choice_l_s___ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_string_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<some<list<u8>>, nil>
struct fzT__L969choice_l_s___ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_u8_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<u8, nil>
struct fzT_choice_l_u8_k_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1u8 v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<unit, nil>
struct fzT_choice_l_unit_k_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_unit v0;
    fzT_nil v1;
  }fzChoice;
};
// for effectMode.default
struct fzT_effectMode__default
{
};
// for choice<effectMode.plain, effectMode.repl, effectMode.abort, effectMode.default, effectMode.new, effectMode.inst>
struct fzT__L972choice_l_e__e_o_inst_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_effectMode__default v3;
  }fzChoice;
};
// for u32
struct fzT_1u32
{
  fzT_1u32 fzF_0_val;
};
// for codepoint
struct fzT_1codepoint
{
  fzT_1u32 fzF_0_val;
  fzT_bool fzF_1__U40__143199;
  fzT_bool fzF_2__U40__143248;
};
// for ref codepoint
struct fzT__R1codepoint
{
  uint32_t clazzId;
  fzT_1codepoint fields;
};
// for ref codepoint.utf8
struct fzT__R1codepoint__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__142631;
  fzT__RSequence_l_u8_g* fzF_2__U40__142676;
  fzT_fuzion__sys__1array_l_u8_g fzF_3__U40__142725;
  fzT_fuzion__sys__1array_l_u8_g fzF_4__U40__142774;
  fzT_fuzion__sys__1array_l_u8_g fzF_5__U40__142823;
  fzT_fuzion__sys__1array_l_u8_g fzF_6__U40__142872;
};
// for codepoints
struct fzT_codepoints
{
};
// for ref codepoints
struct fzT__Rcodepoints
{
  uint32_t clazzId;
  fzT_codepoints fields;
};
// for u32.infix ..
struct fzT_1u32__1infix_woo
{
  fzT_1u32 fzF_0_upper;
  fzT_1u32 fzF_1__U40__348886;
};
// for codepoint.range
struct fzT_1codepoint__range
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.range
struct fzT__R1codepoint__range
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.ascii
struct fzT__R1codepoint__ascii
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf8EncodedInOneByte
struct fzT__L1005_R1codepoi__InOneByte
{
  fzT_1u32__1infix_woo fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__145181;
};
// for ref codepoint.utf8EncodedInTwoBytes
struct fzT__L1008_R1codepoi__nTwoBytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf8EncodedInThreeBytes
struct fzT__L1010_R1codepoi__hreeBytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf8EncodedInFourBytes
struct fzT__L1012_R1codepoi__FourBytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for codepoint.utf16Surrogate
struct fzT_1codepoint__utf16Surrogate
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf16Surrogate
struct fzT__L1015_R1codepoi__Surrogate
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for void
struct fzT_void
{
};
// for conststring
struct fzT_1conststring
{
  fzT_fuzion__sys__1array_l_u8_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
  struct { } fzF_4_cannotBeCalled;
};
// for ref conststring
struct fzT__R1conststring
{
  uint32_t clazzId;
  fzT_1conststring fields;
};
// for ref conststring.asString
struct fzT__R1conststring__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R1conststring* fzF_1__U40__163461;
};
// for ref conststring.isEmpty
struct fzT__R1conststring__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R1conststring* fzF_1__U40__163725;
};
// for ref conststring.utf8
struct fzT__R1conststring__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__R1conststring* fzF_1__U40__163936;
};
// for effectMode.val
struct fzT_effectMode__val
{
  fzT_1i32 fzTag;
  union
  {
    fzT_effectMode__default v3;
  }fzChoice;
};
// for effectMode.inst
struct fzT_effectMode__1inst
{
  fzT__RFunction_l_unit_g* fzF_0_f;
};
// for effect
struct fzT_1effect
{
  fzT_effectMode__val fzF_0_r;
  fzT_effectMode__1inst fzF_1_i;
};
// for effect.run<unit>
struct fzT_1effect__2run_l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT__RFunction_l_unit_k_unit_g* fzF_1_def;
  fzT_unit fzF_2_result;
  fzT_1effect* fzF_3__U40__226487;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__226685;
};
// for io.out.run<unit>
struct fzT_io__3out__2run_l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT__RFunction_l_unit_k_unit_g* fzF_1_def;
  fzT_unit fzF_2_result;
  fzT_io__3out* fzF_3__U40__226487;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__226685;
};
// for io.printEffect.run<unit>
struct fzT__L1060io__2print___l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT__RFunction_l_unit_k_unit_g* fzF_1_def;
  fzT_unit fzF_2_result;
  fzT_io__2printEffect* fzF_3__U40__226487;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__226685;
};
// for effect.@227454
struct fzT_1effect___U40__227454
{
};
// for effect.ref @227454
struct fzT_1effect_R_U40__227454
{
  uint32_t clazzId;
  fzT_1effect___U40__227454 fields;
};
// for io.out.@227454
struct fzT_io__3out___U40__227454
{
};
// for io.out.ref @227454
struct fzT_io__3out_R_U40__227454
{
  uint32_t clazzId;
  fzT_io__3out___U40__227454 fields;
};
// for io.printEffect.@227454
struct fzT__L1090io__2print__0__227454
{
};
// for io.printEffect.ref @227454
struct fzT__L1087io__2print__0__227454
{
  uint32_t clazzId;
  fzT__L1090io__2print__0__227454 fields;
};
// for io.out.ref @227454.call
struct fzT__L1091io__3out_R__54__1call
{
  fzT_unit fzF_0__U40__227711;
  fzT_unit fzF_1_result;
};
// for option<unit>
struct fzT_option_l_unit_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_unit v0;
    fzT_nil v1;
  }fzChoice;
};
// for effect_call<unit>
struct fzT_1effect_u_call_l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT_option_l_unit_g fzF_1_res;
};
// for ref effect_call<unit>
struct fzT__R1effect_u_call_l_unit_g
{
  uint32_t clazzId;
  fzT_1effect_u_call_l_unit_g fields;
};
// for ref effect_call<unit>.call
struct fzT__L1098_R1effect___t_g__call
{
  fzT_unit fzF_0_result;
  fzT__R1effect_u_call_l_unit_g* fzF_1__U40__228430;
};
// for effects
struct fzT_effects
{
};
// for effectMode
struct fzT_effectMode
{
};
// for effectMode.abort
struct fzT_effectMode__abort
{
};
// for effectMode.plain
struct fzT_effectMode__plain
{
};
// for effectMode.repl
struct fzT_effectMode__repl
{
};
// for effectMode.new
struct fzT_effectMode__new
{
};
// for f32
struct fzT_1f32
{
  fzT_1f32 fzF_0_val;
};
// for f32s
struct fzT_f32s
{
};
// for f64
struct fzT_1f64
{
  fzT_1f64 fzF_0_val;
};
// for f64s
struct fzT_f64s
{
};
// for float<f32>
struct fzT_float_l_f32_g
{
};
// for float<f64>
struct fzT_float_l_f64_g
{
};
// for floats<f32>
struct fzT_floats_l_f32_g
{
};
// for floats<f64>
struct fzT_floats_l_f64_g
{
};
// for fuzion
struct fzT_fuzion
{
};
// for fuzion.std
struct fzT_fuzion__std
{
};
// for fuzion.std.err
struct fzT_fuzion__std__err
{
};
// for fuzion.std.err.println
struct fzT_fuzion__std__err__1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__err* fzF_2__U40__304419;
  fzT_fuzion__sys__1array_l_u8_g fzF_3__U40__304464;
};
// for fuzion.std.err.write
struct fzT_fuzion__std__err__1write
{
  fzT_4array_l_u8_g fzF_0_arr;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__err* fzF_2__U40__304833;
};
// for fuzion.std.panic
struct fzT_fuzion__std__1panic
{
  fzT__Rstring* fzF_0_msg;
  struct { } fzF_1_result;
  fzT_fuzion__std* fzF_2__U40__305629;
};
// for fuzion.std.out
struct fzT_fuzion__std__out
{
};
// for fuzion.std.out.print
struct fzT_fuzion__std__out__1print
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__out* fzF_2__U40__307392;
};
// for fuzion.std.out.write
struct fzT_fuzion__std__out__1write
{
  fzT_4array_l_u8_g fzF_0_arr;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__out* fzF_2__U40__308991;
};
// for fuzion.sys
struct fzT_fuzion__sys
{
};
// for fuzion.sys.array<i32>.index [ ]
struct fzT__L1169fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT_fuzion__sys__1array_l_i32_g* fzF_2__U40__319685;
  fzT_1i32 fzF_3__U40__319730;
  fzT_bool fzF_4__U40__319779;
};
// for fuzion.sys.array<string>.index [ ]
struct fzT__L1170fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT__L1164fuzion__sy___string_g* fzF_2__U40__319685;
  fzT_1i32 fzF_3__U40__319730;
  fzT_bool fzF_4__U40__319779;
};
// for fuzion.sys.array<u8>.index [ ]
struct fzT__L1171fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT_fuzion__sys__1array_l_u8_g* fzF_2__U40__319685;
  fzT_1i32 fzF_3__U40__319730;
  fzT_bool fzF_4__U40__319779;
};
// for fuzion.sys.array<i32>.index [ ] =
struct fzT__L1202fuzion__sy__b_wU5d_we
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_o;
  fzT_unit fzF_2_result;
  fzT_fuzion__sys__1array_l_i32_g* fzF_3__U40__321207;
  fzT_1i32 fzF_4__U40__321252;
  fzT_bool fzF_5__U40__321301;
};
// for fuzion.sys.array<string>.index [ ] =
struct fzT__L1203fuzion__sy__b_wU5d_we
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_o;
  fzT_unit fzF_2_result;
  fzT__L1164fuzion__sy___string_g* fzF_3__U40__321207;
  fzT_1i32 fzF_4__U40__321252;
  fzT_bool fzF_5__U40__321301;
};
// for fuzion.sys.array<u8>.index [ ] =
struct fzT__L1204fuzion__sy__b_wU5d_we
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_o;
  fzT_unit fzF_2_result;
  fzT_fuzion__sys__1array_l_u8_g* fzF_3__U40__321207;
  fzT_1i32 fzF_4__U40__321252;
  fzT_bool fzF_5__U40__321301;
};
// for hasEquals<bool>
struct fzT_hasEquals_l_bool_g
{
};
// for hasEquals<f32>
struct fzT_hasEquals_l_f32_g
{
};
// for hasEquals<f64>
struct fzT_hasEquals_l_f64_g
{
};
// for hasEquals<i32>
struct fzT_hasEquals_l_i32_g
{
};
// for hasEquals<i64>
struct fzT_hasEquals_l_i64_g
{
};
// for hasEquals<string>
struct fzT_hasEquals_l_string_g
{
};
// for ref hasEquals<string>
struct fzT__RhasEquals_l_string_g
{
  uint32_t clazzId;
  fzT_hasEquals_l_string_g fields;
};
// for hasEquals<u32>
struct fzT_hasEquals_l_u32_g
{
};
// for hasEquals<u64>
struct fzT_hasEquals_l_u64_g
{
};
// for hasEquals<u8>
struct fzT_hasEquals_l_u8_g
{
};
// for hasHash<f32>
struct fzT_hasHash_l_f32_g
{
};
// for hasHash<f64>
struct fzT_hasHash_l_f64_g
{
};
// for hasHash<i32>
struct fzT_hasHash_l_i32_g
{
};
// for hasHash<i64>
struct fzT_hasHash_l_i64_g
{
};
// for hasHash<string>
struct fzT_hasHash_l_string_g
{
};
// for ref hasHash<string>
struct fzT__RhasHash_l_string_g
{
  uint32_t clazzId;
  fzT_hasHash_l_string_g fields;
};
// for hasHash<u32>
struct fzT_hasHash_l_u32_g
{
};
// for hasHash<u64>
struct fzT_hasHash_l_u64_g
{
};
// for hasHash<u8>
struct fzT_hasHash_l_u8_g
{
};
// for hasInterval<i32>
struct fzT_hasInterval_l_i32_g
{
};
// for hasInterval<i64>
struct fzT_hasInterval_l_i64_g
{
};
// for hasInterval<u32>
struct fzT_hasInterval_l_u32_g
{
};
// for hasInterval<u64>
struct fzT_hasInterval_l_u64_g
{
};
// for hasInterval<u8>
struct fzT_hasInterval_l_u8_g
{
};
// for numOption<i32>
struct fzT_numOption_l_i32_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1i32 v0;
    fzT_nil v1;
  }fzChoice;
};
// for option<some<list<i32>>>
struct fzT__L2398option_l_s__l_i32_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_i32_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for i32.infix ...asStream
struct fzT_1i32__1infix_woo__asStream
{
  fzT_1i32__1infix_woo* fzF_0__U40__350880;
  fzT_numOption_l_i32_g fzF_1_x;
  fzT__L2398option_l_s__l_i32_ggg fzF_2_asList0;
};
// for i32.infix ...ref asStream
struct fzT_1i32__1infix_woo_RasStream
{
  uint32_t clazzId;
  fzT_1i32__1infix_woo__asStream fields;
};
// for i32.infix ...ref asStream.hasNext
struct fzT__L12831i32__1inf____hasNext
{
  fzT_bool fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__351379;
  fzT_bool fzF_2__U40__351428;
};
// for i32.infix ...ref asStream.next
struct fzT__L12871i32__1inf__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__351847;
  fzT_1i32 fzF_2_res;
};
// for u32.infix ...contains
struct fzT_1u32__1infix_woo__1contains
{
  fzT_1u32 fzF_0_e;
  fzT_bool fzF_1_result;
  fzT_1u32__1infix_woo* fzF_2__U40__353571;
  fzT_1u32 fzF_3__U40__353616;
  fzT_bool fzF_4__U40__353665;
};
// for i32.infix ...lower
struct fzT_1i32__1infix_woo__lower
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo* fzF_1__U40__361051;
};
// for u32.infix ...lower
struct fzT_1u32__1infix_woo__lower
{
  fzT_1u32 fzF_0_result;
  fzT_1u32__1infix_woo* fzF_1__U40__361051;
};
// for i32s
struct fzT_i32s
{
};
// for i32
struct fzT_i32
{
  fzT_i32s fzF_0_result;
};
// for i32.thiz
struct fzT_1i32__thiz
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__390840;
};
// for i32.infix /
struct fzT_1i32__1infix_wd
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__391538;
  fzT_bool fzF_3__U40__391587;
};
// for i32.infix %
struct fzT_1i32__1infix_wP
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__393214;
  fzT_bool fzF_3__U40__393263;
};
// for i32.max
struct fzT_1i32__max
{
  fzT_1i32 fzF_0_result;
};
// for i32.wrappedOnNeg
struct fzT_1i32__wrappedOnNeg
{
  fzT_bool fzF_0_result;
  fzT_1i32 fzF_1__U40__394565;
};
// for i32.overflowOnAdd
struct fzT_1i32__1overflowOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__395088;
  fzT_bool fzF_3__U40__395137;
};
// for i32.underflowOnAdd
struct fzT_1i32__1underflowOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__395661;
  fzT_bool fzF_3__U40__395710;
};
// for i32.overflowOnSub
struct fzT_1i32__1overflowOnSub
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__396233;
  fzT_bool fzF_3__U40__396282;
};
// for i32.underflowOnSub
struct fzT_1i32__1underflowOnSub
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__396806;
  fzT_bool fzF_3__U40__396855;
};
// for i32.overflowOnMul
struct fzT_1i32__1overflowOnMul
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__397258;
};
// for i32.underflowOnMul
struct fzT_1i32__1underflowOnMul
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__397662;
};
// for i32.as_u8
struct fzT_1i32__as_u_u8
{
  fzT_1u8 fzF_0_result;
  fzT_1i32 fzF_1__U40__399944;
};
// for i32.as_u32
struct fzT_1i32__as_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1i32 fzF_1__U40__400772;
  fzT_bool fzF_2__U40__400821;
};
// for i32.low8bits
struct fzT_1i32__low8bits
{
  fzT_1u8 fzF_0_result;
  fzT_1i32 fzF_1__U40__402266;
};
// for i32.zero
struct fzT_1i32__zero
{
  fzT_1i32 fzF_0_result;
};
// for i32s.zero
struct fzT_i32s__zero
{
  fzT_1i32 fzF_0_result;
};
// for i32.one
struct fzT_1i32__one
{
  fzT_1i32 fzF_0_result;
};
// for i32.min
struct fzT_1i32__min
{
  fzT_1i32 fzF_0_result;
};
// for i64
struct fzT_1i64
{
  fzT_1i64 fzF_0_val;
};
// for i64s
struct fzT_i64s
{
};
// for integer<i32>
struct fzT_integer_l_i32_g
{
};
// for integer<i64>
struct fzT_integer_l_i64_g
{
};
// for integer<u32>
struct fzT_integer_l_u32_g
{
};
// for integer<u64>
struct fzT_integer_l_u64_g
{
};
// for integer<u8>
struct fzT_integer_l_u8_g
{
};
// for i32.asString
struct fzT_1i32__asString
{
  fzT__Rstring* fzF_0_result;
  fzT_1i32 fzF_1__U40__451704;
};
// for u8.asString
struct fzT_1u8__asString
{
  fzT__Rstring* fzF_0_result;
  fzT_1u8 fzF_1__U40__451704;
};
// for i32.asString
struct fzT_1i32__1asString
{
  fzT_1u32 fzF_0_base;
  fzT__Rstring* fzF_1_result;
  fzT_1i32 fzF_2__U40__452305;
  fzT_1u32 fzF_3__U40__456100;
  fzT_bool fzF_4__U40__456149;
};
// for u8.asString
struct fzT_1u8__1asString
{
  fzT_1u32 fzF_0_base;
  fzT__Rstring* fzF_1_result;
  fzT_1u8 fzF_2__U40__452305;
  fzT_1u32 fzF_3__U40__456100;
  fzT_bool fzF_4__U40__456149;
};
// for i32.asString.@452350
struct fzT__L14441i32__1asS__0__452350
{
  fzT_1i32__1asString* fzF_0__U40__452416;
};
// for i32.asString.ref @452350
struct fzT__L14421i32__1asS__0__452350
{
  uint32_t clazzId;
  fzT__L14441i32__1asS__0__452350 fields;
};
// for u8.asString.@452350
struct fzT__L14451u8__1asSt__0__452350
{
  fzT_1u8__1asString* fzF_0__U40__452416;
};
// for u8.asString.ref @452350
struct fzT__L14431u8__1asSt__0__452350
{
  uint32_t clazzId;
  fzT__L14451u8__1asSt__0__452350 fields;
};
// for i32.asString.ref @452350.utf8
struct fzT__L14521i32__1asS__350__utf8
{
  fzT__L14421i32__1asS__0__452350* fzF_0__U40__452543;
};
// for i32.asString.ref @452350.ref utf8
struct fzT__L14501i32__1asS__350_Rutf8
{
  uint32_t clazzId;
  fzT__L14521i32__1asS__350__utf8 fields;
};
// for u8.asString.ref @452350.utf8
struct fzT__L14531u8__1asSt__350__utf8
{
  fzT__L14431u8__1asSt__0__452350* fzF_0__U40__452543;
};
// for u8.asString.ref @452350.ref utf8
struct fzT__L14511u8__1asSt__350_Rutf8
{
  uint32_t clazzId;
  fzT__L14531u8__1asSt__350__utf8 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream
struct fzT__L14581i32__1asS___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L14501i32__1asS__350_Rutf8* fzF_1__U40__454023;
  fzT_1i32 fzF_2_b;
  fzT_numOption_l_i32_g fzF_3_p;
  fzT_1i32 fzF_4_v;
  fzT__Rstream_l_u8_g* fzF_5__U40__456051;
};
// for numOption<u8>
struct fzT_numOption_l_u8_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1u8 v0;
    fzT_nil v1;
  }fzChoice;
};
// for u8.asString.ref @452350.ref utf8.asStream
struct fzT__L14591u8__1asSt___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L14511u8__1asSt__350_Rutf8* fzF_1__U40__454023;
  fzT_1u8 fzF_2_b;
  fzT_numOption_l_u8_g fzF_3_p;
  fzT_1u8 fzF_4_v;
  fzT__Rstream_l_u8_g* fzF_5__U40__456051;
};
// for i32.asString.ref @452350.ref utf8.asStream.@454222
struct fzT__L14721i32__1asS__0__454222
{
  fzT__L14581i32__1asS___asStream* fzF_0__U40__454463;
  fzT_1i32 fzF_1_p;
  fzT__L2400option_l_s___l_u8_ggg fzF_2_asList0;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222
struct fzT__L14701i32__1asS__0__454222
{
  uint32_t clazzId;
  fzT__L14721i32__1asS__0__454222 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.@454222
struct fzT__L14731u8__1asSt__0__454222
{
  fzT__L14591u8__1asSt___asStream* fzF_0__U40__454463;
  fzT_1u8 fzF_1_p;
  fzT__L2400option_l_s___l_u8_ggg fzF_2_asList0;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222
struct fzT__L14711u8__1asSt__0__454222
{
  uint32_t clazzId;
  fzT__L14731u8__1asSt__0__454222 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext
struct fzT__L14821i32__1asS____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__454790;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext
struct fzT__L14831u8__1asSt____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__454790;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.next
struct fzT__L14881i32__1asS__222__next
{
  fzT_1u8 fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__455804;
  fzT_1u8 fzF_2_r;
  fzT_1u8 fzF_3_d;
  fzT_1u8 fzF_4__U40__455953;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.next
struct fzT__L14891u8__1asSt__222__next
{
  fzT_1u8 fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__455804;
  fzT_1u8 fzF_2_r;
  fzT_1u8 fzF_3_d;
  fzT_1u8 fzF_4__U40__455953;
};
// for io
struct fzT_io
{
};
// for io.out
struct fzT_io__3out
{
  fzT_effectMode__1inst fzF_0_i;
  fzT_io_RcanPrint* fzF_1_p;
  fzT_effectMode__val fzF_2_r;
  fzT_unit fzF_3__U40__467299;
  fzT_io* fzF_4__U40__467348;
};
// for io.out
struct fzT_io__out
{
  fzT_io__3out fzF_0_result;
  fzT_io* fzF_1__U40__466234;
};
// for io.defaultPrintToOut
struct fzT_io__defaultPrintToOut
{
  fzT_io* fzF_0__U40__482843;
};
// for io.ref defaultPrintToOut
struct fzT_io_RdefaultPrintToOut
{
  uint32_t clazzId;
  fzT_io__defaultPrintToOut fields;
};
// for io.ref defaultPrintToOut.print
struct fzT__L1519io_Rdefaul__t__1print
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
};
// for io.outs
struct fzT_io__outs
{
  fzT_io* fzF_0__U40__483249;
};
// for io.outs.installDefault
struct fzT_io__outs__installDefault
{
  fzT_unit fzF_0_result;
  fzT_io__outs* fzF_1__U40__483830;
  fzT_bool fzF_2__U40__483924;
  fzT_unit fzF_3__U40__483973;
};
// for io.printEffect
struct fzT_io__2printEffect
{
  fzT_effectMode__1inst fzF_0_i;
  fzT_io_RcanPrint* fzF_1_p;
  fzT_effectMode__val fzF_2_r;
};
// for io.out.println
struct fzT_io__3out__1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io__3out* fzF_2__U40__485196;
};
// for io.canPrint
struct fzT_io__canPrint
{
};
// for io.ref canPrint
struct fzT_io_RcanPrint
{
  uint32_t clazzId;
  fzT_io__canPrint fields;
};
// for io.ref defaultPrintToOut.println
struct fzT__L1541io_Rdefaul____println
{
  fzT_unit fzF_0_result;
  fzT_io_RdefaultPrintToOut* fzF_1__U40__485750;
};
// for io.ref canPrint.println
struct fzT_io_RcanPrint__println
{
  fzT_unit fzF_0_result;
  fzT_io_RcanPrint* fzF_1__U40__485750;
};
// for io.ref defaultPrintToOut.println
struct fzT__L1547io_Rdefaul___1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io_RdefaultPrintToOut* fzF_2__U40__486076;
};
// for io.ref canPrint.println
struct fzT_io_RcanPrint__1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io_RcanPrint* fzF_2__U40__486076;
};
// for ref list<i32>
struct fzT__Rlist_l_i32_g
{
  uint32_t clazzId;
  fzT_list_l_i32_g fields;
};
// for ref list<string>
struct fzT__Rlist_l_string_g
{
  uint32_t clazzId;
  fzT_list_l_string_g fields;
};
// for ref list<u8>
struct fzT__Rlist_l_u8_g
{
  uint32_t clazzId;
  fzT_list_l_u8_g fields;
};
// for list<u8>.asString
struct fzT_list_l_u8_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__499495;
};
// for ref list<i32>.asString
struct fzT__Rlist_l_i32_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__499495;
};
// for ref list<string>.asString
struct fzT__Rlist_l_string_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__499495;
};
// for ref list<u8>.asString
struct fzT__Rlist_l_u8_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__499495;
};
// for list<u8>.asString
struct fzT_list_l_u8_g__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__499958;
};
// for ref list<i32>.asString
struct fzT__Rlist_l_i32_g__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__499958;
};
// for ref list<string>.asString
struct fzT__L1575_Rlist_l_s__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__499958;
};
// for ref list<u8>.asString
struct fzT__Rlist_l_u8_g__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__499958;
};
// for list<u8>.asString.@500003
struct fzT__L1593list_l_u8___0__500003
{
};
// for list<u8>.asString.ref @500003
struct fzT__L1589list_l_u8___0__500003
{
  uint32_t clazzId;
  fzT__L1593list_l_u8___0__500003 fields;
};
// for ref list<i32>.asString.@500003
struct fzT__L1594_Rlist_l_i__0__500003
{
};
// for ref list<i32>.asString.ref @500003
struct fzT__L1590_Rlist_l_i__0__500003
{
  uint32_t clazzId;
  fzT__L1594_Rlist_l_i__0__500003 fields;
};
// for ref list<string>.asString.@500003
struct fzT__L1595_Rlist_l_s__0__500003
{
};
// for ref list<string>.asString.ref @500003
struct fzT__L1591_Rlist_l_s__0__500003
{
  uint32_t clazzId;
  fzT__L1595_Rlist_l_s__0__500003 fields;
};
// for ref list<u8>.asString.@500003
struct fzT__L1596_Rlist_l_u__0__500003
{
};
// for ref list<u8>.asString.ref @500003
struct fzT__L1592_Rlist_l_u__0__500003
{
  uint32_t clazzId;
  fzT__L1596_Rlist_l_u__0__500003 fields;
};
// for list<u8>.asString.ref @500003.call
struct fzT__L1597list_l_u8___03__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.asString.ref @500003.call
struct fzT__L1598_Rlist_l_i__03__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<string>.asString.ref @500003.call
struct fzT__L1599_Rlist_l_s__03__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<u8>.asString.ref @500003.call
struct fzT__L1600_Rlist_l_u__03__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.asList
struct fzT__Rlist_l_i32_g__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__500601;
};
// for ref list<string>.asList
struct fzT__Rlist_l_string_g__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__500601;
};
// for ref list<u8>.asList
struct fzT__Rlist_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__500601;
};
// for list<i32>.asStream
struct fzT_list_l_i32_g__asStream
{
  fzT_list_l_i32_g* fzF_0__U40__500779;
  fzT_list_l_i32_g fzF_1_cur;
  fzT__L2398option_l_s__l_i32_ggg fzF_2_asList0;
};
// for list<i32>.ref asStream
struct fzT_list_l_i32_g_RasStream
{
  uint32_t clazzId;
  fzT_list_l_i32_g__asStream fields;
};
// for option<some<list<string>>>
struct fzT__L2399option_l_s__tring_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_string_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for list<string>.asStream
struct fzT_list_l_string_g__asStream
{
  fzT_list_l_string_g* fzF_0__U40__500779;
  fzT_list_l_string_g fzF_1_cur;
  fzT__L2399option_l_s__tring_ggg fzF_2_asList0;
};
// for list<string>.ref asStream
struct fzT_list_l_string_g_RasStream
{
  uint32_t clazzId;
  fzT_list_l_string_g__asStream fields;
};
// for list<u8>.asStream
struct fzT_list_l_u8_g__asStream
{
  fzT_list_l_u8_g* fzF_0__U40__500779;
  fzT_list_l_u8_g fzF_1_cur;
  fzT__L2400option_l_s___l_u8_ggg fzF_2_asList0;
};
// for list<u8>.ref asStream
struct fzT_list_l_u8_g_RasStream
{
  uint32_t clazzId;
  fzT_list_l_u8_g__asStream fields;
};
// for ref list<i32>.asStream
struct fzT__Rlist_l_i32_g__asStream
{
  fzT__Rlist_l_i32_g* fzF_0__U40__500779;
  fzT_list_l_i32_g fzF_1_cur;
  fzT__L2398option_l_s__l_i32_ggg fzF_2_asList0;
};
// for ref list<i32>.ref asStream
struct fzT__Rlist_l_i32_g_RasStream
{
  uint32_t clazzId;
  fzT__Rlist_l_i32_g__asStream fields;
};
// for ref list<string>.asStream
struct fzT__Rlist_l_string_g__asStream
{
  fzT__Rlist_l_string_g* fzF_0__U40__500779;
  fzT_list_l_string_g fzF_1_cur;
  fzT__L2399option_l_s__tring_ggg fzF_2_asList0;
};
// for ref list<string>.ref asStream
struct fzT__Rlist_l_string_g_RasStream
{
  uint32_t clazzId;
  fzT__Rlist_l_string_g__asStream fields;
};
// for ref list<u8>.asStream
struct fzT__Rlist_l_u8_g__asStream
{
  fzT__Rlist_l_u8_g* fzF_0__U40__500779;
  fzT_list_l_u8_g fzF_1_cur;
  fzT__L2400option_l_s___l_u8_ggg fzF_2_asList0;
};
// for ref list<u8>.ref asStream
struct fzT__Rlist_l_u8_g_RasStream
{
  uint32_t clazzId;
  fzT__Rlist_l_u8_g__asStream fields;
};
// for list<i32>.ref asStream.hasNext
struct fzT__L1642list_l_i32____hasNext
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for list<string>.ref asStream.hasNext
struct fzT__L1643list_l_str____hasNext
{
  fzT_bool fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for list<u8>.ref asStream.hasNext
struct fzT__L1644list_l_u8_____hasNext
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for ref list<i32>.ref asStream.hasNext
struct fzT__L1645_Rlist_l_i____hasNext
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for ref list<string>.ref asStream.hasNext
struct fzT__L1646_Rlist_l_s____hasNext
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for ref list<u8>.ref asStream.hasNext
struct fzT__L1647_Rlist_l_u____hasNext
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for list<i32>.ref asStream.next
struct fzT__L1666list_l_i32__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__501501;
  fzT_1i32 fzF_2_res;
};
// for list<string>.ref asStream.next
struct fzT__L1667list_l_str__eam__next
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__501501;
  fzT__Rstring* fzF_2_res;
};
// for list<u8>.ref asStream.next
struct fzT_list_l_u8_g_RasStream__next
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__501501;
  fzT_1u8 fzF_2_res;
};
// for ref list<i32>.ref asStream.next
struct fzT__L1669_Rlist_l_i__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__501501;
  fzT_1i32 fzF_2_res;
};
// for ref list<string>.ref asStream.next
struct fzT__L1670_Rlist_l_s__eam__next
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__501501;
  fzT__Rstring* fzF_2_res;
};
// for ref list<u8>.ref asStream.next
struct fzT__L1671_Rlist_l_u__eam__next
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__501501;
  fzT_1u8 fzF_2_res;
};
// for list<i32>.isEmpty
struct fzT_list_l_i32_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for list<string>.isEmpty
struct fzT_list_l_string_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_string_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for list<u8>.isEmpty
struct fzT_list_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for ref list<i32>.isEmpty
struct fzT__Rlist_l_i32_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for ref list<string>.isEmpty
struct fzT__Rlist_l_string_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for ref list<u8>.isEmpty
struct fzT__Rlist_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for list<u8>.count
struct fzT_list_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__502225;
};
// for ref list<i32>.count
struct fzT__Rlist_l_i32_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__502225;
};
// for ref list<string>.count
struct fzT__Rlist_l_string_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__502225;
};
// for ref list<u8>.count
struct fzT__Rlist_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__502225;
};
// for list<i32>.count
struct fzT_list_l_i32_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__502673;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for list<string>.count
struct fzT_list_l_string_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__502673;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for list<u8>.count
struct fzT_list_l_u8_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__502673;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<i32>.count
struct fzT__Rlist_l_i32_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__502673;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<string>.count
struct fzT__Rlist_l_string_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__502673;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<u8>.count
struct fzT__Rlist_l_u8_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__502673;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<i32>.first
struct fzT__Rlist_l_i32_g__first
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__503225;
  fzT_bool fzF_2__U40__503270;
};
// for ref list<string>.first
struct fzT__Rlist_l_string_g__first
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__503225;
  fzT_bool fzF_2__U40__503270;
};
// for ref list<u8>.first
struct fzT__Rlist_l_u8_g__first
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__503225;
  fzT_bool fzF_2__U40__503270;
};
// for list<i32>.infix ++
struct fzT_list_l_i32_g__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__510138;
};
// for list<string>.infix ++
struct fzT_list_l_string_g__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__510138;
};
// for list<u8>.infix ++
struct fzT_list_l_u8_g__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__510138;
};
// for ref list<i32>.infix ++
struct fzT__Rlist_l_i32_g__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__510138;
};
// for ref list<string>.infix ++
struct fzT__L1790_Rlist_l_s__infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__510138;
};
// for ref list<u8>.infix ++
struct fzT__Rlist_l_u8_g__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__510138;
};
// for list<i32>.fold
struct fzT_list_l_i32_g__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__513062;
};
// for list<string>.fold
struct fzT_list_l_string_g__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__513062;
};
// for list<i32>.fold
struct fzT_list_l_i32_g__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT_list_l_i32_g* fzF_3__U40__513615;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_4_c;
  fzT_1i32 fzF_5__U40__513710;
};
// for list<string>.fold
struct fzT_list_l_string_g__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT_list_l_string_g* fzF_3__U40__513615;
  fzT__L2_RCons_l_s___l_string_gg* fzF_4_c;
  fzT__Rstring* fzF_5__U40__513710;
};
// for list<i32>.map<i32>
struct fzT_list_l_i32_g__1map_l_i32_g
{
  fzT__RFunction_l_i32_k_i32_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__514259;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__515217;
};
// for list<string>.map<i32>
struct fzT__L1833list_l_str__p_l_i32_g
{
  fzT__RFunction_l_i32_k_string_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__514259;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__515217;
};
// for list<u8>.map<i32>
struct fzT_list_l_u8_g__1map_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__514259;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__515217;
};
// for list<i32>.map<string>
struct fzT__L1835list_l_i32___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__514259;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for list<string>.map<string>
struct fzT__L1836list_l_str___string_g
{
  fzT__L24_RFunction___k_string_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__514259;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for list<u8>.map<string>
struct fzT__L1837list_l_u8____string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__514259;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for ref list<i32>.map<string>
struct fzT__L1838_Rlist_l_i___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__514259;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for ref list<string>.map<string>
struct fzT__L1839_Rlist_l_s___string_g
{
  fzT__L24_RFunction___k_string_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__514259;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for ref list<u8>.map<string>
struct fzT__L1840_Rlist_l_u___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__514259;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for list<i32>.map<i32>.@514403
struct fzT__L1886list_l_i32__0__514403
{
  fzT_list_l_i32_g__1map_l_i32_g* fzF_0__U40__514506;
};
// for list<i32>.map<i32>.ref @514403
struct fzT__L1877list_l_i32__0__514403
{
  uint32_t clazzId;
  fzT__L1886list_l_i32__0__514403 fields;
};
// for list<string>.map<i32>.@514403
struct fzT__L1887list_l_str__0__514403
{
  fzT__L1833list_l_str__p_l_i32_g* fzF_0__U40__514506;
};
// for list<string>.map<i32>.ref @514403
struct fzT__L1878list_l_str__0__514403
{
  uint32_t clazzId;
  fzT__L1887list_l_str__0__514403 fields;
};
// for list<u8>.map<i32>.@514403
struct fzT__L1888list_l_u8___0__514403
{
  fzT_list_l_u8_g__1map_l_i32_g* fzF_0__U40__514506;
};
// for list<u8>.map<i32>.ref @514403
struct fzT__L1879list_l_u8___0__514403
{
  uint32_t clazzId;
  fzT__L1888list_l_u8___0__514403 fields;
};
// for list<i32>.map<string>.@514403
struct fzT__L1889list_l_i32__0__514403
{
  fzT__L1835list_l_i32___string_g* fzF_0__U40__514506;
};
// for list<i32>.map<string>.ref @514403
struct fzT__L1880list_l_i32__0__514403
{
  uint32_t clazzId;
  fzT__L1889list_l_i32__0__514403 fields;
};
// for list<string>.map<string>.@514403
struct fzT__L1890list_l_str__0__514403
{
  fzT__L1836list_l_str___string_g* fzF_0__U40__514506;
};
// for list<string>.map<string>.ref @514403
struct fzT__L1881list_l_str__0__514403
{
  uint32_t clazzId;
  fzT__L1890list_l_str__0__514403 fields;
};
// for list<u8>.map<string>.@514403
struct fzT__L1891list_l_u8___0__514403
{
  fzT__L1837list_l_u8____string_g* fzF_0__U40__514506;
};
// for list<u8>.map<string>.ref @514403
struct fzT__L1882list_l_u8___0__514403
{
  uint32_t clazzId;
  fzT__L1891list_l_u8___0__514403 fields;
};
// for ref list<i32>.map<string>.@514403
struct fzT__L1892_Rlist_l_i__0__514403
{
  fzT__L1838_Rlist_l_i___string_g* fzF_0__U40__514506;
};
// for ref list<i32>.map<string>.ref @514403
struct fzT__L1883_Rlist_l_i__0__514403
{
  uint32_t clazzId;
  fzT__L1892_Rlist_l_i__0__514403 fields;
};
// for ref list<string>.map<string>.@514403
struct fzT__L1893_Rlist_l_s__0__514403
{
  fzT__L1839_Rlist_l_s___string_g* fzF_0__U40__514506;
};
// for ref list<string>.map<string>.ref @514403
struct fzT__L1884_Rlist_l_s__0__514403
{
  uint32_t clazzId;
  fzT__L1893_Rlist_l_s__0__514403 fields;
};
// for ref list<u8>.map<string>.@514403
struct fzT__L1894_Rlist_l_u__0__514403
{
  fzT__L1840_Rlist_l_u___string_g* fzF_0__U40__514506;
};
// for ref list<u8>.map<string>.ref @514403
struct fzT__L1885_Rlist_l_u__0__514403
{
  uint32_t clazzId;
  fzT__L1894_Rlist_l_u__0__514403 fields;
};
// for list<i32>.map<i32>.ref @514403.head
struct fzT__L1913list_l_i32__403__head
{
  fzT_1i32 fzF_0_result;
  fzT__L1877list_l_i32__0__514403* fzF_1__U40__514834;
};
// for list<string>.map<i32>.ref @514403.head
struct fzT__L1914list_l_str__403__head
{
  fzT_1i32 fzF_0_result;
  fzT__L1878list_l_str__0__514403* fzF_1__U40__514834;
};
// for list<u8>.map<i32>.ref @514403.head
struct fzT__L1915list_l_u8___403__head
{
  fzT_1i32 fzF_0_result;
  fzT__L1879list_l_u8___0__514403* fzF_1__U40__514834;
};
// for list<i32>.map<string>.ref @514403.head
struct fzT__L1916list_l_i32__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L1880list_l_i32__0__514403* fzF_1__U40__514834;
};
// for list<string>.map<string>.ref @514403.head
struct fzT__L1917list_l_str__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L1881list_l_str__0__514403* fzF_1__U40__514834;
};
// for list<u8>.map<string>.ref @514403.head
struct fzT__L1918list_l_u8___403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L1882list_l_u8___0__514403* fzF_1__U40__514834;
};
// for ref list<i32>.map<string>.ref @514403.head
struct fzT__L1919_Rlist_l_i__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L1883_Rlist_l_i__0__514403* fzF_1__U40__514834;
};
// for ref list<string>.map<string>.ref @514403.head
struct fzT__L1920_Rlist_l_s__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L1884_Rlist_l_s__0__514403* fzF_1__U40__514834;
};
// for ref list<u8>.map<string>.ref @514403.head
struct fzT__L1921_Rlist_l_u__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L1885_Rlist_l_u__0__514403* fzF_1__U40__514834;
};
// for list<i32>.map<i32>.ref @514403.tail
struct fzT__L1940list_l_i32__403__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L1877list_l_i32__0__514403* fzF_1__U40__515168;
};
// for list<string>.map<i32>.ref @514403.tail
struct fzT__L1941list_l_str__403__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L1878list_l_str__0__514403* fzF_1__U40__515168;
};
// for list<u8>.map<i32>.ref @514403.tail
struct fzT__L1942list_l_u8___403__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L1879list_l_u8___0__514403* fzF_1__U40__515168;
};
// for list<i32>.map<string>.ref @514403.tail
struct fzT__L1943list_l_i32__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L1880list_l_i32__0__514403* fzF_1__U40__515168;
};
// for list<string>.map<string>.ref @514403.tail
struct fzT__L1944list_l_str__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L1881list_l_str__0__514403* fzF_1__U40__515168;
};
// for list<u8>.map<string>.ref @514403.tail
struct fzT__L1945list_l_u8___403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L1882list_l_u8___0__514403* fzF_1__U40__515168;
};
// for ref list<i32>.map<string>.ref @514403.tail
struct fzT__L1946_Rlist_l_i__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L1883_Rlist_l_i__0__514403* fzF_1__U40__515168;
};
// for ref list<string>.map<string>.ref @514403.tail
struct fzT__L1947_Rlist_l_s__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L1884_Rlist_l_s__0__514403* fzF_1__U40__515168;
};
// for ref list<u8>.map<string>.ref @514403.tail
struct fzT__L1948_Rlist_l_u__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L1885_Rlist_l_u__0__514403* fzF_1__U40__515168;
};
// for list<i32>.forceHead
struct fzT_list_l_i32_g__forceHead
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__516739;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_2_c;
  fzT_1i32 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for list<string>.forceHead
struct fzT_list_l_string_g__forceHead
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g* fzF_1__U40__516739;
  fzT__L2_RCons_l_s___l_string_gg* fzF_2_c;
  fzT__Rstring* fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for list<u8>.forceHead
struct fzT_list_l_u8_g__forceHead
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__516739;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_1u8 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for ref list<i32>.forceHead
struct fzT__Rlist_l_i32_g__forceHead
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__516739;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_2_c;
  fzT_1i32 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for ref list<string>.forceHead
struct fzT__L1980_Rlist_l_s__forceHead
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__516739;
  fzT__L2_RCons_l_s___l_string_gg* fzF_2_c;
  fzT__Rstring* fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for ref list<u8>.forceHead
struct fzT__Rlist_l_u8_g__forceHead
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__516739;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_1u8 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for list<i32>.forceTail
struct fzT_list_l_i32_g__forceTail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__517527;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_2_c;
  fzT_list_l_i32_g fzF_3__U40__517622;
  fzT_bool fzF_4__U40__517671;
};
// for list<string>.forceTail
struct fzT_list_l_string_g__forceTail
{
  fzT_list_l_string_g fzF_0_result;
  fzT_list_l_string_g* fzF_1__U40__517527;
  fzT__L2_RCons_l_s___l_string_gg* fzF_2_c;
  fzT_list_l_string_g fzF_3__U40__517622;
  fzT_bool fzF_4__U40__517671;
};
// for list<u8>.forceTail
struct fzT_list_l_u8_g__forceTail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__517527;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_list_l_u8_g fzF_3__U40__517622;
  fzT_bool fzF_4__U40__517671;
};
// for list<i32>.concat
struct fzT_list_l_i32_g__1concat
{
  fzT_list_l_i32_g fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__520532;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__521440;
};
// for list<string>.concat
struct fzT_list_l_string_g__1concat
{
  fzT_list_l_string_g fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__520532;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__521440;
};
// for list<u8>.concat
struct fzT_list_l_u8_g__1concat
{
  fzT_list_l_u8_g fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__520532;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_u8_g fzF_4__U40__521440;
};
// for ref list<i32>.concat
struct fzT__Rlist_l_i32_g__1concat
{
  fzT_list_l_i32_g fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__520532;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__521440;
};
// for ref list<string>.concat
struct fzT__Rlist_l_string_g__1concat
{
  fzT_list_l_string_g fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__520532;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__521440;
};
// for ref list<u8>.concat
struct fzT__Rlist_l_u8_g__1concat
{
  fzT_list_l_u8_g fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__520532;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_u8_g fzF_4__U40__521440;
};
// for list<i32>.concat.@520727
struct fzT__L2066list_l_i32__0__520727
{
  fzT_list_l_i32_g__1concat* fzF_0__U40__520809;
};
// for list<i32>.concat.ref @520727
struct fzT__L2060list_l_i32__0__520727
{
  uint32_t clazzId;
  fzT__L2066list_l_i32__0__520727 fields;
};
// for list<string>.concat.@520727
struct fzT__L2067list_l_str__0__520727
{
  fzT_list_l_string_g__1concat* fzF_0__U40__520809;
};
// for list<string>.concat.ref @520727
struct fzT__L2061list_l_str__0__520727
{
  uint32_t clazzId;
  fzT__L2067list_l_str__0__520727 fields;
};
// for list<u8>.concat.@520727
struct fzT__L2068list_l_u8___0__520727
{
  fzT_list_l_u8_g__1concat* fzF_0__U40__520809;
};
// for list<u8>.concat.ref @520727
struct fzT__L2062list_l_u8___0__520727
{
  uint32_t clazzId;
  fzT__L2068list_l_u8___0__520727 fields;
};
// for ref list<i32>.concat.@520727
struct fzT__L2069_Rlist_l_i__0__520727
{
  fzT__Rlist_l_i32_g__1concat* fzF_0__U40__520809;
};
// for ref list<i32>.concat.ref @520727
struct fzT__L2063_Rlist_l_i__0__520727
{
  uint32_t clazzId;
  fzT__L2069_Rlist_l_i__0__520727 fields;
};
// for ref list<string>.concat.@520727
struct fzT__L2070_Rlist_l_s__0__520727
{
  fzT__Rlist_l_string_g__1concat* fzF_0__U40__520809;
};
// for ref list<string>.concat.ref @520727
struct fzT__L2064_Rlist_l_s__0__520727
{
  uint32_t clazzId;
  fzT__L2070_Rlist_l_s__0__520727 fields;
};
// for ref list<u8>.concat.@520727
struct fzT__L2071_Rlist_l_u__0__520727
{
  fzT__Rlist_l_u8_g__1concat* fzF_0__U40__520809;
};
// for ref list<u8>.concat.ref @520727
struct fzT__L2065_Rlist_l_u__0__520727
{
  uint32_t clazzId;
  fzT__L2071_Rlist_l_u__0__520727 fields;
};
// for list<i32>.concat.ref @520727.head
struct fzT__L2084list_l_i32__727__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2060list_l_i32__0__520727* fzF_1__U40__521065;
};
// for list<string>.concat.ref @520727.head
struct fzT__L2085list_l_str__727__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2061list_l_str__0__520727* fzF_1__U40__521065;
};
// for list<u8>.concat.ref @520727.head
struct fzT__L2086list_l_u8___727__head
{
  fzT_1u8 fzF_0_result;
  fzT__L2062list_l_u8___0__520727* fzF_1__U40__521065;
};
// for ref list<i32>.concat.ref @520727.head
struct fzT__L2087_Rlist_l_i__727__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2063_Rlist_l_i__0__520727* fzF_1__U40__521065;
};
// for ref list<string>.concat.ref @520727.head
struct fzT__L2088_Rlist_l_s__727__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2064_Rlist_l_s__0__520727* fzF_1__U40__521065;
};
// for ref list<u8>.concat.ref @520727.head
struct fzT__L2089_Rlist_l_u__727__head
{
  fzT_1u8 fzF_0_result;
  fzT__L2065_Rlist_l_u__0__520727* fzF_1__U40__521065;
};
// for list<i32>.concat.ref @520727.tail
struct fzT__L2102list_l_i32__727__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2060list_l_i32__0__520727* fzF_1__U40__521391;
};
// for list<string>.concat.ref @520727.tail
struct fzT__L2103list_l_str__727__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2061list_l_str__0__520727* fzF_1__U40__521391;
};
// for list<u8>.concat.ref @520727.tail
struct fzT__L2104list_l_u8___727__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L2062list_l_u8___0__520727* fzF_1__U40__521391;
};
// for ref list<i32>.concat.ref @520727.tail
struct fzT__L2105_Rlist_l_i__727__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2063_Rlist_l_i__0__520727* fzF_1__U40__521391;
};
// for ref list<string>.concat.ref @520727.tail
struct fzT__L2106_Rlist_l_s__727__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2064_Rlist_l_s__0__520727* fzF_1__U40__521391;
};
// for ref list<u8>.concat.ref @520727.tail
struct fzT__L2107_Rlist_l_u__727__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L2065_Rlist_l_u__0__520727* fzF_1__U40__521391;
};
// for marray<i32>
struct fzT_2marray_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT_fuzion__sys__1array_l_i32_g fzF_1_data;
  fzT_bool fzF_2__U40__540238;
};
// for marray<string>
struct fzT_2marray_l_string_g
{
  fzT_1i32 fzF_0_length;
  fzT__L1164fuzion__sy___string_g fzF_1_data;
  fzT_bool fzF_2__U40__540238;
};
// for marray<u8>
struct fzT_2marray_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT_fuzion__sys__1array_l_u8_g fzF_1_data;
  fzT_bool fzF_2__U40__540238;
};
// for marray<i32>.index [ ]
struct fzT__L21352marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT_2marray_l_i32_g* fzF_2__U40__534487;
  fzT_1i32 fzF_3__U40__534532;
  fzT_bool fzF_4__U40__534581;
};
// for marray<string>.index [ ]
struct fzT__L21362marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT_2marray_l_string_g* fzF_2__U40__534487;
  fzT_1i32 fzF_3__U40__534532;
  fzT_bool fzF_4__U40__534581;
};
// for marray<u8>.index [ ]
struct fzT__L21372marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT_2marray_l_u8_g* fzF_2__U40__534487;
  fzT_1i32 fzF_3__U40__534532;
  fzT_bool fzF_4__U40__534581;
};
// for marray<i32>.add
struct fzT_2marray_l_i32_g__1add
{
  fzT_1i32 fzF_0_o;
  fzT_2marray_l_i32_g fzF_1_result;
  fzT_2marray_l_i32_g* fzF_2__U40__535902;
  fzT_1i32 fzF_3_i;
  fzT_fuzion__sys__1array_l_i32_g fzF_4_d;
  fzT_fuzion__sys__1array_l_i32_g fzF_5_newData;
  fzT_1i32__1infix_woo_RasStream* fzF_6__U40__536124;
  fzT_fuzion__sys__1array_l_i32_g fzF_7__U40__536917;
  fzT_bool fzF_8__U40__536966;
};
// for marray<string>.add
struct fzT_2marray_l_string_g__1add
{
  fzT__Rstring* fzF_0_o;
  fzT_2marray_l_string_g fzF_1_result;
  fzT_2marray_l_string_g* fzF_2__U40__535902;
  fzT_1i32 fzF_3_i;
  fzT__L1164fuzion__sy___string_g fzF_4_d;
  fzT__L1164fuzion__sy___string_g fzF_5_newData;
  fzT_1i32__1infix_woo_RasStream* fzF_6__U40__536124;
  fzT__L1164fuzion__sy___string_g fzF_7__U40__536917;
  fzT_bool fzF_8__U40__536966;
};
// for marray<u8>.add
struct fzT_2marray_l_u8_g__1add
{
  fzT_1u8 fzF_0_o;
  fzT_2marray_l_u8_g fzF_1_result;
  fzT_2marray_l_u8_g* fzF_2__U40__535902;
  fzT_1i32 fzF_3_i;
  fzT_fuzion__sys__1array_l_u8_g fzF_4_d;
  fzT_fuzion__sys__1array_l_u8_g fzF_5_newData;
  fzT_1i32__1infix_woo_RasStream* fzF_6__U40__536124;
  fzT_fuzion__sys__1array_l_u8_g fzF_7__U40__536917;
  fzT_bool fzF_8__U40__536966;
};
// for marray<i32>.add.@536173
struct fzT__L21772marray_l___0__536173
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__536703;
  fzT_2marray_l_i32_g__1add* fzF_2__U40__536752;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__536868;
};
// for marray<string>.add.@536173
struct fzT__L21782marray_l___0__536173
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__536703;
  fzT_2marray_l_string_g__1add* fzF_2__U40__536752;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__536868;
};
// for marray<u8>.add.@536173
struct fzT__L21792marray_l___0__536173
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__536703;
  fzT_2marray_l_u8_g__1add* fzF_2__U40__536752;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__536868;
};
// for marray<i32>.indices
struct fzT_2marray_l_i32_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2marray_l_i32_g* fzF_1__U40__537270;
};
// for marray<string>.indices
struct fzT_2marray_l_string_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2marray_l_string_g* fzF_1__U40__537270;
};
// for marray<u8>.indices
struct fzT_2marray_l_u8_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2marray_l_u8_g* fzF_1__U40__537270;
};
// for marray<i32>.as_array
struct fzT_2marray_l_i32_g__as_u_array
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT_2marray_l_i32_g* fzF_1__U40__539707;
};
// for marray<string>.as_array
struct fzT__L22112marray_l___s_u_array
{
  fzT_4array_l_string_g fzF_0_result;
  fzT_2marray_l_string_g* fzF_1__U40__539707;
};
// for marray<u8>.as_array
struct fzT_2marray_l_u8_g__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_2marray_l_u8_g* fzF_1__U40__539707;
};
// for marray<i32>.as_array.@539752
struct fzT__L22222marray_l___0__539752
{
  fzT_2marray_l_i32_g__as_u_array* fzF_0__U40__539859;
};
// for marray<i32>.as_array.ref @539752
struct fzT__L22192marray_l___0__539752
{
  uint32_t clazzId;
  fzT__L22222marray_l___0__539752 fields;
};
// for marray<string>.as_array.@539752
struct fzT__L22232marray_l___0__539752
{
  fzT__L22112marray_l___s_u_array* fzF_0__U40__539859;
};
// for marray<string>.as_array.ref @539752
struct fzT__L22202marray_l___0__539752
{
  uint32_t clazzId;
  fzT__L22232marray_l___0__539752 fields;
};
// for marray<u8>.as_array.@539752
struct fzT__L22242marray_l___0__539752
{
  fzT_2marray_l_u8_g__as_u_array* fzF_0__U40__539859;
};
// for marray<u8>.as_array.ref @539752
struct fzT__L22212marray_l___0__539752
{
  uint32_t clazzId;
  fzT__L22242marray_l___0__539752 fields;
};
// for marray<i32>.as_array.ref @539752.call
struct fzT__L22312marray_l___52__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT__L22192marray_l___0__539752* fzF_2__U40__540189;
};
// for marray<string>.as_array.ref @539752.call
struct fzT__L22322marray_l___52__1call
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT__L22202marray_l___0__539752* fzF_2__U40__540189;
};
// for marray<u8>.as_array.ref @539752.call
struct fzT__L22332marray_l___52__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L22212marray_l___0__539752* fzF_2__U40__540189;
};
// for monad<i32, numOption<i32>>
struct fzT__L2246monad_l_i3___l_i32_gg
{
};
// for monad<some<list<i32>>, option<some<list<i32>>>>
struct fzT__L2247monad_l_so___i32_gggg
{
};
// for monad<some<list<string>>, option<some<list<string>>>>
struct fzT__L2248monad_l_so__ring_gggg
{
};
// for monad<some<list<u8>>, option<some<list<u8>>>>
struct fzT__L2249monad_l_so__l_u8_gggg
{
};
// for monad<u8, numOption<u8>>
struct fzT__L2250monad_l_u8__n_l_u8_gg
{
};
// for monad<unit, option<unit>>
struct fzT__L2251monad_l_un__l_unit_gg
{
};
// for numOption<i32>.val
struct fzT_numOption_l_i32_g__val
{
  fzT_1i32 fzF_0_result;
  fzT_numOption_l_i32_g* fzF_1__U40__562478;
  fzT_1i32 fzF_2_v;
  fzT_1i32 fzF_3__U40__562573;
  fzT_bool fzF_4__U40__562622;
};
// for numOption<i32>.exists
struct fzT_numOption_l_i32_g__exists
{
  fzT_bool fzF_0_result;
  fzT_numOption_l_i32_g* fzF_1__U40__562937;
  fzT_bool fzF_2__U40__562982;
};
// for numOption<i32>.infix >>=
struct fzT__L2267numOption___nfix_wgge
{
  fzT__L20_RFunction__32_gk_i32_g* fzF_0_f;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_numOption_l_i32_g* fzF_2__U40__563317;
};
// for numOption<i32>.bind<i32>
struct fzT__L2271numOption___d_l_i32_g
{
  fzT__L20_RFunction__32_gk_i32_g* fzF_0_f;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_numOption_l_i32_g* fzF_2__U40__563872;
  fzT_1i32 fzF_3_v;
  fzT_numOption_l_i32_g fzF_4__U40__563967;
};
// for numOption<i32>.postfix ??
struct fzT__L2277numOption___stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT_numOption_l_i32_g* fzF_1__U40__565893;
};
// for numOption<i32>.infix +?
struct fzT__L2280numOption___infix_wpQ
{
  fzT_numOption_l_i32_g fzF_0_other;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_numOption_l_i32_g* fzF_2__U40__568691;
};
// for numOption<i32>.infix +?.@568736
struct fzT__L2285numOption___0__568736
{
  fzT__L2280numOption___infix_wpQ* fzF_0__U40__568822;
};
// for numOption<i32>.infix +?.ref @568736
struct fzT__L2284numOption___0__568736
{
  uint32_t clazzId;
  fzT__L2285numOption___0__568736 fields;
};
// for numOption<i32>.infix +?.ref @568736.call
struct fzT__L2288numOption___36__1call
{
  fzT_1i32 fzF_0_v;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT__L2284numOption___0__568736* fzF_2__U40__569163;
};
// for numOption<i32>.infix +?.ref @568736.call.@569212
struct fzT__L2293numOption___0__569212
{
  fzT__L2288numOption___36__1call* fzF_0__U40__569298;
};
// for numOption<i32>.infix +?.ref @568736.call.ref @569212
struct fzT__L2292numOption___0__569212
{
  uint32_t clazzId;
  fzT__L2293numOption___0__569212 fields;
};
// for numOption<i32>.infix +?.ref @568736.call.ref @569212.call
struct fzT__L2296numOption___12__1call
{
  fzT_1i32 fzF_0_w;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT__L2292numOption___0__569212* fzF_2__U40__569622;
};
// for numOption<i32>
struct fzT_1numOption_l_i32_g
{
  fzT_numOption_l_i32_g fzF_0_o;
  fzT_numOption_l_i32_g fzF_1_result;
};
// for numeric<f32>
struct fzT_numeric_l_f32_g
{
};
// for numeric<f64>
struct fzT_numeric_l_f64_g
{
};
// for numeric<i32>
struct fzT_numeric_l_i32_g
{
};
// for numeric<i64>
struct fzT_numeric_l_i64_g
{
};
// for numeric<u32>
struct fzT_numeric_l_u32_g
{
};
// for numeric<u64>
struct fzT_numeric_l_u64_g
{
};
// for numeric<u8>
struct fzT_numeric_l_u8_g
{
};
// for i32.highest
struct fzT_1i32__1highest
{
  fzT_1i32 fzF_0_b;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__586677;
  fzT_1i32 fzF_3_bs;
  fzT_1i32 fzF_4__U40__587482;
  fzT_bool fzF_5__U40__587531;
  fzT_bool fzF_6__U40__587580;
  fzT_bool fzF_7__U40__587629;
};
// for u8.highest
struct fzT_1u8__1highest
{
  fzT_1u8 fzF_0_b;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__586677;
  fzT_1u8 fzF_3_bs;
  fzT_1u8 fzF_4__U40__587482;
  fzT_bool fzF_5__U40__587531;
  fzT_bool fzF_6__U40__587580;
  fzT_bool fzF_7__U40__587629;
};
// for i32.highest.@586773
struct fzT__L23201i32__1hig__0__586773
{
  fzT_1i32 fzF_0_bs;
  fzT_1i32 fzF_1__U40__587288;
  fzT_1i32__1highest* fzF_2__U40__587337;
  fzT_1i32 fzF_3_bs;
  fzT_1i32 fzF_4__U40__587433;
};
// for u8.highest.@586773
struct fzT__L23211u8__1high__0__586773
{
  fzT_1u8 fzF_0_bs;
  fzT_1u8 fzF_1__U40__587288;
  fzT_1u8__1highest* fzF_2__U40__587337;
  fzT_1u8 fzF_3_bs;
  fzT_1u8 fzF_4__U40__587433;
};
// for i32.infix =
struct fzT_1i32__1infix_we
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__587951;
};
// for i32.max
struct fzT_1i32__1max
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__592993;
  fzT_1i32 fzF_3__U40__593038;
};
// for i32.sign
struct fzT_1i32__sign
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__595794;
  fzT_1i32 fzF_2__U40__595839;
};
// for u8.sign
struct fzT_1u8__sign
{
  fzT_1i32 fzF_0_result;
  fzT_1u8 fzF_1__U40__595794;
  fzT_1i32 fzF_2__U40__595839;
};
// for u8.isZero
struct fzT_1u8__isZero
{
  fzT_bool fzF_0_result;
  fzT_1u8 fzF_1__U40__597332;
};
// for i32.to_u32
struct fzT_1i32__to_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1i32 fzF_1__U40__599967;
  fzT_1u32 fzF_2__U40__600012;
  fzT_bool fzF_3__U40__600061;
};
// for u8.to_u32
struct fzT_1u8__to_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1u8 fzF_1__U40__599967;
  fzT_1u32 fzF_2__U40__600012;
  fzT_bool fzF_3__U40__600061;
};
// for numerics<f32>
struct fzT_numerics_l_f32_g
{
};
// for numerics<f64>
struct fzT_numerics_l_f64_g
{
};
// for numerics<i32>
struct fzT_numerics_l_i32_g
{
};
// for numerics<i64>
struct fzT_numerics_l_i64_g
{
};
// for numerics<u32>
struct fzT_numerics_l_u32_g
{
};
// for numerics<u64>
struct fzT_numerics_l_u64_g
{
};
// for numerics<u8>
struct fzT_numerics_l_u8_g
{
};
// for i32.from_u32
struct fzT_1i32__1from_u_u32
{
  fzT_1u32 fzF_0_v;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__603860;
  fzT_1i32 fzF_3__U40__603905;
};
// for u8.from_u32
struct fzT_1u8__1from_u_u32
{
  fzT_1u32 fzF_0_v;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__603860;
  fzT_1u8 fzF_3__U40__603905;
};
// for i32s.sum
struct fzT_i32s__sum
{
  fzT_i32s* fzF_0__U40__604044;
};
// for i32s.ref sum
struct fzT_i32s_Rsum
{
  uint32_t clazzId;
  fzT_i32s__sum fields;
};
// for i32s.ref sum.infix ∙
struct fzT_i32s_Rsum__2infix_wU2219_
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_1i32 fzF_2_result;
};
// for i32s.ref sum.e
struct fzT_i32s_Rsum__e
{
  fzT_1i32 fzF_0_result;
  fzT_i32s_Rsum* fzF_1__U40__604643;
};
// for option<some<list<i32>>>.get
struct fzT__L2406option_l_s___ggg__get
{
  fzT_1some_l_list_l_i32_gg fzF_0_result;
  fzT__L2398option_l_s__l_i32_ggg* fzF_1__U40__619090;
  fzT_1some_l_list_l_i32_gg fzF_2_v;
  fzT_1some_l_list_l_i32_gg fzF_3__U40__619185;
  fzT_bool fzF_4__U40__619234;
};
// for option<some<list<string>>>.get
struct fzT__L2407option_l_s___ggg__get
{
  fzT_1some_l_list_l_string_gg fzF_0_result;
  fzT__L2399option_l_s__tring_ggg* fzF_1__U40__619090;
  fzT_1some_l_list_l_string_gg fzF_2_v;
  fzT_1some_l_list_l_string_gg fzF_3__U40__619185;
  fzT_bool fzF_4__U40__619234;
};
// for option<some<list<u8>>>.get
struct fzT__L2408option_l_s___ggg__get
{
  fzT_1some_l_list_l_u8_gg fzF_0_result;
  fzT__L2400option_l_s___l_u8_ggg* fzF_1__U40__619090;
  fzT_1some_l_list_l_u8_gg fzF_2_v;
  fzT_1some_l_list_l_u8_gg fzF_3__U40__619185;
  fzT_bool fzF_4__U40__619234;
};
// for option<some<list<i32>>>.exists
struct fzT__L2424option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2398option_l_s__l_i32_ggg* fzF_1__U40__620675;
  fzT_bool fzF_2__U40__620720;
};
// for option<some<list<string>>>.exists
struct fzT__L2425option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2399option_l_s__tring_ggg* fzF_1__U40__620675;
  fzT_bool fzF_2__U40__620720;
};
// for option<some<list<u8>>>.exists
struct fzT__L2426option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2400option_l_s___l_u8_ggg* fzF_1__U40__620675;
  fzT_bool fzF_2__U40__620720;
};
// for option<some<list<i32>>>.postfix ??
struct fzT__L2436option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2398option_l_s__l_i32_ggg* fzF_1__U40__621936;
};
// for option<some<list<string>>>.postfix ??
struct fzT__L2437option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2399option_l_s__tring_ggg* fzF_1__U40__621936;
};
// for option<some<list<u8>>>.postfix ??
struct fzT__L2438option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2400option_l_s___l_u8_ggg* fzF_1__U40__621936;
};
// for ordered<f32>
struct fzT_ordered_l_f32_g
{
};
// for ordered<f64>
struct fzT_ordered_l_f64_g
{
};
// for ordered<i32>
struct fzT_ordered_l_i32_g
{
};
// for ordered<i64>
struct fzT_ordered_l_i64_g
{
};
// for ordered<string>
struct fzT_ordered_l_string_g
{
};
// for ref ordered<string>
struct fzT__Rordered_l_string_g
{
  uint32_t clazzId;
  fzT_ordered_l_string_g fields;
};
// for ordered<u32>
struct fzT_ordered_l_u32_g
{
};
// for ordered<u64>
struct fzT_ordered_l_u64_g
{
};
// for ordered<u8>
struct fzT_ordered_l_u8_g
{
};
// for partiallyOrdered<f32>
struct fzT_partiallyOrdered_l_f32_g
{
};
// for partiallyOrdered<f64>
struct fzT_partiallyOrdered_l_f64_g
{
};
// for partiallyOrdered<i32>
struct fzT_partiallyOrdered_l_i32_g
{
};
// for partiallyOrdered<i64>
struct fzT_partiallyOrdered_l_i64_g
{
};
// for partiallyOrdered<string>
struct fzT_partiallyOrdered_l_string_g
{
};
// for ref partiallyOrdered<string>
struct fzT__L2458_Rpartiall___string_g
{
  uint32_t clazzId;
  fzT_partiallyOrdered_l_string_g fields;
};
// for partiallyOrdered<u32>
struct fzT_partiallyOrdered_l_u32_g
{
};
// for partiallyOrdered<u64>
struct fzT_partiallyOrdered_l_u64_g
{
};
// for partiallyOrdered<u8>
struct fzT_partiallyOrdered_l_u8_g
{
};
// for say
struct fzT_1say
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
};
// for stdout
struct fzT_stdout
{
  fzT_fuzion__std__out fzF_0_result;
};
// for stream<i32>
struct fzT_stream_l_i32_g
{
  fzT__L2398option_l_s__l_i32_ggg fzF_0_asList0;
};
// for ref stream<i32>
struct fzT__Rstream_l_i32_g
{
  uint32_t clazzId;
  fzT_stream_l_i32_g fields;
};
// for stream<string>
struct fzT_stream_l_string_g
{
  fzT__L2399option_l_s__tring_ggg fzF_0_asList0;
};
// for ref stream<string>
struct fzT__Rstream_l_string_g
{
  uint32_t clazzId;
  fzT_stream_l_string_g fields;
};
// for stream<u8>
struct fzT_stream_l_u8_g
{
  fzT__L2400option_l_s___l_u8_ggg fzF_0_asList0;
};
// for ref stream<u8>
struct fzT__Rstream_l_u8_g
{
  uint32_t clazzId;
  fzT_stream_l_u8_g fields;
};
// for ref array<u8>.ref asStream.asString
struct fzT__L2481_R4array_l___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__753184;
};
// for i32.infix ...ref asStream.asString
struct fzT__L24821i32__1inf___asString
{
  fzT__Rstring* fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__753184;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString
struct fzT__L24831i32__1asS___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__753184;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString
struct fzT__L24841u8__1asSt___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__753184;
};
// for list<i32>.ref asStream.asString
struct fzT__L2485list_l_i32___asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__753184;
};
// for list<string>.ref asStream.asString
struct fzT__L2486list_l_str___asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__753184;
};
// for list<u8>.ref asStream.asString
struct fzT__L2487list_l_u8____asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__753184;
};
// for ref list<i32>.ref asStream.asString
struct fzT__L2488_Rlist_l_i___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__753184;
};
// for ref list<string>.ref asStream.asString
struct fzT__L2489_Rlist_l_s___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__753184;
};
// for ref list<u8>.ref asStream.asString
struct fzT__L2490_Rlist_l_u___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__753184;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2491_R4array_l___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__753184;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString
struct fzT__L24921i32__1inf___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__753184;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString
struct fzT__L24931i32__1asS___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__753184;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString
struct fzT__L24941u8__1asSt___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__753184;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2495list_l_i32___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__753184;
};
// for list<string>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2496list_l_str___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__753184;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2497list_l_u8____asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__753184;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2498_Rlist_l_i___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__753184;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2499_Rlist_l_s___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__753184;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2500_Rlist_l_u___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__753184;
};
// for ref stream<string>.map<string>.ref @766307.asString
struct fzT__L2501_Rstream_l___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__753184;
};
// for ref array<u8>.ref asStream.asString.@753233
struct fzT__L2565_R4array_l__0__753233
{
};
// for ref array<u8>.ref asStream.asString.ref @753233
struct fzT__L2544_R4array_l__0__753233
{
  uint32_t clazzId;
  fzT__L2565_R4array_l__0__753233 fields;
};
// for i32.infix ...ref asStream.asString.@753233
struct fzT__L25661i32__1inf__0__753233
{
};
// for i32.infix ...ref asStream.asString.ref @753233
struct fzT__L25451i32__1inf__0__753233
{
  uint32_t clazzId;
  fzT__L25661i32__1inf__0__753233 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.@753233
struct fzT__L25671i32__1asS__0__753233
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233
struct fzT__L25461i32__1asS__0__753233
{
  uint32_t clazzId;
  fzT__L25671i32__1asS__0__753233 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString.@753233
struct fzT__L25681u8__1asSt__0__753233
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233
struct fzT__L25471u8__1asSt__0__753233
{
  uint32_t clazzId;
  fzT__L25681u8__1asSt__0__753233 fields;
};
// for list<i32>.ref asStream.asString.@753233
struct fzT__L2569list_l_i32__0__753233
{
};
// for list<i32>.ref asStream.asString.ref @753233
struct fzT__L2548list_l_i32__0__753233
{
  uint32_t clazzId;
  fzT__L2569list_l_i32__0__753233 fields;
};
// for list<string>.ref asStream.asString.@753233
struct fzT__L2570list_l_str__0__753233
{
};
// for list<string>.ref asStream.asString.ref @753233
struct fzT__L2549list_l_str__0__753233
{
  uint32_t clazzId;
  fzT__L2570list_l_str__0__753233 fields;
};
// for list<u8>.ref asStream.asString.@753233
struct fzT__L2571list_l_u8___0__753233
{
};
// for list<u8>.ref asStream.asString.ref @753233
struct fzT__L2550list_l_u8___0__753233
{
  uint32_t clazzId;
  fzT__L2571list_l_u8___0__753233 fields;
};
// for ref list<i32>.ref asStream.asString.@753233
struct fzT__L2572_Rlist_l_i__0__753233
{
};
// for ref list<i32>.ref asStream.asString.ref @753233
struct fzT__L2551_Rlist_l_i__0__753233
{
  uint32_t clazzId;
  fzT__L2572_Rlist_l_i__0__753233 fields;
};
// for ref list<string>.ref asStream.asString.@753233
struct fzT__L2573_Rlist_l_s__0__753233
{
};
// for ref list<string>.ref asStream.asString.ref @753233
struct fzT__L2552_Rlist_l_s__0__753233
{
  uint32_t clazzId;
  fzT__L2573_Rlist_l_s__0__753233 fields;
};
// for ref list<u8>.ref asStream.asString.@753233
struct fzT__L2574_Rlist_l_u__0__753233
{
};
// for ref list<u8>.ref asStream.asString.ref @753233
struct fzT__L2553_Rlist_l_u__0__753233
{
  uint32_t clazzId;
  fzT__L2574_Rlist_l_u__0__753233 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2575_R4array_l__0__753233
{
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2554_R4array_l__0__753233
{
  uint32_t clazzId;
  fzT__L2575_R4array_l__0__753233 fields;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L25761i32__1inf__0__753233
{
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L25551i32__1inf__0__753233
{
  uint32_t clazzId;
  fzT__L25761i32__1inf__0__753233 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.@753233
struct fzT__L25771i32__1asS__0__753233
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233
struct fzT__L25561i32__1asS__0__753233
{
  uint32_t clazzId;
  fzT__L25771i32__1asS__0__753233 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.@753233
struct fzT__L25781u8__1asSt__0__753233
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233
struct fzT__L25571u8__1asSt__0__753233
{
  uint32_t clazzId;
  fzT__L25781u8__1asSt__0__753233 fields;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2579list_l_i32__0__753233
{
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2558list_l_i32__0__753233
{
  uint32_t clazzId;
  fzT__L2579list_l_i32__0__753233 fields;
};
// for list<string>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2580list_l_str__0__753233
{
};
// for list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2559list_l_str__0__753233
{
  uint32_t clazzId;
  fzT__L2580list_l_str__0__753233 fields;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2581list_l_u8___0__753233
{
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2560list_l_u8___0__753233
{
  uint32_t clazzId;
  fzT__L2581list_l_u8___0__753233 fields;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2582_Rlist_l_i__0__753233
{
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2561_Rlist_l_i__0__753233
{
  uint32_t clazzId;
  fzT__L2582_Rlist_l_i__0__753233 fields;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2583_Rlist_l_s__0__753233
{
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2562_Rlist_l_s__0__753233
{
  uint32_t clazzId;
  fzT__L2583_Rlist_l_s__0__753233 fields;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2584_Rlist_l_u__0__753233
{
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2563_Rlist_l_u__0__753233
{
  uint32_t clazzId;
  fzT__L2584_Rlist_l_u__0__753233 fields;
};
// for ref stream<string>.map<string>.ref @766307.asString.@753233
struct fzT__L2585_Rstream_l__0__753233
{
};
// for ref stream<string>.map<string>.ref @766307.asString.ref @753233
struct fzT__L2564_Rstream_l__0__753233
{
  uint32_t clazzId;
  fzT__L2585_Rstream_l__0__753233 fields;
};
// for ref array<u8>.ref asStream.asString.ref @753233.call
struct fzT__L2586_R4array_l__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.infix ...ref asStream.asString.ref @753233.call
struct fzT__L25871i32__1inf__33__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233.call
struct fzT__L25881i32__1asS__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233.call
struct fzT__L25891u8__1asSt__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<i32>.ref asStream.asString.ref @753233.call
struct fzT__L2590list_l_i32__33__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<string>.ref asStream.asString.ref @753233.call
struct fzT__L2591list_l_str__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<u8>.ref asStream.asString.ref @753233.call
struct fzT__L2592list_l_u8___33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.ref asStream.asString.ref @753233.call
struct fzT__L2593_Rlist_l_i__33__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<string>.ref asStream.asString.ref @753233.call
struct fzT__L2594_Rlist_l_s__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<u8>.ref asStream.asString.ref @753233.call
struct fzT__L2595_Rlist_l_u__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2596_R4array_l__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L25971i32__1inf__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L25981i32__1asS__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L25991u8__1asSt__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2600list_l_i32__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2601list_l_str__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2602list_l_u8___33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2603_Rlist_l_i__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2604_Rlist_l_s__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2605_Rlist_l_u__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref stream<string>.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2606_Rstream_l__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref array<u8>.ref asStream.asList
struct fzT__L2649_R4array_l__m__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.infix ...ref asStream.asList
struct fzT__L26501i32__1inf__m__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asList
struct fzT__L26511i32__1asS__2__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asList
struct fzT__L26521u8__1asSt__2__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<i32>.ref asStream.asList
struct fzT__L2653list_l_i32__m__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<string>.ref asStream.asList
struct fzT__L2654list_l_str__m__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<u8>.ref asStream.asList
struct fzT__L2655list_l_u8___m__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<i32>.ref asStream.asList
struct fzT__L2656_Rlist_l_i__m__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<string>.ref asStream.asList
struct fzT__L2657_Rlist_l_s__m__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<u8>.ref asStream.asList
struct fzT__L2658_Rlist_l_u__m__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<i32>.asList
struct fzT__Rstream_l_i32_g__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rstream_l_i32_g* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<string>.asList
struct fzT__Rstream_l_string_g__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rstream_l_string_g* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<u8>.asList
struct fzT__Rstream_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rstream_l_u8_g* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2662_R4array_l__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asList
struct fzT__L26631i32__1inf__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asList
struct fzT__L26641i32__1asS__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asList
struct fzT__L26651u8__1asSt__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2666list_l_i32__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<string>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2667list_l_str__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2668list_l_u8___7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2669_Rlist_l_i__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2670_Rlist_l_s__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2671_Rlist_l_u__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<string>.map<string>.ref @766307.asList
struct fzT__L2672_Rstream_l__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref array<u8>.ref asStream.asStream
struct fzT__L2745_R4array_l___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__754730;
};
// for i32.infix ...ref asStream.asStream
struct fzT__L27461i32__1inf___asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__754730;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asStream
struct fzT__L27471i32__1asS___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__754730;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asStream
struct fzT__L27481u8__1asSt___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__754730;
};
// for list<i32>.ref asStream.asStream
struct fzT__L2749list_l_i32___asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__754730;
};
// for list<string>.ref asStream.asStream
struct fzT__L2750list_l_str___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__754730;
};
// for list<u8>.ref asStream.asStream
struct fzT__L2751list_l_u8____asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__754730;
};
// for ref list<i32>.ref asStream.asStream
struct fzT__L2752_Rlist_l_i___asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__754730;
};
// for ref list<string>.ref asStream.asStream
struct fzT__L2753_Rlist_l_s___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__754730;
};
// for ref list<u8>.ref asStream.asStream
struct fzT__L2754_Rlist_l_u___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__754730;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2755_R4array_l___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__754730;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asStream
struct fzT__L27561i32__1inf___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__754730;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asStream
struct fzT__L27571i32__1asS___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__754730;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asStream
struct fzT__L27581u8__1asSt___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__754730;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2759list_l_i32___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__754730;
};
// for list<string>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2760list_l_str___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__754730;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2761list_l_u8____asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__754730;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2762_Rlist_l_i___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__754730;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2763_Rlist_l_s___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__754730;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2764_Rlist_l_u___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__754730;
};
// for ref stream<string>.map<string>.ref @766307.asStream
struct fzT__L2765_Rstream_l___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__754730;
};
// for ref array<u8>.ref asStream.count
struct fzT__L2808_R4array_l__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__755067;
};
// for i32.infix ...ref asStream.count
struct fzT__L28091i32__1inf__am__count
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__755067;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count
struct fzT__L28101i32__1asS__22__count
{
  fzT_1i32 fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__755067;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count
struct fzT__L28111u8__1asSt__22__count
{
  fzT_1i32 fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__755067;
};
// for list<i32>.ref asStream.count
struct fzT__L2812list_l_i32__am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__755067;
};
// for list<string>.ref asStream.count
struct fzT__L2813list_l_str__am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__755067;
};
// for list<u8>.ref asStream.count
struct fzT__L2814list_l_u8___am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__755067;
};
// for ref list<i32>.ref asStream.count
struct fzT__L2815_Rlist_l_i__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__755067;
};
// for ref list<string>.ref asStream.count
struct fzT__L2816_Rlist_l_s__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__755067;
};
// for ref list<u8>.ref asStream.count
struct fzT__L2817_Rlist_l_u__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__755067;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count
struct fzT__L2818_R4array_l__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__755067;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count
struct fzT__L28191i32__1inf__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__755067;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count
struct fzT__L28201i32__1asS__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__755067;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count
struct fzT__L28211u8__1asSt__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__755067;
};
// for list<i32>.ref asStream.map<string>.ref @766307.count
struct fzT__L2822list_l_i32__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__755067;
};
// for list<string>.ref asStream.map<string>.ref @766307.count
struct fzT__L2823list_l_str__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__755067;
};
// for list<u8>.ref asStream.map<string>.ref @766307.count
struct fzT__L2824list_l_u8___07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__755067;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count
struct fzT__L2825_Rlist_l_i__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__755067;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count
struct fzT__L2826_Rlist_l_s__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__755067;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count
struct fzT__L2827_Rlist_l_u__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__755067;
};
// for ref stream<string>.map<string>.ref @766307.count
struct fzT__L2828_Rstream_l__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__755067;
};
// for ref array<u8>.ref asStream.count.@755116
struct fzT__L2892_R4array_l__0__755116
{
};
// for ref array<u8>.ref asStream.count.ref @755116
struct fzT__L2871_R4array_l__0__755116
{
  uint32_t clazzId;
  fzT__L2892_R4array_l__0__755116 fields;
};
// for i32.infix ...ref asStream.count.@755116
struct fzT__L28931i32__1inf__0__755116
{
};
// for i32.infix ...ref asStream.count.ref @755116
struct fzT__L28721i32__1inf__0__755116
{
  uint32_t clazzId;
  fzT__L28931i32__1inf__0__755116 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.@755116
struct fzT__L28941i32__1asS__0__755116
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116
struct fzT__L28731i32__1asS__0__755116
{
  uint32_t clazzId;
  fzT__L28941i32__1asS__0__755116 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count.@755116
struct fzT__L28951u8__1asSt__0__755116
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116
struct fzT__L28741u8__1asSt__0__755116
{
  uint32_t clazzId;
  fzT__L28951u8__1asSt__0__755116 fields;
};
// for list<i32>.ref asStream.count.@755116
struct fzT__L2896list_l_i32__0__755116
{
};
// for list<i32>.ref asStream.count.ref @755116
struct fzT__L2875list_l_i32__0__755116
{
  uint32_t clazzId;
  fzT__L2896list_l_i32__0__755116 fields;
};
// for list<string>.ref asStream.count.@755116
struct fzT__L2897list_l_str__0__755116
{
};
// for list<string>.ref asStream.count.ref @755116
struct fzT__L2876list_l_str__0__755116
{
  uint32_t clazzId;
  fzT__L2897list_l_str__0__755116 fields;
};
// for list<u8>.ref asStream.count.@755116
struct fzT__L2898list_l_u8___0__755116
{
};
// for list<u8>.ref asStream.count.ref @755116
struct fzT__L2877list_l_u8___0__755116
{
  uint32_t clazzId;
  fzT__L2898list_l_u8___0__755116 fields;
};
// for ref list<i32>.ref asStream.count.@755116
struct fzT__L2899_Rlist_l_i__0__755116
{
};
// for ref list<i32>.ref asStream.count.ref @755116
struct fzT__L2878_Rlist_l_i__0__755116
{
  uint32_t clazzId;
  fzT__L2899_Rlist_l_i__0__755116 fields;
};
// for ref list<string>.ref asStream.count.@755116
struct fzT__L2900_Rlist_l_s__0__755116
{
};
// for ref list<string>.ref asStream.count.ref @755116
struct fzT__L2879_Rlist_l_s__0__755116
{
  uint32_t clazzId;
  fzT__L2900_Rlist_l_s__0__755116 fields;
};
// for ref list<u8>.ref asStream.count.@755116
struct fzT__L2901_Rlist_l_u__0__755116
{
};
// for ref list<u8>.ref asStream.count.ref @755116
struct fzT__L2880_Rlist_l_u__0__755116
{
  uint32_t clazzId;
  fzT__L2901_Rlist_l_u__0__755116 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L2902_R4array_l__0__755116
{
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L2881_R4array_l__0__755116
{
  uint32_t clazzId;
  fzT__L2902_R4array_l__0__755116 fields;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L29031i32__1inf__0__755116
{
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L28821i32__1inf__0__755116
{
  uint32_t clazzId;
  fzT__L29031i32__1inf__0__755116 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.@755116
struct fzT__L29041i32__1asS__0__755116
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116
struct fzT__L28831i32__1asS__0__755116
{
  uint32_t clazzId;
  fzT__L29041i32__1asS__0__755116 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.@755116
struct fzT__L29051u8__1asSt__0__755116
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116
struct fzT__L28841u8__1asSt__0__755116
{
  uint32_t clazzId;
  fzT__L29051u8__1asSt__0__755116 fields;
};
// for list<i32>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L2906list_l_i32__0__755116
{
};
// for list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L2885list_l_i32__0__755116
{
  uint32_t clazzId;
  fzT__L2906list_l_i32__0__755116 fields;
};
// for list<string>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L2907list_l_str__0__755116
{
};
// for list<string>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L2886list_l_str__0__755116
{
  uint32_t clazzId;
  fzT__L2907list_l_str__0__755116 fields;
};
// for list<u8>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L2908list_l_u8___0__755116
{
};
// for list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L2887list_l_u8___0__755116
{
  uint32_t clazzId;
  fzT__L2908list_l_u8___0__755116 fields;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L2909_Rlist_l_i__0__755116
{
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L2888_Rlist_l_i__0__755116
{
  uint32_t clazzId;
  fzT__L2909_Rlist_l_i__0__755116 fields;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L2910_Rlist_l_s__0__755116
{
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L2889_Rlist_l_s__0__755116
{
  uint32_t clazzId;
  fzT__L2910_Rlist_l_s__0__755116 fields;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L2911_Rlist_l_u__0__755116
{
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L2890_Rlist_l_u__0__755116
{
  uint32_t clazzId;
  fzT__L2911_Rlist_l_u__0__755116 fields;
};
// for ref stream<string>.map<string>.ref @766307.count.@755116
struct fzT__L2912_Rstream_l__0__755116
{
};
// for ref stream<string>.map<string>.ref @766307.count.ref @755116
struct fzT__L2891_Rstream_l__0__755116
{
  uint32_t clazzId;
  fzT__L2912_Rstream_l__0__755116 fields;
};
// for ref array<u8>.ref asStream.count.ref @755116.call
struct fzT__L2913_R4array_l__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.infix ...ref asStream.count.ref @755116.call
struct fzT__L29141i32__1inf__16__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116.call
struct fzT__L29151i32__1asS__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116.call
struct fzT__L29161u8__1asSt__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<i32>.ref asStream.count.ref @755116.call
struct fzT__L2917list_l_i32__16__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<string>.ref asStream.count.ref @755116.call
struct fzT__L2918list_l_str__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<u8>.ref asStream.count.ref @755116.call
struct fzT__L2919list_l_u8___16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<i32>.ref asStream.count.ref @755116.call
struct fzT__L2920_Rlist_l_i__16__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<string>.ref asStream.count.ref @755116.call
struct fzT__L2921_Rlist_l_s__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<u8>.ref asStream.count.ref @755116.call
struct fzT__L2922_Rlist_l_u__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2923_R4array_l__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L29241i32__1inf__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116.call
struct fzT__L29251i32__1asS__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116.call
struct fzT__L29261u8__1asSt__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2927list_l_i32__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<string>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2928list_l_str__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2929list_l_u8___16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2930_Rlist_l_i__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2931_Rlist_l_s__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2932_Rlist_l_u__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref stream<string>.map<string>.ref @766307.count.ref @755116.call
struct fzT__L2933_Rstream_l__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.ref asStream.asArray
struct fzT__L2976_R4array_l____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for i32.infix ...ref asStream.asArray
struct fzT__L29771i32__1inf____asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asArray
struct fzT__L29781i32__1asS____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asArray
struct fzT__L29791u8__1asSt____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for list<i32>.ref asStream.asArray
struct fzT__L2980list_l_i32____asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for list<string>.ref asStream.asArray
struct fzT__L2981list_l_str____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<u8>.ref asStream.asArray
struct fzT__L2982list_l_u8_____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for ref list<i32>.ref asStream.asArray
struct fzT__L2983_Rlist_l_i____asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for ref list<string>.ref asStream.asArray
struct fzT__L2984_Rlist_l_s____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<u8>.ref asStream.asArray
struct fzT__L2985_Rlist_l_u____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L2986_R4array_l____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asArray
struct fzT__L29871i32__1inf____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray
struct fzT__L29881i32__1asS____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray
struct fzT__L29891u8__1asSt____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L2990list_l_i32____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<string>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L2991list_l_str____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L2992list_l_u8_____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L2993_Rlist_l_i____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L2994_Rlist_l_s____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L2995_Rlist_l_u____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref stream<string>.map<string>.ref @766307.asArray
struct fzT__L2996_Rstream_l____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref array<u8>.ref asStream.asArray.@755995
struct fzT__L3060_R4array_l__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L2976_R4array_l____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for i32.infix ...ref asStream.asArray.@755995
struct fzT__L30611i32__1inf__0__755995
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__756466;
  fzT__L29771i32__1inf____asArray* fzF_2__U40__756515;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__756660;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asArray.@755995
struct fzT__L30621i32__1asS__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L29781i32__1asS____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asArray.@755995
struct fzT__L30631u8__1asSt__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L29791u8__1asSt____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for list<i32>.ref asStream.asArray.@755995
struct fzT__L3064list_l_i32__0__755995
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__756466;
  fzT__L2980list_l_i32____asArray* fzF_2__U40__756515;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__756660;
};
// for list<string>.ref asStream.asArray.@755995
struct fzT__L3065list_l_str__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2981list_l_str____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<u8>.ref asStream.asArray.@755995
struct fzT__L3066list_l_u8___0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L2982list_l_u8_____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for ref list<i32>.ref asStream.asArray.@755995
struct fzT__L3067_Rlist_l_i__0__755995
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__756466;
  fzT__L2983_Rlist_l_i____asArray* fzF_2__U40__756515;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__756660;
};
// for ref list<string>.ref asStream.asArray.@755995
struct fzT__L3068_Rlist_l_s__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2984_Rlist_l_s____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<u8>.ref asStream.asArray.@755995
struct fzT__L3069_Rlist_l_u__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L2985_Rlist_l_u____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3070_R4array_l__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2986_R4array_l____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L30711i32__1inf__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L29871i32__1inf____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray.@755995
struct fzT__L30721i32__1asS__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L29881i32__1asS____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray.@755995
struct fzT__L30731u8__1asSt__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L29891u8__1asSt____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3074list_l_i32__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2990list_l_i32____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<string>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3075list_l_str__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2991list_l_str____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3076list_l_u8___0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2992list_l_u8_____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3077_Rlist_l_i__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2993_Rlist_l_i____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3078_Rlist_l_s__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2994_Rlist_l_s____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3079_Rlist_l_u__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2995_Rlist_l_u____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref stream<string>.map<string>.ref @766307.asArray.@755995
struct fzT__L3080_Rstream_l__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L2996_Rstream_l____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref array<u8>.ref asStream.fold
struct fzT__L3207_R4array_l__am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__R4array_l_u8_g_RasStream* fzF_2__U40__764508;
};
// for i32.infix ...ref asStream.fold
struct fzT__L32081i32__1inf__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT_1i32__1infix_woo_RasStream* fzF_2__U40__764508;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L32091i32__1asS__22__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L14701i32__1asS__0__454222* fzF_2__U40__764508;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L32101u8__1asSt__22__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L14711u8__1asSt__0__454222* fzF_2__U40__764508;
};
// for list<i32>.ref asStream.fold
struct fzT__L3211list_l_i32__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT_list_l_i32_g_RasStream* fzF_2__U40__764508;
};
// for list<string>.ref asStream.fold
struct fzT__L3212list_l_str__am__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT_list_l_string_g_RasStream* fzF_2__U40__764508;
};
// for list<u8>.ref asStream.fold
struct fzT__L3213list_l_u8___am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT_list_l_u8_g_RasStream* fzF_2__U40__764508;
};
// for ref list<i32>.ref asStream.fold
struct fzT__L3214_Rlist_l_i__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_2__U40__764508;
};
// for ref list<string>.ref asStream.fold
struct fzT__L3215_Rlist_l_s__am__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_string_g_RasStream* fzF_2__U40__764508;
};
// for ref list<u8>.ref asStream.fold
struct fzT__L3216_Rlist_l_u__am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_2__U40__764508;
};
// for ref stream<string>.fold
struct fzT__Rstream_l_string_g__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__Rstream_l_string_g* fzF_2__U40__764508;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3218_R4array_l__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3609_R4array_l__0__766307* fzF_2__U40__764508;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fold
struct fzT__L32191i32__1inf__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L36101i32__1inf__0__766307* fzF_2__U40__764508;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L32201i32__1asS__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L36111i32__1asS__0__766307* fzF_2__U40__764508;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L32211u8__1asSt__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L36121u8__1asSt__0__766307* fzF_2__U40__764508;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3222list_l_i32__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3613list_l_i32__0__766307* fzF_2__U40__764508;
};
// for list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3223list_l_str__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3614list_l_str__0__766307* fzF_2__U40__764508;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3224list_l_u8___07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3615list_l_u8___0__766307* fzF_2__U40__764508;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3225_Rlist_l_i__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_2__U40__764508;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3226_Rlist_l_s__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_2__U40__764508;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3227_Rlist_l_u__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_2__U40__764508;
};
// for ref stream<string>.map<string>.ref @766307.fold
struct fzT__L3228_Rstream_l__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3619_Rstream_l__0__766307* fzF_2__U40__764508;
};
// for ref array<u8>.ref asStream.fold
struct fzT__L3295_R4array_l__am__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__R4array_l_u8_g_RasStream* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for i32.infix ...ref asStream.fold
struct fzT__L32961i32__1inf__am__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT_1i32__1infix_woo_RasStream* fzF_3__U40__764867;
  fzT_1i32 fzF_4_r;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L32971i32__1asS__22__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L14701i32__1asS__0__454222* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L32981u8__1asSt__22__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L14711u8__1asSt__0__454222* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for list<i32>.ref asStream.fold
struct fzT__L3299list_l_i32__am__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT_list_l_i32_g_RasStream* fzF_3__U40__764867;
  fzT_1i32 fzF_4_r;
};
// for list<string>.ref asStream.fold
struct fzT__L3300list_l_str__am__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT_list_l_string_g_RasStream* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<u8>.ref asStream.fold
struct fzT__L3301list_l_u8___am__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT_list_l_u8_g_RasStream* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for ref list<i32>.ref asStream.fold
struct fzT__L3302_Rlist_l_i__am__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_3__U40__764867;
  fzT_1i32 fzF_4_r;
};
// for ref list<string>.ref asStream.fold
struct fzT__L3303_Rlist_l_s__am__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__Rlist_l_string_g_RasStream* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<u8>.ref asStream.fold
struct fzT__L3304_Rlist_l_u__am__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for ref stream<string>.fold
struct fzT__Rstream_l_string_g__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__Rstream_l_string_g* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3306_R4array_l__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3609_R4array_l__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fold
struct fzT__L33071i32__1inf__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L36101i32__1inf__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L33081i32__1asS__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L36111i32__1asS__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L33091u8__1asSt__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L36121u8__1asSt__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3310list_l_i32__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3613list_l_i32__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3311list_l_str__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3614list_l_str__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3312list_l_u8___07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3615list_l_u8___0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3313_Rlist_l_i__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3314_Rlist_l_s__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3315_Rlist_l_u__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref stream<string>.map<string>.ref @766307.fold
struct fzT__L3316_Rstream_l__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3619_Rstream_l__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref array<u8>.ref asStream.fold.@764966
struct fzT__L3427_R4array_l__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L3295_R4array_l__am__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for i32.infix ...ref asStream.fold.@764966
struct fzT__L34281i32__1inf__0__764966
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__765434;
  fzT__L32961i32__1inf__am__2fold* fzF_2__U40__765483;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__765578;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold.@764966
struct fzT__L34291i32__1asS__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L32971i32__1asS__22__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fold.@764966
struct fzT__L34301u8__1asSt__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L32981u8__1asSt__22__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for list<i32>.ref asStream.fold.@764966
struct fzT__L3431list_l_i32__0__764966
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__765434;
  fzT__L3299list_l_i32__am__2fold* fzF_2__U40__765483;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__765578;
};
// for list<string>.ref asStream.fold.@764966
struct fzT__L3432list_l_str__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3300list_l_str__am__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<u8>.ref asStream.fold.@764966
struct fzT__L3433list_l_u8___0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L3301list_l_u8___am__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for ref list<i32>.ref asStream.fold.@764966
struct fzT__L3434_Rlist_l_i__0__764966
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__765434;
  fzT__L3302_Rlist_l_i__am__2fold* fzF_2__U40__765483;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__765578;
};
// for ref list<string>.ref asStream.fold.@764966
struct fzT__L3435_Rlist_l_s__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3303_Rlist_l_s__am__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<u8>.ref asStream.fold.@764966
struct fzT__L3436_Rlist_l_u__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L3304_Rlist_l_u__am__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for ref stream<string>.fold.@764966
struct fzT__L3437_Rstream_l__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__Rstream_l_string_g__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3438_R4array_l__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3306_R4array_l__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L34391i32__1inf__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L33071i32__1inf__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold.@764966
struct fzT__L34401i32__1asS__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L33081i32__1asS__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold.@764966
struct fzT__L34411u8__1asSt__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L33091u8__1asSt__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3442list_l_i32__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3310list_l_i32__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<string>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3443list_l_str__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3311list_l_str__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3444list_l_u8___0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3312list_l_u8___07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3445_Rlist_l_i__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3313_Rlist_l_i__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3446_Rlist_l_s__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3314_Rlist_l_s__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3447_Rlist_l_u__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3315_Rlist_l_u__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref stream<string>.map<string>.ref @766307.fold.@764966
struct fzT__L3448_Rstream_l__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3316_Rstream_l__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref array<u8>.ref asStream.map<string>
struct fzT__L3565_R4array_l___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__R4array_l_u8_g_RasStream* fzF_2__U40__766258;
};
// for i32.infix ...ref asStream.map<string>
struct fzT__L35661i32__1inf___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_1i32__1infix_woo_RasStream* fzF_2__U40__766258;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>
struct fzT__L35671i32__1asS___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__L14701i32__1asS__0__454222* fzF_2__U40__766258;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>
struct fzT__L35681u8__1asSt___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__L14711u8__1asSt__0__454222* fzF_2__U40__766258;
};
// for list<i32>.ref asStream.map<string>
struct fzT__L3569list_l_i32___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_list_l_i32_g_RasStream* fzF_2__U40__766258;
};
// for list<string>.ref asStream.map<string>
struct fzT__L3570list_l_str___string_g
{
  fzT__L24_RFunction___k_string_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_list_l_string_g_RasStream* fzF_2__U40__766258;
};
// for list<u8>.ref asStream.map<string>
struct fzT__L3571list_l_u8____string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_list_l_u8_g_RasStream* fzF_2__U40__766258;
};
// for ref list<i32>.ref asStream.map<string>
struct fzT__L3572_Rlist_l_i___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_2__U40__766258;
};
// for ref list<string>.ref asStream.map<string>
struct fzT__L3573_Rlist_l_s___string_g
{
  fzT__L24_RFunction___k_string_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rlist_l_string_g_RasStream* fzF_2__U40__766258;
};
// for ref list<u8>.ref asStream.map<string>
struct fzT__L3574_Rlist_l_u___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_2__U40__766258;
};
// for ref stream<string>.map<string>
struct fzT__L3575_Rstream_l___string_g
{
  fzT__L24_RFunction___k_string_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rstream_l_string_g* fzF_2__U40__766258;
};
// for ref array<u8>.ref asStream.map<string>.@766307
struct fzT__L3620_R4array_l__0__766307
{
  fzT__L3565_R4array_l___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307
struct fzT__L3609_R4array_l__0__766307
{
  uint32_t clazzId;
  fzT__L3620_R4array_l__0__766307 fields;
};
// for i32.infix ...ref asStream.map<string>.@766307
struct fzT__L36211i32__1inf__0__766307
{
  fzT__L35661i32__1inf___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for i32.infix ...ref asStream.map<string>.ref @766307
struct fzT__L36101i32__1inf__0__766307
{
  uint32_t clazzId;
  fzT__L36211i32__1inf__0__766307 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.@766307
struct fzT__L36221i32__1asS__0__766307
{
  fzT__L35671i32__1asS___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307
struct fzT__L36111i32__1asS__0__766307
{
  uint32_t clazzId;
  fzT__L36221i32__1asS__0__766307 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.@766307
struct fzT__L36231u8__1asSt__0__766307
{
  fzT__L35681u8__1asSt___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307
struct fzT__L36121u8__1asSt__0__766307
{
  uint32_t clazzId;
  fzT__L36231u8__1asSt__0__766307 fields;
};
// for list<i32>.ref asStream.map<string>.@766307
struct fzT__L3624list_l_i32__0__766307
{
  fzT__L3569list_l_i32___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for list<i32>.ref asStream.map<string>.ref @766307
struct fzT__L3613list_l_i32__0__766307
{
  uint32_t clazzId;
  fzT__L3624list_l_i32__0__766307 fields;
};
// for list<string>.ref asStream.map<string>.@766307
struct fzT__L3625list_l_str__0__766307
{
  fzT__L3570list_l_str___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for list<string>.ref asStream.map<string>.ref @766307
struct fzT__L3614list_l_str__0__766307
{
  uint32_t clazzId;
  fzT__L3625list_l_str__0__766307 fields;
};
// for list<u8>.ref asStream.map<string>.@766307
struct fzT__L3626list_l_u8___0__766307
{
  fzT__L3571list_l_u8____string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for list<u8>.ref asStream.map<string>.ref @766307
struct fzT__L3615list_l_u8___0__766307
{
  uint32_t clazzId;
  fzT__L3626list_l_u8___0__766307 fields;
};
// for ref list<i32>.ref asStream.map<string>.@766307
struct fzT__L3627_Rlist_l_i__0__766307
{
  fzT__L3572_Rlist_l_i___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307
struct fzT__L3616_Rlist_l_i__0__766307
{
  uint32_t clazzId;
  fzT__L3627_Rlist_l_i__0__766307 fields;
};
// for ref list<string>.ref asStream.map<string>.@766307
struct fzT__L3628_Rlist_l_s__0__766307
{
  fzT__L3573_Rlist_l_s___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for ref list<string>.ref asStream.map<string>.ref @766307
struct fzT__L3617_Rlist_l_s__0__766307
{
  uint32_t clazzId;
  fzT__L3628_Rlist_l_s__0__766307 fields;
};
// for ref list<u8>.ref asStream.map<string>.@766307
struct fzT__L3629_Rlist_l_u__0__766307
{
  fzT__L3574_Rlist_l_u___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307
struct fzT__L3618_Rlist_l_u__0__766307
{
  uint32_t clazzId;
  fzT__L3629_Rlist_l_u__0__766307 fields;
};
// for ref stream<string>.map<string>.@766307
struct fzT__L3630_Rstream_l__0__766307
{
  fzT__L3575_Rstream_l___string_g* fzF_0__U40__766381;
  fzT__L2399option_l_s__tring_ggg fzF_1_asList0;
};
// for ref stream<string>.map<string>.ref @766307
struct fzT__L3619_Rstream_l__0__766307
{
  uint32_t clazzId;
  fzT__L3630_Rstream_l__0__766307 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3653_R4array_l____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__766639;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.hasNext
struct fzT__L36541i32__1inf____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__766639;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.hasNext
struct fzT__L36551i32__1asS____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__766639;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.hasNext
struct fzT__L36561u8__1asSt____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__766639;
};
// for list<i32>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3657list_l_i32____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__766639;
};
// for list<string>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3658list_l_str____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__766639;
};
// for list<u8>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3659list_l_u8_____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__766639;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3660_Rlist_l_i____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__766639;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3661_Rlist_l_s____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__766639;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3662_Rlist_l_u____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__766639;
};
// for ref stream<string>.map<string>.ref @766307.hasNext
struct fzT__L3663_Rstream_l____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__766639;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.next
struct fzT__L3686_R4array_l__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__766971;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.next
struct fzT__L36871i32__1inf__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__766971;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.next
struct fzT__L36881i32__1asS__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__766971;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.next
struct fzT__L36891u8__1asSt__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__766971;
};
// for list<i32>.ref asStream.map<string>.ref @766307.next
struct fzT__L3690list_l_i32__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__766971;
};
// for list<string>.ref asStream.map<string>.ref @766307.next
struct fzT__L3691list_l_str__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__766971;
};
// for list<u8>.ref asStream.map<string>.ref @766307.next
struct fzT__L3692list_l_u8___307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__766971;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.next
struct fzT__L3693_Rlist_l_i__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__766971;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.next
struct fzT__L3694_Rlist_l_s__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__766971;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.next
struct fzT__L3695_Rlist_l_u__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__766971;
};
// for ref stream<string>.map<string>.ref @766307.next
struct fzT__L3696_Rstream_l__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__766971;
};
// for ref array<u8>.ref asStream.fromStream
struct fzT__L3767_R4array_l__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for i32.infix ...ref asStream.fromStream
struct fzT__L37681i32__1inf__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream
struct fzT__L37691i32__1asS__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L14701i32__1asS__0__454222* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream
struct fzT__L37701u8__1asSt__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L14711u8__1asSt__0__454222* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for list<i32>.ref asStream.fromStream
struct fzT__L3771list_l_i32__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for list<string>.ref asStream.fromStream
struct fzT__L3772list_l_str__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<u8>.ref asStream.fromStream
struct fzT__L3773list_l_u8___romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for ref list<i32>.ref asStream.fromStream
struct fzT__L3774_Rlist_l_i__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for ref list<string>.ref asStream.fromStream
struct fzT__L3775_Rlist_l_s__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<u8>.ref asStream.fromStream
struct fzT__L3776_Rlist_l_u__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for ref stream<i32>.fromStream
struct fzT__L3777_Rstream_l__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rstream_l_i32_g* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for ref stream<string>.fromStream
struct fzT__L3778_Rstream_l__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rstream_l_string_g* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref stream<u8>.fromStream
struct fzT__Rstream_l_u8_g__fromStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rstream_l_u8_g* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L3780_R4array_l__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3609_R4array_l__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream
struct fzT__L37811i32__1inf__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L36101i32__1inf__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream
struct fzT__L37821i32__1asS__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L36111i32__1asS__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream
struct fzT__L37831u8__1asSt__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L36121u8__1asSt__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L3784list_l_i32__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3613list_l_i32__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L3785list_l_str__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3614list_l_str__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L3786list_l_u8___romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3615list_l_u8___0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L3787_Rlist_l_i__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3616_Rlist_l_i__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L3788_Rlist_l_s__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3617_Rlist_l_s__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L3789_Rlist_l_u__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3618_Rlist_l_u__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref stream<string>.map<string>.ref @766307.fromStream
struct fzT__L3790_Rstream_l__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3619_Rstream_l__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref array<u8>.ref asStream.fromStream.@767531
struct fzT__L3887_R4array_l__0__767531
{
  fzT__L3767_R4array_l__romStream* fzF_0__U40__767670;
  fzT__L2400option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for ref array<u8>.ref asStream.fromStream.ref @767531
struct fzT__L3863_R4array_l__0__767531
{
  uint32_t clazzId;
  fzT__L3887_R4array_l__0__767531 fields;
};
// for i32.infix ...ref asStream.fromStream.@767531
struct fzT__L38881i32__1inf__0__767531
{
  fzT__L37681i32__1inf__romStream* fzF_0__U40__767670;
  fzT__L2398option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for i32.infix ...ref asStream.fromStream.ref @767531
struct fzT__L38641i32__1inf__0__767531
{
  uint32_t clazzId;
  fzT__L38881i32__1inf__0__767531 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.@767531
struct fzT__L38891i32__1asS__0__767531
{
  fzT__L37691i32__1asS__romStream* fzF_0__U40__767670;
  fzT__L2400option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531
struct fzT__L38651i32__1asS__0__767531
{
  uint32_t clazzId;
  fzT__L38891i32__1asS__0__767531 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.@767531
struct fzT__L38901u8__1asSt__0__767531
{
  fzT__L37701u8__1asSt__romStream* fzF_0__U40__767670;
  fzT__L2400option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531
struct fzT__L38661u8__1asSt__0__767531
{
  uint32_t clazzId;
  fzT__L38901u8__1asSt__0__767531 fields;
};
// for list<i32>.ref asStream.fromStream.@767531
struct fzT__L3891list_l_i32__0__767531
{
  fzT__L3771list_l_i32__romStream* fzF_0__U40__767670;
  fzT__L2398option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for list<i32>.ref asStream.fromStream.ref @767531
struct fzT__L3867list_l_i32__0__767531
{
  uint32_t clazzId;
  fzT__L3891list_l_i32__0__767531 fields;
};
// for list<string>.ref asStream.fromStream.@767531
struct fzT__L3892list_l_str__0__767531
{
  fzT__L3772list_l_str__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<string>.ref asStream.fromStream.ref @767531
struct fzT__L3868list_l_str__0__767531
{
  uint32_t clazzId;
  fzT__L3892list_l_str__0__767531 fields;
};
// for list<u8>.ref asStream.fromStream.@767531
struct fzT__L3893list_l_u8___0__767531
{
  fzT__L3773list_l_u8___romStream* fzF_0__U40__767670;
  fzT__L2400option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for list<u8>.ref asStream.fromStream.ref @767531
struct fzT__L3869list_l_u8___0__767531
{
  uint32_t clazzId;
  fzT__L3893list_l_u8___0__767531 fields;
};
// for ref list<i32>.ref asStream.fromStream.@767531
struct fzT__L3894_Rlist_l_i__0__767531
{
  fzT__L3774_Rlist_l_i__romStream* fzF_0__U40__767670;
  fzT__L2398option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for ref list<i32>.ref asStream.fromStream.ref @767531
struct fzT__L3870_Rlist_l_i__0__767531
{
  uint32_t clazzId;
  fzT__L3894_Rlist_l_i__0__767531 fields;
};
// for ref list<string>.ref asStream.fromStream.@767531
struct fzT__L3895_Rlist_l_s__0__767531
{
  fzT__L3775_Rlist_l_s__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<string>.ref asStream.fromStream.ref @767531
struct fzT__L3871_Rlist_l_s__0__767531
{
  uint32_t clazzId;
  fzT__L3895_Rlist_l_s__0__767531 fields;
};
// for ref list<u8>.ref asStream.fromStream.@767531
struct fzT__L3896_Rlist_l_u__0__767531
{
  fzT__L3776_Rlist_l_u__romStream* fzF_0__U40__767670;
  fzT__L2400option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for ref list<u8>.ref asStream.fromStream.ref @767531
struct fzT__L3872_Rlist_l_u__0__767531
{
  uint32_t clazzId;
  fzT__L3896_Rlist_l_u__0__767531 fields;
};
// for ref stream<i32>.fromStream.@767531
struct fzT__L3897_Rstream_l__0__767531
{
  fzT__L3777_Rstream_l__romStream* fzF_0__U40__767670;
  fzT__L2398option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for ref stream<i32>.fromStream.ref @767531
struct fzT__L3873_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L3897_Rstream_l__0__767531 fields;
};
// for ref stream<string>.fromStream.@767531
struct fzT__L3898_Rstream_l__0__767531
{
  fzT__L3778_Rstream_l__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref stream<string>.fromStream.ref @767531
struct fzT__L3874_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L3898_Rstream_l__0__767531 fields;
};
// for ref stream<u8>.fromStream.@767531
struct fzT__L3899_Rstream_l__0__767531
{
  fzT__Rstream_l_u8_g__fromStream* fzF_0__U40__767670;
  fzT__L2400option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for ref stream<u8>.fromStream.ref @767531
struct fzT__L3875_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L3899_Rstream_l__0__767531 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L3900_R4array_l__0__767531
{
  fzT__L3780_R4array_l__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3876_R4array_l__0__767531
{
  uint32_t clazzId;
  fzT__L3900_R4array_l__0__767531 fields;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L39011i32__1inf__0__767531
{
  fzT__L37811i32__1inf__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L38771i32__1inf__0__767531
{
  uint32_t clazzId;
  fzT__L39011i32__1inf__0__767531 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.@767531
struct fzT__L39021i32__1asS__0__767531
{
  fzT__L37821i32__1asS__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L38781i32__1asS__0__767531
{
  uint32_t clazzId;
  fzT__L39021i32__1asS__0__767531 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.@767531
struct fzT__L39031u8__1asSt__0__767531
{
  fzT__L37831u8__1asSt__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L38791u8__1asSt__0__767531
{
  uint32_t clazzId;
  fzT__L39031u8__1asSt__0__767531 fields;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L3904list_l_i32__0__767531
{
  fzT__L3784list_l_i32__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3880list_l_i32__0__767531
{
  uint32_t clazzId;
  fzT__L3904list_l_i32__0__767531 fields;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L3905list_l_str__0__767531
{
  fzT__L3785list_l_str__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3881list_l_str__0__767531
{
  uint32_t clazzId;
  fzT__L3905list_l_str__0__767531 fields;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L3906list_l_u8___0__767531
{
  fzT__L3786list_l_u8___romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3882list_l_u8___0__767531
{
  uint32_t clazzId;
  fzT__L3906list_l_u8___0__767531 fields;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L3907_Rlist_l_i__0__767531
{
  fzT__L3787_Rlist_l_i__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3883_Rlist_l_i__0__767531
{
  uint32_t clazzId;
  fzT__L3907_Rlist_l_i__0__767531 fields;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L3908_Rlist_l_s__0__767531
{
  fzT__L3788_Rlist_l_s__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3884_Rlist_l_s__0__767531
{
  uint32_t clazzId;
  fzT__L3908_Rlist_l_s__0__767531 fields;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L3909_Rlist_l_u__0__767531
{
  fzT__L3789_Rlist_l_u__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3885_Rlist_l_u__0__767531
{
  uint32_t clazzId;
  fzT__L3909_Rlist_l_u__0__767531 fields;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.@767531
struct fzT__L3910_Rstream_l__0__767531
{
  fzT__L3790_Rstream_l__romStream* fzF_0__U40__767670;
  fzT__L2399option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L3886_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L3910_Rstream_l__0__767531 fields;
};
// for ref array<u8>.ref asStream.fromStream.ref @767531.head
struct fzT__L3959_R4array_l__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L3863_R4array_l__0__767531* fzF_1__U40__767909;
};
// for i32.infix ...ref asStream.fromStream.ref @767531.head
struct fzT__L39601i32__1inf__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L38641i32__1inf__0__767531* fzF_1__U40__767909;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.head
struct fzT__L39611i32__1asS__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L38651i32__1asS__0__767531* fzF_1__U40__767909;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.head
struct fzT__L39621u8__1asSt__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L38661u8__1asSt__0__767531* fzF_1__U40__767909;
};
// for list<i32>.ref asStream.fromStream.ref @767531.head
struct fzT__L3963list_l_i32__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L3867list_l_i32__0__767531* fzF_1__U40__767909;
};
// for list<string>.ref asStream.fromStream.ref @767531.head
struct fzT__L3964list_l_str__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3868list_l_str__0__767531* fzF_1__U40__767909;
};
// for list<u8>.ref asStream.fromStream.ref @767531.head
struct fzT__L3965list_l_u8___531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L3869list_l_u8___0__767531* fzF_1__U40__767909;
};
// for ref list<i32>.ref asStream.fromStream.ref @767531.head
struct fzT__L3966_Rlist_l_i__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L3870_Rlist_l_i__0__767531* fzF_1__U40__767909;
};
// for ref list<string>.ref asStream.fromStream.ref @767531.head
struct fzT__L3967_Rlist_l_s__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3871_Rlist_l_s__0__767531* fzF_1__U40__767909;
};
// for ref list<u8>.ref asStream.fromStream.ref @767531.head
struct fzT__L3968_Rlist_l_u__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L3872_Rlist_l_u__0__767531* fzF_1__U40__767909;
};
// for ref stream<i32>.fromStream.ref @767531.head
struct fzT__L3969_Rstream_l__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L3873_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref stream<string>.fromStream.ref @767531.head
struct fzT__L3970_Rstream_l__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3874_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref stream<u8>.fromStream.ref @767531.head
struct fzT__L3971_Rstream_l__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L3875_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3972_R4array_l__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3876_R4array_l__0__767531* fzF_1__U40__767909;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L39731i32__1inf__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L38771i32__1inf__0__767531* fzF_1__U40__767909;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L39741i32__1asS__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L38781i32__1asS__0__767531* fzF_1__U40__767909;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L39751u8__1asSt__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L38791u8__1asSt__0__767531* fzF_1__U40__767909;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3976list_l_i32__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3880list_l_i32__0__767531* fzF_1__U40__767909;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3977list_l_str__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3881list_l_str__0__767531* fzF_1__U40__767909;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3978list_l_u8___531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3882list_l_u8___0__767531* fzF_1__U40__767909;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3979_Rlist_l_i__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3883_Rlist_l_i__0__767531* fzF_1__U40__767909;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3980_Rlist_l_s__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3884_Rlist_l_s__0__767531* fzF_1__U40__767909;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3981_Rlist_l_u__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3885_Rlist_l_u__0__767531* fzF_1__U40__767909;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L3982_Rstream_l__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L3886_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref array<u8>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4031_R4array_l__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L3863_R4array_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.infix ...ref asStream.fromStream.ref @767531.tail
struct fzT__L40321i32__1inf__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L38641i32__1inf__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail
struct fzT__L40331i32__1asS__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L38651i32__1asS__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail
struct fzT__L40341u8__1asSt__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L38661u8__1asSt__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<i32>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4035list_l_i32__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L3867list_l_i32__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<string>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4036list_l_str__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3868list_l_str__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<u8>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4037list_l_u8___531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L3869list_l_u8___0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<i32>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4038_Rlist_l_i__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L3870_Rlist_l_i__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<string>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4039_Rlist_l_s__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3871_Rlist_l_s__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<u8>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4040_Rlist_l_u__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L3872_Rlist_l_u__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<i32>.fromStream.ref @767531.tail
struct fzT__L4041_Rstream_l__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L3873_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<string>.fromStream.ref @767531.tail
struct fzT__L4042_Rstream_l__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3874_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<u8>.fromStream.ref @767531.tail
struct fzT__L4043_Rstream_l__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L3875_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4044_R4array_l__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3876_R4array_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L40451i32__1inf__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38771i32__1inf__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L40461i32__1asS__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38781i32__1asS__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L40471u8__1asSt__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38791u8__1asSt__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4048list_l_i32__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3880list_l_i32__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4049list_l_str__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3881list_l_str__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4050list_l_u8___531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3882list_l_u8___0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4051_Rlist_l_i__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3883_Rlist_l_i__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4052_Rlist_l_s__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3884_Rlist_l_s__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4053_Rlist_l_u__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3885_Rlist_l_u__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4054_Rstream_l__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3886_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for string
struct fzT_string
{
};
// for ref string
struct fzT__Rstring
{
  uint32_t clazzId;
  fzT_string fields;
};
// for ref codepoint.asString
struct fzT__R1codepoint__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__776738;
};
// for i32.asString.ref @452350.asString
struct fzT__L42021i32__1asS___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L14421i32__1asS__0__452350* fzF_1__U40__776738;
};
// for u8.asString.ref @452350.asString
struct fzT__L42031u8__1asSt___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L14431u8__1asSt__0__452350* fzF_1__U40__776738;
};
// for ref string.asString
struct fzT__Rstring__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rstring* fzF_1__U40__776738;
};
// for strings.concat.ref @834261.asString
struct fzT__L4205strings__2___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L4275strings__2__0__834261* fzF_1__U40__776738;
};
// for ref codepoint.isEmpty
struct fzT__R1codepoint__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__776977;
};
// for i32.asString.ref @452350.isEmpty
struct fzT__L42171i32__1asS____isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L14421i32__1asS__0__452350* fzF_1__U40__776977;
};
// for u8.asString.ref @452350.isEmpty
struct fzT__L42181u8__1asSt____isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L14431u8__1asSt__0__452350* fzF_1__U40__776977;
};
// for ref string.isEmpty
struct fzT__Rstring__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rstring* fzF_1__U40__776977;
};
// for strings.concat.ref @834261.isEmpty
struct fzT__L4220strings__2____isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L4275strings__2__0__834261* fzF_1__U40__776977;
};
// for ref codepoint.infix +
struct fzT__R1codepoint__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__R1codepoint* fzF_2__U40__780159;
};
// for ref conststring.infix +
struct fzT__R1conststring__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__R1conststring* fzF_2__U40__780159;
};
// for i32.asString.ref @452350.infix +
struct fzT__L42341i32__1asS__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__L14421i32__1asS__0__452350* fzF_2__U40__780159;
};
// for u8.asString.ref @452350.infix +
struct fzT__L42351u8__1asSt__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__L14431u8__1asSt__0__452350* fzF_2__U40__780159;
};
// for ref string.infix +
struct fzT__Rstring__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__Rstring* fzF_2__U40__780159;
};
// for strings.concat.ref @834261.infix +
struct fzT__L4237strings__2__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__L4275strings__2__0__834261* fzF_2__U40__780159;
};
// for strings
struct fzT_strings
{
};
// for ref strings
struct fzT__Rstrings
{
  uint32_t clazzId;
  fzT_strings fields;
};
// for strings.concat
struct fzT_strings__1concat
{
  fzT__Rstring* fzF_0_sep;
};
// for strings.ref concat
struct fzT_strings_R1concat
{
  uint32_t clazzId;
  fzT_strings__1concat fields;
};
// for strings.ref concat.infix ∙
struct fzT__L4262strings_R1__x_wU2219_
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
  fzT_strings_R1concat* fzF_3__U40__833249;
  fzT_bool fzF_4__U40__833294;
  fzT__Rstring* fzF_5__U40__833343;
};
// for strings.ref concat.e
struct fzT_strings_R1concat__e
{
  fzT__Rstring* fzF_0_result;
};
// for strings.concat
struct fzT_strings__2concat
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
};
// for strings.concat.@834261
struct fzT__L4276strings__2__0__834261
{
  fzT_strings__2concat* fzF_0__U40__834327;
};
// for strings.concat.ref @834261
struct fzT__L4275strings__2__0__834261
{
  uint32_t clazzId;
  fzT__L4276strings__2__0__834261 fields;
};
// for strings.concat.ref @834261.utf8
struct fzT__L4279strings__2__261__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__L4275strings__2__0__834261* fzF_1__U40__834667;
};
// for strings.zeroChar
struct fzT_strings__zeroChar
{
  fzT_1u8 fzF_0_result;
};
// for strings.aChar
struct fzT_strings__aChar
{
  fzT_1u8 fzF_0_result;
};
// for u32.thiz
struct fzT_1u32__thiz
{
  fzT_1u32 fzF_0_result;
  fzT_1u32 fzF_1__U40__927873;
};
// for u32.max
struct fzT_1u32__max
{
  fzT_1u32 fzF_0_result;
};
// for u32.overflowOnAdd
struct fzT_1u32__1overflowOnAdd
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u32 fzF_2__U40__931765;
};
// for u32.underflowOnAdd
struct fzT_1u32__1underflowOnAdd
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u32.overflowOnSub
struct fzT_1u32__1overflowOnSub
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u32.underflowOnSub
struct fzT_1u32__1underflowOnSub
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u32 fzF_2__U40__932632;
};
// for u32.as_u8
struct fzT_1u32__as_u_u8
{
  fzT_1u8 fzF_0_result;
  fzT_1u32 fzF_1__U40__936129;
  fzT_bool fzF_2__U40__936178;
};
// for u32s
struct fzT_u32s
{
};
// for u64
struct fzT_1u64
{
  fzT_1u64 fzF_0_val;
};
// for u64s
struct fzT_u64s
{
};
// for u8s
struct fzT_u8s
{
};
// for u8
struct fzT_u8
{
  fzT_u8s fzF_0_result;
};
// for u8.thiz
struct fzT_1u8__thiz
{
  fzT_1u8 fzF_0_result;
  fzT_1u8 fzF_1__U40__978131;
};
// for u8.infix /
struct fzT_1u8__1infix_wd
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__978839;
  fzT_bool fzF_3__U40__978888;
};
// for u8.infix %
struct fzT_1u8__1infix_wP
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__980525;
  fzT_bool fzF_3__U40__980574;
};
// for u8.max
struct fzT_1u8__max
{
  fzT_1u8 fzF_0_result;
};
// for u8.wrappedOnNeg
struct fzT_1u8__wrappedOnNeg
{
  fzT_bool fzF_0_result;
  fzT_1u8 fzF_1__U40__981372;
  fzT_bool fzF_2__U40__981421;
};
// for u8.overflowOnAdd
struct fzT_1u8__1overflowOnAdd
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__981790;
};
// for u8.underflowOnAdd
struct fzT_1u8__1underflowOnAdd
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u8.overflowOnSub
struct fzT_1u8__1overflowOnSub
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u8.underflowOnSub
struct fzT_1u8__1underflowOnSub
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__982657;
};
// for u8.overflowOnMul
struct fzT_1u8__1overflowOnMul
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__983060;
};
// for u8.underflowOnMul
struct fzT_1u8__1underflowOnMul
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u8.as_u32
struct fzT_1u8__as_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1u8 fzF_1__U40__985821;
};
// for u8.zero
struct fzT_1u8__zero
{
  fzT_1u8 fzF_0_result;
};
// for u8s.zero
struct fzT_u8s__zero
{
  fzT_1u8 fzF_0_result;
};
// for u8.one
struct fzT_1u8__one
{
  fzT_1u8 fzF_0_result;
};
// for u8s.max
struct fzT_u8s__max
{
  fzT_1u8 fzF_0_result;
};
// for u8.min
struct fzT_1u8__min
{
  fzT_1u8 fzF_0_result;
  fzT_1u8 fzF_1__U40__994665;
};
// for u8s.min
struct fzT_u8s__min
{
  fzT_1u8 fzF_0_result;
  fzT_u8s* fzF_1__U40__994665;
};
// for wrappingInteger<i32>
struct fzT_wrappingInteger_l_i32_g
{
};
// for wrappingInteger<i64>
struct fzT_wrappingInteger_l_i64_g
{
};
// for wrappingInteger<u32>
struct fzT_wrappingInteger_l_u32_g
{
};
// for wrappingInteger<u64>
struct fzT_wrappingInteger_l_u64_g
{
};
// for wrappingInteger<u8>
struct fzT_wrappingInteger_l_u8_g
{
};
// for i32.infix +
struct fzT_1i32__1infix_wp
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1036364;
  fzT_bool fzF_3__U40__1036409;
  fzT_bool fzF_4__U40__1036458;
};
// for u32.infix +
struct fzT_1u32__1infix_wp
{
  fzT_1u32 fzF_0_other;
  fzT_1u32 fzF_1_result;
  fzT_1u32 fzF_2__U40__1036364;
  fzT_bool fzF_3__U40__1036409;
  fzT_bool fzF_4__U40__1036458;
};
// for u8.infix +
struct fzT_1u8__1infix_wp
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1036364;
  fzT_bool fzF_3__U40__1036409;
  fzT_bool fzF_4__U40__1036458;
};
// for i32.infix -
struct fzT_1i32__1infix_wm
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1037279;
  fzT_bool fzF_3__U40__1037324;
  fzT_bool fzF_4__U40__1037373;
};
// for u32.infix -
struct fzT_1u32__1infix_wm
{
  fzT_1u32 fzF_0_other;
  fzT_1u32 fzF_1_result;
  fzT_1u32 fzF_2__U40__1037279;
  fzT_bool fzF_3__U40__1037324;
  fzT_bool fzF_4__U40__1037373;
};
// for u8.infix -
struct fzT_1u8__1infix_wm
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1037279;
  fzT_bool fzF_3__U40__1037324;
  fzT_bool fzF_4__U40__1037373;
};
// for i32.infix *
struct fzT_1i32__1infix_wt
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1038194;
  fzT_bool fzF_3__U40__1038239;
  fzT_bool fzF_4__U40__1038288;
};
// for u8.infix *
struct fzT_1u8__1infix_wt
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1038194;
  fzT_bool fzF_3__U40__1038239;
  fzT_bool fzF_4__U40__1038288;
};
// for i32.prefix -
struct fzT_1i32__prefix_wm
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__1038765;
  fzT_bool fzF_2__U40__1038810;
};
// for u8.prefix -
struct fzT_1u8__prefix_wm
{
  fzT_1u8 fzF_0_result;
  fzT_1u8 fzF_1__U40__1038765;
  fzT_bool fzF_2__U40__1038810;
};
// for i32.prefix -?
struct fzT_1i32__prefix_wmQ
{
  fzT_numOption_l_i32_g fzF_0_result;
  fzT_1i32 fzF_1__U40__1048008;
  fzT_numOption_l_i32_g fzF_2__U40__1048053;
};
// for u8.prefix -?
struct fzT_1u8__prefix_wmQ
{
  fzT_numOption_l_u8_g fzF_0_result;
  fzT_1u8 fzF_1__U40__1048008;
  fzT_numOption_l_u8_g fzF_2__U40__1048053;
};
// for i32.infix +?
struct fzT_1i32__1infix_wpQ
{
  fzT_1i32 fzF_0_other;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_1i32 fzF_2__U40__1048538;
  fzT_numOption_l_i32_g fzF_3__U40__1048583;
};
// for i32.infix +^
struct fzT_1i32__1infix_wpc
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1050895;
  fzT_1i32 fzF_3__U40__1050940;
};
// for u8.infix +^
struct fzT_1u8__1infix_wpc
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1050895;
  fzT_1u8 fzF_3__U40__1050940;
};
// for i32.wrappedOnAdd
struct fzT_1i32__1wrappedOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1052755;
  fzT_bool fzF_3__U40__1052800;
};
// for i32.isMin
struct fzT_1i32__isMin
{
  fzT_bool fzF_0_result;
  fzT_1i32 fzF_1__U40__1054081;
};
// for wrappingIntegers<i32>
struct fzT_wrappingIntegers_l_i32_g
{
};
// for wrappingIntegers<i64>
struct fzT_wrappingIntegers_l_i64_g
{
};
// for wrappingIntegers<u32>
struct fzT_wrappingIntegers_l_u32_g
{
};
// for wrappingIntegers<u64>
struct fzT_wrappingIntegers_l_u64_g
{
};
// for wrappingIntegers<u8>
struct fzT_wrappingIntegers_l_u8_g
{
};
// for #universe
struct fzT__Huniverse
{
};
static fzT__Huniverse fzI_universe;
// for HelloWorld
struct fzT_HelloWorld
{
};

struct fzThrd_effectsEnvironment
{
  fzT_io__3out fzEnv_1510;
  bool fzEnvInstalled_1510;
  jmp_buf* fzEnvJmpBuf_1510;
};
__thread struct fzThrd_effectsEnvironment* fzThrd_effectsEnvironment;
fzT_1u8 fzC_1u8(fzT_1u8 arg0);
void fzC_unit();
void fzC_nil();
void fzC_FALSE();
void fzC_TRUE();
fzT_fuzion__sys__1array_l_u8_g fzC_fuzion__sys__1array_l_u8_g(fzT_1i32 arg0);
fzT_4array_l_u8_g fzC_4array_l_u8_g(fzT_fuzion__sys__1array_l_u8_g arg0);
fzT_4array_l_u8_g fzC_list_l_u8_g__asArray(fzT_list_l_u8_g* fzouter);
fzT__L593list_l_u8____U40__9594* fzC__L593list_l_u8____U40__9594(fzT_list_l_u8_g__asArray* fzouter);
fzT_1u8 fzC__L621list_l_u8___594__1call(fzT__L593list_l_u8____U40__9594* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R1conststring__1infix_wpp(fzT__R1conststring* fzouter, fzT__RSequence_l_u8_g* arg0);
fzT_4array_l_u8_g fzC_2array_l_u8_g(fzT_1i32 arg0, fzT__RFunction_l_u8_k_i32_g* arg1);
void fzP_2array_l_u8_g(fzT_1i32 arg0, fzT__RFunction_l_u8_k_i32_g* arg1);
fzT_1i32__1infix_woo fzC_1i32__1infix_woo(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32__1infix_woo fzC_2array_l_u8_g__indices(fzT_2array_l_u8_g* fzouter);
void fzC_2array_l_u8_g__1_U40__43139(fzT_2array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R4array_l_u8_g__asList(fzT__R4array_l_u8_g* fzouter);
fzT_list_l_u8_g fzC__R1conststring__asList(fzT__R1conststring* fzouter);
fzT_list_l_u8_g fzC__R4array_l_u8_g__1asList(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__R4array_l_u8_g__1asList(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R1conststring__1asList(fzT__R1conststring* fzouter, fzT_1i32 arg0);
void fzP__R1conststring__1asList(fzT__R1conststring* fzouter, fzT_1i32 arg0);
fzT_4array_l_u8_g fzC__R4array_l_u8_g__asArray(fzT__R4array_l_u8_g* fzouter);
fzT_4array_l_u8_g fzC__R1conststring__asArray(fzT__R1conststring* fzouter);
fzT_1u8 fzC__L894_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__L894_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L895_R1constst__wU5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0);
void fzP__L895_R1constst__wU5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_4array_l_u8_g__length(fzT_4array_l_u8_g* fzouter);
fzT_1i32 fzC__R4array_l_u8_g__length(fzT__R4array_l_u8_g* fzouter);
fzT_1i32 fzC__R1conststring__length(fzT__R1conststring* fzouter);
fzT__R4array_l_u8_g__1arrayCons fzC__R4array_l_u8_g__1arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__R4array_l_u8_g__1arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L927_R4array_l__Cons__head(fzT__R4array_l_u8_g_R1arrayCons* fzouter);
fzT_list_l_u8_g fzC__L930_R4array_l__Cons__tail(fzT__R4array_l_u8_g_R1arrayCons* fzouter);
fzT_bool fzC_false();
fzT_bool fzC_true();
void fzC_fuzion__std__err__ascii();
fzT_1u8 fzC_fuzion__std__err__ascii__lf();
void fzC_effectMode__default();
fzT_1u32 fzC_1u32(fzT_1u32 arg0);
fzT_1codepoint fzC_1codepoint(fzT_1u32 arg0);
void fzP_1codepoint(fzT_1u32 arg0);
fzT__RSequence_l_u8_g* fzC__R1codepoint__utf8(fzT__R1codepoint* fzouter);
fzT_1u32__1infix_woo fzC_1u32__1infix_woo(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32__1infix_woo fzC_1codepoint__range();
fzT_1u32__1infix_woo fzC__R1codepoint__ascii();
fzT_1u32__1infix_woo fzC__L1005_R1codepoi__InOneByte(fzT__R1codepoint* fzouter);
fzT_1u32__1infix_woo fzC__L1008_R1codepoi__nTwoBytes();
fzT_1u32__1infix_woo fzC__L1010_R1codepoi__hreeBytes();
fzT_1u32__1infix_woo fzC__L1012_R1codepoi__FourBytes();
fzT_1u32__1infix_woo fzC_1codepoint__utf16Surrogate();
fzT__Rstring* fzC__R1conststring__asString(fzT__R1conststring* fzouter);
fzT__RSequence_l_u8_g* fzC__R1conststring__utf8(fzT__R1conststring* fzouter);
fzT_bool fzC_debug();
void fzC_io__3out__default(fzT_io__3out* fzouter);
void fzC_io__3out__replace(fzT_io__3out* fzouter);
void fzC_effects();
fzT_bool fzC__L1104effects__e__o_o_out_g();
void fzC_effectMode();
void fzC_fuzion();
void fzC_fuzion__std();
void fzC_fuzion__std__1exit(fzT_1i32 arg0);
void fzC_fuzion__std__err();
void fzC_fuzion__std__err__1println(fzT__RObject* arg0);
void fzC_fuzion__std__err__1write(fzT_4array_l_u8_g arg0);
void fzC_fuzion__std__err__2write(fzT__RObject* arg0, fzT_1i32 arg1);
void fzC_fuzion__std__1panic(fzT__Rstring* arg0);
void fzC_fuzion__std__out();
void fzC_fuzion__std__out__1print(fzT__RObject* arg0);
void fzC_fuzion__std__out__1write(fzT_4array_l_u8_g arg0);
void fzC_fuzion__std__out__2write(fzT__RObject* arg0, fzT_1i32 arg1);
void fzC_fuzion__sys();
fzT_1u8 fzC__L1171fuzion__sy__U5b_wU5d_(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__L1171fuzion__sy__U5b_wU5d_(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L1189fuzion__sy__et_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT__RObject* arg0, fzT_1i32 arg1);
void fzC__L1204fuzion__sy__b_wU5d_we(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1);
void fzP__L1204fuzion__sy__b_wU5d_we(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1);
fzT__RObject* fzC__L1225fuzion__sy__oc_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzC__L1234fuzion__sy__el_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT__RObject* arg0, fzT_1i32 arg1, fzT_1u8 arg2);
fzT_1i32__1infix_woo_RasStream* fzC_1i32__1infix_woo_RasStream(fzT_1i32__1infix_woo* fzouter);
fzT_bool fzC__L12831i32__1inf____hasNext(fzT_1i32__1infix_woo_RasStream* fzouter);
fzT_1i32 fzC__L12871i32__1inf__eam__next(fzT_1i32__1infix_woo_RasStream* fzouter);
fzT_bool fzC_1u32__1infix_woo__1contains(fzT_1u32__1infix_woo* fzouter, fzT_1u32 arg0);
fzT_1i32 fzC_1i32__1infix_woo__lower(fzT_1i32__1infix_woo* fzouter);
fzT_1u32 fzC_1u32__1infix_woo__lower(fzT_1u32__1infix_woo* fzouter);
fzT_1i32 fzC_1i32__thiz(fzT_1i32 fzouter);
fzT_bool fzC_1i32__1infix_wl(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wle(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wg(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wge(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__max();
fzT_bool fzC_1i32__1overflowOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1underflowOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1overflowOnSub(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1underflowOnSub(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__1infix_wpO(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__1infix_wmO(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__one();
fzT_1i32 fzC_1i32__min();
void fzC_io();
fzT_io__3out fzC_io__3out(fzT_io_RcanPrint* arg0, fzT_effectMode__val arg1);
fzT_io__3out fzC_io__out();
void fzC_io__defaultPrintToOut();
void fzC__L1519io_Rdefaul__t__1print(fzT__RObject* arg0);
void fzC_io__outs();
void fzC_io__outs__installDefault();
void fzC_io__3out__1println(fzT_io__3out* fzouter, fzT__RObject* arg0);
void fzC__L1541io_Rdefaul____println(fzT_io_RdefaultPrintToOut* fzouter);
void fzC__L1547io_Rdefaul___1println(fzT_io_RdefaultPrintToOut* fzouter, fzT__RObject* arg0);
fzT_list_l_u8_g fzC__Rlist_l_u8_g__asList(fzT__Rlist_l_u8_g* fzouter);
fzT_list_l_u8_g_RasStream* fzC_list_l_u8_g_RasStream(fzT_list_l_u8_g* fzouter);
fzT_1u8 fzC_list_l_u8_g_RasStream__next(fzT_list_l_u8_g_RasStream* fzouter);
fzT_bool fzC_list_l_u8_g__isEmpty(fzT_list_l_u8_g* fzouter);
fzT_1i32 fzC_list_l_u8_g__count(fzT_list_l_u8_g* fzouter);
fzT_1i32 fzC_list_l_u8_g__1count(fzT_list_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC_list_l_u8_g__1infix_wpp(fzT_list_l_u8_g* fzouter, fzT__RSequence_l_u8_g* arg0);
fzT_list_l_u8_g fzC__Rlist_l_u8_g__1infix_wpp(fzT__Rlist_l_u8_g* fzouter, fzT__RSequence_l_u8_g* arg0);
fzT_1u8 fzC_list_l_u8_g__forceHead(fzT_list_l_u8_g* fzouter);
void fzP_list_l_u8_g__forceHead(fzT_list_l_u8_g* fzouter);
fzT_list_l_u8_g fzC_list_l_u8_g__forceTail(fzT_list_l_u8_g* fzouter);
void fzP_list_l_u8_g__forceTail(fzT_list_l_u8_g* fzouter);
fzT_list_l_u8_g fzC_list_l_u8_g__1concat(fzT_list_l_u8_g* fzouter, fzT_list_l_u8_g arg0);
fzT_list_l_u8_g fzC__Rlist_l_u8_g__1concat(fzT__Rlist_l_u8_g* fzouter, fzT_list_l_u8_g arg0);
fzT__L2062list_l_u8___0__520727* fzC__L2062list_l_u8___0__520727(fzT_list_l_u8_g__1concat* fzouter);
fzT__L2065_Rlist_l_u__0__520727* fzC__L2065_Rlist_l_u__0__520727(fzT__Rlist_l_u8_g__1concat* fzouter);
fzT_1u8 fzC__L2086list_l_u8___727__head(fzT__L2062list_l_u8___0__520727* fzouter);
fzT_1u8 fzC__L2089_Rlist_l_u__727__head(fzT__L2065_Rlist_l_u__0__520727* fzouter);
fzT_list_l_u8_g fzC__L2104list_l_u8___727__tail(fzT__L2062list_l_u8___0__520727* fzouter);
fzT_list_l_u8_g fzC__L2107_Rlist_l_u__727__tail(fzT__L2065_Rlist_l_u__0__520727* fzouter);
fzT_1i32 fzC_numOption_l_i32_g__val(fzT_numOption_l_i32_g* fzouter);
void fzP_numOption_l_i32_g__val(fzT_numOption_l_i32_g* fzouter);
fzT_bool fzC_numOption_l_i32_g__exists(fzT_numOption_l_i32_g* fzouter);
fzT_numOption_l_i32_g fzC__L2267numOption___nfix_wgge(fzT_numOption_l_i32_g* fzouter, fzT__L20_RFunction__32_gk_i32_g* arg0);
fzT_numOption_l_i32_g fzC__L2271numOption___d_l_i32_g(fzT_numOption_l_i32_g* fzouter, fzT__L20_RFunction__32_gk_i32_g* arg0);
fzT_bool fzC__L2277numOption___stfix_wQQ(fzT_numOption_l_i32_g* fzouter);
fzT_numOption_l_i32_g fzC__L2280numOption___infix_wpQ(fzT_numOption_l_i32_g* fzouter, fzT_numOption_l_i32_g arg0);
fzT__L2284numOption___0__568736* fzC__L2284numOption___0__568736(fzT__L2280numOption___infix_wpQ* fzouter);
fzT_numOption_l_i32_g fzC__L2288numOption___36__1call(fzT__L2284numOption___0__568736* fzouter, fzT_1i32 arg0);
fzT__L2292numOption___0__569212* fzC__L2292numOption___0__569212(fzT__L2288numOption___36__1call* fzouter);
fzT_numOption_l_i32_g fzC__L2296numOption___12__1call(fzT__L2292numOption___0__569212* fzouter, fzT_1i32 arg0);
fzT_numOption_l_i32_g fzC_1numOption_l_i32_g(fzT_numOption_l_i32_g arg0);
fzT_bool fzC_safety();
void fzC_1say(fzT__RObject* arg0);
void fzC_stdout();
fzT__Rstring* fzC__R1codepoint__asString(fzT__R1codepoint* fzouter);
fzT__Rstring* fzC__L4205strings__2___asString(fzT__L4275strings__2__0__834261* fzouter);
fzT__Rstring* fzC__R1conststring__1infix_wp(fzT__R1conststring* fzouter, fzT__RObject* arg0);
fzT__Rstring* fzC__L4237strings__2__1infix_wp(fzT__L4275strings__2__0__834261* fzouter, fzT__RObject* arg0);
void fzC_strings();
fzT__Rstring* fzC_strings__2concat(fzT__Rstring* arg0, fzT__Rstring* arg1);
fzT__L4275strings__2__0__834261* fzC__L4275strings__2__0__834261(fzT_strings__2concat* fzouter);
fzT__RSequence_l_u8_g* fzC__L4279strings__2__261__utf8(fzT__L4275strings__2__0__834261* fzouter);
fzT_1u32 fzC_1u32__1infix_wU7c_(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__1infix_wU26_(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__thiz(fzT_1u32 fzouter);
fzT_bool fzC_1u32__1infix_wle(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__1infix_wgg(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u8 fzC_1u32__low8bits(fzT_1u32 fzouter);
fzT_1i32 fzC_1i32__1infix_wp(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzP_1i32__1infix_wp(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__1infix_wm(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzP_1i32__1infix_wm(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_numOption_l_i32_g fzC_1i32__1infix_wpQ(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1wrappedOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzC_HelloWorld();

// code for clazz#4345 u8:
fzT_1u8 fzC_1u8(fzT_1u8 arg0)
{
  // instance may escape, so we need malloc here
  fzT_1u8* fzCur;
  fzCur = malloc(sizeof(fzT_1u8));

  start:
  {
    *fzCur = arg0;
    return *fzCur;
  }
}
// code for clazz#4442 unit:
void fzC_unit()
{
  // instance may escape, so we need malloc here
  fzT_unit* fzCur;
  fzCur = malloc(sizeof(fzT_unit));

  start:
  {
  }
}
// code for clazz#2252 nil:
void fzC_nil()
{
  // instance may escape, so we need malloc here
  fzT_nil* fzCur;
  fzCur = malloc(sizeof(fzT_nil));

  start:
  {
  }
}
// code for clazz#943 FALSE:
void fzC_FALSE()
{
  // instance may escape, so we need malloc here
  fzT_FALSE* fzCur;
  fzCur = malloc(sizeof(fzT_FALSE));

  start:
  {
  }
}
// code for clazz#944 TRUE:
void fzC_TRUE()
{
  // instance may escape, so we need malloc here
  fzT_TRUE* fzCur;
  fzCur = malloc(sizeof(fzT_TRUE));

  start:
  {
  }
}
// code for clazz#1165 fuzion.sys.array<u8>:
fzT_fuzion__sys__1array_l_u8_g fzC_fuzion__sys__1array_l_u8_g(fzT_1i32 arg0)
{
  // instance may escape, so we need malloc here
  fzT_fuzion__sys__1array_l_u8_g* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__sys__1array_l_u8_g));

  start:
  {
    fzCur->fzF_0_length = arg0;
    //    0: Current
    //    1: Current
    //    2: Call to fuzion.sys.array<u8>.length
    //    3: Call to fuzion.sys.array<u8>.alloc<u8>
    fzT__RObject* fzM_0;
    fzM_0 = fzC__L1225fuzion__sy__oc_l_u8_g((fzT_fuzion__sys__1array_l_u8_g*)fzCur,fzCur->fzF_0_length);
    //    4: Current
    //    5: Assign to fuzion.sys.array<u8>.data
    fzCur->fzF_1_data = (fzT__RObject*)fzM_0;
    return *fzCur;
  }
}
// code for clazz#831 array<u8>:
fzT_4array_l_u8_g fzC_4array_l_u8_g(fzT_fuzion__sys__1array_l_u8_g arg0)
{
  // instance may escape, so we need malloc here
  fzT_4array_l_u8_g* fzCur;
  fzCur = malloc(sizeof(fzT_4array_l_u8_g));

  start:
  {
    fzCur->fzF_0_internalArray = arg0;
    // unit type assignment to /* UNIT VALUE */
    // unit type assignment to /* UNIT VALUE */
    // unit type assignment to /* UNIT VALUE */
    return *fzCur;
  }
}
// code for clazz#565 list<u8>.asArray:
fzT_4array_l_u8_g fzC_list_l_u8_g__asArray(fzT_list_l_u8_g* fzouter)
{
  // instance may escape, so we need malloc here
  fzT_list_l_u8_g__asArray* fzCur;
  fzCur = malloc(sizeof(fzT_list_l_u8_g__asArray));

  start:
  {
    fzCur->fzF_1__U40__9495 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.asArray.@9495
    //    2: Call to list<u8>.ref asStream
    fzT_list_l_u8_g_RasStream* fzM_0;
    fzM_0 = fzC_list_l_u8_g_RasStream((fzT_list_l_u8_g*)fzCur->fzF_1__U40__9495);
    //    3: Current
    //    4: Assign to list<u8>.asArray.s
    fzCur->fzF_2_s = (fzT__Rstream_l_u8_g*)fzM_0;
    //    5: Current
    //    6: Call to list<u8>.asArray.@9495
    //    7: Call to list<u8>.count
    fzT_1i32 fzM_1;
    fzM_1 = fzC_list_l_u8_g__count((fzT_list_l_u8_g*)fzCur->fzF_1__U40__9495);
    //    8: Current
    //    9: Call to list<u8>.asArray.ref @9594
    fzT__L593list_l_u8____U40__9594* fzM_2;
    fzM_2 = fzC__L593list_l_u8____U40__9594((fzT_list_l_u8_g__asArray*)fzCur);
    //   10: Call to array<u8>
    fzP_2array_l_u8_g(fzM_1,(fzT__RFunction_l_u8_k_i32_g*)fzM_2);
    fzT_4array_l_u8_g fzM_3;
    fzM_3 = fzC_2array_l_u8_g(fzM_1,(fzT__RFunction_l_u8_k_i32_g*)fzM_2);
    //   11: Current
    //   12: Assign to list<u8>.asArray.result
    fzCur->fzF_0_result = fzM_3;
    return fzCur->fzF_0_result;
  }
}
// code for clazz#593 list<u8>.asArray.ref @9594:
fzT__L593list_l_u8____U40__9594* fzC__L593list_l_u8____U40__9594(fzT_list_l_u8_g__asArray* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L593list_l_u8____U40__9594* fzCur;
  fzCur = malloc(sizeof(fzT__L593list_l_u8____U40__9594));
  fzCur->clazzId = 593;

  start:
  {
    fzCur->fields.fzF_0__U40__9701 = fzouter;
    return fzCur;
  }
}
// code for clazz#621 list<u8>.asArray.ref @9594.call:
fzT_1u8 fzC__L621list_l_u8___594__1call(fzT__L593list_l_u8____U40__9594* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L621list_l_u8___594__1call fzCur;

  start:
  {
    fzCur.fzF_2__U40__10007 = (fzT__L593list_l_u8____U40__9594*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to list<u8>.asArray.ref @9594.call.@10007
    //    2: Call to list<u8>.asArray.ref @9594.@9701
    //    3: Call to list<u8>.asArray.s
    //    4: Call to ref stream<u8>.next
    fzT_1u8 fzM_0;
    fzM_0 = fzC_list_l_u8_g_RasStream__next((fzT_list_l_u8_g_RasStream*)fzCur.fzF_2__U40__10007->fields.fzF_0__U40__9701->fzF_2_s);
    //    5: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    6: Current
    //    7: Assign to list<u8>.asArray.ref @9594.call.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#652 ref conststring.infix ++:
fzT_list_l_u8_g fzC__R1conststring__1infix_wpp(fzT__R1conststring* fzouter, fzT__RSequence_l_u8_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__1infix_wpp fzCur;

  start:
  {
    fzCur.fzF_2__U40__15716 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_s = (fzT__RSequence_l_u8_g*)arg0;
    //    0: Current
    //    1: Call to ref conststring.infix ++.@15716
    //    2: Call to ref conststring.asList
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R1conststring__asList(fzCur.fzF_2__U40__15716);
    //    3: Current
    //    4: Call to ref conststring.infix ++.s
    //    5: Call to ref Sequence<u8>.asList
    // Dynamic access of ref Sequence<u8>.asList
    fzT__RSequence_l_u8_g* fzM_1 = (fzT__RSequence_l_u8_g*)fzCur.fzF_0_s;
    fzT_list_l_u8_g fzM_2;
    switch (fzM_1->clazzId)
    {
      case 830:
      {
        // Call calls ref array<u8>.asList target: ref array<u8>:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R4array_l_u8_g__asList((fzT__R4array_l_u8_g*)fzM_1);
        fzM_2 = fzM_3;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.asList target: ref conststring:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__R1conststring__asList((fzT__R1conststring*)fzM_1);
        fzM_2 = fzM_4;
        break;
      }
      case 1559:
      {
        // Call calls ref list<u8>.asList target: ref list<u8>:
        fzT_list_l_u8_g fzM_5;
        fzM_5 = fzC__Rlist_l_u8_g__asList((fzT__Rlist_l_u8_g*)fzM_1);
        fzM_2 = fzM_5;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_1->clazzId,"ref Sequence<u8>.asList","ref conststring.infix ++");
        exit(1);
      }
    }
    //    6: Box list<u8> => ref list<u8>
    // Box list<u8>
    fzT__Rlist_l_u8_g* fzM_6;
    fzM_6 = malloc(sizeof(fzT__Rlist_l_u8_g));
    fzM_6->clazzId = 1559;
    fzM_6->fields = fzM_2;
    //    7: Call to list<u8>.infix ++
    fzT_list_l_u8_g fzM_7;
    fzM_7 = fzC_list_l_u8_g__1infix_wpp((fzT_list_l_u8_g*)fzH_heapClone(&fzM_0,sizeof fzM_0),(fzT__RSequence_l_u8_g*)fzM_6);
    //    8: Current
    //    9: Assign to ref conststring.infix ++.result
    fzCur.fzF_1_result = fzM_7;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#779 array<u8>:
fzT_4array_l_u8_g fzC_2array_l_u8_g(fzT_1i32 arg0, fzT__RFunction_l_u8_k_i32_g* arg1)
{
  // instance may escape, so we need malloc here
  fzT_2array_l_u8_g* fzCur;
  fzCur = malloc(sizeof(fzT_2array_l_u8_g));

  start:
  {
    fzCur->fzF_0_length = arg0;
    fzCur->fzF_1_init = (fzT__RFunction_l_u8_k_i32_g*)arg1;
    //    0: Call to fuzion
    fzC_fuzion();
    //    1: Call to fuzion.sys
    fzC_fuzion__sys();
    //    2: Current
    //    3: Call to array<u8>.length
    //    4: Call to fuzion.sys.array<u8>
    fzT_fuzion__sys__1array_l_u8_g fzM_0;
    fzM_0 = fzC_fuzion__sys__1array_l_u8_g(fzCur->fzF_0_length);
    //    5: Current
    //    6: Assign to array<u8>.internal
    fzCur->fzF_4_internal = fzM_0;
    //    7: Current
    //    8: Call to array<u8>.indices
    fzT_1i32__1infix_woo fzM_1;
    fzM_1 = fzC_2array_l_u8_g__indices((fzT_2array_l_u8_g*)fzCur);
    //    9: Call to i32.infix ...ref asStream
    fzT_1i32__1infix_woo_RasStream* fzM_2;
    fzM_2 = fzC_1i32__1infix_woo_RasStream((fzT_1i32__1infix_woo*)fzH_heapClone(&fzM_1,sizeof fzM_1));
    //   10: Current
    //   11: Assign to array<u8>.@43090
    fzCur->fzF_5__U40__43090 = (fzT_1i32__1infix_woo_RasStream*)fzM_2;
    //   12: Current
    //   13: Call to array<u8>.@43090
    //   14: Call to i32.infix ...ref asStream.hasNext
    fzT_bool fzM_3;
    fzM_3 = fzC__L12831i32__1inf____hasNext(fzCur->fzF_5__U40__43090);
    //   15: Match
    switch (fzM_3.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to array<u8>.@43090
        //    2: Call to i32.infix ...ref asStream.next
        fzT_1i32 fzM_4;
        fzM_4 = fzC__L12871i32__1inf__eam__next(fzCur->fzF_5__U40__43090);
        //    3: Current
        //    4: Assign to array<u8>.x
        fzCur->fzF_3_x = fzM_4;
        //    5: Current
        //    6: Current
        //    7: Call to array<u8>.x
        //    8: Call to array<u8>.@43139
        fzC_2array_l_u8_g__1_U40__43139((fzT_2array_l_u8_g*)fzCur,fzCur->fzF_3_x);
        break;
      }
      case 0/* FALSE */:
      {
        break;
      }
    }
    //   18: Current
    //   19: Call to array<u8>.internal
    //   20: Call to unit
    fzC_unit();
    //   21: Call to unit
    fzC_unit();
    //   22: Call to unit
    fzC_unit();
    //   23: Call to array<u8>
    fzT_4array_l_u8_g fzM_5;
    fzM_5 = fzC_4array_l_u8_g(fzCur->fzF_4_internal);
    //   24: Current
    //   25: Assign to array<u8>.result
    fzCur->fzF_2_result = fzM_5;
    return fzCur->fzF_2_result;
  }
}
// code for clazz#779 precondition of array<u8>:
void fzP_2array_l_u8_g(fzT_1i32 arg0, fzT__RFunction_l_u8_k_i32_g* arg1)
{
  // for precondition only, need to check if it may escape
  fzT_2array_l_u8_g* fzCur;
  fzCur = malloc(sizeof(fzT_2array_l_u8_g));

  start:
  {
    fzCur->fzF_0_length = arg0;
    fzCur->fzF_1_init = (fzT__RFunction_l_u8_k_i32_g*)arg1;
    fzCur->fzF_0_length = arg0;
    fzCur->fzF_1_init = (fzT__RFunction_l_u8_k_i32_g*)arg1;
    //    0: Call to safety
    fzT_bool fzM_0;
    fzM_0 = fzC_safety();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to array<u8>.length
        //    2: Const
        //    3: Call to i32.infix >=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wge(fzCur->fzF_0_length,0);
        //    4: Current
        //    5: Assign to array<u8>.@43859
        fzCur->fzF_6__U40__43859 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to array<u8>.@43859
        // access to Assign to array<u8>.@43859 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to array<u8>.@43859
    if (!fzCur->fzF_6__U40__43859.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","array<u8>");
      exit(1);
    }
  }
}
// code for clazz#1271 i32.infix ..:
fzT_1i32__1infix_woo fzC_1i32__1infix_woo(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance may escape, so we need malloc here
  fzT_1i32__1infix_woo* fzCur;
  fzCur = malloc(sizeof(fzT_1i32__1infix_woo));

  start:
  {
    fzCur->fzF_1__U40__348886 = fzouter;
    fzCur->fzF_0_upper = arg0;
    return *fzCur;
  }
}
// code for clazz#794 array<u8>.indices:
fzT_1i32__1infix_woo fzC_2array_l_u8_g__indices(fzT_2array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_2array_l_u8_g__indices fzCur;

  start:
  {
    fzCur.fzF_1__U40__42988 = fzouter;
    //    0: Const
    //    1: Current
    //    2: Call to array<u8>.indices.@42988
    //    3: Call to array<u8>.length
    //    4: Const
    //    5: Call to i32.infix -
    fzP_1i32__1infix_wm(fzCur.fzF_1__U40__42988->fzF_0_length,1);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1infix_wm(fzCur.fzF_1__U40__42988->fzF_0_length,1);
    //    6: Call to i32.infix ..
    fzT_1i32__1infix_woo fzM_1;
    fzM_1 = fzC_1i32__1infix_woo(0,fzM_0);
    //    7: Current
    //    8: Assign to array<u8>.indices.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#809 array<u8>.@43139:
void fzC_2array_l_u8_g__1_U40__43139(fzT_2array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_2array_l_u8_g__1_U40__43139 fzCur;

  start:
  {
    fzCur.fzF_2__U40__43694 = fzouter;
    fzCur.fzF_0_x = arg0;
    //    0: Current
    //    1: Call to array<u8>.@43139.@43694
    //    2: Call to array<u8>.internal
    //    3: Current
    //    4: Call to array<u8>.@43139.x
    //    5: Current
    //    6: Call to array<u8>.@43139.@43694
    //    7: Call to array<u8>.init
    //    8: Current
    //    9: Call to array<u8>.@43139.x
    //   10: Call to ref Function<u8, i32>.call
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L621list_l_u8___594__1call((fzT__L593list_l_u8____U40__9594*)fzCur.fzF_2__U40__43694->fzF_1_init,fzCur.fzF_0_x);
    //   11: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //   12: Call to fuzion.sys.array<u8>.index [ ] =
    fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_2__U40__43694->fzF_4_internal,fzCur.fzF_0_x,fzM_0);
    fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_2__U40__43694->fzF_4_internal,fzCur.fzF_0_x,fzM_0);
    //   13: Pop
    //   14: Current
    //   15: Call to array<u8>.@43139.@43694
    //   16: Call to array<u8>.@43090
    //   17: Call to i32.infix ...ref asStream.hasNext
    fzT_bool fzM_1;
    fzM_1 = fzC__L12831i32__1inf____hasNext(fzCur.fzF_2__U40__43694->fzF_5__U40__43090);
    //   18: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to array<u8>.@43139.@43694
        //    2: Call to array<u8>.@43090
        //    3: Call to i32.infix ...ref asStream.next
        fzT_1i32 fzM_2;
        fzM_2 = fzC__L12871i32__1inf__eam__next(fzCur.fzF_2__U40__43694->fzF_5__U40__43090);
        //    4: Current
        //    5: Assign to array<u8>.@43139.x
        fzCur.fzF_3_x = fzM_2;
        //    6: Current
        //    7: Call to array<u8>.@43139.@43694
        //    8: Current
        //    9: Call to array<u8>.@43139.x
        //   10: Call to array<u8>.@43139
        // tail recursion on same target
        arg0 = fzCur.fzF_3_x;
        goto start;
        break;
      }
      case 0/* FALSE */:
      {
        break;
      }
    }
    //   21: Current
    //   22: Call to array<u8>.@43139.@43810
    // access to Call to array<u8>.@43139.@43810 eliminated
    //   23: Current
    //   24: Assign to array<u8>.@43139.@43645
    // access to Assign to array<u8>.@43139.@43645 eliminated
  }
}
// code for clazz#856 ref array<u8>.asList:
fzT_list_l_u8_g fzC__R4array_l_u8_g__asList(fzT__R4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__asList fzCur;

  start:
  {
    fzCur.fzF_1__U40__44583 = (fzT__R4array_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.asList.@44583
    //    2: Const
    //    3: Call to ref array<u8>.asList
    fzP__R4array_l_u8_g__1asList(fzCur.fzF_1__U40__44583,0);
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R4array_l_u8_g__1asList(fzCur.fzF_1__U40__44583,0);
    //    4: Current
    //    5: Assign to ref array<u8>.asList.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#857 ref conststring.asList:
fzT_list_l_u8_g fzC__R1conststring__asList(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__asList fzCur;

  start:
  {
    fzCur.fzF_1__U40__44583 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.asList.@44583
    //    2: Const
    //    3: Call to ref conststring.asList
    fzP__R1conststring__1asList(fzCur.fzF_1__U40__44583,0);
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R1conststring__1asList(fzCur.fzF_1__U40__44583,0);
    //    4: Current
    //    5: Assign to ref conststring.asList.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#862 ref array<u8>.asList:
fzT_list_l_u8_g fzC__R4array_l_u8_g__1asList(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__1asList fzCur;

  start:
  {
    fzCur.fzF_2__U40__45224 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref array<u8>.asList.@45224
    //    2: Call to ref array<u8>.length
    // Dynamic access of ref array<u8>.length
    fzT__R4array_l_u8_g* fzM_0 = (fzT__R4array_l_u8_g*)fzCur.fzF_2__U40__45224;
    fzT_1i32 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 830:
      {
        // Call calls ref array<u8>.length target: ref array<u8>:
        fzT_1i32 fzM_2;
        fzM_2 = fzC__R4array_l_u8_g__length(fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.length target: ref conststring:
        fzT_1i32 fzM_3;
        fzM_3 = fzC__R1conststring__length((fzT__R1conststring*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref array<u8>.length","ref array<u8>.asList");
        exit(1);
      }
    }
    //    3: Current
    //    4: Call to ref array<u8>.asList.i
    //    5: Call to i32.infix <=
    fzT_bool fzM_4;
    fzM_4 = fzC_1i32__1infix_wle(fzM_1,fzCur.fzF_0_i);
    //    6: Match
    switch (fzM_4.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Call to nil
        fzC_nil();
        //    1: Tag
        // Tag a value to be of choice type list<u8> static value type ref Object
        fzT_list_l_u8_g fzM_5;
        fzM_5.fzChoice.vref = (fzT__RObject*)0;
        //    2: Current
        //    3: Assign to ref array<u8>.asList.@45269
        fzCur.fzF_3__U40__45269 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to ref array<u8>.asList.@45224
        //    2: Current
        //    3: Call to ref array<u8>.asList.i
        //    4: Call to ref array<u8>.arrayCons
        fzP__R4array_l_u8_g__1arrayCons(fzCur.fzF_2__U40__45224,fzCur.fzF_0_i);
        // Dynamic access of ref array<u8>.arrayCons
        fzT__R4array_l_u8_g* fzM_6 = (fzT__R4array_l_u8_g*)fzCur.fzF_2__U40__45224;
        fzT__R4array_l_u8_g__1arrayCons fzM_7;
        switch (fzM_6->clazzId)
        {
          case 830:
          {
            // Call calls ref array<u8>.arrayCons target: ref array<u8>:
            fzT__R4array_l_u8_g__1arrayCons fzM_8;
            fzM_8 = fzC__R4array_l_u8_g__1arrayCons(fzM_6,fzCur.fzF_0_i);
            fzM_7 = fzM_8;
            break;
          }
          case 1018:
          {
            // Call calls ref array<u8>.arrayCons target: ref conststring:
            fzT__R4array_l_u8_g__1arrayCons fzM_9;
            fzM_9 = fzC__R4array_l_u8_g__1arrayCons(fzM_6,fzCur.fzF_0_i);
            fzM_7 = fzM_9;
            break;
          }
          default:
          {
            fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_6->clazzId,"ref array<u8>.arrayCons","ref array<u8>.asList");
            exit(1);
          }
        }
        //    5: Box ref array<u8>.arrayCons => ref array<u8>.ref arrayCons
        // Box ref array<u8>.arrayCons
        fzT__R4array_l_u8_g_R1arrayCons* fzM_10;
        fzM_10 = malloc(sizeof(fzT__R4array_l_u8_g_R1arrayCons));
        fzM_10->clazzId = 916;
        fzM_10->fields = fzM_7;
        //    6: Tag
        // Tag a value to be of choice type list<u8> static value type array<u8>.ref arrayCons
        fzT_list_l_u8_g fzM_11;
        fzM_11.fzChoice.vref = (fzT__RObject*)fzM_10;
        //    7: Current
        //    8: Assign to ref array<u8>.asList.@45269
        fzCur.fzF_3__U40__45269 = fzM_11;
        break;
      }
    }
    //    9: Current
    //   10: Call to ref array<u8>.asList.@45269
    //   11: Current
    //   12: Assign to ref array<u8>.asList.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__45269;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#862 precondition of ref array<u8>.asList:
void fzP__R4array_l_u8_g__1asList(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__R4array_l_u8_g__1asList fzCur;

  start:
  {
    fzCur.fzF_2__U40__45224 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__45224 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to ref array<u8>.asList.i
        //    2: Const
        //    3: Call to i32.infix >=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wge(fzCur.fzF_0_i,0);
        //    4: Current
        //    5: Assign to ref array<u8>.asList.@45318
        fzCur.fzF_4__U40__45318 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.asList.@45318
        // access to Assign to ref array<u8>.asList.@45318 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.asList.@45318
    if (!fzCur.fzF_4__U40__45318.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.asList");
      exit(1);
    }
  }
}
// code for clazz#863 ref conststring.asList:
fzT_list_l_u8_g fzC__R1conststring__1asList(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__1asList fzCur;

  start:
  {
    fzCur.fzF_2__U40__45224 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref conststring.asList.@45224
    //    2: Call to ref conststring.length
    fzT_1i32 fzM_0;
    fzM_0 = fzC__R1conststring__length(fzCur.fzF_2__U40__45224);
    //    3: Current
    //    4: Call to ref conststring.asList.i
    //    5: Call to i32.infix <=
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_wle(fzM_0,fzCur.fzF_0_i);
    //    6: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Call to nil
        fzC_nil();
        //    1: Tag
        // Tag a value to be of choice type list<u8> static value type ref Object
        fzT_list_l_u8_g fzM_2;
        fzM_2.fzChoice.vref = (fzT__RObject*)0;
        //    2: Current
        //    3: Assign to ref conststring.asList.@45269
        fzCur.fzF_3__U40__45269 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to ref conststring.asList.@45224
        //    2: Current
        //    3: Call to ref conststring.asList.i
        //    4: Call to ref array<u8>.arrayCons
        fzP__R4array_l_u8_g__1arrayCons((fzT__R4array_l_u8_g*)fzCur.fzF_2__U40__45224,fzCur.fzF_0_i);
        fzT__R4array_l_u8_g__1arrayCons fzM_3;
        fzM_3 = fzC__R4array_l_u8_g__1arrayCons((fzT__R4array_l_u8_g*)fzCur.fzF_2__U40__45224,fzCur.fzF_0_i);
        //    5: Box ref array<u8>.arrayCons => ref array<u8>.ref arrayCons
        // Box ref array<u8>.arrayCons
        fzT__R4array_l_u8_g_R1arrayCons* fzM_4;
        fzM_4 = malloc(sizeof(fzT__R4array_l_u8_g_R1arrayCons));
        fzM_4->clazzId = 916;
        fzM_4->fields = fzM_3;
        //    6: Tag
        // Tag a value to be of choice type list<u8> static value type array<u8>.ref arrayCons
        fzT_list_l_u8_g fzM_5;
        fzM_5.fzChoice.vref = (fzT__RObject*)fzM_4;
        //    7: Current
        //    8: Assign to ref conststring.asList.@45269
        fzCur.fzF_3__U40__45269 = fzM_5;
        break;
      }
    }
    //    9: Current
    //   10: Call to ref conststring.asList.@45269
    //   11: Current
    //   12: Assign to ref conststring.asList.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__45269;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#863 precondition of ref conststring.asList:
void fzP__R1conststring__1asList(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__R1conststring__1asList fzCur;

  start:
  {
    fzCur.fzF_2__U40__45224 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__45224 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to ref conststring.asList.i
        //    2: Const
        //    3: Call to i32.infix >=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wge(fzCur.fzF_0_i,0);
        //    4: Current
        //    5: Assign to ref conststring.asList.@45318
        fzCur.fzF_4__U40__45318 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref conststring.asList.@45318
        // access to Assign to ref conststring.asList.@45318 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref conststring.asList.@45318
    if (!fzCur.fzF_4__U40__45318.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref conststring.asList");
      exit(1);
    }
  }
}
// code for clazz#888 ref array<u8>.asArray:
fzT_4array_l_u8_g fzC__R4array_l_u8_g__asArray(fzT__R4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__asArray fzCur;

  start:
  {
    fzCur.fzF_1__U40__46660 = (fzT__R4array_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.asArray.@46660
    //    2: Call to ref array<u8>.internalArray
    //    3: Call to unit
    fzC_unit();
    //    4: Call to unit
    fzC_unit();
    //    5: Call to unit
    fzC_unit();
    //    6: Call to array<u8>
    fzT_4array_l_u8_g fzM_0;
    fzM_0 = fzC_4array_l_u8_g(fzCur.fzF_1__U40__46660->fields.fzF_0_internalArray);
    //    7: Current
    //    8: Assign to ref array<u8>.asArray.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#889 ref conststring.asArray:
fzT_4array_l_u8_g fzC__R1conststring__asArray(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__asArray fzCur;

  start:
  {
    fzCur.fzF_1__U40__46660 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.asArray.@46660
    //    2: Call to ref conststring.internalArray
    //    3: Call to unit
    fzC_unit();
    //    4: Call to unit
    fzC_unit();
    //    5: Call to unit
    fzC_unit();
    //    6: Call to array<u8>
    fzT_4array_l_u8_g fzM_0;
    fzM_0 = fzC_4array_l_u8_g(fzCur.fzF_1__U40__46660->fields.fzF_0_internalArray);
    //    7: Current
    //    8: Assign to ref conststring.asArray.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#894 ref array<u8>.index [ ]:
fzT_1u8 fzC__L894_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L894_R4array_l__wU5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__51028 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref array<u8>.index [ ].@51028
    //    2: Call to ref array<u8>.internalArray
    // Dynamic access of ref array<u8>.internalArray
    fzT__R4array_l_u8_g* fzM_0 = (fzT__R4array_l_u8_g*)fzCur.fzF_2__U40__51028;
    fzT_fuzion__sys__1array_l_u8_g fzM_1;
    switch (fzM_0->clazzId)
    {
      case 830:
      {
        // Call calls ref array<u8>.internalArray target: ref array<u8>:
        fzM_1 = fzM_0->fields.fzF_0_internalArray;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.internalArray target: ref conststring:
        fzM_1 = ((fzT__R1conststring*)fzM_0)->fields.fzF_0_internalArray;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref array<u8>.internalArray","ref array<u8>.index [ ]");
        exit(1);
      }
    }
    //    3: Current
    //    4: Call to ref array<u8>.index [ ].i
    //    5: Call to fuzion.sys.array<u8>.index [ ]
    fzP__L1171fuzion__sy__U5b_wU5d_((fzT_fuzion__sys__1array_l_u8_g*)fzH_heapClone(&fzM_1,sizeof fzM_1),fzCur.fzF_0_i);
    fzT_1u8 fzM_2;
    fzM_2 = fzC__L1171fuzion__sy__U5b_wU5d_((fzT_fuzion__sys__1array_l_u8_g*)fzH_heapClone(&fzM_1,sizeof fzM_1),fzCur.fzF_0_i);
    //    6: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    7: Current
    //    8: Assign to ref array<u8>.index [ ].result
    fzCur.fzF_1_result = fzM_2;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#894 precondition of ref array<u8>.index [ ]:
void fzP__L894_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__L894_R4array_l__wU5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__51028 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__51028 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Call to safety
    fzT_bool fzM_0;
    fzM_0 = fzC_safety();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Call to ref array<u8>.index [ ].i
        //    3: Current
        //    4: Assign to ref array<u8>.index [ ].@51073
        fzCur.fzF_3__U40__51073 = fzCur.fzF_0_i;
        //    5: Current
        //    6: Call to ref array<u8>.index [ ].@51073
        //    7: Call to i32.infix <=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wle(0,fzCur.fzF_3__U40__51073);
        //    8: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Current
            //    1: Call to ref array<u8>.index [ ].@51073
            //    2: Current
            //    3: Call to ref array<u8>.index [ ].@51028
            //    4: Call to ref array<u8>.length
            // Dynamic access of ref array<u8>.length
            fzT__R4array_l_u8_g* fzM_2 = (fzT__R4array_l_u8_g*)fzCur.fzF_2__U40__51028;
            fzT_1i32 fzM_3;
            switch (fzM_2->clazzId)
            {
              case 830:
              {
                // Call calls ref array<u8>.length target: ref array<u8>:
                fzT_1i32 fzM_4;
                fzM_4 = fzC__R4array_l_u8_g__length(fzM_2);
                fzM_3 = fzM_4;
                break;
              }
              case 1018:
              {
                // Call calls ref conststring.length target: ref conststring:
                fzT_1i32 fzM_5;
                fzM_5 = fzC__R1conststring__length((fzT__R1conststring*)fzM_2);
                fzM_3 = fzM_5;
                break;
              }
              default:
              {
                fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_2->clazzId,"ref array<u8>.length","ref array<u8>.index [ ]");
                exit(1);
              }
            }
            //    5: Call to i32.infix <
            fzT_bool fzM_6;
            fzM_6 = fzC_1i32__1infix_wl(fzCur.fzF_3__U40__51073,fzM_3);
            //    6: Current
            //    7: Assign to ref array<u8>.index [ ].@51122
            fzCur.fzF_4__U40__51122 = fzM_6;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to ref array<u8>.index [ ].@51122
            fzCur.fzF_4__U40__51122 = (fzT_bool){0};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.index [ ].@51122
        // access to Assign to ref array<u8>.index [ ].@51122 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.index [ ].@51122
    if (!fzCur.fzF_4__U40__51122.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.index [ ]");
      exit(1);
    }
  }
}
// code for clazz#895 ref conststring.index [ ]:
fzT_1u8 fzC__L895_R1constst__wU5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L895_R1constst__wU5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__51028 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref conststring.index [ ].@51028
    //    2: Call to ref conststring.internalArray
    //    3: Current
    //    4: Call to ref conststring.index [ ].i
    //    5: Call to fuzion.sys.array<u8>.index [ ]
    fzP__L1171fuzion__sy__U5b_wU5d_((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_2__U40__51028->fields.fzF_0_internalArray,fzCur.fzF_0_i);
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L1171fuzion__sy__U5b_wU5d_((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_2__U40__51028->fields.fzF_0_internalArray,fzCur.fzF_0_i);
    //    6: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    7: Current
    //    8: Assign to ref conststring.index [ ].result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#895 precondition of ref conststring.index [ ]:
void fzP__L895_R1constst__wU5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__L895_R1constst__wU5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__51028 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__51028 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Call to safety
    fprintf(stderr,"*** %s:%d: no targets for access of %s within %s\012",__FILE__,__LINE__,"safety","ref conststring.index [ ]");
    exit(1);
  }
}
// code for clazz#906 array<u8>.length:
fzT_1i32 fzC_4array_l_u8_g__length(fzT_4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_4array_l_u8_g__length fzCur;

  start:
  {
    fzCur.fzF_1__U40__51366 = fzouter;
    //    0: Current
    //    1: Call to array<u8>.length.@51366
    //    2: Call to array<u8>.internalArray
    //    3: Call to fuzion.sys.array<u8>.length
    //    4: Current
    //    5: Assign to array<u8>.length.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__51366->fzF_0_internalArray.fzF_0_length;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#907 ref array<u8>.length:
fzT_1i32 fzC__R4array_l_u8_g__length(fzT__R4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__length fzCur;

  start:
  {
    fzCur.fzF_1__U40__51366 = (fzT__R4array_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.length.@51366
    //    2: Call to ref array<u8>.internalArray
    //    3: Call to fuzion.sys.array<u8>.length
    //    4: Current
    //    5: Assign to ref array<u8>.length.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__51366->fields.fzF_0_internalArray.fzF_0_length;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#908 ref conststring.length:
fzT_1i32 fzC__R1conststring__length(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__length fzCur;

  start:
  {
    fzCur.fzF_1__U40__51366 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.length.@51366
    //    2: Call to ref conststring.internalArray
    //    3: Call to fuzion.sys.array<u8>.length
    //    4: Current
    //    5: Assign to ref conststring.length.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__51366->fields.fzF_0_internalArray.fzF_0_length;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#918 ref array<u8>.arrayCons:
fzT__R4array_l_u8_g__1arrayCons fzC__R4array_l_u8_g__1arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance may escape, so we need malloc here
  fzT__R4array_l_u8_g__1arrayCons* fzCur;
  fzCur = malloc(sizeof(fzT__R4array_l_u8_g__1arrayCons));

  start:
  {
    fzCur->fzF_1__U40__55447 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur->fzF_0_i = arg0;
    return *fzCur;
  }
}
// code for clazz#918 precondition of ref array<u8>.arrayCons:
void fzP__R4array_l_u8_g__1arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__R4array_l_u8_g__1arrayCons* fzCur;
  fzCur = malloc(sizeof(fzT__R4array_l_u8_g__1arrayCons));

  start:
  {
    fzCur->fzF_1__U40__55447 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur->fzF_0_i = arg0;
    fzCur->fzF_1__U40__55447 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur->fzF_0_i = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Call to ref array<u8>.arrayCons.i
        //    3: Current
        //    4: Assign to ref array<u8>.arrayCons.@56101
        fzCur->fzF_2__U40__56101 = fzCur->fzF_0_i;
        //    5: Current
        //    6: Call to ref array<u8>.arrayCons.@56101
        //    7: Call to i32.infix <=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wle(0,fzCur->fzF_2__U40__56101);
        //    8: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Current
            //    1: Call to ref array<u8>.arrayCons.@56101
            //    2: Current
            //    3: Call to ref array<u8>.arrayCons.@55447
            //    4: Call to ref array<u8>.length
            // Dynamic access of ref array<u8>.length
            fzT__R4array_l_u8_g* fzM_2 = (fzT__R4array_l_u8_g*)fzCur->fzF_1__U40__55447;
            fzT_1i32 fzM_3;
            switch (fzM_2->clazzId)
            {
              case 830:
              {
                // Call calls ref array<u8>.length target: ref array<u8>:
                fzT_1i32 fzM_4;
                fzM_4 = fzC__R4array_l_u8_g__length(fzM_2);
                fzM_3 = fzM_4;
                break;
              }
              case 1018:
              {
                // Call calls ref conststring.length target: ref conststring:
                fzT_1i32 fzM_5;
                fzM_5 = fzC__R1conststring__length((fzT__R1conststring*)fzM_2);
                fzM_3 = fzM_5;
                break;
              }
              default:
              {
                fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_2->clazzId,"ref array<u8>.length","ref array<u8>.arrayCons");
                exit(1);
              }
            }
            //    5: Call to i32.infix <
            fzT_bool fzM_6;
            fzM_6 = fzC_1i32__1infix_wl(fzCur->fzF_2__U40__56101,fzM_3);
            //    6: Current
            //    7: Assign to ref array<u8>.arrayCons.@56150
            fzCur->fzF_3__U40__56150 = fzM_6;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to ref array<u8>.arrayCons.@56150
            fzCur->fzF_3__U40__56150 = (fzT_bool){0};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.arrayCons.@56150
        // access to Assign to ref array<u8>.arrayCons.@56150 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.arrayCons.@56150
    if (!fzCur->fzF_3__U40__56150.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.arrayCons");
      exit(1);
    }
  }
}
// code for clazz#927 ref array<u8>.ref arrayCons.head:
fzT_1u8 fzC__L927_R4array_l__Cons__head(fzT__R4array_l_u8_g_R1arrayCons* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L927_R4array_l__Cons__head fzCur;

  start:
  {
    fzCur.fzF_1__U40__55733 = (fzT__R4array_l_u8_g_R1arrayCons*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.ref arrayCons.head.@55733
    //    2: Call to ref array<u8>.ref arrayCons.@55447
    //    3: Current
    //    4: Call to ref array<u8>.ref arrayCons.head.@55733
    //    5: Call to ref array<u8>.ref arrayCons.i
    //    6: Call to ref array<u8>.index [ ]
    fzP__L894_R4array_l__wU5b_wU5d_(fzCur.fzF_1__U40__55733->fields.fzF_1__U40__55447,fzCur.fzF_1__U40__55733->fields.fzF_0_i);
    // Dynamic access of ref array<u8>.index [ ]
    fzT__R4array_l_u8_g* fzM_0 = (fzT__R4array_l_u8_g*)fzCur.fzF_1__U40__55733->fields.fzF_1__U40__55447;
    fzT_1u8 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 830:
      {
        // Call calls ref array<u8>.index [ ] target: ref array<u8>:
        fzT_1u8 fzM_2;
        fzM_2 = fzC__L894_R4array_l__wU5b_wU5d_(fzM_0,fzCur.fzF_1__U40__55733->fields.fzF_0_i);
        fzM_1 = fzM_2;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.index [ ] target: ref conststring:
        fzT_1u8 fzM_3;
        fzM_3 = fzC__L895_R1constst__wU5b_wU5d_((fzT__R1conststring*)fzM_0,fzCur.fzF_1__U40__55733->fields.fzF_0_i);
        fzM_1 = fzM_3;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref array<u8>.index [ ]","ref array<u8>.ref arrayCons.head");
        exit(1);
      }
    }
    //    7: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    8: Current
    //    9: Assign to ref array<u8>.ref arrayCons.head.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#930 ref array<u8>.ref arrayCons.tail:
fzT_list_l_u8_g fzC__L930_R4array_l__Cons__tail(fzT__R4array_l_u8_g_R1arrayCons* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L930_R4array_l__Cons__tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__56056 = (fzT__R4array_l_u8_g_R1arrayCons*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.ref arrayCons.tail.@56056
    //    2: Call to ref array<u8>.ref arrayCons.@55447
    //    3: Current
    //    4: Call to ref array<u8>.ref arrayCons.tail.@56056
    //    5: Call to ref array<u8>.ref arrayCons.i
    //    6: Const
    //    7: Call to i32.infix +
    fzP_1i32__1infix_wp(fzCur.fzF_1__U40__56056->fields.fzF_0_i,1);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1infix_wp(fzCur.fzF_1__U40__56056->fields.fzF_0_i,1);
    //    8: Call to ref array<u8>.asList
    fzP__R4array_l_u8_g__1asList(fzCur.fzF_1__U40__56056->fields.fzF_1__U40__55447,fzM_0);
    // Dynamic access of ref array<u8>.asList
    fzT__R4array_l_u8_g* fzM_1 = (fzT__R4array_l_u8_g*)fzCur.fzF_1__U40__56056->fields.fzF_1__U40__55447;
    fzT_list_l_u8_g fzM_2;
    switch (fzM_1->clazzId)
    {
      case 830:
      {
        // Call calls ref array<u8>.asList target: ref array<u8>:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R4array_l_u8_g__1asList(fzM_1,fzM_0);
        fzM_2 = fzM_3;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.asList target: ref conststring:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__R1conststring__1asList((fzT__R1conststring*)fzM_1,fzM_0);
        fzM_2 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_1->clazzId,"ref array<u8>.asList","ref array<u8>.ref arrayCons.tail");
        exit(1);
      }
    }
    //    9: Current
    //   10: Assign to ref array<u8>.ref arrayCons.tail.result
    fzCur.fzF_0_result = fzM_2;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#945 false:
fzT_bool fzC_false()
{
  // instance does not escape, put it on stack
  fzT_false fzCur;

  start:
  {
    //    0: Call to FALSE
    fzC_FALSE();
    //    1: Tag
    // Tag a value to be of choice type bool static value type FALSE
    fzT_bool fzM_0;
    fzM_0.fzTag = 0;
    // unit type assignment to fzM_0.fzChoice.v0
    //    2: Current
    //    3: Assign to false.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#947 true:
fzT_bool fzC_true()
{
  // instance does not escape, put it on stack
  fzT_true fzCur;

  start:
  {
    //    0: Call to TRUE
    fzC_TRUE();
    //    1: Tag
    // Tag a value to be of choice type bool static value type TRUE
    fzT_bool fzM_0;
    fzM_0.fzTag = 1;
    // unit type assignment to fzM_0.fzChoice.v1
    //    2: Current
    //    3: Assign to true.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#950 fuzion.std.err.ascii:
void fzC_fuzion__std__err__ascii()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__std__err__ascii* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__std__err__ascii));

  start:
  {
  }
}
// code for clazz#953 fuzion.std.err.ascii.lf:
fzT_1u8 fzC_fuzion__std__err__ascii__lf()
{
  // instance does not escape, put it on stack
  fzT_fuzion__std__err__ascii__lf fzCur;

  start:
  {
    //    0: Const
    //    1: Call to u8
    fzT_1u8 fzM_0;
    fzM_0 = fzC_1u8(((uint8_t)10U));
    //    2: Current
    //    3: Assign to fuzion.std.err.ascii.lf.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1107 effectMode.default:
void fzC_effectMode__default()
{
  // instance may escape, so we need malloc here
  fzT_effectMode__default* fzCur;
  fzCur = malloc(sizeof(fzT_effectMode__default));

  start:
  {
  }
}
// code for clazz#4286 u32:
fzT_1u32 fzC_1u32(fzT_1u32 arg0)
{
  // instance may escape, so we need malloc here
  fzT_1u32* fzCur;
  fzCur = malloc(sizeof(fzT_1u32));

  start:
  {
    *fzCur = arg0;
    return *fzCur;
  }
}
// code for clazz#982 codepoint:
fzT_1codepoint fzC_1codepoint(fzT_1u32 arg0)
{
  // instance may escape, so we need malloc here
  fzT_1codepoint* fzCur;
  fzCur = malloc(sizeof(fzT_1codepoint));

  start:
  {
    fzCur->fzF_0_val = arg0;
    return *fzCur;
  }
}
// code for clazz#982 precondition of codepoint:
void fzP_1codepoint(fzT_1u32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT_1codepoint* fzCur;
  fzCur = malloc(sizeof(fzT_1codepoint));

  start:
  {
    fzCur->fzF_0_val = arg0;
    fzCur->fzF_0_val = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to codepoint.range
        fzT_1u32__1infix_woo fzM_1;
        fzM_1 = fzC_1codepoint__range();
        //    2: Current
        //    3: Call to codepoint.val
        //    4: Call to u32.infix ...contains
        fzT_bool fzM_2;
        fzM_2 = fzC_1u32__1infix_woo__1contains((fzT_1u32__1infix_woo*)fzH_heapClone(&fzM_1,sizeof fzM_1),fzCur->fzF_0_val);
        //    5: Current
        //    6: Assign to codepoint.@143199
        fzCur->fzF_1__U40__143199 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to codepoint.@143199
        // access to Assign to codepoint.@143199 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to codepoint.@143199
    if (!fzCur->fzF_1__U40__143199.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","codepoint");
      exit(1);
    }
    //    0: Call to debug
    fzT_bool fzM_3;
    fzM_3 = fzC_debug();
    //    1: Match
    switch (fzM_3.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to codepoint.utf16Surrogate
        fzT_1u32__1infix_woo fzM_4;
        fzM_4 = fzC_1codepoint__utf16Surrogate();
        //    2: Current
        //    3: Call to codepoint.val
        //    4: Call to u32.infix ...contains
        fzT_bool fzM_5;
        fzM_5 = fzC_1u32__1infix_woo__1contains((fzT_1u32__1infix_woo*)fzH_heapClone(&fzM_4,sizeof fzM_4),fzCur->fzF_0_val);
        //    5: Match
        switch (fzM_5.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to codepoint.@143248
            fzCur->fzF_2__U40__143248 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to codepoint.@143248
            fzCur->fzF_2__U40__143248 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to codepoint.@143248
        // access to Assign to codepoint.@143248 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to codepoint.@143248
    if (!fzCur->fzF_2__U40__143248.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","codepoint");
      exit(1);
    }
  }
}
// code for clazz#985 ref codepoint.utf8:
fzT__RSequence_l_u8_g* fzC__R1codepoint__utf8(fzT__R1codepoint* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1codepoint__utf8 fzCur;

  start:
  {
    fzCur.fzF_1__U40__142631 = (fzT__R1codepoint*)fzouter;
    //    0: Current
    //    1: Call to ref codepoint.utf8.@142631
    //    2: Call to ref codepoint.utf8EncodedInOneByte
    fzT_1u32__1infix_woo fzM_0;
    fzM_0 = fzC__L1005_R1codepoi__InOneByte(fzCur.fzF_1__U40__142631);
    //    3: Current
    //    4: Call to ref codepoint.utf8.@142631
    //    5: Call to ref codepoint.val
    //    6: Call to u32.infix ...contains
    fzT_bool fzM_1;
    fzM_1 = fzC_1u32__1infix_woo__1contains((fzT_1u32__1infix_woo*)fzH_heapClone(&fzM_0,sizeof fzM_0),fzCur.fzF_1__U40__142631->fields.fzF_0_val);
    //    7: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Call to fuzion
        fzC_fuzion();
        //    1: Call to fuzion.sys
        fzC_fuzion__sys();
        //    2: Const
        //    3: Call to fuzion.sys.array<u8>
        fzT_fuzion__sys__1array_l_u8_g fzM_2;
        fzM_2 = fzC_fuzion__sys__1array_l_u8_g(1);
        //    4: Current
        //    5: Assign to ref codepoint.utf8.@142725
        fzCur.fzF_3__U40__142725 = fzM_2;
        //    6: Current
        //    7: Call to ref codepoint.utf8.@142725
        //    8: Const
        //    9: Current
        //   10: Call to ref codepoint.utf8.@142631
        //   11: Call to ref codepoint.val
        //   12: Call to u32.low8bits
        fzT_1u8 fzM_3;
        fzM_3 = fzC_1u32__low8bits(fzCur.fzF_1__U40__142631->fields.fzF_0_val);
        //   13: Call to fuzion.sys.array<u8>.index [ ] =
        fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_3__U40__142725,0,fzM_3);
        fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_3__U40__142725,0,fzM_3);
        //   14: Pop
        //   15: Current
        //   16: Call to ref codepoint.utf8.@142725
        //   17: Call to unit
        fzC_unit();
        //   18: Call to unit
        fzC_unit();
        //   19: Call to unit
        fzC_unit();
        //   20: Call to array<u8>
        fzT_4array_l_u8_g fzM_4;
        fzM_4 = fzC_4array_l_u8_g(fzCur.fzF_3__U40__142725);
        //   21: Box array<u8> => ref array<u8>
        // Box array<u8>
        fzT__R4array_l_u8_g* fzM_5;
        fzM_5 = malloc(sizeof(fzT__R4array_l_u8_g));
        fzM_5->clazzId = 830;
        fzM_5->fields = fzM_4;
        //   22: Current
        //   23: Assign to ref codepoint.utf8.@142676
        fzCur.fzF_2__U40__142676 = (fzT__RSequence_l_u8_g*)fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to ref codepoint.utf8.@142631
        //    2: Call to ref codepoint.utf8EncodedInTwoBytes
        fzT_1u32__1infix_woo fzM_6;
        fzM_6 = fzC__L1008_R1codepoi__nTwoBytes();
        //    3: Current
        //    4: Call to ref codepoint.utf8.@142631
        //    5: Call to ref codepoint.val
        //    6: Call to u32.infix ...contains
        fzT_bool fzM_7;
        fzM_7 = fzC_1u32__1infix_woo__1contains((fzT_1u32__1infix_woo*)fzH_heapClone(&fzM_6,sizeof fzM_6),fzCur.fzF_1__U40__142631->fields.fzF_0_val);
        //    7: Match
        switch (fzM_7.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Call to fuzion
            fzC_fuzion();
            //    1: Call to fuzion.sys
            fzC_fuzion__sys();
            //    2: Const
            //    3: Call to fuzion.sys.array<u8>
            fzT_fuzion__sys__1array_l_u8_g fzM_8;
            fzM_8 = fzC_fuzion__sys__1array_l_u8_g(2);
            //    4: Current
            //    5: Assign to ref codepoint.utf8.@142774
            fzCur.fzF_4__U40__142774 = fzM_8;
            //    6: Current
            //    7: Call to ref codepoint.utf8.@142774
            //    8: Const
            //    9: Const
            //   10: Call to u32
            fzT_1u32 fzM_9;
            fzM_9 = fzC_1u32(192U);
            //   11: Current
            //   12: Call to ref codepoint.utf8.@142631
            //   13: Call to ref codepoint.val
            //   14: Const
            //   15: Call to u32.infix >>
            fzT_1u32 fzM_10;
            fzM_10 = fzC_1u32__1infix_wgg(fzCur.fzF_1__U40__142631->fields.fzF_0_val,6U);
            //   16: Const
            //   17: Call to u32.infix &
            fzT_1u32 fzM_11;
            fzM_11 = fzC_1u32__1infix_wU26_(fzM_10,31U);
            //   18: Call to u32.infix |
            fzT_1u32 fzM_12;
            fzM_12 = fzC_1u32__1infix_wU7c_(fzM_9,fzM_11);
            //   19: Call to u32.low8bits
            fzT_1u8 fzM_13;
            fzM_13 = fzC_1u32__low8bits(fzM_12);
            //   20: Call to fuzion.sys.array<u8>.index [ ] =
            fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_4__U40__142774,0,fzM_13);
            fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_4__U40__142774,0,fzM_13);
            //   21: Pop
            //   22: Current
            //   23: Call to ref codepoint.utf8.@142774
            //   24: Const
            //   25: Const
            //   26: Call to u32
            fzT_1u32 fzM_14;
            fzM_14 = fzC_1u32(128U);
            //   27: Current
            //   28: Call to ref codepoint.utf8.@142631
            //   29: Call to ref codepoint.val
            //   30: Const
            //   31: Call to u32.infix &
            fzT_1u32 fzM_15;
            fzM_15 = fzC_1u32__1infix_wU26_(fzCur.fzF_1__U40__142631->fields.fzF_0_val,63U);
            //   32: Call to u32.infix |
            fzT_1u32 fzM_16;
            fzM_16 = fzC_1u32__1infix_wU7c_(fzM_14,fzM_15);
            //   33: Call to u32.low8bits
            fzT_1u8 fzM_17;
            fzM_17 = fzC_1u32__low8bits(fzM_16);
            //   34: Call to fuzion.sys.array<u8>.index [ ] =
            fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_4__U40__142774,1,fzM_17);
            fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_4__U40__142774,1,fzM_17);
            //   35: Pop
            //   36: Current
            //   37: Call to ref codepoint.utf8.@142774
            //   38: Call to unit
            fzC_unit();
            //   39: Call to unit
            fzC_unit();
            //   40: Call to unit
            fzC_unit();
            //   41: Call to array<u8>
            fzT_4array_l_u8_g fzM_18;
            fzM_18 = fzC_4array_l_u8_g(fzCur.fzF_4__U40__142774);
            //   42: Box array<u8> => ref array<u8>
            // Box array<u8>
            fzT__R4array_l_u8_g* fzM_19;
            fzM_19 = malloc(sizeof(fzT__R4array_l_u8_g));
            fzM_19->clazzId = 830;
            fzM_19->fields = fzM_18;
            //   43: Current
            //   44: Assign to ref codepoint.utf8.@142676
            fzCur.fzF_2__U40__142676 = (fzT__RSequence_l_u8_g*)fzM_19;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Current
            //    1: Call to ref codepoint.utf8.@142631
            //    2: Call to ref codepoint.utf8EncodedInThreeBytes
            fzT_1u32__1infix_woo fzM_20;
            fzM_20 = fzC__L1010_R1codepoi__hreeBytes();
            //    3: Current
            //    4: Call to ref codepoint.utf8.@142631
            //    5: Call to ref codepoint.val
            //    6: Call to u32.infix ...contains
            fzT_bool fzM_21;
            fzM_21 = fzC_1u32__1infix_woo__1contains((fzT_1u32__1infix_woo*)fzH_heapClone(&fzM_20,sizeof fzM_20),fzCur.fzF_1__U40__142631->fields.fzF_0_val);
            //    7: Match
            switch (fzM_21.fzTag)
            {
              case 1/* TRUE */:
              {
                //    0: Call to fuzion
                fzC_fuzion();
                //    1: Call to fuzion.sys
                fzC_fuzion__sys();
                //    2: Const
                //    3: Call to fuzion.sys.array<u8>
                fzT_fuzion__sys__1array_l_u8_g fzM_22;
                fzM_22 = fzC_fuzion__sys__1array_l_u8_g(3);
                //    4: Current
                //    5: Assign to ref codepoint.utf8.@142823
                fzCur.fzF_5__U40__142823 = fzM_22;
                //    6: Current
                //    7: Call to ref codepoint.utf8.@142823
                //    8: Const
                //    9: Const
                //   10: Call to u32
                fzT_1u32 fzM_23;
                fzM_23 = fzC_1u32(224U);
                //   11: Current
                //   12: Call to ref codepoint.utf8.@142631
                //   13: Call to ref codepoint.val
                //   14: Const
                //   15: Call to u32.infix >>
                fzT_1u32 fzM_24;
                fzM_24 = fzC_1u32__1infix_wgg(fzCur.fzF_1__U40__142631->fields.fzF_0_val,12U);
                //   16: Const
                //   17: Call to u32.infix &
                fzT_1u32 fzM_25;
                fzM_25 = fzC_1u32__1infix_wU26_(fzM_24,31U);
                //   18: Call to u32.infix |
                fzT_1u32 fzM_26;
                fzM_26 = fzC_1u32__1infix_wU7c_(fzM_23,fzM_25);
                //   19: Call to u32.low8bits
                fzT_1u8 fzM_27;
                fzM_27 = fzC_1u32__low8bits(fzM_26);
                //   20: Call to fuzion.sys.array<u8>.index [ ] =
                fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_5__U40__142823,0,fzM_27);
                fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_5__U40__142823,0,fzM_27);
                //   21: Pop
                //   22: Current
                //   23: Call to ref codepoint.utf8.@142823
                //   24: Const
                //   25: Const
                //   26: Call to u32
                fzT_1u32 fzM_28;
                fzM_28 = fzC_1u32(128U);
                //   27: Current
                //   28: Call to ref codepoint.utf8.@142631
                //   29: Call to ref codepoint.val
                //   30: Const
                //   31: Call to u32.infix >>
                fzT_1u32 fzM_29;
                fzM_29 = fzC_1u32__1infix_wgg(fzCur.fzF_1__U40__142631->fields.fzF_0_val,6U);
                //   32: Const
                //   33: Call to u32.infix &
                fzT_1u32 fzM_30;
                fzM_30 = fzC_1u32__1infix_wU26_(fzM_29,63U);
                //   34: Call to u32.infix |
                fzT_1u32 fzM_31;
                fzM_31 = fzC_1u32__1infix_wU7c_(fzM_28,fzM_30);
                //   35: Call to u32.low8bits
                fzT_1u8 fzM_32;
                fzM_32 = fzC_1u32__low8bits(fzM_31);
                //   36: Call to fuzion.sys.array<u8>.index [ ] =
                fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_5__U40__142823,1,fzM_32);
                fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_5__U40__142823,1,fzM_32);
                //   37: Pop
                //   38: Current
                //   39: Call to ref codepoint.utf8.@142823
                //   40: Const
                //   41: Const
                //   42: Call to u32
                fzT_1u32 fzM_33;
                fzM_33 = fzC_1u32(128U);
                //   43: Current
                //   44: Call to ref codepoint.utf8.@142631
                //   45: Call to ref codepoint.val
                //   46: Const
                //   47: Call to u32.infix &
                fzT_1u32 fzM_34;
                fzM_34 = fzC_1u32__1infix_wU26_(fzCur.fzF_1__U40__142631->fields.fzF_0_val,63U);
                //   48: Call to u32.infix |
                fzT_1u32 fzM_35;
                fzM_35 = fzC_1u32__1infix_wU7c_(fzM_33,fzM_34);
                //   49: Call to u32.low8bits
                fzT_1u8 fzM_36;
                fzM_36 = fzC_1u32__low8bits(fzM_35);
                //   50: Call to fuzion.sys.array<u8>.index [ ] =
                fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_5__U40__142823,2,fzM_36);
                fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_5__U40__142823,2,fzM_36);
                //   51: Pop
                //   52: Current
                //   53: Call to ref codepoint.utf8.@142823
                //   54: Call to unit
                fzC_unit();
                //   55: Call to unit
                fzC_unit();
                //   56: Call to unit
                fzC_unit();
                //   57: Call to array<u8>
                fzT_4array_l_u8_g fzM_37;
                fzM_37 = fzC_4array_l_u8_g(fzCur.fzF_5__U40__142823);
                //   58: Box array<u8> => ref array<u8>
                // Box array<u8>
                fzT__R4array_l_u8_g* fzM_38;
                fzM_38 = malloc(sizeof(fzT__R4array_l_u8_g));
                fzM_38->clazzId = 830;
                fzM_38->fields = fzM_37;
                //   59: Current
                //   60: Assign to ref codepoint.utf8.@142676
                fzCur.fzF_2__U40__142676 = (fzT__RSequence_l_u8_g*)fzM_38;
                break;
              }
              case 0/* FALSE */:
              {
                //    0: Current
                //    1: Call to ref codepoint.utf8.@142631
                //    2: Call to ref codepoint.utf8EncodedInFourBytes
                fzT_1u32__1infix_woo fzM_39;
                fzM_39 = fzC__L1012_R1codepoi__FourBytes();
                //    3: Current
                //    4: Call to ref codepoint.utf8.@142631
                //    5: Call to ref codepoint.val
                //    6: Call to u32.infix ...contains
                fzT_bool fzM_40;
                fzM_40 = fzC_1u32__1infix_woo__1contains((fzT_1u32__1infix_woo*)fzH_heapClone(&fzM_39,sizeof fzM_39),fzCur.fzF_1__U40__142631->fields.fzF_0_val);
                //    7: Match
                switch (fzM_40.fzTag)
                {
                  case 1/* TRUE */:
                  {
                    //    0: Call to fuzion
                    fzC_fuzion();
                    //    1: Call to fuzion.sys
                    fzC_fuzion__sys();
                    //    2: Const
                    //    3: Call to fuzion.sys.array<u8>
                    fzT_fuzion__sys__1array_l_u8_g fzM_41;
                    fzM_41 = fzC_fuzion__sys__1array_l_u8_g(4);
                    //    4: Current
                    //    5: Assign to ref codepoint.utf8.@142872
                    fzCur.fzF_6__U40__142872 = fzM_41;
                    //    6: Current
                    //    7: Call to ref codepoint.utf8.@142872
                    //    8: Const
                    //    9: Const
                    //   10: Call to u32
                    fzT_1u32 fzM_42;
                    fzM_42 = fzC_1u32(240U);
                    //   11: Current
                    //   12: Call to ref codepoint.utf8.@142631
                    //   13: Call to ref codepoint.val
                    //   14: Const
                    //   15: Call to u32.infix >>
                    fzT_1u32 fzM_43;
                    fzM_43 = fzC_1u32__1infix_wgg(fzCur.fzF_1__U40__142631->fields.fzF_0_val,18U);
                    //   16: Const
                    //   17: Call to u32.infix &
                    fzT_1u32 fzM_44;
                    fzM_44 = fzC_1u32__1infix_wU26_(fzM_43,7U);
                    //   18: Call to u32.infix |
                    fzT_1u32 fzM_45;
                    fzM_45 = fzC_1u32__1infix_wU7c_(fzM_42,fzM_44);
                    //   19: Call to u32.low8bits
                    fzT_1u8 fzM_46;
                    fzM_46 = fzC_1u32__low8bits(fzM_45);
                    //   20: Call to fuzion.sys.array<u8>.index [ ] =
                    fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,0,fzM_46);
                    fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,0,fzM_46);
                    //   21: Pop
                    //   22: Current
                    //   23: Call to ref codepoint.utf8.@142872
                    //   24: Const
                    //   25: Const
                    //   26: Call to u32
                    fzT_1u32 fzM_47;
                    fzM_47 = fzC_1u32(128U);
                    //   27: Current
                    //   28: Call to ref codepoint.utf8.@142631
                    //   29: Call to ref codepoint.val
                    //   30: Const
                    //   31: Call to u32.infix >>
                    fzT_1u32 fzM_48;
                    fzM_48 = fzC_1u32__1infix_wgg(fzCur.fzF_1__U40__142631->fields.fzF_0_val,12U);
                    //   32: Const
                    //   33: Call to u32.infix &
                    fzT_1u32 fzM_49;
                    fzM_49 = fzC_1u32__1infix_wU26_(fzM_48,63U);
                    //   34: Call to u32.infix |
                    fzT_1u32 fzM_50;
                    fzM_50 = fzC_1u32__1infix_wU7c_(fzM_47,fzM_49);
                    //   35: Call to u32.low8bits
                    fzT_1u8 fzM_51;
                    fzM_51 = fzC_1u32__low8bits(fzM_50);
                    //   36: Call to fuzion.sys.array<u8>.index [ ] =
                    fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,1,fzM_51);
                    fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,1,fzM_51);
                    //   37: Pop
                    //   38: Current
                    //   39: Call to ref codepoint.utf8.@142872
                    //   40: Const
                    //   41: Const
                    //   42: Call to u32
                    fzT_1u32 fzM_52;
                    fzM_52 = fzC_1u32(128U);
                    //   43: Current
                    //   44: Call to ref codepoint.utf8.@142631
                    //   45: Call to ref codepoint.val
                    //   46: Const
                    //   47: Call to u32.infix >>
                    fzT_1u32 fzM_53;
                    fzM_53 = fzC_1u32__1infix_wgg(fzCur.fzF_1__U40__142631->fields.fzF_0_val,6U);
                    //   48: Const
                    //   49: Call to u32.infix &
                    fzT_1u32 fzM_54;
                    fzM_54 = fzC_1u32__1infix_wU26_(fzM_53,63U);
                    //   50: Call to u32.infix |
                    fzT_1u32 fzM_55;
                    fzM_55 = fzC_1u32__1infix_wU7c_(fzM_52,fzM_54);
                    //   51: Call to u32.low8bits
                    fzT_1u8 fzM_56;
                    fzM_56 = fzC_1u32__low8bits(fzM_55);
                    //   52: Call to fuzion.sys.array<u8>.index [ ] =
                    fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,2,fzM_56);
                    fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,2,fzM_56);
                    //   53: Pop
                    //   54: Current
                    //   55: Call to ref codepoint.utf8.@142872
                    //   56: Const
                    //   57: Const
                    //   58: Call to u32
                    fzT_1u32 fzM_57;
                    fzM_57 = fzC_1u32(128U);
                    //   59: Current
                    //   60: Call to ref codepoint.utf8.@142631
                    //   61: Call to ref codepoint.val
                    //   62: Const
                    //   63: Call to u32.infix &
                    fzT_1u32 fzM_58;
                    fzM_58 = fzC_1u32__1infix_wU26_(fzCur.fzF_1__U40__142631->fields.fzF_0_val,63U);
                    //   64: Call to u32.infix |
                    fzT_1u32 fzM_59;
                    fzM_59 = fzC_1u32__1infix_wU7c_(fzM_57,fzM_58);
                    //   65: Call to u32.low8bits
                    fzT_1u8 fzM_60;
                    fzM_60 = fzC_1u32__low8bits(fzM_59);
                    //   66: Call to fuzion.sys.array<u8>.index [ ] =
                    fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,3,fzM_60);
                    fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_6__U40__142872,3,fzM_60);
                    //   67: Pop
                    //   68: Current
                    //   69: Call to ref codepoint.utf8.@142872
                    //   70: Call to unit
                    fzC_unit();
                    //   71: Call to unit
                    fzC_unit();
                    //   72: Call to unit
                    fzC_unit();
                    //   73: Call to array<u8>
                    fzT_4array_l_u8_g fzM_61;
                    fzM_61 = fzC_4array_l_u8_g(fzCur.fzF_6__U40__142872);
                    //   74: Box array<u8> => ref array<u8>
                    // Box array<u8>
                    fzT__R4array_l_u8_g* fzM_62;
                    fzM_62 = malloc(sizeof(fzT__R4array_l_u8_g));
                    fzM_62->clazzId = 830;
                    fzM_62->fields = fzM_61;
                    //   75: Current
                    //   76: Assign to ref codepoint.utf8.@142676
                    fzCur.fzF_2__U40__142676 = (fzT__RSequence_l_u8_g*)fzM_62;
                    break;
                  }
                  case 0/* FALSE */:
                  {
                    //    0: Call to fuzion
                    fzC_fuzion();
                    //    1: Call to fuzion.std
                    fzC_fuzion__std();
                    //    2: Const
                    fzT__R1conststring* fzM_63;
                    fzM_63 = malloc(sizeof(fzT__R1conststring));
                    fzM_63->clazzId = 1018;
                    fzM_63->fields.fzF_0_internalArray.fzF_1_data = (void *)"failed to encode code point ";
                    fzM_63->fields.fzF_0_internalArray.fzF_0_length = 28;
                    //    3: Current
                    //    4: Call to ref codepoint.utf8.@142631
                    //    5: Box ref codepoint => ref codepoint
                    // Box is a NOP, clazz is already a ref
                    //    6: Call to ref conststring.infix +
                    fzT__Rstring* fzM_64;
                    fzM_64 = fzC__R1conststring__1infix_wp(fzM_63,(fzT__RObject*)fzCur.fzF_1__U40__142631);
                    //    7: Const
                    fzT__R1conststring* fzM_65;
                    fzM_65 = malloc(sizeof(fzT__R1conststring));
                    fzM_65->clazzId = 1018;
                    fzM_65->fields.fzF_0_internalArray.fzF_1_data = (void *)"";
                    fzM_65->fields.fzF_0_internalArray.fzF_0_length = 0;
                    //    8: Call to ref string.infix +
                    fzT__Rstring* fzM_66;
                    fzM_66 = fzC__L4237strings__2__1infix_wp((fzT__L4275strings__2__0__834261*)fzM_64,(fzT__RObject*)fzM_65);
                    //    9: Call to fuzion.std.panic
                    fzC_fuzion__std__1panic((fzT__Rstring*)fzM_66);
                    break;
                  }
                }
                break;
              }
            }
            break;
          }
        }
        break;
      }
    }
    //   10: Current
    //   11: Call to ref codepoint.utf8.@142676
    //   12: Current
    //   13: Assign to ref codepoint.utf8.result
    fzCur.fzF_0_result = (fzT__RSequence_l_u8_g*)fzCur.fzF_2__U40__142676;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1272 u32.infix ..:
fzT_1u32__1infix_woo fzC_1u32__1infix_woo(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  // instance may escape, so we need malloc here
  fzT_1u32__1infix_woo* fzCur;
  fzCur = malloc(sizeof(fzT_1u32__1infix_woo));

  start:
  {
    fzCur->fzF_1__U40__348886 = fzouter;
    fzCur->fzF_0_upper = arg0;
    return *fzCur;
  }
}
// code for clazz#999 codepoint.range:
fzT_1u32__1infix_woo fzC_1codepoint__range()
{
  // instance does not escape, put it on stack
  fzT_1codepoint__range fzCur;

  start:
  {
    //    0: Const
    //    1: Call to u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32(0U);
    //    2: Const
    //    3: Call to u32.infix ..
    fzT_1u32__1infix_woo fzM_1;
    fzM_1 = fzC_1u32__1infix_woo(fzM_0,1114111U);
    //    4: Current
    //    5: Assign to codepoint.range.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1003 ref codepoint.ascii:
fzT_1u32__1infix_woo fzC__R1codepoint__ascii()
{
  // instance does not escape, put it on stack
  fzT__R1codepoint__ascii fzCur;

  start:
  {
    //    0: Const
    //    1: Call to u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32(0U);
    //    2: Const
    //    3: Call to u32.infix ..
    fzT_1u32__1infix_woo fzM_1;
    fzM_1 = fzC_1u32__1infix_woo(fzM_0,127U);
    //    4: Current
    //    5: Assign to ref codepoint.ascii.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1005 ref codepoint.utf8EncodedInOneByte:
fzT_1u32__1infix_woo fzC__L1005_R1codepoi__InOneByte(fzT__R1codepoint* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1005_R1codepoi__InOneByte fzCur;

  start:
  {
    fzCur.fzF_1__U40__145181 = (fzT__R1codepoint*)fzouter;
    //    0: Current
    //    1: Call to ref codepoint.utf8EncodedInOneByte.@145181
    //    2: Call to ref codepoint.ascii
    fzT_1u32__1infix_woo fzM_0;
    fzM_0 = fzC__R1codepoint__ascii();
    //    3: Current
    //    4: Assign to ref codepoint.utf8EncodedInOneByte.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1008 ref codepoint.utf8EncodedInTwoBytes:
fzT_1u32__1infix_woo fzC__L1008_R1codepoi__nTwoBytes()
{
  // instance does not escape, put it on stack
  fzT__L1008_R1codepoi__nTwoBytes fzCur;

  start:
  {
    //    0: Const
    //    1: Call to u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32(128U);
    //    2: Const
    //    3: Call to u32.infix ..
    fzT_1u32__1infix_woo fzM_1;
    fzM_1 = fzC_1u32__1infix_woo(fzM_0,2047U);
    //    4: Current
    //    5: Assign to ref codepoint.utf8EncodedInTwoBytes.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1010 ref codepoint.utf8EncodedInThreeBytes:
fzT_1u32__1infix_woo fzC__L1010_R1codepoi__hreeBytes()
{
  // instance does not escape, put it on stack
  fzT__L1010_R1codepoi__hreeBytes fzCur;

  start:
  {
    //    0: Const
    //    1: Call to u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32(2048U);
    //    2: Const
    //    3: Call to u32.infix ..
    fzT_1u32__1infix_woo fzM_1;
    fzM_1 = fzC_1u32__1infix_woo(fzM_0,65535U);
    //    4: Current
    //    5: Assign to ref codepoint.utf8EncodedInThreeBytes.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1012 ref codepoint.utf8EncodedInFourBytes:
fzT_1u32__1infix_woo fzC__L1012_R1codepoi__FourBytes()
{
  // instance does not escape, put it on stack
  fzT__L1012_R1codepoi__FourBytes fzCur;

  start:
  {
    //    0: Const
    //    1: Call to u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32(65536U);
    //    2: Const
    //    3: Call to u32.infix ..
    fzT_1u32__1infix_woo fzM_1;
    fzM_1 = fzC_1u32__1infix_woo(fzM_0,1114111U);
    //    4: Current
    //    5: Assign to ref codepoint.utf8EncodedInFourBytes.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1014 codepoint.utf16Surrogate:
fzT_1u32__1infix_woo fzC_1codepoint__utf16Surrogate()
{
  // instance does not escape, put it on stack
  fzT_1codepoint__utf16Surrogate fzCur;

  start:
  {
    //    0: Const
    //    1: Call to u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32(55296U);
    //    2: Const
    //    3: Call to u32.infix ..
    fzT_1u32__1infix_woo fzM_1;
    fzM_1 = fzC_1u32__1infix_woo(fzM_0,57343U);
    //    4: Current
    //    5: Assign to codepoint.utf16Surrogate.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1022 ref conststring.asString:
fzT__Rstring* fzC__R1conststring__asString(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__asString fzCur;

  start:
  {
    fzCur.fzF_1__U40__163461 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.asString.@163461
    //    2: Box ref conststring => ref conststring
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Assign to ref conststring.asString.result
    fzCur.fzF_0_result = (fzT__Rstring*)fzCur.fzF_1__U40__163461;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1028 ref conststring.utf8:
fzT__RSequence_l_u8_g* fzC__R1conststring__utf8(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__utf8 fzCur;

  start:
  {
    fzCur.fzF_1__U40__163936 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.utf8.@163936
    //    2: Box ref conststring => ref conststring
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Assign to ref conststring.utf8.result
    fzCur.fzF_0_result = (fzT__RSequence_l_u8_g*)fzCur.fzF_1__U40__163936;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1031 debug:
fzT_bool fzC_debug()
{
  return (fzT_bool){1};
}
// code for clazz#1035 io.out.default:
void fzC_io__3out__default(fzT_io__3out* fzouter)
{
  if (!fzThrd_effectsEnvironment->fzEnvInstalled_1510)
  {
    fzThrd_effectsEnvironment->fzEnv_1510 = *fzouter;
    fzThrd_effectsEnvironment->fzEnvInstalled_1510 = true;
  }
}
// code for clazz#1044 io.out.replace:
void fzC_io__3out__replace(fzT_io__3out* fzouter)
{
  fzThrd_effectsEnvironment->fzEnv_1510 = *fzouter;
}
// code for clazz#1103 effects:
void fzC_effects()
{
  // instance may escape, so we need malloc here
  fzT_effects* fzCur;
  fzCur = malloc(sizeof(fzT_effects));

  start:
  {
  }
}
// code for clazz#1104 effects.exists<io.out>:
fzT_bool fzC__L1104effects__e__o_o_out_g()
{
  if (fzThrd_effectsEnvironment->fzEnvInstalled_1510)
  {
    return (fzT_bool){1};
  }
  return (fzT_bool){0};
}
// code for clazz#1106 effectMode:
void fzC_effectMode()
{
  // instance may escape, so we need malloc here
  fzT_effectMode* fzCur;
  fzCur = malloc(sizeof(fzT_effectMode));

  start:
  {
  }
}
// code for clazz#1126 fuzion:
void fzC_fuzion()
{
  // instance may escape, so we need malloc here
  fzT_fuzion* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion));

  start:
  {
  }
}
// code for clazz#1127 fuzion.std:
void fzC_fuzion__std()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__std* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__std));

  start:
  {
  }
}
// code for clazz#1128 fuzion.std.exit:
void fzC_fuzion__std__1exit(fzT_1i32 arg0)
{
  exit(arg0);
}
// code for clazz#1131 fuzion.std.err:
void fzC_fuzion__std__err()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__std__err* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__std__err));

  start:
  {
  }
}
// code for clazz#1132 fuzion.std.err.println:
void fzC_fuzion__std__err__1println(fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__std__err__1println fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RObject*)arg0;
    //    0: Current
    //    1: Call to fuzion.std.err.println.@304419
    // access to Call to fuzion.std.err.println.@304419 eliminated
    //    2: Current
    //    3: Call to fuzion.std.err.println.s
    //    4: Call to ref Object.asString
    fzT__Rstring* fzM_0;
    fzM_0 = fzC__L4205strings__2___asString((fzT__L4275strings__2__0__834261*)fzCur.fzF_0_s);
    //    5: Call to ref string.utf8
    fzT__RSequence_l_u8_g* fzM_1;
    fzM_1 = fzC__L4279strings__2__261__utf8((fzT__L4275strings__2__0__834261*)fzM_0);
    //    6: Call to fuzion
    fzC_fuzion();
    //    7: Call to fuzion.sys
    fzC_fuzion__sys();
    //    8: Const
    //    9: Call to fuzion.sys.array<u8>
    fzT_fuzion__sys__1array_l_u8_g fzM_2;
    fzM_2 = fzC_fuzion__sys__1array_l_u8_g(1);
    //   10: Current
    //   11: Assign to fuzion.std.err.println.@304464
    fzCur.fzF_3__U40__304464 = fzM_2;
    //   12: Current
    //   13: Call to fuzion.std.err.println.@304464
    //   14: Const
    //   15: Current
    //   16: Call to fuzion.std.err.println.@304419
    // access to Call to fuzion.std.err.println.@304419 eliminated
    //   17: Call to fuzion.std.err.ascii
    fzC_fuzion__std__err__ascii();
    //   18: Call to fuzion.std.err.ascii.lf
    fzT_1u8 fzM_3;
    fzM_3 = fzC_fuzion__std__err__ascii__lf();
    //   19: Call to fuzion.sys.array<u8>.index [ ] =
    fzP__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_3__U40__304464,0,fzM_3);
    fzC__L1204fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_3__U40__304464,0,fzM_3);
    //   20: Pop
    //   21: Current
    //   22: Call to fuzion.std.err.println.@304464
    //   23: Call to unit
    fzC_unit();
    //   24: Call to unit
    fzC_unit();
    //   25: Call to unit
    fzC_unit();
    //   26: Call to array<u8>
    fzT_4array_l_u8_g fzM_4;
    fzM_4 = fzC_4array_l_u8_g(fzCur.fzF_3__U40__304464);
    //   27: Box array<u8> => ref array<u8>
    // Box array<u8>
    fzT__R4array_l_u8_g* fzM_5;
    fzM_5 = malloc(sizeof(fzT__R4array_l_u8_g));
    fzM_5->clazzId = 830;
    fzM_5->fields = fzM_4;
    //   28: Call to ref Sequence<u8>.infix ++
    fzT_list_l_u8_g fzM_6;
    fzM_6 = fzC__Rlist_l_u8_g__1infix_wpp((fzT__Rlist_l_u8_g*)fzM_1,(fzT__RSequence_l_u8_g*)fzM_5);
    //   29: Call to list<u8>.asArray
    fzT_4array_l_u8_g fzM_7;
    fzM_7 = fzC_list_l_u8_g__asArray((fzT_list_l_u8_g*)fzH_heapClone(&fzM_6,sizeof fzM_6));
    //   30: Call to fuzion.std.err.write
    fzC_fuzion__std__err__1write(fzM_7);
    //   31: Current
    //   32: Assign to fuzion.std.err.println.result
    // access to Assign to fuzion.std.err.println.result eliminated
  }
}
// code for clazz#1137 fuzion.std.err.write:
void fzC_fuzion__std__err__1write(fzT_4array_l_u8_g arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__std__err__1write fzCur;

  start:
  {
    fzCur.fzF_0_arr = arg0;
    //    0: Current
    //    1: Call to fuzion.std.err.write.@304833
    // access to Call to fuzion.std.err.write.@304833 eliminated
    //    2: Current
    //    3: Call to fuzion.std.err.write.arr
    //    4: Call to array<u8>.internalArray
    //    5: Call to fuzion.sys.array<u8>.data
    //    6: Current
    //    7: Call to fuzion.std.err.write.arr
    //    8: Call to array<u8>.length
    fzT_1i32 fzM_0;
    fzM_0 = fzC_4array_l_u8_g__length((fzT_4array_l_u8_g*)&fzCur.fzF_0_arr);
    //    9: Call to fuzion.std.err.write
    fzC_fuzion__std__err__2write((fzT__RObject*)fzCur.fzF_0_arr.fzF_0_internalArray.fzF_1_data,fzM_0);
    //   10: Current
    //   11: Assign to fuzion.std.err.write.result
    // access to Assign to fuzion.std.err.write.result eliminated
  }
}
// code for clazz#1141 fuzion.std.err.write:
void fzC_fuzion__std__err__2write(fzT__RObject* arg0, fzT_1i32 arg1)
{
  fwrite((void *)arg0,sizeof(char),arg1,stderr);
}
// code for clazz#1145 fuzion.std.panic:
void fzC_fuzion__std__1panic(fzT__Rstring* arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__std__1panic fzCur;

  start:
  {
    fzCur.fzF_0_msg = (fzT__Rstring*)arg0;
    //    0: Current
    //    1: Call to fuzion.std.panic.@305629
    // access to Call to fuzion.std.panic.@305629 eliminated
    //    2: Call to fuzion.std.err
    fzC_fuzion__std__err();
    //    3: Const
    fzT__R1conststring* fzM_0;
    fzM_0 = malloc(sizeof(fzT__R1conststring));
    fzM_0->clazzId = 1018;
    fzM_0->fields.fzF_0_internalArray.fzF_1_data = (void *)"*** panic: ";
    fzM_0->fields.fzF_0_internalArray.fzF_0_length = 11;
    //    4: Current
    //    5: Call to fuzion.std.panic.msg
    //    6: Call to ref conststring.infix +
    fzT__Rstring* fzM_1;
    fzM_1 = fzC__R1conststring__1infix_wp(fzM_0,(fzT__RObject*)fzCur.fzF_0_msg);
    //    7: Const
    fzT__R1conststring* fzM_2;
    fzM_2 = malloc(sizeof(fzT__R1conststring));
    fzM_2->clazzId = 1018;
    fzM_2->fields.fzF_0_internalArray.fzF_1_data = (void *)"";
    fzM_2->fields.fzF_0_internalArray.fzF_0_length = 0;
    //    8: Call to ref string.infix +
    fzT__Rstring* fzM_3;
    fzM_3 = fzC__L4237strings__2__1infix_wp((fzT__L4275strings__2__0__834261*)fzM_1,(fzT__RObject*)fzM_2);
    //    9: Call to fuzion.std.err.println
    fzC_fuzion__std__err__1println((fzT__RObject*)fzM_3);
    //   10: Pop
    //   11: Current
    //   12: Call to fuzion.std.panic.@305629
    // access to Call to fuzion.std.panic.@305629 eliminated
    //   13: Const
    //   14: Call to fuzion.std.exit
    fzC_fuzion__std__1exit(1);
  }
}
// code for clazz#1149 fuzion.std.out:
void fzC_fuzion__std__out()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__std__out* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__std__out));

  start:
  {
  }
}
// code for clazz#1150 fuzion.std.out.print:
void fzC_fuzion__std__out__1print(fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__std__out__1print fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RObject*)arg0;
    //    0: Current
    //    1: Call to fuzion.std.out.print.@307392
    // access to Call to fuzion.std.out.print.@307392 eliminated
    //    2: Current
    //    3: Call to fuzion.std.out.print.s
    //    4: Call to ref Object.asString
    // Dynamic access of ref Object.asString
    fzT__RObject* fzM_0 = (fzT__RObject*)fzCur.fzF_0_s;
    fzT__Rstring* fzM_1;
    switch (fzM_0->clazzId)
    {
      case 981:
      {
        // Call calls ref codepoint.asString target: ref codepoint:
        fzT__Rstring* fzM_2;
        fzM_2 = fzC__R1codepoint__asString((fzT__R1codepoint*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.asString target: ref conststring:
        fzT__Rstring* fzM_3;
        fzM_3 = fzC__R1conststring__asString((fzT__R1conststring*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Object.asString","fuzion.std.out.print");
        exit(1);
      }
    }
    //    5: Call to ref string.utf8
    // Dynamic access of ref string.utf8
    fzT__Rstring* fzM_4 = (fzT__Rstring*)fzM_1;
    fzT__RSequence_l_u8_g* fzM_5;
    switch (fzM_4->clazzId)
    {
      case 981:
      {
        // Call calls ref codepoint.utf8 target: ref codepoint:
        fzT__RSequence_l_u8_g* fzM_6;
        fzM_6 = fzC__R1codepoint__utf8((fzT__R1codepoint*)fzM_4);
        fzM_5 = fzM_6;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.utf8 target: ref conststring:
        fzT__RSequence_l_u8_g* fzM_7;
        fzM_7 = fzC__R1conststring__utf8((fzT__R1conststring*)fzM_4);
        fzM_5 = fzM_7;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_4->clazzId,"ref string.utf8","fuzion.std.out.print");
        exit(1);
      }
    }
    //    6: Call to ref Sequence<u8>.asArray
    // Dynamic access of ref Sequence<u8>.asArray
    fzT__RSequence_l_u8_g* fzM_8 = (fzT__RSequence_l_u8_g*)fzM_5;
    fzT_4array_l_u8_g fzM_9;
    switch (fzM_8->clazzId)
    {
      case 830:
      {
        // Call calls ref array<u8>.asArray target: ref array<u8>:
        fzT_4array_l_u8_g fzM_10;
        fzM_10 = fzC__R4array_l_u8_g__asArray((fzT__R4array_l_u8_g*)fzM_8);
        fzM_9 = fzM_10;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.asArray target: ref conststring:
        fzT_4array_l_u8_g fzM_11;
        fzM_11 = fzC__R1conststring__asArray((fzT__R1conststring*)fzM_8);
        fzM_9 = fzM_11;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_8->clazzId,"ref Sequence<u8>.asArray","fuzion.std.out.print");
        exit(1);
      }
    }
    //    7: Call to fuzion.std.out.write
    fzC_fuzion__std__out__1write(fzM_9);
    //    8: Current
    //    9: Assign to fuzion.std.out.print.result
    // access to Assign to fuzion.std.out.print.result eliminated
  }
}
// code for clazz#1154 fuzion.std.out.write:
void fzC_fuzion__std__out__1write(fzT_4array_l_u8_g arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__std__out__1write fzCur;

  start:
  {
    fzCur.fzF_0_arr = arg0;
    //    0: Current
    //    1: Call to fuzion.std.out.write.@308991
    // access to Call to fuzion.std.out.write.@308991 eliminated
    //    2: Current
    //    3: Call to fuzion.std.out.write.arr
    //    4: Call to array<u8>.internalArray
    //    5: Call to fuzion.sys.array<u8>.data
    //    6: Current
    //    7: Call to fuzion.std.out.write.arr
    //    8: Call to array<u8>.length
    fzT_1i32 fzM_0;
    fzM_0 = fzC_4array_l_u8_g__length((fzT_4array_l_u8_g*)&fzCur.fzF_0_arr);
    //    9: Call to fuzion.std.out.write
    fzC_fuzion__std__out__2write((fzT__RObject*)fzCur.fzF_0_arr.fzF_0_internalArray.fzF_1_data,fzM_0);
    //   10: Current
    //   11: Assign to fuzion.std.out.write.result
    // access to Assign to fuzion.std.out.write.result eliminated
  }
}
// code for clazz#1158 fuzion.std.out.write:
void fzC_fuzion__std__out__2write(fzT__RObject* arg0, fzT_1i32 arg1)
{
  fwrite((void *)arg0,sizeof(char),arg1,stdout);
}
// code for clazz#1162 fuzion.sys:
void fzC_fuzion__sys()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__sys* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__sys));

  start:
  {
  }
}
// code for clazz#1171 fuzion.sys.array<u8>.index [ ]:
fzT_1u8 fzC__L1171fuzion__sy__U5b_wU5d_(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L1171fuzion__sy__U5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__319685 = fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to fuzion.sys.array<u8>.index [ ].@319685
    //    2: Current
    //    3: Call to fuzion.sys.array<u8>.index [ ].@319685
    //    4: Call to fuzion.sys.array<u8>.data
    //    5: Current
    //    6: Call to fuzion.sys.array<u8>.index [ ].i
    //    7: Call to fuzion.sys.array<u8>.get<u8>
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L1189fuzion__sy__et_l_u8_g((fzT_fuzion__sys__1array_l_u8_g*)fzCur.fzF_2__U40__319685,(fzT__RObject*)fzCur.fzF_2__U40__319685->fzF_1_data,fzCur.fzF_0_i);
    //    8: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    9: Current
    //   10: Assign to fuzion.sys.array<u8>.index [ ].result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1171 precondition of fuzion.sys.array<u8>.index [ ]:
void fzP__L1171fuzion__sy__U5b_wU5d_(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__L1171fuzion__sy__U5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__319685 = fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__319685 = fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Call to safety
    fzT_bool fzM_0;
    fzM_0 = fzC_safety();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Call to fuzion.sys.array<u8>.index [ ].i
        //    3: Current
        //    4: Assign to fuzion.sys.array<u8>.index [ ].@319730
        fzCur.fzF_3__U40__319730 = fzCur.fzF_0_i;
        //    5: Current
        //    6: Call to fuzion.sys.array<u8>.index [ ].@319730
        //    7: Call to i32.infix <=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wle(0,fzCur.fzF_3__U40__319730);
        //    8: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Current
            //    1: Call to fuzion.sys.array<u8>.index [ ].@319730
            //    2: Current
            //    3: Call to fuzion.sys.array<u8>.index [ ].@319685
            //    4: Call to fuzion.sys.array<u8>.length
            //    5: Call to i32.infix <
            fzT_bool fzM_2;
            fzM_2 = fzC_1i32__1infix_wl(fzCur.fzF_3__U40__319730,fzCur.fzF_2__U40__319685->fzF_0_length);
            //    6: Current
            //    7: Assign to fuzion.sys.array<u8>.index [ ].@319779
            fzCur.fzF_4__U40__319779 = fzM_2;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to fuzion.sys.array<u8>.index [ ].@319779
            fzCur.fzF_4__U40__319779 = (fzT_bool){0};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to fuzion.sys.array<u8>.index [ ].@319779
        // access to Assign to fuzion.sys.array<u8>.index [ ].@319779 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to fuzion.sys.array<u8>.index [ ].@319779
    if (!fzCur.fzF_4__U40__319779.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","fuzion.sys.array<u8>.index [ ]");
      exit(1);
    }
  }
}
// code for clazz#1189 fuzion.sys.array<u8>.get<u8>:
fzT_1u8 fzC__L1189fuzion__sy__et_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT__RObject* arg0, fzT_1i32 arg1)
{
  return ((fzT_1u8*)arg0)[arg1];
}
// code for clazz#1204 fuzion.sys.array<u8>.index [ ] =:
void fzC__L1204fuzion__sy__b_wU5d_we(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1)
{
  // instance does not escape, put it on stack
  fzT__L1204fuzion__sy__b_wU5d_we fzCur;

  start:
  {
    fzCur.fzF_3__U40__321207 = fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_1_o = arg1;
    //    0: Current
    //    1: Call to fuzion.sys.array<u8>.index [ ] =.@321207
    //    2: Current
    //    3: Call to fuzion.sys.array<u8>.index [ ] =.@321207
    //    4: Call to fuzion.sys.array<u8>.data
    //    5: Current
    //    6: Call to fuzion.sys.array<u8>.index [ ] =.i
    //    7: Current
    //    8: Call to fuzion.sys.array<u8>.index [ ] =.o
    //    9: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //   10: Call to fuzion.sys.array<u8>.setel<u8>
    fzC__L1234fuzion__sy__el_l_u8_g((fzT_fuzion__sys__1array_l_u8_g*)fzCur.fzF_3__U40__321207,(fzT__RObject*)fzCur.fzF_3__U40__321207->fzF_1_data,fzCur.fzF_0_i,fzCur.fzF_1_o);
    //   11: Current
    //   12: Assign to fuzion.sys.array<u8>.index [ ] =.result
    // access to Assign to fuzion.sys.array<u8>.index [ ] =.result eliminated
  }
}
// code for clazz#1204 precondition of fuzion.sys.array<u8>.index [ ] =:
void fzP__L1204fuzion__sy__b_wU5d_we(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1)
{
  // for precondition only, need to check if it may escape
  fzT__L1204fuzion__sy__b_wU5d_we fzCur;

  start:
  {
    fzCur.fzF_3__U40__321207 = fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_1_o = arg1;
    fzCur.fzF_3__U40__321207 = fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_1_o = arg1;
    //    0: Call to safety
    fzT_bool fzM_0;
    fzM_0 = fzC_safety();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Call to fuzion.sys.array<u8>.index [ ] =.i
        //    3: Current
        //    4: Assign to fuzion.sys.array<u8>.index [ ] =.@321252
        fzCur.fzF_4__U40__321252 = fzCur.fzF_0_i;
        //    5: Current
        //    6: Call to fuzion.sys.array<u8>.index [ ] =.@321252
        //    7: Call to i32.infix <=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wle(0,fzCur.fzF_4__U40__321252);
        //    8: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Current
            //    1: Call to fuzion.sys.array<u8>.index [ ] =.@321252
            //    2: Current
            //    3: Call to fuzion.sys.array<u8>.index [ ] =.@321207
            //    4: Call to fuzion.sys.array<u8>.length
            //    5: Call to i32.infix <
            fzT_bool fzM_2;
            fzM_2 = fzC_1i32__1infix_wl(fzCur.fzF_4__U40__321252,fzCur.fzF_3__U40__321207->fzF_0_length);
            //    6: Current
            //    7: Assign to fuzion.sys.array<u8>.index [ ] =.@321301
            fzCur.fzF_5__U40__321301 = fzM_2;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to fuzion.sys.array<u8>.index [ ] =.@321301
            fzCur.fzF_5__U40__321301 = (fzT_bool){0};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to fuzion.sys.array<u8>.index [ ] =.@321301
        // access to Assign to fuzion.sys.array<u8>.index [ ] =.@321301 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to fuzion.sys.array<u8>.index [ ] =.@321301
    if (!fzCur.fzF_5__U40__321301.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","fuzion.sys.array<u8>.index [ ] =");
      exit(1);
    }
  }
}
// code for clazz#1225 fuzion.sys.array<u8>.alloc<u8>:
fzT__RObject* fzC__L1225fuzion__sy__oc_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  return malloc(sizeof(fzT_1u8)*arg0);
}
// code for clazz#1234 fuzion.sys.array<u8>.setel<u8>:
void fzC__L1234fuzion__sy__el_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT__RObject* arg0, fzT_1i32 arg1, fzT_1u8 arg2)
{
  ((fzT_1u8*)arg0)[arg1] = arg2;
}
// code for clazz#1277 i32.infix ...ref asStream:
fzT_1i32__1infix_woo_RasStream* fzC_1i32__1infix_woo_RasStream(fzT_1i32__1infix_woo* fzouter)
{
  // instance may escape, so we need malloc here
  fzT_1i32__1infix_woo_RasStream* fzCur;
  fzCur = malloc(sizeof(fzT_1i32__1infix_woo_RasStream));
  fzCur->clazzId = 1277;

  start:
  {
    fzCur->fields.fzF_0__U40__350880 = fzouter;
    //    0: Call to nil
    fzC_nil();
    //    1: Tag
    // Tag a value to be of choice type option<some<list<i32>>> static value type nil
    fzT__L2398option_l_s__l_i32_ggg fzM_0;
    fzM_0.fzTag = 1;
    // unit type assignment to fzM_0.fzChoice.v1
    //    2: Current
    //    3: Assign to i32.infix ...asStream.asList0
    // access to Assign to i32.infix ...asStream.asList0 eliminated
    //    4: Current
    //    5: Call to i32.infix ...ref asStream.@350880
    //    6: Call to i32.infix ...lower
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__1infix_woo__lower((fzT_1i32__1infix_woo*)fzCur->fields.fzF_0__U40__350880);
    //    7: Tag
    // Tag a value to be of choice type numOption<i32> static value type i32
    fzT_numOption_l_i32_g fzM_2;
    fzM_2.fzTag = 0;
    fzM_2.fzChoice.v0 = fzM_1;
    //    8: Call to numOption<i32>
    fzT_numOption_l_i32_g fzM_3;
    fzM_3 = fzC_1numOption_l_i32_g(fzM_2);
    //    9: Current
    //   10: Assign to i32.infix ...asStream.x
    fzCur->fields.fzF_1_x = fzM_3;
    return fzCur;
  }
}
// code for clazz#1283 i32.infix ...ref asStream.hasNext:
fzT_bool fzC__L12831i32__1inf____hasNext(fzT_1i32__1infix_woo_RasStream* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L12831i32__1inf____hasNext fzCur;

  start:
  {
    fzCur.fzF_1__U40__351379 = (fzT_1i32__1infix_woo_RasStream*)fzouter;
    //    0: Current
    //    1: Call to i32.infix ...ref asStream.hasNext.@351379
    //    2: Call to i32.infix ...ref asStream.x
    //    3: Call to numOption<i32>.exists
    fzT_bool fzM_0;
    fzM_0 = fzC_numOption_l_i32_g__exists((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351379->fields.fzF_1_x);
    //    4: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.infix ...ref asStream.hasNext.@351379
        //    2: Call to i32.infix ...ref asStream.x
        //    3: Call to numOption<i32>.val
        fzP_numOption_l_i32_g__val((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351379->fields.fzF_1_x);
        fzT_1i32 fzM_1;
        fzM_1 = fzC_numOption_l_i32_g__val((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351379->fields.fzF_1_x);
        //    4: Current
        //    5: Call to i32.infix ...ref asStream.hasNext.@351379
        //    6: Call to i32.infix ...ref asStream.@350880
        //    7: Call to i32.infix ...upper
        //    8: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    9: Call to i32.infix <=
        fzT_bool fzM_2;
        fzM_2 = fzC_1i32__1infix_wle(fzM_1,fzCur.fzF_1__U40__351379->fields.fzF_0__U40__350880->fzF_0_upper);
        //   10: Current
        //   11: Assign to i32.infix ...ref asStream.hasNext.@351428
        fzCur.fzF_2__U40__351428 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix ...ref asStream.hasNext.@351428
        fzCur.fzF_2__U40__351428 = (fzT_bool){0};
        break;
      }
    }
    //    7: Current
    //    8: Call to i32.infix ...ref asStream.hasNext.@351428
    //    9: Current
    //   10: Assign to i32.infix ...ref asStream.hasNext.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__351428;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1287 i32.infix ...ref asStream.next:
fzT_1i32 fzC__L12871i32__1inf__eam__next(fzT_1i32__1infix_woo_RasStream* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L12871i32__1inf__eam__next fzCur;

  start:
  {
    fzCur.fzF_1__U40__351847 = (fzT_1i32__1infix_woo_RasStream*)fzouter;
    //    0: Current
    //    1: Call to i32.infix ...ref asStream.next.@351847
    //    2: Call to i32.infix ...ref asStream.x
    //    3: Call to numOption<i32>.val
    fzP_numOption_l_i32_g__val((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351847->fields.fzF_1_x);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_numOption_l_i32_g__val((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351847->fields.fzF_1_x);
    //    4: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Assign to i32.infix ...ref asStream.next.res
    fzCur.fzF_2_res = fzM_0;
    //    7: Current
    //    8: Call to i32.infix ...ref asStream.next.@351847
    //    9: Call to i32.infix ...ref asStream.x
    //   10: Current
    //   11: Call to i32.infix ...ref asStream.next.@351847
    //   12: Call to i32.infix ...ref asStream.@350880
    //   13: Call to i32.infix ...@348886
    //   14: Call to i32.one
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__one();
    //   15: Tag
    // Tag a value to be of choice type numOption<i32> static value type i32
    fzT_numOption_l_i32_g fzM_2;
    fzM_2.fzTag = 0;
    fzM_2.fzChoice.v0 = fzM_1;
    //   16: Call to numOption<i32>.infix +?
    fzT_numOption_l_i32_g fzM_3;
    fzM_3 = fzC__L2280numOption___infix_wpQ((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351847->fields.fzF_1_x,fzM_2);
    //   17: Current
    //   18: Call to i32.infix ...ref asStream.next.@351847
    //   19: Assign to i32.infix ...asStream.x
    fzCur.fzF_1__U40__351847->fields.fzF_1_x = fzM_3;
    //   20: Current
    //   21: Call to i32.infix ...ref asStream.next.res
    //   22: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   23: Current
    //   24: Assign to i32.infix ...ref asStream.next.result
    fzCur.fzF_0_result = fzCur.fzF_2_res;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1291 u32.infix ...contains:
fzT_bool fzC_1u32__1infix_woo__1contains(fzT_1u32__1infix_woo* fzouter, fzT_1u32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1u32__1infix_woo__1contains fzCur;

  start:
  {
    fzCur.fzF_2__U40__353571 = fzouter;
    fzCur.fzF_0_e = arg0;
    //    0: Current
    //    1: Call to u32.infix ...contains.@353571
    //    2: Call to u32.infix ...lower
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32__1infix_woo__lower((fzT_1u32__1infix_woo*)fzCur.fzF_2__U40__353571);
    //    3: Current
    //    4: Call to u32.infix ...contains.e
    //    5: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    6: Current
    //    7: Assign to u32.infix ...contains.@353616
    fzCur.fzF_3__U40__353616 = fzCur.fzF_0_e;
    //    8: Current
    //    9: Call to u32.infix ...contains.@353616
    //   10: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //   11: Call to u32.infix <=
    fzT_bool fzM_1;
    fzM_1 = fzC_1u32__1infix_wle(fzM_0,fzCur.fzF_3__U40__353616);
    //   12: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to u32.infix ...contains.@353616
        //    2: Current
        //    3: Call to u32.infix ...contains.@353571
        //    4: Call to u32.infix ...upper
        //    5: Box u32 => u32
        // Box is a NOP, clazz is already a ref
        //    6: Call to u32.infix <=
        fzT_bool fzM_2;
        fzM_2 = fzC_1u32__1infix_wle(fzCur.fzF_3__U40__353616,fzCur.fzF_2__U40__353571->fzF_0_upper);
        //    7: Current
        //    8: Assign to u32.infix ...contains.@353665
        fzCur.fzF_4__U40__353665 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to u32.infix ...contains.@353665
        fzCur.fzF_4__U40__353665 = (fzT_bool){0};
        break;
      }
    }
    //   15: Current
    //   16: Call to u32.infix ...contains.@353665
    //   17: Current
    //   18: Assign to u32.infix ...contains.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__353665;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1297 i32.infix ...lower:
fzT_1i32 fzC_1i32__1infix_woo__lower(fzT_1i32__1infix_woo* fzouter)
{
  // instance does not escape, put it on stack
  fzT_1i32__1infix_woo__lower fzCur;

  start:
  {
    fzCur.fzF_1__U40__361051 = fzouter;
    //    0: Current
    //    1: Call to i32.infix ...lower.@361051
    //    2: Call to i32.infix ...@348886
    //    3: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_1__U40__361051->fzF_1__U40__348886);
    //    4: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Assign to i32.infix ...lower.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1298 u32.infix ...lower:
fzT_1u32 fzC_1u32__1infix_woo__lower(fzT_1u32__1infix_woo* fzouter)
{
  // instance does not escape, put it on stack
  fzT_1u32__1infix_woo__lower fzCur;

  start:
  {
    fzCur.fzF_1__U40__361051 = fzouter;
    //    0: Current
    //    1: Call to u32.infix ...lower.@361051
    //    2: Call to u32.infix ...@348886
    //    3: Call to u32.thiz
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32__thiz(fzCur.fzF_1__U40__361051->fzF_1__U40__348886);
    //    4: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Assign to u32.infix ...lower.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1310 i32.thiz:
fzT_1i32 fzC_1i32__thiz(fzT_1i32 fzouter)
{
  // instance does not escape, put it on stack
  fzT_1i32__thiz fzCur;

  start:
  {
    fzCur.fzF_1__U40__390840 = fzouter;
    //    0: Current
    //    1: Call to i32.thiz.@390840
    //    2: Call to i32.val
    //    3: Current
    //    4: Assign to i32.thiz.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__390840;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1321 i32.infix <:
fzT_bool fzC_1i32__1infix_wl(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter<arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1324 i32.infix <=:
fzT_bool fzC_1i32__1infix_wle(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter<=arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1327 i32.infix >:
fzT_bool fzC_1i32__1infix_wg(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter>arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1330 i32.infix >=:
fzT_bool fzC_1i32__1infix_wge(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter>=arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1342 i32.max:
fzT_1i32 fzC_1i32__max()
{
  // instance does not escape, put it on stack
  fzT_1i32__max fzCur;

  start:
  {
    //    0: Const
    //    1: Current
    //    2: Assign to i32.max.result
    fzCur.fzF_0_result = 2147483647;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1347 i32.overflowOnAdd:
fzT_bool fzC_1i32__1overflowOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1overflowOnAdd fzCur;

  start:
  {
    fzCur.fzF_2__U40__395088 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.overflowOnAdd.@395088
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__395088);
    //    3: Const
    //    4: Call to i32.infix >
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_wg(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.overflowOnAdd.@395088
        //    2: Call to i32.max
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__max();
        //    3: Current
        //    4: Call to i32.overflowOnAdd.@395088
        //    5: Call to i32.thiz
        fzT_1i32 fzM_3;
        fzM_3 = fzC_1i32__thiz(fzCur.fzF_2__U40__395088);
        //    6: Call to i32.infix -°
        fzT_1i32 fzM_4;
        fzM_4 = fzC_1i32__1infix_wmO(fzM_2,fzM_3);
        //    7: Current
        //    8: Call to i32.overflowOnAdd.other
        //    9: Call to i32.infix <
        fzT_bool fzM_5;
        fzM_5 = fzC_1i32__1infix_wl(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.overflowOnAdd.@395137
        fzCur.fzF_3__U40__395137 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.overflowOnAdd.@395137
        fzCur.fzF_3__U40__395137 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.overflowOnAdd.@395137
    //   10: Current
    //   11: Assign to i32.overflowOnAdd.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__395137;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1352 i32.underflowOnAdd:
fzT_bool fzC_1i32__1underflowOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1underflowOnAdd fzCur;

  start:
  {
    fzCur.fzF_2__U40__395661 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.underflowOnAdd.@395661
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__395661);
    //    3: Const
    //    4: Call to i32.infix <
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_wl(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.underflowOnAdd.@395661
        //    2: Call to i32.min
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__min();
        //    3: Current
        //    4: Call to i32.underflowOnAdd.@395661
        //    5: Call to i32.thiz
        fzT_1i32 fzM_3;
        fzM_3 = fzC_1i32__thiz(fzCur.fzF_2__U40__395661);
        //    6: Call to i32.infix -°
        fzT_1i32 fzM_4;
        fzM_4 = fzC_1i32__1infix_wmO(fzM_2,fzM_3);
        //    7: Current
        //    8: Call to i32.underflowOnAdd.other
        //    9: Call to i32.infix >
        fzT_bool fzM_5;
        fzM_5 = fzC_1i32__1infix_wg(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.underflowOnAdd.@395710
        fzCur.fzF_3__U40__395710 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.underflowOnAdd.@395710
        fzCur.fzF_3__U40__395710 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.underflowOnAdd.@395710
    //   10: Current
    //   11: Assign to i32.underflowOnAdd.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__395710;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1357 i32.overflowOnSub:
fzT_bool fzC_1i32__1overflowOnSub(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1overflowOnSub fzCur;

  start:
  {
    fzCur.fzF_2__U40__396233 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.overflowOnSub.@396233
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__396233);
    //    3: Const
    //    4: Call to i32.infix >
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_wg(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.overflowOnSub.@396233
        //    2: Call to i32.thiz
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__thiz(fzCur.fzF_2__U40__396233);
        //    3: Current
        //    4: Call to i32.overflowOnSub.@396233
        //    5: Call to i32.max
        fzT_1i32 fzM_3;
        fzM_3 = fzC_1i32__max();
        //    6: Call to i32.infix -°
        fzT_1i32 fzM_4;
        fzM_4 = fzC_1i32__1infix_wmO(fzM_2,fzM_3);
        //    7: Current
        //    8: Call to i32.overflowOnSub.other
        //    9: Call to i32.infix >
        fzT_bool fzM_5;
        fzM_5 = fzC_1i32__1infix_wg(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.overflowOnSub.@396282
        fzCur.fzF_3__U40__396282 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.overflowOnSub.@396282
        fzCur.fzF_3__U40__396282 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.overflowOnSub.@396282
    //   10: Current
    //   11: Assign to i32.overflowOnSub.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__396282;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1362 i32.underflowOnSub:
fzT_bool fzC_1i32__1underflowOnSub(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1underflowOnSub fzCur;

  start:
  {
    fzCur.fzF_2__U40__396806 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.underflowOnSub.@396806
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__396806);
    //    3: Const
    //    4: Call to i32.infix <
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_wl(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.underflowOnSub.@396806
        //    2: Call to i32.thiz
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__thiz(fzCur.fzF_2__U40__396806);
        //    3: Current
        //    4: Call to i32.underflowOnSub.@396806
        //    5: Call to i32.min
        fzT_1i32 fzM_3;
        fzM_3 = fzC_1i32__min();
        //    6: Call to i32.infix -°
        fzT_1i32 fzM_4;
        fzM_4 = fzC_1i32__1infix_wmO(fzM_2,fzM_3);
        //    7: Current
        //    8: Call to i32.underflowOnSub.other
        //    9: Call to i32.infix <
        fzT_bool fzM_5;
        fzM_5 = fzC_1i32__1infix_wl(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.underflowOnSub.@396855
        fzCur.fzF_3__U40__396855 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.underflowOnSub.@396855
        fzCur.fzF_3__U40__396855 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.underflowOnSub.@396855
    //   10: Current
    //   11: Assign to i32.underflowOnSub.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__396855;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1377 i32.infix +°:
fzT_1i32 fzC_1i32__1infix_wpO(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return (int32_t)((uint32_t)fzouter+(uint32_t)arg0);
}
// code for clazz#1380 i32.infix -°:
fzT_1i32 fzC_1i32__1infix_wmO(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return (int32_t)((uint32_t)fzouter-(uint32_t)arg0);
}
// code for clazz#1407 i32.one:
fzT_1i32 fzC_1i32__one()
{
  // instance does not escape, put it on stack
  fzT_1i32__one fzCur;

  start:
  {
    //    0: Const
    //    1: Current
    //    2: Assign to i32.one.result
    fzCur.fzF_0_result = 1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1409 i32.min:
fzT_1i32 fzC_1i32__min()
{
  // instance does not escape, put it on stack
  fzT_1i32__min fzCur;

  start:
  {
    //    0: Const
    //    1: Current
    //    2: Assign to i32.min.result
    fzCur.fzF_0_result = -2147483648;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1506 io:
void fzC_io()
{
  // instance may escape, so we need malloc here
  fzT_io* fzCur;
  fzCur = malloc(sizeof(fzT_io));

  start:
  {
  }
}
// code for clazz#1510 io.out:
fzT_io__3out fzC_io__3out(fzT_io_RcanPrint* arg0, fzT_effectMode__val arg1)
{
  // instance may escape, so we need malloc here
  fzT_io__3out* fzCur;
  fzCur = malloc(sizeof(fzT_io__3out));

  start:
  {
    fzCur->fzF_1_p = (fzT_io_RcanPrint*)arg0;
    fzCur->fzF_2_r = arg1;
    // unit type assignment to /* UNIT VALUE */
    //    0: Current
    //    1: Call to io.out.@467348
    // access to Call to io.out.@467348 eliminated
    //    2: Current
    //    3: Call to io.out.p
    //    4: Current
    //    5: Assign to io.out.p
    fzCur->fzF_1_p = (fzT_io_RcanPrint*)fzCur->fzF_1_p;
    //    6: Current
    //    7: Call to io.out.r
    //    8: Current
    //    9: Assign to io.out.r
    fzCur->fzF_2_r = fzCur->fzF_2_r;
    //   10: Current
    //   11: Call to io.out.r
    //   12: Current
    //   13: Assign to io.out.r
    fzCur->fzF_2_r = fzCur->fzF_2_r;
    //   14: Current
    //   15: Call to io.out.r
    //   16: Match
    switch (fzCur->fzF_2_r.fzTag)
    {
      case 3/* effectMode.default */:
      {
        //    0: Current
        //    1: Call to io.out.default
        fzC_io__3out__default((fzT_io__3out*)fzCur);
        break;
      }
    }
    return *fzCur;
  }
}
// code for clazz#1507 io.out:
fzT_io__3out fzC_io__out()
{
  // instance does not escape, put it on stack
  fzT_io__out fzCur;

  start:
  {
    //    0: Current
    //    1: Call to io.out.@466234
    // access to Call to io.out.@466234 eliminated
    //    2: Call to io.outs
    fzC_io__outs();
    //    3: Call to io.outs.installDefault
    fzC_io__outs__installDefault();
    //    4: Pop
    //    5: Env
    if (!fzThrd_effectsEnvironment->fzEnvInstalled_1510)
    {
      fprintf(stderr,"*** effect %s not present in current environment\012","io.out");
      exit(1);
    }
    //    6: Current
    //    7: Assign to io.out.result
    fzCur.fzF_0_result = fzThrd_effectsEnvironment->fzEnv_1510;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1516 io.defaultPrintToOut:
void fzC_io__defaultPrintToOut()
{
  // instance may escape, so we need malloc here
  fzT_io__defaultPrintToOut* fzCur;
  fzCur = malloc(sizeof(fzT_io__defaultPrintToOut));

  start:
  {
    //    0: Current
    //    1: Call to io.defaultPrintToOut.@482843
    // access to Call to io.defaultPrintToOut.@482843 eliminated
  }
}
// code for clazz#1519 io.ref defaultPrintToOut.print:
void fzC__L1519io_Rdefaul__t__1print(fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT__L1519io_Rdefaul__t__1print fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RObject*)arg0;
    //    0: Call to stdout
    fzC_stdout();
    //    1: Current
    //    2: Call to io.ref defaultPrintToOut.print.s
    //    3: Call to fuzion.std.out.print
    fzC_fuzion__std__out__1print((fzT__RObject*)fzCur.fzF_0_s);
    //    4: Current
    //    5: Assign to io.ref defaultPrintToOut.print.result
    // access to Assign to io.ref defaultPrintToOut.print.result eliminated
  }
}
// code for clazz#1522 io.outs:
void fzC_io__outs()
{
  // instance may escape, so we need malloc here
  fzT_io__outs* fzCur;
  fzCur = malloc(sizeof(fzT_io__outs));

  start:
  {
  }
}
// code for clazz#1524 io.outs.installDefault:
void fzC_io__outs__installDefault()
{
  // instance does not escape, put it on stack
  fzT_io__outs__installDefault fzCur;

  start:
  {
    //    0: Call to effects
    fzC_effects();
    //    1: Call to effects.exists<io.out>
    fzT_bool fzM_0;
    fzM_0 = fzC__L1104effects__e__o_o_out_g();
    //    2: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to io.outs.installDefault.@483924
        fzCur.fzF_2__U40__483924 = (fzT_bool){0};
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to io.outs.installDefault.@483924
        fzCur.fzF_2__U40__483924 = (fzT_bool){1};
        break;
      }
    }
    //    5: Current
    //    6: Call to io.outs.installDefault.@483924
    //    7: Match
    switch (fzCur.fzF_2__U40__483924.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to io.outs.installDefault.@483830
        // access to Call to io.outs.installDefault.@483830 eliminated
        //    2: Call to io.outs.@483249
        // access to Call to io.outs.@483249 eliminated
        //    3: Current
        //    4: Call to io.outs.installDefault.@483830
        // access to Call to io.outs.installDefault.@483830 eliminated
        //    5: Call to io.outs.@483249
        // access to Call to io.outs.@483249 eliminated
        //    6: Call to io.defaultPrintToOut
        fzC_io__defaultPrintToOut();
        //    7: Box io.defaultPrintToOut => io.ref defaultPrintToOut
        // Box io.defaultPrintToOut
        fzT_io_RdefaultPrintToOut* fzM_1;
        fzM_1 = malloc(sizeof(fzT_io_RdefaultPrintToOut));
        fzM_1->clazzId = 1515;
        // unit type assignment to fzM_1->fields
        //    8: Call to effectMode
        fzC_effectMode();
        //    9: Call to effectMode.default
        fzC_effectMode__default();
        //   10: Tag
        // Tag a value to be of choice type effectMode.val static value type effectMode.default
        fzT_effectMode__val fzM_2;
        fzM_2.fzTag = 3;
        // unit type assignment to fzM_2.fzChoice.v3
        //   11: Call to unit
        fzC_unit();
        //   12: Call to io.out
        fzT_io__3out fzM_3;
        fzM_3 = fzC_io__3out((fzT_io_RcanPrint*)fzM_1,fzM_2);
        //   13: Current
        //   14: Assign to -- no clazz --
        break;
      }
      case 0/* FALSE */:
      {
        break;
      }
    }
    //   10: Current
    //   11: Call to io.outs.installDefault.@483973
    // access to Call to io.outs.installDefault.@483973 eliminated
    //   12: Current
    //   13: Assign to io.outs.installDefault.result
    // access to Assign to io.outs.installDefault.result eliminated
  }
}
// code for clazz#1533 io.out.println:
void fzC_io__3out__1println(fzT_io__3out* fzouter, fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT_io__3out__1println fzCur;

  start:
  {
    fzCur.fzF_2__U40__485196 = fzouter;
    fzCur.fzF_0_s = (fzT__RObject*)arg0;
    //    0: Current
    //    1: Call to io.out.println.@485196
    //    2: Call to io.out.p
    //    3: Current
    //    4: Call to io.out.println.s
    //    5: Call to io.ref canPrint.println
    fzC__L1547io_Rdefaul___1println((fzT_io_RdefaultPrintToOut*)fzCur.fzF_2__U40__485196->fzF_1_p,(fzT__RObject*)fzCur.fzF_0_s);
    //    6: Pop
    //    7: Current
    //    8: Call to io.out.println.@485196
    //    9: Call to io.out.replace
    fzC_io__3out__replace((fzT_io__3out*)fzCur.fzF_2__U40__485196);
    //   10: Current
    //   11: Assign to io.out.println.result
    // access to Assign to io.out.println.result eliminated
  }
}
// code for clazz#1541 io.ref defaultPrintToOut.println:
void fzC__L1541io_Rdefaul____println(fzT_io_RdefaultPrintToOut* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1541io_Rdefaul____println fzCur;

  start:
  {
    fzCur.fzF_1__U40__485750 = (fzT_io_RdefaultPrintToOut*)fzouter;
    //    0: Current
    //    1: Call to io.ref defaultPrintToOut.println.@485750
    //    2: Const
    //    3: Call to codepoint
    fzP_1codepoint(10U);
    fzT_1codepoint fzM_0;
    fzM_0 = fzC_1codepoint(10U);
    //    4: Box codepoint => ref codepoint
    // Box codepoint
    fzT__R1codepoint* fzM_1;
    fzM_1 = malloc(sizeof(fzT__R1codepoint));
    fzM_1->clazzId = 981;
    fzM_1->fields = fzM_0;
    //    5: Call to io.ref defaultPrintToOut.print
    fzC__L1519io_Rdefaul__t__1print((fzT__RObject*)fzM_1);
    //    6: Current
    //    7: Assign to io.ref defaultPrintToOut.println.result
    // access to Assign to io.ref defaultPrintToOut.println.result eliminated
  }
}
// code for clazz#1547 io.ref defaultPrintToOut.println:
void fzC__L1547io_Rdefaul___1println(fzT_io_RdefaultPrintToOut* fzouter, fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT__L1547io_Rdefaul___1println fzCur;

  start:
  {
    fzCur.fzF_2__U40__486076 = (fzT_io_RdefaultPrintToOut*)fzouter;
    fzCur.fzF_0_s = (fzT__RObject*)arg0;
    //    0: Current
    //    1: Call to io.ref defaultPrintToOut.println.@486076
    //    2: Current
    //    3: Call to io.ref defaultPrintToOut.println.s
    //    4: Call to io.ref defaultPrintToOut.print
    fzC__L1519io_Rdefaul__t__1print((fzT__RObject*)fzCur.fzF_0_s);
    //    5: Pop
    //    6: Current
    //    7: Call to io.ref defaultPrintToOut.println.@486076
    //    8: Call to io.ref defaultPrintToOut.println
    fzC__L1541io_Rdefaul____println(fzCur.fzF_2__U40__486076);
    //    9: Current
    //   10: Assign to io.ref defaultPrintToOut.println.result
    // access to Assign to io.ref defaultPrintToOut.println.result eliminated
  }
}
// code for clazz#1611 ref list<u8>.asList:
fzT_list_l_u8_g fzC__Rlist_l_u8_g__asList(fzT__Rlist_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__Rlist_l_u8_g__asList fzCur;

  start:
  {
    fzCur.fzF_1__U40__500601 = (fzT__Rlist_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref list<u8>.asList.@500601
    //    2: Unbox
    //    3: Current
    //    4: Assign to ref list<u8>.asList.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__500601->fields;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1620 list<u8>.ref asStream:
fzT_list_l_u8_g_RasStream* fzC_list_l_u8_g_RasStream(fzT_list_l_u8_g* fzouter)
{
  // instance may escape, so we need malloc here
  fzT_list_l_u8_g_RasStream* fzCur;
  fzCur = malloc(sizeof(fzT_list_l_u8_g_RasStream));
  fzCur->clazzId = 1620;

  start:
  {
    fzCur->fields.fzF_0__U40__500779 = fzouter;
    //    0: Call to nil
    fzC_nil();
    //    1: Tag
    // Tag a value to be of choice type option<some<list<u8>>> static value type nil
    fzT__L2400option_l_s___l_u8_ggg fzM_0;
    fzM_0.fzTag = 1;
    // unit type assignment to fzM_0.fzChoice.v1
    //    2: Current
    //    3: Assign to list<u8>.asStream.asList0
    // access to Assign to list<u8>.asStream.asList0 eliminated
    //    4: Current
    //    5: Call to list<u8>.ref asStream.@500779
    //    6: Unbox
    //    7: Current
    //    8: Assign to list<u8>.asStream.cur
    fzCur->fields.fzF_1_cur = *fzCur->fields.fzF_0__U40__500779;
    return fzCur;
  }
}
// code for clazz#1668 list<u8>.ref asStream.next:
fzT_1u8 fzC_list_l_u8_g_RasStream__next(fzT_list_l_u8_g_RasStream* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g_RasStream__next fzCur;

  start:
  {
    fzCur.fzF_1__U40__501501 = (fzT_list_l_u8_g_RasStream*)fzouter;
    //    0: Current
    //    1: Call to list<u8>.ref asStream.next.@501501
    //    2: Call to list<u8>.ref asStream.cur
    //    3: Call to list<u8>.forceHead
    fzP_list_l_u8_g__forceHead((fzT_list_l_u8_g*)&fzCur.fzF_1__U40__501501->fields.fzF_1_cur);
    fzT_1u8 fzM_0;
    fzM_0 = fzC_list_l_u8_g__forceHead((fzT_list_l_u8_g*)&fzCur.fzF_1__U40__501501->fields.fzF_1_cur);
    //    4: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Assign to list<u8>.ref asStream.next.res
    fzCur.fzF_2_res = fzM_0;
    //    7: Current
    //    8: Call to list<u8>.ref asStream.next.@501501
    //    9: Call to list<u8>.ref asStream.cur
    //   10: Call to list<u8>.forceTail
    fzP_list_l_u8_g__forceTail((fzT_list_l_u8_g*)&fzCur.fzF_1__U40__501501->fields.fzF_1_cur);
    fzT_list_l_u8_g fzM_1;
    fzM_1 = fzC_list_l_u8_g__forceTail((fzT_list_l_u8_g*)&fzCur.fzF_1__U40__501501->fields.fzF_1_cur);
    //   11: Current
    //   12: Call to list<u8>.ref asStream.next.@501501
    //   13: Assign to list<u8>.asStream.cur
    fzCur.fzF_1__U40__501501->fields.fzF_1_cur = fzM_1;
    //   14: Current
    //   15: Call to list<u8>.ref asStream.next.res
    //   16: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //   17: Current
    //   18: Assign to list<u8>.ref asStream.next.result
    fzCur.fzF_0_result = fzCur.fzF_2_res;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1704 list<u8>.isEmpty:
fzT_bool fzC_list_l_u8_g__isEmpty(fzT_list_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__isEmpty fzCur;

  start:
  {
    fzCur.fzF_1__U40__501925 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.isEmpty.@501925
    //    2: Match
    fzT__RObject* fzM_0 = fzCur.fzF_1__U40__501925->fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Call to true
        fzT_bool fzM_1;
        fzM_1 = fzC_true();
        //    1: Current
        //    2: Assign to list<u8>.isEmpty.@501970
        fzCur.fzF_2__U40__501970 = fzM_1;
        break;
      }
      default:
      {
        //    0: Call to false
        fzT_bool fzM_2;
        fzM_2 = fzC_false();
        //    1: Current
        //    2: Assign to list<u8>.isEmpty.@501970
        fzCur.fzF_2__U40__501970 = fzM_2;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.isEmpty.@501970
    //    7: Current
    //    8: Assign to list<u8>.isEmpty.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__501970;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1726 list<u8>.count:
fzT_1i32 fzC_list_l_u8_g__count(fzT_list_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__count fzCur;

  start:
  {
    fzCur.fzF_1__U40__502225 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.count.@502225
    //    2: Const
    //    3: Call to list<u8>.count
    fzT_1i32 fzM_0;
    fzM_0 = fzC_list_l_u8_g__1count((fzT_list_l_u8_g*)fzCur.fzF_1__U40__502225,0);
    //    4: Current
    //    5: Assign to list<u8>.count.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1740 list<u8>.count:
fzT_1i32 fzC_list_l_u8_g__1count(fzT_list_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__1count fzCur;

  start:
  {
    fzCur.fzF_2__U40__502673 = fzouter;
    fzCur.fzF_0_n = arg0;
    //    0: Current
    //    1: Call to list<u8>.count.@502673
    //    2: Match
    fzT__RObject* fzM_0 = fzCur.fzF_2__U40__502673->fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Current
        //    1: Call to list<u8>.count.n
        //    2: Current
        //    3: Assign to list<u8>.count.@502768
        fzCur.fzF_4__U40__502768 = fzCur.fzF_0_n;
        break;
      }
      default:
      {
        fzCur.fzF_3_c = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzM_0;
        //    0: Current
        //    1: Call to list<u8>.count.c
        //    2: Call to ref Cons<u8, list<u8>>.tail
        // Dynamic access of ref Cons<u8, list<u8>>.tail
        fzT__RCons_l_u8_k_list_l_u8_gg* fzM_1 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_3_c;
        fzT_list_l_u8_g fzM_2;
        switch (fzM_1->clazzId)
        {
          case 916:
          {
            // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
            fzT_list_l_u8_g fzM_3;
            fzM_3 = fzC__L930_R4array_l__Cons__tail((fzT__R4array_l_u8_g_R1arrayCons*)fzM_1);
            fzM_2 = fzM_3;
            break;
          }
          case 2062:
          {
            // Call calls list<u8>.concat.ref @520727.tail target: list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_4;
            fzM_4 = fzC__L2104list_l_u8___727__tail((fzT__L2062list_l_u8___0__520727*)fzM_1);
            fzM_2 = fzM_4;
            break;
          }
          case 2065:
          {
            // Call calls ref list<u8>.concat.ref @520727.tail target: ref list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_5;
            fzM_5 = fzC__L2107_Rlist_l_u__727__tail((fzT__L2065_Rlist_l_u__0__520727*)fzM_1);
            fzM_2 = fzM_5;
            break;
          }
          default:
          {
            fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_1->clazzId,"ref Cons<u8, list<u8>>.tail","list<u8>.count");
            exit(1);
          }
        }
        //    3: Current
        //    4: Call to list<u8>.count.n
        //    5: Const
        //    6: Call to i32.infix +
        fzP_1i32__1infix_wp(fzCur.fzF_0_n,1);
        fzT_1i32 fzM_6;
        fzM_6 = fzC_1i32__1infix_wp(fzCur.fzF_0_n,1);
        //    7: Call to list<u8>.count
        // tail recursion with changed target
        fzouter = (fzT_list_l_u8_g*)fzH_heapClone(&fzM_2,sizeof fzM_2);
        arg0 = fzM_6;
        goto start;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.count.@502768
    //    7: Current
    //    8: Assign to list<u8>.count.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__502768;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1788 list<u8>.infix ++:
fzT_list_l_u8_g fzC_list_l_u8_g__1infix_wpp(fzT_list_l_u8_g* fzouter, fzT__RSequence_l_u8_g* arg0)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__1infix_wpp fzCur;

  start:
  {
    fzCur.fzF_2__U40__510138 = fzouter;
    fzCur.fzF_0_t = (fzT__RSequence_l_u8_g*)arg0;
    //    0: Current
    //    1: Call to list<u8>.infix ++.@510138
    //    2: Current
    //    3: Call to list<u8>.infix ++.t
    //    4: Call to ref Sequence<u8>.asList
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__Rlist_l_u8_g__asList((fzT__Rlist_l_u8_g*)fzCur.fzF_0_t);
    //    5: Call to list<u8>.concat
    fzT_list_l_u8_g fzM_1;
    fzM_1 = fzC_list_l_u8_g__1concat((fzT_list_l_u8_g*)fzCur.fzF_2__U40__510138,fzM_0);
    //    6: Current
    //    7: Assign to list<u8>.infix ++.result
    fzCur.fzF_1_result = fzM_1;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1791 ref list<u8>.infix ++:
fzT_list_l_u8_g fzC__Rlist_l_u8_g__1infix_wpp(fzT__Rlist_l_u8_g* fzouter, fzT__RSequence_l_u8_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__Rlist_l_u8_g__1infix_wpp fzCur;

  start:
  {
    fzCur.fzF_2__U40__510138 = (fzT__Rlist_l_u8_g*)fzouter;
    fzCur.fzF_0_t = (fzT__RSequence_l_u8_g*)arg0;
    //    0: Current
    //    1: Call to ref list<u8>.infix ++.@510138
    //    2: Current
    //    3: Call to ref list<u8>.infix ++.t
    //    4: Call to ref Sequence<u8>.asList
    // Dynamic access of ref Sequence<u8>.asList
    fzT__RSequence_l_u8_g* fzM_0 = (fzT__RSequence_l_u8_g*)fzCur.fzF_0_t;
    fzT_list_l_u8_g fzM_1;
    switch (fzM_0->clazzId)
    {
      case 830:
      {
        // Call calls ref array<u8>.asList target: ref array<u8>:
        fzT_list_l_u8_g fzM_2;
        fzM_2 = fzC__R4array_l_u8_g__asList((fzT__R4array_l_u8_g*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.asList target: ref conststring:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R1conststring__asList((fzT__R1conststring*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 1559:
      {
        // Call calls ref list<u8>.asList target: ref list<u8>:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__Rlist_l_u8_g__asList((fzT__Rlist_l_u8_g*)fzM_0);
        fzM_1 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Sequence<u8>.asList","ref list<u8>.infix ++");
        exit(1);
      }
    }
    //    5: Call to ref list<u8>.concat
    fzT_list_l_u8_g fzM_5;
    fzM_5 = fzC__Rlist_l_u8_g__1concat(fzCur.fzF_2__U40__510138,fzM_1);
    //    6: Current
    //    7: Assign to ref list<u8>.infix ++.result
    fzCur.fzF_1_result = fzM_5;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1978 list<u8>.forceHead:
fzT_1u8 fzC_list_l_u8_g__forceHead(fzT_list_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__forceHead fzCur;

  start:
  {
    fzCur.fzF_1__U40__516739 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.forceHead.@516739
    //    2: Match
    fzT__RObject* fzM_0 = fzCur.fzF_1__U40__516739->fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Call to fuzion
        fzC_fuzion();
        //    1: Call to fuzion.std
        fzC_fuzion__std();
        //    2: Const
        fzT__R1conststring* fzM_1;
        fzM_1 = malloc(sizeof(fzT__R1conststring));
        fzM_1->clazzId = 1018;
        fzM_1->fields.fzF_0_internalArray.fzF_1_data = (void *)"list.forceHead called on empty list";
        fzM_1->fields.fzF_0_internalArray.fzF_0_length = 35;
        //    3: Call to fuzion.std.panic
        fzC_fuzion__std__1panic((fzT__Rstring*)fzM_1);
        break;
      }
      default:
      {
        fzCur.fzF_2_c = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzM_0;
        //    0: Current
        //    1: Call to list<u8>.forceHead.c
        //    2: Call to ref Cons<u8, list<u8>>.head
        // Dynamic access of ref Cons<u8, list<u8>>.head
        fzT__RCons_l_u8_k_list_l_u8_gg* fzM_2 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_2_c;
        fzT_1u8 fzM_3;
        switch (fzM_2->clazzId)
        {
          case 916:
          {
            // Call calls ref array<u8>.ref arrayCons.head target: ref array<u8>.ref arrayCons:
            fzT_1u8 fzM_4;
            fzM_4 = fzC__L927_R4array_l__Cons__head((fzT__R4array_l_u8_g_R1arrayCons*)fzM_2);
            fzM_3 = fzM_4;
            break;
          }
          case 2062:
          {
            // Call calls list<u8>.concat.ref @520727.head target: list<u8>.concat.ref @520727:
            fzT_1u8 fzM_5;
            fzM_5 = fzC__L2086list_l_u8___727__head((fzT__L2062list_l_u8___0__520727*)fzM_2);
            fzM_3 = fzM_5;
            break;
          }
          case 2065:
          {
            // Call calls ref list<u8>.concat.ref @520727.head target: ref list<u8>.concat.ref @520727:
            fzT_1u8 fzM_6;
            fzM_6 = fzC__L2089_Rlist_l_u__727__head((fzT__L2065_Rlist_l_u__0__520727*)fzM_2);
            fzM_3 = fzM_6;
            break;
          }
          default:
          {
            fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_2->clazzId,"ref Cons<u8, list<u8>>.head","list<u8>.forceHead");
            exit(1);
          }
        }
        //    3: Box u8 => u8
        // Box is a NOP, clazz is already a ref
        //    4: Current
        //    5: Assign to list<u8>.forceHead.@516834
        fzCur.fzF_3__U40__516834 = fzM_3;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.forceHead.@516834
    //    7: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    8: Current
    //    9: Assign to list<u8>.forceHead.result
    fzCur.fzF_0_result = fzCur.fzF_3__U40__516834;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1978 precondition of list<u8>.forceHead:
void fzP_list_l_u8_g__forceHead(fzT_list_l_u8_g* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_list_l_u8_g__forceHead fzCur;

  start:
  {
    fzCur.fzF_1__U40__516739 = fzouter;
    fzCur.fzF_1__U40__516739 = fzouter;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to list<u8>.forceHead.@516739
        //    2: Call to list<u8>.isEmpty
        fzT_bool fzM_1;
        fzM_1 = fzC_list_l_u8_g__isEmpty((fzT_list_l_u8_g*)fzCur.fzF_1__U40__516739);
        //    3: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to list<u8>.forceHead.@516883
            fzCur.fzF_4__U40__516883 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to list<u8>.forceHead.@516883
            fzCur.fzF_4__U40__516883 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to list<u8>.forceHead.@516883
        // access to Assign to list<u8>.forceHead.@516883 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to list<u8>.forceHead.@516883
    if (!fzCur.fzF_4__U40__516883.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","list<u8>.forceHead");
      exit(1);
    }
  }
}
// code for clazz#2014 list<u8>.forceTail:
fzT_list_l_u8_g fzC_list_l_u8_g__forceTail(fzT_list_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__forceTail fzCur;

  start:
  {
    fzCur.fzF_1__U40__517527 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.forceTail.@517527
    //    2: Match
    fzT__RObject* fzM_0 = fzCur.fzF_1__U40__517527->fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Call to fuzion
        fzC_fuzion();
        //    1: Call to fuzion.std
        fzC_fuzion__std();
        //    2: Const
        fzT__R1conststring* fzM_1;
        fzM_1 = malloc(sizeof(fzT__R1conststring));
        fzM_1->clazzId = 1018;
        fzM_1->fields.fzF_0_internalArray.fzF_1_data = (void *)"list.forceTail called on empty list";
        fzM_1->fields.fzF_0_internalArray.fzF_0_length = 35;
        //    3: Call to fuzion.std.panic
        fzC_fuzion__std__1panic((fzT__Rstring*)fzM_1);
        break;
      }
      default:
      {
        fzCur.fzF_2_c = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzM_0;
        //    0: Current
        //    1: Call to list<u8>.forceTail.c
        //    2: Call to ref Cons<u8, list<u8>>.tail
        // Dynamic access of ref Cons<u8, list<u8>>.tail
        fzT__RCons_l_u8_k_list_l_u8_gg* fzM_2 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_2_c;
        fzT_list_l_u8_g fzM_3;
        switch (fzM_2->clazzId)
        {
          case 916:
          {
            // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
            fzT_list_l_u8_g fzM_4;
            fzM_4 = fzC__L930_R4array_l__Cons__tail((fzT__R4array_l_u8_g_R1arrayCons*)fzM_2);
            fzM_3 = fzM_4;
            break;
          }
          case 2062:
          {
            // Call calls list<u8>.concat.ref @520727.tail target: list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_5;
            fzM_5 = fzC__L2104list_l_u8___727__tail((fzT__L2062list_l_u8___0__520727*)fzM_2);
            fzM_3 = fzM_5;
            break;
          }
          case 2065:
          {
            // Call calls ref list<u8>.concat.ref @520727.tail target: ref list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_6;
            fzM_6 = fzC__L2107_Rlist_l_u__727__tail((fzT__L2065_Rlist_l_u__0__520727*)fzM_2);
            fzM_3 = fzM_6;
            break;
          }
          default:
          {
            fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_2->clazzId,"ref Cons<u8, list<u8>>.tail","list<u8>.forceTail");
            exit(1);
          }
        }
        //    3: Current
        //    4: Assign to list<u8>.forceTail.@517622
        fzCur.fzF_3__U40__517622 = fzM_3;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.forceTail.@517622
    //    7: Current
    //    8: Assign to list<u8>.forceTail.result
    fzCur.fzF_0_result = fzCur.fzF_3__U40__517622;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2014 precondition of list<u8>.forceTail:
void fzP_list_l_u8_g__forceTail(fzT_list_l_u8_g* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_list_l_u8_g__forceTail fzCur;

  start:
  {
    fzCur.fzF_1__U40__517527 = fzouter;
    fzCur.fzF_1__U40__517527 = fzouter;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to list<u8>.forceTail.@517527
        //    2: Call to list<u8>.isEmpty
        fzT_bool fzM_1;
        fzM_1 = fzC_list_l_u8_g__isEmpty((fzT_list_l_u8_g*)fzCur.fzF_1__U40__517527);
        //    3: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to list<u8>.forceTail.@517671
            fzCur.fzF_4__U40__517671 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to list<u8>.forceTail.@517671
            fzCur.fzF_4__U40__517671 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to list<u8>.forceTail.@517671
        // access to Assign to list<u8>.forceTail.@517671 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to list<u8>.forceTail.@517671
    if (!fzCur.fzF_4__U40__517671.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","list<u8>.forceTail");
      exit(1);
    }
  }
}
// code for clazz#2032 list<u8>.concat:
fzT_list_l_u8_g fzC_list_l_u8_g__1concat(fzT_list_l_u8_g* fzouter, fzT_list_l_u8_g arg0)
{
  // instance may escape, so we need malloc here
  fzT_list_l_u8_g__1concat* fzCur;
  fzCur = malloc(sizeof(fzT_list_l_u8_g__1concat));

  start:
  {
    fzCur->fzF_2__U40__520532 = fzouter;
    fzCur->fzF_0_t = arg0;
    //    0: Current
    //    1: Call to list<u8>.concat.@520532
    //    2: Match
    fzT__RObject* fzM_0 = fzCur->fzF_2__U40__520532->fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Current
        //    1: Call to list<u8>.concat.t
        //    2: Current
        //    3: Assign to list<u8>.concat.@521440
        fzCur->fzF_4__U40__521440 = fzCur->fzF_0_t;
        break;
      }
      default:
      {
        fzCur->fzF_3_c = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzM_0;
        //    0: Current
        //    1: Call to list<u8>.concat.t
        //    2: Match
        fzT__RObject* fzM_1 = fzCur->fzF_0_t.fzChoice.vref;
        switch ((int64_t)fzM_1)
        {
          case 0/* nil */:
          {
            //    0: Current
            //    1: Call to list<u8>.concat.@520532
            //    2: Unbox
            //    3: Current
            //    4: Assign to list<u8>.concat.@521440
            fzCur->fzF_4__U40__521440 = *fzCur->fzF_2__U40__520532;
            break;
          }
          default:
          {
            //    0: Current
            //    1: Call to list<u8>.concat.ref @520727
            fzT__L2062list_l_u8___0__520727* fzM_2;
            fzM_2 = fzC__L2062list_l_u8___0__520727((fzT_list_l_u8_g__1concat*)fzCur);
            //    2: Tag
            // Tag a value to be of choice type list<u8> static value type list<u8>.concat.ref @520727
            fzT_list_l_u8_g fzM_3;
            fzM_3.fzChoice.vref = (fzT__RObject*)fzM_2;
            //    3: Current
            //    4: Assign to list<u8>.concat.@521440
            fzCur->fzF_4__U40__521440 = fzM_3;
            break;
          }
        }
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.concat.@521440
    //    7: Current
    //    8: Assign to list<u8>.concat.result
    fzCur->fzF_1_result = fzCur->fzF_4__U40__521440;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2035 ref list<u8>.concat:
fzT_list_l_u8_g fzC__Rlist_l_u8_g__1concat(fzT__Rlist_l_u8_g* fzouter, fzT_list_l_u8_g arg0)
{
  // instance may escape, so we need malloc here
  fzT__Rlist_l_u8_g__1concat* fzCur;
  fzCur = malloc(sizeof(fzT__Rlist_l_u8_g__1concat));

  start:
  {
    fzCur->fzF_2__U40__520532 = (fzT__Rlist_l_u8_g*)fzouter;
    fzCur->fzF_0_t = arg0;
    //    0: Current
    //    1: Call to ref list<u8>.concat.@520532
    //    2: Match
    fzT__RObject* fzM_0 = fzCur->fzF_2__U40__520532->fields.fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Current
        //    1: Call to ref list<u8>.concat.t
        //    2: Current
        //    3: Assign to ref list<u8>.concat.@521440
        fzCur->fzF_4__U40__521440 = fzCur->fzF_0_t;
        break;
      }
      default:
      {
        fzCur->fzF_3_c = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzM_0;
        //    0: Current
        //    1: Call to ref list<u8>.concat.t
        //    2: Match
        fzT__RObject* fzM_1 = fzCur->fzF_0_t.fzChoice.vref;
        switch ((int64_t)fzM_1)
        {
          case 0/* nil */:
          {
            //    0: Current
            //    1: Call to ref list<u8>.concat.@520532
            //    2: Unbox
            //    3: Current
            //    4: Assign to ref list<u8>.concat.@521440
            fzCur->fzF_4__U40__521440 = fzCur->fzF_2__U40__520532->fields;
            break;
          }
          default:
          {
            //    0: Current
            //    1: Call to ref list<u8>.concat.ref @520727
            fzT__L2065_Rlist_l_u__0__520727* fzM_2;
            fzM_2 = fzC__L2065_Rlist_l_u__0__520727((fzT__Rlist_l_u8_g__1concat*)fzCur);
            //    2: Tag
            // Tag a value to be of choice type list<u8> static value type ref list<u8>.concat.ref @520727
            fzT_list_l_u8_g fzM_3;
            fzM_3.fzChoice.vref = (fzT__RObject*)fzM_2;
            //    3: Current
            //    4: Assign to ref list<u8>.concat.@521440
            fzCur->fzF_4__U40__521440 = fzM_3;
            break;
          }
        }
        break;
      }
    }
    //    5: Current
    //    6: Call to ref list<u8>.concat.@521440
    //    7: Current
    //    8: Assign to ref list<u8>.concat.result
    fzCur->fzF_1_result = fzCur->fzF_4__U40__521440;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2062 list<u8>.concat.ref @520727:
fzT__L2062list_l_u8___0__520727* fzC__L2062list_l_u8___0__520727(fzT_list_l_u8_g__1concat* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2062list_l_u8___0__520727* fzCur;
  fzCur = malloc(sizeof(fzT__L2062list_l_u8___0__520727));
  fzCur->clazzId = 2062;

  start:
  {
    fzCur->fields.fzF_0__U40__520809 = fzouter;
    return fzCur;
  }
}
// code for clazz#2065 ref list<u8>.concat.ref @520727:
fzT__L2065_Rlist_l_u__0__520727* fzC__L2065_Rlist_l_u__0__520727(fzT__Rlist_l_u8_g__1concat* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2065_Rlist_l_u__0__520727* fzCur;
  fzCur = malloc(sizeof(fzT__L2065_Rlist_l_u__0__520727));
  fzCur->clazzId = 2065;

  start:
  {
    fzCur->fields.fzF_0__U40__520809 = fzouter;
    return fzCur;
  }
}
// code for clazz#2086 list<u8>.concat.ref @520727.head:
fzT_1u8 fzC__L2086list_l_u8___727__head(fzT__L2062list_l_u8___0__520727* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2086list_l_u8___727__head fzCur;

  start:
  {
    fzCur.fzF_1__U40__521065 = (fzT__L2062list_l_u8___0__520727*)fzouter;
    //    0: Current
    //    1: Call to list<u8>.concat.ref @520727.head.@521065
    //    2: Call to list<u8>.concat.ref @520727.@520809
    //    3: Call to list<u8>.concat.c
    //    4: Call to ref Cons<u8, list<u8>>.head
    // Dynamic access of ref Cons<u8, list<u8>>.head
    fzT__RCons_l_u8_k_list_l_u8_gg* fzM_0 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_1__U40__521065->fields.fzF_0__U40__520809->fzF_3_c;
    fzT_1u8 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 916:
      {
        // Call calls ref array<u8>.ref arrayCons.head target: ref array<u8>.ref arrayCons:
        fzT_1u8 fzM_2;
        fzM_2 = fzC__L927_R4array_l__Cons__head((fzT__R4array_l_u8_g_R1arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2062:
      {
        // Call calls list<u8>.concat.ref @520727.head target: list<u8>.concat.ref @520727:
        fzT_1u8 fzM_3;
        fzM_3 = fzC__L2086list_l_u8___727__head((fzT__L2062list_l_u8___0__520727*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2065:
      {
        // Call calls ref list<u8>.concat.ref @520727.head target: ref list<u8>.concat.ref @520727:
        fzT_1u8 fzM_4;
        fzM_4 = fzC__L2089_Rlist_l_u__727__head((fzT__L2065_Rlist_l_u__0__520727*)fzM_0);
        fzM_1 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Cons<u8, list<u8>>.head","list<u8>.concat.ref @520727.head");
        exit(1);
      }
    }
    //    5: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    6: Current
    //    7: Assign to list<u8>.concat.ref @520727.head.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2089 ref list<u8>.concat.ref @520727.head:
fzT_1u8 fzC__L2089_Rlist_l_u__727__head(fzT__L2065_Rlist_l_u__0__520727* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2089_Rlist_l_u__727__head fzCur;

  start:
  {
    fzCur.fzF_1__U40__521065 = (fzT__L2065_Rlist_l_u__0__520727*)fzouter;
    //    0: Current
    //    1: Call to ref list<u8>.concat.ref @520727.head.@521065
    //    2: Call to ref list<u8>.concat.ref @520727.@520809
    //    3: Call to ref list<u8>.concat.c
    //    4: Call to ref Cons<u8, list<u8>>.head
    // Dynamic access of ref Cons<u8, list<u8>>.head
    fzT__RCons_l_u8_k_list_l_u8_gg* fzM_0 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_1__U40__521065->fields.fzF_0__U40__520809->fzF_3_c;
    fzT_1u8 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 916:
      {
        // Call calls ref array<u8>.ref arrayCons.head target: ref array<u8>.ref arrayCons:
        fzT_1u8 fzM_2;
        fzM_2 = fzC__L927_R4array_l__Cons__head((fzT__R4array_l_u8_g_R1arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2062:
      {
        // Call calls list<u8>.concat.ref @520727.head target: list<u8>.concat.ref @520727:
        fzT_1u8 fzM_3;
        fzM_3 = fzC__L2086list_l_u8___727__head((fzT__L2062list_l_u8___0__520727*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2065:
      {
        // Call calls ref list<u8>.concat.ref @520727.head target: ref list<u8>.concat.ref @520727:
        fzT_1u8 fzM_4;
        fzM_4 = fzC__L2089_Rlist_l_u__727__head((fzT__L2065_Rlist_l_u__0__520727*)fzM_0);
        fzM_1 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Cons<u8, list<u8>>.head","ref list<u8>.concat.ref @520727.head");
        exit(1);
      }
    }
    //    5: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    6: Current
    //    7: Assign to ref list<u8>.concat.ref @520727.head.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2104 list<u8>.concat.ref @520727.tail:
fzT_list_l_u8_g fzC__L2104list_l_u8___727__tail(fzT__L2062list_l_u8___0__520727* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2104list_l_u8___727__tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__521391 = (fzT__L2062list_l_u8___0__520727*)fzouter;
    //    0: Current
    //    1: Call to list<u8>.concat.ref @520727.tail.@521391
    //    2: Call to list<u8>.concat.ref @520727.@520809
    //    3: Call to list<u8>.concat.c
    //    4: Call to ref Cons<u8, list<u8>>.tail
    // Dynamic access of ref Cons<u8, list<u8>>.tail
    fzT__RCons_l_u8_k_list_l_u8_gg* fzM_0 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_1__U40__521391->fields.fzF_0__U40__520809->fzF_3_c;
    fzT_list_l_u8_g fzM_1;
    switch (fzM_0->clazzId)
    {
      case 916:
      {
        // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
        fzT_list_l_u8_g fzM_2;
        fzM_2 = fzC__L930_R4array_l__Cons__tail((fzT__R4array_l_u8_g_R1arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2062:
      {
        // Call calls list<u8>.concat.ref @520727.tail target: list<u8>.concat.ref @520727:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__L2104list_l_u8___727__tail((fzT__L2062list_l_u8___0__520727*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2065:
      {
        // Call calls ref list<u8>.concat.ref @520727.tail target: ref list<u8>.concat.ref @520727:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__L2107_Rlist_l_u__727__tail((fzT__L2065_Rlist_l_u__0__520727*)fzM_0);
        fzM_1 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Cons<u8, list<u8>>.tail","list<u8>.concat.ref @520727.tail");
        exit(1);
      }
    }
    //    5: Current
    //    6: Call to list<u8>.concat.ref @520727.tail.@521391
    //    7: Call to list<u8>.concat.ref @520727.@520809
    //    8: Call to list<u8>.concat.t
    //    9: Call to list<u8>.concat
    fzT_list_l_u8_g fzM_5;
    fzM_5 = fzC_list_l_u8_g__1concat((fzT_list_l_u8_g*)fzH_heapClone(&fzM_1,sizeof fzM_1),fzCur.fzF_1__U40__521391->fields.fzF_0__U40__520809->fzF_0_t);
    //   10: Current
    //   11: Assign to list<u8>.concat.ref @520727.tail.result
    fzCur.fzF_0_result = fzM_5;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2107 ref list<u8>.concat.ref @520727.tail:
fzT_list_l_u8_g fzC__L2107_Rlist_l_u__727__tail(fzT__L2065_Rlist_l_u__0__520727* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2107_Rlist_l_u__727__tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__521391 = (fzT__L2065_Rlist_l_u__0__520727*)fzouter;
    //    0: Current
    //    1: Call to ref list<u8>.concat.ref @520727.tail.@521391
    //    2: Call to ref list<u8>.concat.ref @520727.@520809
    //    3: Call to ref list<u8>.concat.c
    //    4: Call to ref Cons<u8, list<u8>>.tail
    // Dynamic access of ref Cons<u8, list<u8>>.tail
    fzT__RCons_l_u8_k_list_l_u8_gg* fzM_0 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_1__U40__521391->fields.fzF_0__U40__520809->fzF_3_c;
    fzT_list_l_u8_g fzM_1;
    switch (fzM_0->clazzId)
    {
      case 916:
      {
        // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
        fzT_list_l_u8_g fzM_2;
        fzM_2 = fzC__L930_R4array_l__Cons__tail((fzT__R4array_l_u8_g_R1arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2062:
      {
        // Call calls list<u8>.concat.ref @520727.tail target: list<u8>.concat.ref @520727:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__L2104list_l_u8___727__tail((fzT__L2062list_l_u8___0__520727*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2065:
      {
        // Call calls ref list<u8>.concat.ref @520727.tail target: ref list<u8>.concat.ref @520727:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__L2107_Rlist_l_u__727__tail((fzT__L2065_Rlist_l_u__0__520727*)fzM_0);
        fzM_1 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Cons<u8, list<u8>>.tail","ref list<u8>.concat.ref @520727.tail");
        exit(1);
      }
    }
    //    5: Current
    //    6: Call to ref list<u8>.concat.ref @520727.tail.@521391
    //    7: Call to ref list<u8>.concat.ref @520727.@520809
    //    8: Call to ref list<u8>.concat.t
    //    9: Call to list<u8>.concat
    fzT_list_l_u8_g fzM_5;
    fzM_5 = fzC_list_l_u8_g__1concat((fzT_list_l_u8_g*)fzH_heapClone(&fzM_1,sizeof fzM_1),fzCur.fzF_1__U40__521391->fields.fzF_0__U40__520809->fzF_0_t);
    //   10: Current
    //   11: Assign to ref list<u8>.concat.ref @520727.tail.result
    fzCur.fzF_0_result = fzM_5;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2257 numOption<i32>.val:
fzT_1i32 fzC_numOption_l_i32_g__val(fzT_numOption_l_i32_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_numOption_l_i32_g__val fzCur;

  start:
  {
    fzCur.fzF_1__U40__562478 = fzouter;
    //    0: Current
    //    1: Call to numOption<i32>.val.@562478
    //    2: Match
    switch (fzCur.fzF_1__U40__562478->fzTag)
    {
      case 0/* i32 */:
      {
        fzCur.fzF_2_v = fzCur.fzF_1__U40__562478->fzChoice.v0;
        //    0: Current
        //    1: Call to numOption<i32>.val.v
        //    2: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    3: Current
        //    4: Assign to numOption<i32>.val.@562573
        fzCur.fzF_3__U40__562573 = fzCur.fzF_2_v;
        break;
      }
      case 1/* nil */:
      {
        //    0: Call to fuzion
        fzC_fuzion();
        //    1: Call to fuzion.std
        fzC_fuzion__std();
        //    2: Const
        fzT__R1conststring* fzM_0;
        fzM_0 = malloc(sizeof(fzT__R1conststring));
        fzM_0->clazzId = 1018;
        fzM_0->fields.fzF_0_internalArray.fzF_1_data = (void *)"numOption.val called on nil";
        fzM_0->fields.fzF_0_internalArray.fzF_0_length = 27;
        //    3: Call to fuzion.std.panic
        fzC_fuzion__std__1panic((fzT__Rstring*)fzM_0);
        break;
      }
    }
    //    5: Current
    //    6: Call to numOption<i32>.val.@562573
    //    7: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    8: Current
    //    9: Assign to numOption<i32>.val.result
    fzCur.fzF_0_result = fzCur.fzF_3__U40__562573;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2257 precondition of numOption<i32>.val:
void fzP_numOption_l_i32_g__val(fzT_numOption_l_i32_g* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_numOption_l_i32_g__val fzCur;

  start:
  {
    fzCur.fzF_1__U40__562478 = fzouter;
    fzCur.fzF_1__U40__562478 = fzouter;
    //    0: Call to safety
    fzT_bool fzM_0;
    fzM_0 = fzC_safety();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to numOption<i32>.val.@562478
        //    2: Call to numOption<i32>.postfix ??
        fzT_bool fzM_1;
        fzM_1 = fzC__L2277numOption___stfix_wQQ((fzT_numOption_l_i32_g*)fzCur.fzF_1__U40__562478);
        //    3: Current
        //    4: Assign to numOption<i32>.val.@562622
        fzCur.fzF_4__U40__562622 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to numOption<i32>.val.@562622
        // access to Assign to numOption<i32>.val.@562622 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to numOption<i32>.val.@562622
    if (!fzCur.fzF_4__U40__562622.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","numOption<i32>.val");
      exit(1);
    }
  }
}
// code for clazz#2263 numOption<i32>.exists:
fzT_bool fzC_numOption_l_i32_g__exists(fzT_numOption_l_i32_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_numOption_l_i32_g__exists fzCur;

  start:
  {
    fzCur.fzF_1__U40__562937 = fzouter;
    //    0: Current
    //    1: Call to numOption<i32>.exists.@562937
    //    2: Match
    switch (fzCur.fzF_1__U40__562937->fzTag)
    {
      case 0/* i32 */:
      {
        //    0: Call to true
        fzT_bool fzM_0;
        fzM_0 = fzC_true();
        //    1: Current
        //    2: Assign to numOption<i32>.exists.@562982
        fzCur.fzF_2__U40__562982 = fzM_0;
        break;
      }
      case 1/* nil */:
      {
        //    0: Call to false
        fzT_bool fzM_1;
        fzM_1 = fzC_false();
        //    1: Current
        //    2: Assign to numOption<i32>.exists.@562982
        fzCur.fzF_2__U40__562982 = fzM_1;
        break;
      }
    }
    //    5: Current
    //    6: Call to numOption<i32>.exists.@562982
    //    7: Current
    //    8: Assign to numOption<i32>.exists.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__562982;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2267 numOption<i32>.infix >>=:
fzT_numOption_l_i32_g fzC__L2267numOption___nfix_wgge(fzT_numOption_l_i32_g* fzouter, fzT__L20_RFunction__32_gk_i32_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__L2267numOption___nfix_wgge fzCur;

  start:
  {
    fzCur.fzF_2__U40__563317 = fzouter;
    fzCur.fzF_0_f = (fzT__L20_RFunction__32_gk_i32_g*)arg0;
    //    0: Current
    //    1: Call to numOption<i32>.infix >>=.@563317
    //    2: Current
    //    3: Call to numOption<i32>.infix >>=.f
    //    4: Call to numOption<i32>.bind<i32>
    fzT_numOption_l_i32_g fzM_0;
    fzM_0 = fzC__L2271numOption___d_l_i32_g((fzT_numOption_l_i32_g*)fzCur.fzF_2__U40__563317,(fzT__L20_RFunction__32_gk_i32_g*)fzCur.fzF_0_f);
    //    5: Current
    //    6: Assign to numOption<i32>.infix >>=.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2271 numOption<i32>.bind<i32>:
fzT_numOption_l_i32_g fzC__L2271numOption___d_l_i32_g(fzT_numOption_l_i32_g* fzouter, fzT__L20_RFunction__32_gk_i32_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__L2271numOption___d_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_2__U40__563872 = fzouter;
    fzCur.fzF_0_f = (fzT__L20_RFunction__32_gk_i32_g*)arg0;
    //    0: Current
    //    1: Call to numOption<i32>.bind<i32>.@563872
    //    2: Match
    switch (fzCur.fzF_2__U40__563872->fzTag)
    {
      case 0/* i32 */:
      {
        fzCur.fzF_3_v = fzCur.fzF_2__U40__563872->fzChoice.v0;
        //    0: Current
        //    1: Call to numOption<i32>.bind<i32>.f
        //    2: Current
        //    3: Call to numOption<i32>.bind<i32>.v
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Call to ref Function<numOption<i32>, i32>.call
        // Dynamic access of ref Function<numOption<i32>, i32>.call
        fzT__L20_RFunction__32_gk_i32_g* fzM_0 = (fzT__L20_RFunction__32_gk_i32_g*)fzCur.fzF_0_f;
        fzT_numOption_l_i32_g fzM_1;
        switch (fzM_0->clazzId)
        {
          case 2284:
          {
            // Call calls numOption<i32>.infix +?.ref @568736.call target: numOption<i32>.infix +?.ref @568736:
            fzT_numOption_l_i32_g fzM_2;
            fzM_2 = fzC__L2288numOption___36__1call((fzT__L2284numOption___0__568736*)fzM_0,fzCur.fzF_3_v);
            fzM_1 = fzM_2;
            break;
          }
          case 2292:
          {
            // Call calls numOption<i32>.infix +?.ref @568736.call.ref @569212.call target: numOption<i32>.infix +?.ref @568736.call.ref @569212:
            fzT_numOption_l_i32_g fzM_3;
            fzM_3 = fzC__L2296numOption___12__1call((fzT__L2292numOption___0__569212*)fzM_0,fzCur.fzF_3_v);
            fzM_1 = fzM_3;
            break;
          }
          default:
          {
            fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Function<numOption<i32>, i32>.call","numOption<i32>.bind<i32>");
            exit(1);
          }
        }
        //    6: Current
        //    7: Assign to numOption<i32>.bind<i32>.@563967
        fzCur.fzF_4__U40__563967 = fzM_1;
        break;
      }
      case 1/* nil */:
      {
        //    0: Call to nil
        fzC_nil();
        //    1: Tag
        // Tag a value to be of choice type numOption<i32> static value type nil
        fzT_numOption_l_i32_g fzM_4;
        fzM_4.fzTag = 1;
        // unit type assignment to fzM_4.fzChoice.v1
        //    2: Current
        //    3: Assign to numOption<i32>.bind<i32>.@563967
        fzCur.fzF_4__U40__563967 = fzM_4;
        break;
      }
    }
    //    5: Current
    //    6: Call to numOption<i32>.bind<i32>.@563967
    //    7: Current
    //    8: Assign to numOption<i32>.bind<i32>.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__563967;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2277 numOption<i32>.postfix ??:
fzT_bool fzC__L2277numOption___stfix_wQQ(fzT_numOption_l_i32_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2277numOption___stfix_wQQ fzCur;

  start:
  {
    fzCur.fzF_1__U40__565893 = fzouter;
    //    0: Current
    //    1: Call to numOption<i32>.postfix ??.@565893
    //    2: Call to numOption<i32>.exists
    fzT_bool fzM_0;
    fzM_0 = fzC_numOption_l_i32_g__exists((fzT_numOption_l_i32_g*)fzCur.fzF_1__U40__565893);
    //    3: Current
    //    4: Assign to numOption<i32>.postfix ??.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2280 numOption<i32>.infix +?:
fzT_numOption_l_i32_g fzC__L2280numOption___infix_wpQ(fzT_numOption_l_i32_g* fzouter, fzT_numOption_l_i32_g arg0)
{
  // instance may escape, so we need malloc here
  fzT__L2280numOption___infix_wpQ* fzCur;
  fzCur = malloc(sizeof(fzT__L2280numOption___infix_wpQ));

  start:
  {
    fzCur->fzF_2__U40__568691 = fzouter;
    fzCur->fzF_0_other = arg0;
    //    0: Current
    //    1: Call to numOption<i32>.infix +?.@568691
    //    2: Current
    //    3: Call to numOption<i32>.infix +?.ref @568736
    fzT__L2284numOption___0__568736* fzM_0;
    fzM_0 = fzC__L2284numOption___0__568736((fzT__L2280numOption___infix_wpQ*)fzCur);
    //    4: Call to numOption<i32>.infix >>=
    fzT_numOption_l_i32_g fzM_1;
    fzM_1 = fzC__L2267numOption___nfix_wgge((fzT_numOption_l_i32_g*)fzCur->fzF_2__U40__568691,(fzT__L20_RFunction__32_gk_i32_g*)fzM_0);
    //    5: Current
    //    6: Assign to numOption<i32>.infix +?.result
    fzCur->fzF_1_result = fzM_1;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2284 numOption<i32>.infix +?.ref @568736:
fzT__L2284numOption___0__568736* fzC__L2284numOption___0__568736(fzT__L2280numOption___infix_wpQ* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2284numOption___0__568736* fzCur;
  fzCur = malloc(sizeof(fzT__L2284numOption___0__568736));
  fzCur->clazzId = 2284;

  start:
  {
    fzCur->fields.fzF_0__U40__568822 = fzouter;
    return fzCur;
  }
}
// code for clazz#2288 numOption<i32>.infix +?.ref @568736.call:
fzT_numOption_l_i32_g fzC__L2288numOption___36__1call(fzT__L2284numOption___0__568736* fzouter, fzT_1i32 arg0)
{
  // instance may escape, so we need malloc here
  fzT__L2288numOption___36__1call* fzCur;
  fzCur = malloc(sizeof(fzT__L2288numOption___36__1call));

  start:
  {
    fzCur->fzF_2__U40__569163 = (fzT__L2284numOption___0__568736*)fzouter;
    fzCur->fzF_0_v = arg0;
    //    0: Current
    //    1: Call to numOption<i32>.infix +?.ref @568736.call.@569163
    //    2: Call to numOption<i32>.infix +?.ref @568736.@568822
    //    3: Call to numOption<i32>.infix +?.other
    //    4: Current
    //    5: Call to numOption<i32>.infix +?.ref @568736.call.ref @569212
    fzT__L2292numOption___0__569212* fzM_0;
    fzM_0 = fzC__L2292numOption___0__569212((fzT__L2288numOption___36__1call*)fzCur);
    //    6: Call to numOption<i32>.infix >>=
    fzT_numOption_l_i32_g fzM_1;
    fzM_1 = fzC__L2267numOption___nfix_wgge((fzT_numOption_l_i32_g*)&fzCur->fzF_2__U40__569163->fields.fzF_0__U40__568822->fzF_0_other,(fzT__L20_RFunction__32_gk_i32_g*)fzM_0);
    //    7: Current
    //    8: Assign to numOption<i32>.infix +?.ref @568736.call.result
    fzCur->fzF_1_result = fzM_1;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2292 numOption<i32>.infix +?.ref @568736.call.ref @569212:
fzT__L2292numOption___0__569212* fzC__L2292numOption___0__569212(fzT__L2288numOption___36__1call* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2292numOption___0__569212* fzCur;
  fzCur = malloc(sizeof(fzT__L2292numOption___0__569212));
  fzCur->clazzId = 2292;

  start:
  {
    fzCur->fields.fzF_0__U40__569298 = fzouter;
    return fzCur;
  }
}
// code for clazz#2296 numOption<i32>.infix +?.ref @568736.call.ref @569212.call:
fzT_numOption_l_i32_g fzC__L2296numOption___12__1call(fzT__L2292numOption___0__569212* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L2296numOption___12__1call fzCur;

  start:
  {
    fzCur.fzF_2__U40__569622 = (fzT__L2292numOption___0__569212*)fzouter;
    fzCur.fzF_0_w = arg0;
    //    0: Current
    //    1: Call to numOption<i32>.infix +?.ref @568736.call.ref @569212.call.@569622
    //    2: Call to numOption<i32>.infix +?.ref @568736.call.ref @569212.@569298
    //    3: Call to numOption<i32>.infix +?.ref @568736.call.v
    //    4: Current
    //    5: Call to numOption<i32>.infix +?.ref @568736.call.ref @569212.call.w
    //    6: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    7: Call to i32.infix +?
    fzT_numOption_l_i32_g fzM_0;
    fzM_0 = fzC_1i32__1infix_wpQ(fzCur.fzF_2__U40__569622->fields.fzF_0__U40__569298->fzF_0_v,fzCur.fzF_0_w);
    //    8: Current
    //    9: Assign to numOption<i32>.infix +?.ref @568736.call.ref @569212.call.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2300 numOption<i32>:
fzT_numOption_l_i32_g fzC_1numOption_l_i32_g(fzT_numOption_l_i32_g arg0)
{
  // instance does not escape, put it on stack
  fzT_1numOption_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_0_o = arg0;
    //    0: Current
    //    1: Call to numOption<i32>.o
    //    2: Current
    //    3: Assign to numOption<i32>.result
    fzCur.fzF_1_result = fzCur.fzF_0_o;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2463 safety:
fzT_bool fzC_safety()
{
  return (fzT_bool){1};
}
// code for clazz#2464 say:
void fzC_1say(fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT_1say fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RObject*)arg0;
    //    0: Call to io
    fzC_io();
    //    1: Call to io.out
    fzT_io__3out fzM_0;
    fzM_0 = fzC_io__out();
    //    2: Current
    //    3: Call to say.s
    //    4: Call to io.out.println
    fzC_io__3out__1println((fzT_io__3out*)fzH_heapClone(&fzM_0,sizeof fzM_0),(fzT__RObject*)fzCur.fzF_0_s);
    //    5: Current
    //    6: Assign to say.result
    // access to Assign to say.result eliminated
  }
}
// code for clazz#2473 stdout:
void fzC_stdout()
{
  // instance does not escape, put it on stack
  fzT_stdout fzCur;

  start:
  {
    //    0: Call to fuzion
    fzC_fuzion();
    //    1: Call to fuzion.std
    fzC_fuzion__std();
    //    2: Call to fuzion.std.out
    fzC_fuzion__std__out();
    //    3: Current
    //    4: Assign to stdout.result
    // access to Assign to stdout.result eliminated
  }
}
// code for clazz#4201 ref codepoint.asString:
fzT__Rstring* fzC__R1codepoint__asString(fzT__R1codepoint* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1codepoint__asString fzCur;

  start:
  {
    fzCur.fzF_1__U40__776738 = (fzT__R1codepoint*)fzouter;
    //    0: Current
    //    1: Call to ref codepoint.asString.@776738
    //    2: Box ref codepoint => ref codepoint
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Assign to ref codepoint.asString.result
    fzCur.fzF_0_result = (fzT__Rstring*)fzCur.fzF_1__U40__776738;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4205 strings.concat.ref @834261.asString:
fzT__Rstring* fzC__L4205strings__2___asString(fzT__L4275strings__2__0__834261* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L4205strings__2___asString fzCur;

  start:
  {
    fzCur.fzF_1__U40__776738 = (fzT__L4275strings__2__0__834261*)fzouter;
    //    0: Current
    //    1: Call to strings.concat.ref @834261.asString.@776738
    //    2: Box strings.concat.ref @834261 => strings.concat.ref @834261
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Assign to strings.concat.ref @834261.asString.result
    fzCur.fzF_0_result = (fzT__Rstring*)fzCur.fzF_1__U40__776738;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4233 ref conststring.infix +:
fzT__Rstring* fzC__R1conststring__1infix_wp(fzT__R1conststring* fzouter, fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__1infix_wp fzCur;

  start:
  {
    fzCur.fzF_2__U40__780159 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_other = (fzT__RObject*)arg0;
    //    0: Call to strings
    fzC_strings();
    //    1: Current
    //    2: Call to ref conststring.infix +.@780159
    //    3: Box ref conststring => ref conststring
    // Box is a NOP, clazz is already a ref
    //    4: Current
    //    5: Call to ref conststring.infix +.other
    //    6: Call to ref Object.asString
    // Dynamic access of ref Object.asString
    fzT__RObject* fzM_0 = (fzT__RObject*)fzCur.fzF_0_other;
    fzT__Rstring* fzM_1;
    switch (fzM_0->clazzId)
    {
      case 981:
      {
        // Call calls ref codepoint.asString target: ref codepoint:
        fzT__Rstring* fzM_2;
        fzM_2 = fzC__R1codepoint__asString((fzT__R1codepoint*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.asString target: ref conststring:
        fzT__Rstring* fzM_3;
        fzM_3 = fzC__R1conststring__asString((fzT__R1conststring*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 4275:
      {
        // Call calls strings.concat.ref @834261.asString target: strings.concat.ref @834261:
        fzT__Rstring* fzM_4;
        fzM_4 = fzC__L4205strings__2___asString((fzT__L4275strings__2__0__834261*)fzM_0);
        fzM_1 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Object.asString","ref conststring.infix +");
        exit(1);
      }
    }
    //    7: Call to strings.concat
    fzT__Rstring* fzM_5;
    fzM_5 = fzC_strings__2concat((fzT__Rstring*)fzCur.fzF_2__U40__780159,(fzT__Rstring*)fzM_1);
    //    8: Current
    //    9: Assign to ref conststring.infix +.result
    fzCur.fzF_1_result = (fzT__Rstring*)fzM_5;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4237 strings.concat.ref @834261.infix +:
fzT__Rstring* fzC__L4237strings__2__1infix_wp(fzT__L4275strings__2__0__834261* fzouter, fzT__RObject* arg0)
{
  // instance does not escape, put it on stack
  fzT__L4237strings__2__1infix_wp fzCur;

  start:
  {
    fzCur.fzF_2__U40__780159 = (fzT__L4275strings__2__0__834261*)fzouter;
    fzCur.fzF_0_other = (fzT__RObject*)arg0;
    //    0: Call to strings
    fzC_strings();
    //    1: Current
    //    2: Call to strings.concat.ref @834261.infix +.@780159
    //    3: Box strings.concat.ref @834261 => strings.concat.ref @834261
    // Box is a NOP, clazz is already a ref
    //    4: Current
    //    5: Call to strings.concat.ref @834261.infix +.other
    //    6: Call to ref Object.asString
    fzT__Rstring* fzM_0;
    fzM_0 = fzC__R1conststring__asString((fzT__R1conststring*)fzCur.fzF_0_other);
    //    7: Call to strings.concat
    fzT__Rstring* fzM_1;
    fzM_1 = fzC_strings__2concat((fzT__Rstring*)fzCur.fzF_2__U40__780159,(fzT__Rstring*)fzM_0);
    //    8: Current
    //    9: Assign to strings.concat.ref @834261.infix +.result
    fzCur.fzF_1_result = (fzT__Rstring*)fzM_1;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4257 strings:
void fzC_strings()
{
  // instance may escape, so we need malloc here
  fzT_strings* fzCur;
  fzCur = malloc(sizeof(fzT_strings));

  start:
  {
  }
}
// code for clazz#4271 strings.concat:
fzT__Rstring* fzC_strings__2concat(fzT__Rstring* arg0, fzT__Rstring* arg1)
{
  // instance may escape, so we need malloc here
  fzT_strings__2concat* fzCur;
  fzCur = malloc(sizeof(fzT_strings__2concat));

  start:
  {
    fzCur->fzF_0_a = (fzT__Rstring*)arg0;
    fzCur->fzF_1_b = (fzT__Rstring*)arg1;
    //    0: Current
    //    1: Call to strings.concat.ref @834261
    fzT__L4275strings__2__0__834261* fzM_0;
    fzM_0 = fzC__L4275strings__2__0__834261((fzT_strings__2concat*)fzCur);
    //    2: Current
    //    3: Assign to strings.concat.result
    fzCur->fzF_2_result = (fzT__Rstring*)fzM_0;
    return fzCur->fzF_2_result;
  }
}
// code for clazz#4275 strings.concat.ref @834261:
fzT__L4275strings__2__0__834261* fzC__L4275strings__2__0__834261(fzT_strings__2concat* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L4275strings__2__0__834261* fzCur;
  fzCur = malloc(sizeof(fzT__L4275strings__2__0__834261));
  fzCur->clazzId = 4275;

  start:
  {
    fzCur->fields.fzF_0__U40__834327 = fzouter;
    return fzCur;
  }
}
// code for clazz#4279 strings.concat.ref @834261.utf8:
fzT__RSequence_l_u8_g* fzC__L4279strings__2__261__utf8(fzT__L4275strings__2__0__834261* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L4279strings__2__261__utf8 fzCur;

  start:
  {
    fzCur.fzF_1__U40__834667 = (fzT__L4275strings__2__0__834261*)fzouter;
    //    0: Current
    //    1: Call to strings.concat.ref @834261.utf8.@834667
    //    2: Call to strings.concat.ref @834261.@834327
    //    3: Call to strings.concat.a
    //    4: Call to ref string.utf8
    // Dynamic access of ref string.utf8
    fzT__Rstring* fzM_0 = (fzT__Rstring*)fzCur.fzF_1__U40__834667->fields.fzF_0__U40__834327->fzF_0_a;
    fzT__RSequence_l_u8_g* fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1018:
      {
        // Call calls ref conststring.utf8 target: ref conststring:
        fzT__RSequence_l_u8_g* fzM_2;
        fzM_2 = fzC__R1conststring__utf8((fzT__R1conststring*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 4275:
      {
        // Call calls strings.concat.ref @834261.utf8 target: strings.concat.ref @834261:
        fzT__RSequence_l_u8_g* fzM_3;
        fzM_3 = fzC__L4279strings__2__261__utf8((fzT__L4275strings__2__0__834261*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref string.utf8","strings.concat.ref @834261.utf8");
        exit(1);
      }
    }
    //    5: Current
    //    6: Call to strings.concat.ref @834261.utf8.@834667
    //    7: Call to strings.concat.ref @834261.@834327
    //    8: Call to strings.concat.b
    //    9: Call to ref string.utf8
    // Dynamic access of ref string.utf8
    fzT__Rstring* fzM_4 = (fzT__Rstring*)fzCur.fzF_1__U40__834667->fields.fzF_0__U40__834327->fzF_1_b;
    fzT__RSequence_l_u8_g* fzM_5;
    switch (fzM_4->clazzId)
    {
      case 981:
      {
        // Call calls ref codepoint.utf8 target: ref codepoint:
        fzT__RSequence_l_u8_g* fzM_6;
        fzM_6 = fzC__R1codepoint__utf8((fzT__R1codepoint*)fzM_4);
        fzM_5 = fzM_6;
        break;
      }
      case 1018:
      {
        // Call calls ref conststring.utf8 target: ref conststring:
        fzT__RSequence_l_u8_g* fzM_7;
        fzM_7 = fzC__R1conststring__utf8((fzT__R1conststring*)fzM_4);
        fzM_5 = fzM_7;
        break;
      }
      case 4275:
      {
        // Call calls strings.concat.ref @834261.utf8 target: strings.concat.ref @834261:
        fzT__RSequence_l_u8_g* fzM_8;
        fzM_8 = fzC__L4279strings__2__261__utf8((fzT__L4275strings__2__0__834261*)fzM_4);
        fzM_5 = fzM_8;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_4->clazzId,"ref string.utf8","strings.concat.ref @834261.utf8");
        exit(1);
      }
    }
    //   10: Call to ref Sequence<u8>.infix ++
    // Dynamic access of ref Sequence<u8>.infix ++
    fzT__RSequence_l_u8_g* fzM_9 = (fzT__RSequence_l_u8_g*)fzM_1;
    fzT_list_l_u8_g fzM_10;
    switch (fzM_9->clazzId)
    {
      case 1018:
      {
        // Call calls ref conststring.infix ++ target: ref conststring:
        fzT_list_l_u8_g fzM_11;
        fzM_11 = fzC__R1conststring__1infix_wpp((fzT__R1conststring*)fzM_9,(fzT__RSequence_l_u8_g*)fzM_5);
        fzM_10 = fzM_11;
        break;
      }
      case 1559:
      {
        // Call calls ref list<u8>.infix ++ target: ref list<u8>:
        fzT_list_l_u8_g fzM_12;
        fzM_12 = fzC__Rlist_l_u8_g__1infix_wpp((fzT__Rlist_l_u8_g*)fzM_9,(fzT__RSequence_l_u8_g*)fzM_5);
        fzM_10 = fzM_12;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_9->clazzId,"ref Sequence<u8>.infix ++","strings.concat.ref @834261.utf8");
        exit(1);
      }
    }
    //   11: Box list<u8> => ref list<u8>
    // Box list<u8>
    fzT__Rlist_l_u8_g* fzM_13;
    fzM_13 = malloc(sizeof(fzT__Rlist_l_u8_g));
    fzM_13->clazzId = 1559;
    fzM_13->fields = fzM_10;
    //   12: Current
    //   13: Assign to strings.concat.ref @834261.utf8.result
    fzCur.fzF_0_result = (fzT__RSequence_l_u8_g*)fzM_13;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4291 u32.infix |:
fzT_1u32 fzC_1u32__1infix_wU7c_(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  return fzouter|arg0;
}
// code for clazz#4294 u32.infix &:
fzT_1u32 fzC_1u32__1infix_wU26_(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  return fzouter&arg0;
}
// code for clazz#4297 u32.thiz:
fzT_1u32 fzC_1u32__thiz(fzT_1u32 fzouter)
{
  // instance does not escape, put it on stack
  fzT_1u32__thiz fzCur;

  start:
  {
    fzCur.fzF_1__U40__927873 = fzouter;
    //    0: Current
    //    1: Call to u32.thiz.@927873
    //    2: Call to u32.val
    //    3: Current
    //    4: Assign to u32.thiz.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__927873;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4303 u32.infix <=:
fzT_bool fzC_1u32__1infix_wle(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  return fzouter<=arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#4328 u32.infix >>:
fzT_1u32 fzC_1u32__1infix_wgg(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  return fzouter>>arg0;
}
// code for clazz#4335 u32.low8bits:
fzT_1u8 fzC_1u32__low8bits(fzT_1u32 fzouter)
{
  return (fzT_1u8)(fzouter&255U);
}
// code for clazz#4449 i32.infix +:
fzT_1i32 fzC_1i32__1infix_wp(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1infix_wp fzCur;

  start:
  {
    fzCur.fzF_2__U40__1036364 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix +.@1036364
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1036364);
    //    3: Current
    //    4: Call to i32.infix +.other
    //    5: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    6: Call to i32.infix +°
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__1infix_wpO(fzM_0,fzCur.fzF_0_other);
    //    7: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    8: Current
    //    9: Assign to i32.infix +.result
    fzCur.fzF_1_result = fzM_1;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4449 precondition of i32.infix +:
void fzP_1i32__1infix_wp(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT_1i32__1infix_wp fzCur;

  start:
  {
    fzCur.fzF_2__U40__1036364 = fzouter;
    fzCur.fzF_0_other = arg0;
    fzCur.fzF_2__U40__1036364 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.infix +.@1036364
        //    2: Current
        //    3: Call to i32.infix +.other
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Call to i32.overflowOnAdd
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1overflowOnAdd(fzCur.fzF_2__U40__1036364,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1036409
            fzCur.fzF_3__U40__1036409 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1036409
            fzCur.fzF_3__U40__1036409 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix +.@1036409
        // access to Assign to i32.infix +.@1036409 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix +.@1036409
    if (!fzCur.fzF_3__U40__1036409.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix +");
      exit(1);
    }
    //    0: Call to debug
    fzT_bool fzM_2;
    fzM_2 = fzC_debug();
    //    1: Match
    switch (fzM_2.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.infix +.@1036364
        //    2: Current
        //    3: Call to i32.infix +.other
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Call to i32.underflowOnAdd
        fzT_bool fzM_3;
        fzM_3 = fzC_1i32__1underflowOnAdd(fzCur.fzF_2__U40__1036364,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_3.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1036458
            fzCur.fzF_4__U40__1036458 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1036458
            fzCur.fzF_4__U40__1036458 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix +.@1036458
        // access to Assign to i32.infix +.@1036458 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix +.@1036458
    if (!fzCur.fzF_4__U40__1036458.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix +");
      exit(1);
    }
  }
}
// code for clazz#4467 i32.infix -:
fzT_1i32 fzC_1i32__1infix_wm(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1infix_wm fzCur;

  start:
  {
    fzCur.fzF_2__U40__1037279 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix -.@1037279
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1037279);
    //    3: Current
    //    4: Call to i32.infix -.other
    //    5: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    6: Call to i32.infix -°
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__1infix_wmO(fzM_0,fzCur.fzF_0_other);
    //    7: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    8: Current
    //    9: Assign to i32.infix -.result
    fzCur.fzF_1_result = fzM_1;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4467 precondition of i32.infix -:
void fzP_1i32__1infix_wm(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT_1i32__1infix_wm fzCur;

  start:
  {
    fzCur.fzF_2__U40__1037279 = fzouter;
    fzCur.fzF_0_other = arg0;
    fzCur.fzF_2__U40__1037279 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.infix -.@1037279
        //    2: Current
        //    3: Call to i32.infix -.other
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Call to i32.overflowOnSub
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1overflowOnSub(fzCur.fzF_2__U40__1037279,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1037324
            fzCur.fzF_3__U40__1037324 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1037324
            fzCur.fzF_3__U40__1037324 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix -.@1037324
        // access to Assign to i32.infix -.@1037324 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix -.@1037324
    if (!fzCur.fzF_3__U40__1037324.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix -");
      exit(1);
    }
    //    0: Call to debug
    fzT_bool fzM_2;
    fzM_2 = fzC_debug();
    //    1: Match
    switch (fzM_2.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.infix -.@1037279
        //    2: Current
        //    3: Call to i32.infix -.other
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Call to i32.underflowOnSub
        fzT_bool fzM_3;
        fzM_3 = fzC_1i32__1underflowOnSub(fzCur.fzF_2__U40__1037279,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_3.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1037373
            fzCur.fzF_4__U40__1037373 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1037373
            fzCur.fzF_4__U40__1037373 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix -.@1037373
        // access to Assign to i32.infix -.@1037373 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix -.@1037373
    if (!fzCur.fzF_4__U40__1037373.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix -");
      exit(1);
    }
  }
}
// code for clazz#4513 i32.infix +?:
fzT_numOption_l_i32_g fzC_1i32__1infix_wpQ(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1infix_wpQ fzCur;

  start:
  {
    fzCur.fzF_2__U40__1048538 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix +?.@1048538
    //    2: Current
    //    3: Call to i32.infix +?.other
    //    4: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    5: Call to i32.wrappedOnAdd
    fzT_bool fzM_0;
    fzM_0 = fzC_1i32__1wrappedOnAdd(fzCur.fzF_2__U40__1048538,fzCur.fzF_0_other);
    //    6: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Call to nil
        fzC_nil();
        //    1: Tag
        // Tag a value to be of choice type numOption<i32> static value type nil
        fzT_numOption_l_i32_g fzM_1;
        fzM_1.fzTag = 1;
        // unit type assignment to fzM_1.fzChoice.v1
        //    2: Current
        //    3: Assign to i32.infix +?.@1048583
        fzCur.fzF_3__U40__1048583 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to i32.infix +?.@1048538
        //    2: Call to i32.thiz
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__thiz(fzCur.fzF_2__U40__1048538);
        //    3: Current
        //    4: Call to i32.infix +?.other
        //    5: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    6: Call to i32.infix +
        fzP_1i32__1infix_wp(fzM_2,fzCur.fzF_0_other);
        fzT_1i32 fzM_3;
        fzM_3 = fzC_1i32__1infix_wp(fzM_2,fzCur.fzF_0_other);
        //    7: Tag
        // Tag a value to be of choice type numOption<i32> static value type i32
        fzT_numOption_l_i32_g fzM_4;
        fzM_4.fzTag = 0;
        fzM_4.fzChoice.v0 = fzM_3;
        //    8: Current
        //    9: Assign to i32.infix +?.@1048583
        fzCur.fzF_3__U40__1048583 = fzM_4;
        break;
      }
    }
    //    9: Current
    //   10: Call to i32.infix +?.@1048583
    //   11: Current
    //   12: Assign to i32.infix +?.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1048583;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4528 i32.wrappedOnAdd:
fzT_bool fzC_1i32__1wrappedOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1wrappedOnAdd fzCur;

  start:
  {
    fzCur.fzF_2__U40__1052755 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.wrappedOnAdd.@1052755
    //    2: Current
    //    3: Call to i32.wrappedOnAdd.other
    //    4: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    5: Call to i32.overflowOnAdd
    fzT_bool fzM_0;
    fzM_0 = fzC_1i32__1overflowOnAdd(fzCur.fzF_2__U40__1052755,fzCur.fzF_0_other);
    //    6: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.wrappedOnAdd.@1052800
        fzCur.fzF_3__U40__1052800 = (fzT_bool){1};
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to i32.wrappedOnAdd.@1052755
        //    2: Current
        //    3: Call to i32.wrappedOnAdd.other
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Call to i32.underflowOnAdd
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1underflowOnAdd(fzCur.fzF_2__U40__1052755,fzCur.fzF_0_other);
        //    6: Current
        //    7: Assign to i32.wrappedOnAdd.@1052800
        fzCur.fzF_3__U40__1052800 = fzM_1;
        break;
      }
    }
    //    9: Current
    //   10: Call to i32.wrappedOnAdd.@1052800
    //   11: Current
    //   12: Assign to i32.wrappedOnAdd.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1052800;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4542 HelloWorld:
void fzC_HelloWorld()
{
  // instance may escape, so we need malloc here
  fzT_HelloWorld* fzCur;
  fzCur = malloc(sizeof(fzT_HelloWorld));

  start:
  {
    //    0: Const
    fzT__R1conststring* fzM_0;
    fzM_0 = malloc(sizeof(fzT__R1conststring));
    fzM_0->clazzId = 1018;
    fzM_0->fields.fzF_0_internalArray.fzF_1_data = (void *)"Hello World!";
    fzM_0->fields.fzF_0_internalArray.fzF_0_length = 12;
    //    1: Call to say
    fzC_1say((fzT__RObject*)fzM_0);
  }
}

static void * fzThrd_startRoutine(void * arg0)
{
  struct fzThrd_effectsEnvironment tmp0;
  memset(&tmp0,0,sizeof(struct fzThrd_effectsEnvironment));
  fzThrd_effectsEnvironment = &tmp0;
  struct fzThrd_startRoutineArg* tmp1;
  tmp1 = arg0;
  return ((void *(*)(void *))tmp1->fzThrd_startRoutineArgFun)(tmp1->fzThrd_startRoutineArgArg);
}
int main(int argc, char **argv) { 
struct fzThrd_effectsEnvironment tmp0;
memset(&tmp0,0,sizeof(struct fzThrd_effectsEnvironment));
fzThrd_effectsEnvironment = &tmp0;
fzG_argc = argc;
fzG_argv = argv;
fzC_HelloWorld();
}