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>
#include <errno.h>
#include <sys/stat.h>
#include <sys/fcntl.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_Any fzT_Any;
typedef struct fzT__RAny fzT__RAny;
typedef struct fzT__L221Cons_l_Str___String_gg fzT__L221Cons_l_Str___String_gg;
typedef struct fzT__L220_RCons_l_S___String_gg fzT__L220_RCons_l_S___String_gg;
typedef struct fzT_Cons_l_i32_k_list_l_i32_gg fzT_Cons_l_i32_k_list_l_i32_gg;
typedef struct fzT__L222_RCons_l_i__t_l_i32_gg fzT__L222_RCons_l_i__t_l_i32_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__L235Function_l__k_String_g fzT__L235Function_l__k_String_g;
typedef struct fzT__L234_RFunction__k_String_g fzT__L234_RFunction__k_String_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_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_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_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_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__L247Function_l__2_gk_i32_g fzT__L247Function_l__2_gk_i32_g;
typedef struct fzT__L246_RFunction__2_gk_i32_g fzT__L246_RFunction__2_gk_i32_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_String_g fzT_Monoid_l_String_g;
typedef struct fzT__RMonoid_l_String_g fzT__RMonoid_l_String_g;
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_u8_g fzT_Monoid_l_u8_g;
typedef struct fzT__RMonoid_l_u8_g fzT__RMonoid_l_u8_g;
typedef struct fzT__RMonoid_l_String_g__2op fzT__RMonoid_l_String_g__2op;
typedef struct fzT__RMonoid_l_i32_g__2op fzT__RMonoid_l_i32_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__L284String_oHt__oncat__2op fzT__L284String_oHt__oncat__2op;
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_i32_g fzT_Sequence_l_i32_g;
typedef struct fzT__RSequence_l_i32_g fzT__RSequence_l_i32_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__L313_R4array_l__s_u_string fzT__L313_R4array_l__s_u_string;
typedef struct fzT__L3141i32__1as___s_u_string fzT__L3141i32__1as___s_u_string;
typedef struct fzT__L3151u8__1as_u__s_u_string fzT__L3151u8__1as_u__s_u_string;
typedef struct fzT_nil fzT_nil;
typedef struct fzT_list_l_String_g fzT_list_l_String_g;
typedef struct fzT__L322_RSequence___as_u_list fzT__L322_RSequence___as_u_list;
typedef struct fzT_list_l_i32_g fzT_list_l_i32_g;
typedef struct fzT__L323_RSequence___as_u_list fzT__L323_RSequence___as_u_list;
typedef struct fzT_list_l_u8_g fzT_list_l_u8_g;
typedef struct fzT__L324_RSequence___as_u_list fzT__L324_RSequence___as_u_list;
typedef struct fzT__L3251i32__1as____as_u_list fzT__L3251i32__1as____as_u_list;
typedef struct fzT__L3261u8__1as_u___as_u_list fzT__L3261u8__1as_u___as_u_list;
typedef struct fzT__L337_RSequence__s_u_stream fzT__L337_RSequence__s_u_stream;
typedef struct fzT__L338_RSequence__s_u_stream fzT__L338_RSequence__s_u_stream;
typedef struct fzT__L339_RSequence__s_u_stream fzT__L339_RSequence__s_u_stream;
typedef struct fzT_FALSE fzT_FALSE;
typedef struct fzT_TRUE fzT_TRUE;
typedef struct fzT_bool fzT_bool;
typedef struct fzT__L346_RSequence__is_u_empty fzT__L346_RSequence__is_u_empty;
typedef struct fzT__R4array_l_u8_g__is_u_empty fzT__R4array_l_u8_g__is_u_empty;
typedef struct fzT__L348_R4array_l__is_u_empty fzT__L348_R4array_l__is_u_empty;
typedef struct fzT__L3491i32__1inf__is_u_empty fzT__L3491i32__1inf__is_u_empty;
typedef struct fzT__L3501i32__1as___is_u_empty fzT__L3501i32__1as___is_u_empty;
typedef struct fzT__L3511u8__1as_u__is_u_empty fzT__L3511u8__1as_u__is_u_empty;
typedef struct fzT__L3521i32__1as___is_u_empty fzT__L3521i32__1as___is_u_empty;
typedef struct fzT__L3531u8__1as_u__is_u_empty fzT__L3531u8__1as_u__is_u_empty;
typedef struct fzT__L354list_l_Str__is_u_empty fzT__L354list_l_Str__is_u_empty;
typedef struct fzT__L355list_l_i32__is_u_empty fzT__L355list_l_i32__is_u_empty;
typedef struct fzT__L356list_l_u8___is_u_empty fzT__L356list_l_u8___is_u_empty;
typedef struct fzT__L357_Rlist_l_S__is_u_empty fzT__L357_Rlist_l_S__is_u_empty;
typedef struct fzT__L358_Rlist_l_i__is_u_empty fzT__L358_Rlist_l_i__is_u_empty;
typedef struct fzT__L359_Rlist_l_u__is_u_empty fzT__L359_Rlist_l_u__is_u_empty;
typedef struct fzT__L360_R4array_l__is_u_empty fzT__L360_R4array_l__is_u_empty;
typedef struct fzT__L3611i32__1inf__is_u_empty fzT__L3611i32__1inf__is_u_empty;
typedef struct fzT__L3621i32__1as___is_u_empty fzT__L3621i32__1as___is_u_empty;
typedef struct fzT__L3631u8__1as_u__is_u_empty fzT__L3631u8__1as_u__is_u_empty;
typedef struct fzT__L364list_l_Str__is_u_empty fzT__L364list_l_Str__is_u_empty;
typedef struct fzT__L365list_l_i32__is_u_empty fzT__L365list_l_i32__is_u_empty;
typedef struct fzT__L366list_l_u8___is_u_empty fzT__L366list_l_u8___is_u_empty;
typedef struct fzT__L367_Rlist_l_S__is_u_empty fzT__L367_Rlist_l_S__is_u_empty;
typedef struct fzT__L368_Rlist_l_i__is_u_empty fzT__L368_Rlist_l_i__is_u_empty;
typedef struct fzT__L369_Rlist_l_u__is_u_empty fzT__L369_Rlist_l_u__is_u_empty;
typedef struct fzT__L370_Rstream_l__is_u_empty fzT__L370_Rstream_l__is_u_empty;
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__1as___tf8__count fzT__L4241i32__1as___tf8__count;
typedef struct fzT__L4251u8__1as_u__tf8__count fzT__L4251u8__1as_u__tf8__count;
typedef struct fzT__L441_RSequence__1073757000 fzT__L441_RSequence__1073757000;
typedef struct fzT__L436_RSequence__1073757000 fzT__L436_RSequence__1073757000;
typedef struct fzT__L442_R4array_l__1073757000 fzT__L442_R4array_l__1073757000;
typedef struct fzT__L437_R4array_l__1073757000 fzT__L437_R4array_l__1073757000;
typedef struct fzT__L443_R1constst__1073757000 fzT__L443_R1constst__1073757000;
typedef struct fzT__L438_R1constst__1073757000 fzT__L438_R1constst__1073757000;
typedef struct fzT__L4441i32__1as___1073757000 fzT__L4441i32__1as___1073757000;
typedef struct fzT__L4391i32__1as___1073757000 fzT__L4391i32__1as___1073757000;
typedef struct fzT__L4451u8__1as_u__1073757000 fzT__L4451u8__1as_u__1073757000;
typedef struct fzT__L4401u8__1as_u__1073757000 fzT__L4401u8__1as_u__1073757000;
typedef struct fzT__L446_RSequence__000__1call fzT__L446_RSequence__000__1call;
typedef struct fzT__L447_R4array_l__000__1call fzT__L447_R4array_l__000__1call;
typedef struct fzT__L448_R1constst__000__1call fzT__L448_R1constst__000__1call;
typedef struct fzT__L4491i32__1as___000__1call fzT__L4491i32__1as___000__1call;
typedef struct fzT__L4501u8__1as_u__000__1call fzT__L4501u8__1as_u__000__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__L468_R4array_l__eam__first fzT__L468_R4array_l__eam__first;
typedef struct fzT__R1conststring__first fzT__R1conststring__first;
typedef struct fzT__L4701i32__1inf__eam__first fzT__L4701i32__1inf__eam__first;
typedef struct fzT__L4711i32__1as___tf8__first fzT__L4711i32__1as___tf8__first;
typedef struct fzT__L4721u8__1as_u__tf8__first fzT__L4721u8__1as_u__tf8__first;
typedef struct fzT__L4731i32__1as___876__first fzT__L4731i32__1as___876__first;
typedef struct fzT__L4741u8__1as_u__876__first fzT__L4741u8__1as_u__876__first;
typedef struct fzT__L475list_l_Str__eam__first fzT__L475list_l_Str__eam__first;
typedef struct fzT__L476list_l_i32__eam__first fzT__L476list_l_i32__eam__first;
typedef struct fzT__L477list_l_u8___eam__first fzT__L477list_l_u8___eam__first;
typedef struct fzT__L478_Rlist_l_S__eam__first fzT__L478_Rlist_l_S__eam__first;
typedef struct fzT__L479_Rlist_l_i__eam__first fzT__L479_Rlist_l_i__eam__first;
typedef struct fzT__L480_Rlist_l_u__eam__first fzT__L480_Rlist_l_u__eam__first;
typedef struct fzT__L481_R4array_l__976__first fzT__L481_R4array_l__976__first;
typedef struct fzT__L4821i32__1inf__976__first fzT__L4821i32__1inf__976__first;
typedef struct fzT__L4831i32__1as___976__first fzT__L4831i32__1as___976__first;
typedef struct fzT__L4841u8__1as_u__976__first fzT__L4841u8__1as_u__976__first;
typedef struct fzT__L485list_l_Str__976__first fzT__L485list_l_Str__976__first;
typedef struct fzT__L486list_l_i32__976__first fzT__L486list_l_i32__976__first;
typedef struct fzT__L487list_l_u8___976__first fzT__L487list_l_u8___976__first;
typedef struct fzT__L488_Rlist_l_S__976__first fzT__L488_Rlist_l_S__976__first;
typedef struct fzT__L489_Rlist_l_i__976__first fzT__L489_Rlist_l_i__976__first;
typedef struct fzT__L490_Rlist_l_u__976__first fzT__L490_Rlist_l_u__976__first;
typedef struct fzT__L491_Rstream_l__976__first fzT__L491_Rstream_l__976__first;
typedef struct fzT__L1394fuzion__sy__ay_l_u8_g fzT__L1394fuzion__sy__ay_l_u8_g;
typedef struct fzT_4array_l_u8_g fzT_4array_l_u8_g;
typedef struct fzT_list_l_u8_g__as_u_array fzT_list_l_u8_g__as_u_array;
typedef struct fzT__L571_RSequence__as_u_array fzT__L571_RSequence__as_u_array;
typedef struct fzT__L5721i32__1as___as_u_array fzT__L5721i32__1as___as_u_array;
typedef struct fzT__L5731u8__1as_u__as_u_array fzT__L5731u8__1as_u__as_u_array;
typedef struct fzT__L1392fuzion__sy___String_g fzT__L1392fuzion__sy___String_g;
typedef struct fzT_4array_l_String_g fzT_4array_l_String_g;
typedef struct fzT__L574_Rlist_l_S__as_u_array fzT__L574_Rlist_l_S__as_u_array;
typedef struct fzT__L1393fuzion__sy__y_l_i32_g fzT__L1393fuzion__sy__y_l_i32_g;
typedef struct fzT_4array_l_i32_g fzT_4array_l_i32_g;
typedef struct fzT__Rlist_l_i32_g__as_u_array fzT__Rlist_l_i32_g__as_u_array;
typedef struct fzT__Rlist_l_u8_g__as_u_array fzT__Rlist_l_u8_g__as_u_array;
typedef struct fzT__L605list_l_u8___1073759818 fzT__L605list_l_u8___1073759818;
typedef struct fzT__L598list_l_u8___1073759818 fzT__L598list_l_u8___1073759818;
typedef struct fzT__L606_RSequence__1073759818 fzT__L606_RSequence__1073759818;
typedef struct fzT__L599_RSequence__1073759818 fzT__L599_RSequence__1073759818;
typedef struct fzT__L6071i32__1as___1073759818 fzT__L6071i32__1as___1073759818;
typedef struct fzT__L6001i32__1as___1073759818 fzT__L6001i32__1as___1073759818;
typedef struct fzT__L6081u8__1as_u__1073759818 fzT__L6081u8__1as_u__1073759818;
typedef struct fzT__L6011u8__1as_u__1073759818 fzT__L6011u8__1as_u__1073759818;
typedef struct fzT__L609_Rlist_l_S__1073759818 fzT__L609_Rlist_l_S__1073759818;
typedef struct fzT__L602_Rlist_l_S__1073759818 fzT__L602_Rlist_l_S__1073759818;
typedef struct fzT__L610_Rlist_l_i__1073759818 fzT__L610_Rlist_l_i__1073759818;
typedef struct fzT__L603_Rlist_l_i__1073759818 fzT__L603_Rlist_l_i__1073759818;
typedef struct fzT__L611_Rlist_l_u__1073759818 fzT__L611_Rlist_l_u__1073759818;
typedef struct fzT__L604_Rlist_l_u__1073759818 fzT__L604_Rlist_l_u__1073759818;
typedef struct fzT__L626list_l_u8___818__1call fzT__L626list_l_u8___818__1call;
typedef struct fzT__L627_RSequence__818__1call fzT__L627_RSequence__818__1call;
typedef struct fzT__L6281i32__1as___818__1call fzT__L6281i32__1as___818__1call;
typedef struct fzT__L6291u8__1as_u__818__1call fzT__L6291u8__1as_u__818__1call;
typedef struct fzT__L630_Rlist_l_S__818__1call fzT__L630_Rlist_l_S__818__1call;
typedef struct fzT__L631_Rlist_l_i__818__1call fzT__L631_Rlist_l_i__818__1call;
typedef struct fzT__L632_Rlist_l_u__818__1call fzT__L632_Rlist_l_u__818__1call;
typedef struct fzT__L654_RSequence__1infix_wpp fzT__L654_RSequence__1infix_wpp;
typedef struct fzT__R4array_l_u8_g__1infix_wpp fzT__R4array_l_u8_g__1infix_wpp;
typedef struct fzT__L656_R4array_l__1infix_wpp fzT__L656_R4array_l__1infix_wpp;
typedef struct fzT__R1conststring__1infix_wpp fzT__R1conststring__1infix_wpp;
typedef struct fzT__L6581i32__1inf__1infix_wpp fzT__L6581i32__1inf__1infix_wpp;
typedef struct fzT__L6591i32__1as___1infix_wpp fzT__L6591i32__1as___1infix_wpp;
typedef struct fzT__L6601u8__1as_u__1infix_wpp fzT__L6601u8__1as_u__1infix_wpp;
typedef struct fzT__L6611i32__1as___1infix_wpp fzT__L6611i32__1as___1infix_wpp;
typedef struct fzT__L6621u8__1as_u__1infix_wpp fzT__L6621u8__1as_u__1infix_wpp;
typedef struct fzT__L663list_l_Str__1infix_wpp fzT__L663list_l_Str__1infix_wpp;
typedef struct fzT__L664list_l_i32__1infix_wpp fzT__L664list_l_i32__1infix_wpp;
typedef struct fzT__L665list_l_u8___1infix_wpp fzT__L665list_l_u8___1infix_wpp;
typedef struct fzT__L666_Rlist_l_S__1infix_wpp fzT__L666_Rlist_l_S__1infix_wpp;
typedef struct fzT__L667_Rlist_l_i__1infix_wpp fzT__L667_Rlist_l_i__1infix_wpp;
typedef struct fzT__L668_Rlist_l_u__1infix_wpp fzT__L668_Rlist_l_u__1infix_wpp;
typedef struct fzT__L669_R4array_l__1infix_wpp fzT__L669_R4array_l__1infix_wpp;
typedef struct fzT__L6701i32__1inf__1infix_wpp fzT__L6701i32__1inf__1infix_wpp;
typedef struct fzT__L6711i32__1as___1infix_wpp fzT__L6711i32__1as___1infix_wpp;
typedef struct fzT__L6721u8__1as_u__1infix_wpp fzT__L6721u8__1as_u__1infix_wpp;
typedef struct fzT__L673list_l_Str__1infix_wpp fzT__L673list_l_Str__1infix_wpp;
typedef struct fzT__L674list_l_i32__1infix_wpp fzT__L674list_l_i32__1infix_wpp;
typedef struct fzT__L675list_l_u8___1infix_wpp fzT__L675list_l_u8___1infix_wpp;
typedef struct fzT__L676_Rlist_l_S__1infix_wpp fzT__L676_Rlist_l_S__1infix_wpp;
typedef struct fzT__L677_Rlist_l_i__1infix_wpp fzT__L677_Rlist_l_i__1infix_wpp;
typedef struct fzT__L678_Rlist_l_u__1infix_wpp fzT__L678_Rlist_l_u__1infix_wpp;
typedef struct fzT__L679_Rstream_l__1infix_wpp fzT__L679_Rstream_l__1infix_wpp;
typedef struct fzT__L758_RSequence__ce_l_i32_g fzT__L758_RSequence__ce_l_i32_g;
typedef struct fzT__L759_R4array_l__ce_l_i32_g fzT__L759_R4array_l__ce_l_i32_g;
typedef struct fzT__L760_R1constst__ce_l_i32_g fzT__L760_R1constst__ce_l_i32_g;
typedef struct fzT__L7611i32__1as___ce_l_i32_g fzT__L7611i32__1as___ce_l_i32_g;
typedef struct fzT__L7621u8__1as_u__ce_l_i32_g fzT__L7621u8__1as_u__ce_l_i32_g;
typedef struct fzT__RSequence_l_u8_g__finite fzT__RSequence_l_u8_g__finite;
typedef struct fzT__L779_R4array_l__am__finite fzT__L779_R4array_l__am__finite;
typedef struct fzT__L7801i32__1inf__am__finite fzT__L7801i32__1inf__am__finite;
typedef struct fzT__L7811i32__1as___76__finite fzT__L7811i32__1as___76__finite;
typedef struct fzT__L7821u8__1as_u__76__finite fzT__L7821u8__1as_u__76__finite;
typedef struct fzT__Rlist_l_String_g__finite fzT__Rlist_l_String_g__finite;
typedef struct fzT__Rlist_l_i32_g__finite fzT__Rlist_l_i32_g__finite;
typedef struct fzT__Rlist_l_u8_g__finite fzT__Rlist_l_u8_g__finite;
typedef struct fzT__L786list_l_Str__am__finite fzT__L786list_l_Str__am__finite;
typedef struct fzT__L787list_l_i32__am__finite fzT__L787list_l_i32__am__finite;
typedef struct fzT__L788list_l_u8___am__finite fzT__L788list_l_u8___am__finite;
typedef struct fzT__L789_Rlist_l_S__am__finite fzT__L789_Rlist_l_S__am__finite;
typedef struct fzT__L790_Rlist_l_i__am__finite fzT__L790_Rlist_l_i__am__finite;
typedef struct fzT__L791_Rlist_l_u__am__finite fzT__L791_Rlist_l_u__am__finite;
typedef struct fzT__L792_R4array_l__76__finite fzT__L792_R4array_l__76__finite;
typedef struct fzT__L7931i32__1inf__76__finite fzT__L7931i32__1inf__76__finite;
typedef struct fzT__L7941i32__1as___76__finite fzT__L7941i32__1as___76__finite;
typedef struct fzT__L7951u8__1as_u__76__finite fzT__L7951u8__1as_u__76__finite;
typedef struct fzT__L796list_l_Str__76__finite fzT__L796list_l_Str__76__finite;
typedef struct fzT__L797list_l_i32__76__finite fzT__L797list_l_i32__76__finite;
typedef struct fzT__L798list_l_u8___76__finite fzT__L798list_l_u8___76__finite;
typedef struct fzT__L799_Rlist_l_S__76__finite fzT__L799_Rlist_l_S__76__finite;
typedef struct fzT__L800_Rlist_l_i__76__finite fzT__L800_Rlist_l_i__76__finite;
typedef struct fzT__L801_Rlist_l_u__76__finite fzT__L801_Rlist_l_u__76__finite;
typedef struct fzT__L802_Rstream_l__76__finite fzT__L802_Rstream_l__76__finite;
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_2lteq_l_i32_g fzT_2lteq_l_i32_g;
typedef int64_t fzT_1i64;
typedef struct fzT_2lteq_l_i64_g fzT_2lteq_l_i64_g;
typedef uint32_t fzT_1u32;
typedef struct fzT_2lteq_l_u32_g fzT_2lteq_l_u32_g;
typedef struct fzT_2lteq_l_u8_g fzT_2lteq_l_u8_g;
typedef struct fzT_String fzT_String;
typedef struct fzT__RString fzT__RString;
typedef struct fzT__RString__as_u_string fzT__RString__as_u_string;
typedef struct fzT__R1codepoint__as_u_string fzT__R1codepoint__as_u_string;
typedef struct fzT__L8561i32__1as___s_u_string fzT__L8561i32__1as___s_u_string;
typedef struct fzT__L8571u8__1as_u__s_u_string fzT__L8571u8__1as_u__s_u_string;
typedef struct fzT__L858String_oHt__s_u_string fzT__L858String_oHt__s_u_string;
typedef struct fzT__RString__is_u_empty fzT__RString__is_u_empty;
typedef struct fzT__R1codepoint__is_u_empty fzT__R1codepoint__is_u_empty;
typedef struct fzT__L8711i32__1as___is_u_empty fzT__L8711i32__1as___is_u_empty;
typedef struct fzT__L8721u8__1as_u__is_u_empty fzT__L8721u8__1as_u__is_u_empty;
typedef struct fzT__L873String_oHt__is_u_empty fzT__L873String_oHt__is_u_empty;
typedef struct fzT__RString__1infix_wp fzT__RString__1infix_wp;
typedef struct fzT__R1codepoint__1infix_wp fzT__R1codepoint__1infix_wp;
typedef struct fzT__R1conststring__1infix_wp fzT__R1conststring__1infix_wp;
typedef struct fzT__L8881i32__1as____1infix_wp fzT__L8881i32__1as____1infix_wp;
typedef struct fzT__L8891u8__1as_u___1infix_wp fzT__L8891u8__1as_u___1infix_wp;
typedef struct fzT__L890String_oHt___1infix_wp fzT__L890String_oHt___1infix_wp;
typedef struct fzT_Type fzT_Type;
typedef struct fzT__RType fzT__RType;
typedef struct fzT_Types fzT_Types;
typedef struct fzT_String_oHtype_l_String_g fzT_String_oHtype_l_String_g;
typedef struct fzT_Types__get_l_String_g fzT_Types__get_l_String_g;
typedef struct fzT__L4711codepoint___point_lgg fzT__L4711codepoint___point_lgg;
typedef struct fzT_Types__get_l_codepoint_g fzT_Types__get_l_codepoint_g;
typedef struct fzT_analysis fzT_analysis;
typedef struct fzT_2array_l_String_g fzT_2array_l_String_g;
typedef struct fzT_2array_l_i32_g fzT_2array_l_i32_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_String_g__indices fzT_2array_l_String_g__indices;
typedef struct fzT_2array_l_i32_g__indices fzT_2array_l_i32_g__indices;
typedef struct fzT_2array_l_u8_g__indices fzT_2array_l_u8_g__indices;
typedef struct fzT__L9502array_l_S__1073861793 fzT__L9502array_l_S__1073861793;
typedef struct fzT__L9512array_l_i__1073861793 fzT__L9512array_l_i__1073861793;
typedef struct fzT__L9522array_l_u__1073861793 fzT__L9522array_l_u__1073861793;
typedef struct fzT__R4array_l_u8_g fzT__R4array_l_u8_g;
typedef struct fzT__L999_R4array_l__wU5b_wU5d_ fzT__L999_R4array_l__wU5b_wU5d_;
typedef struct fzT__L1000_R1constst__U5b_wU5d_ fzT__L1000_R1constst__U5b_wU5d_;
typedef struct fzT__R4array_l_u8_g__as_u_list fzT__R4array_l_u8_g__as_u_list;
typedef struct fzT__R1conststring__as_u_list fzT__R1conststring__as_u_list;
typedef struct fzT__R4array_l_u8_g__1as_u_list fzT__R4array_l_u8_g__1as_u_list;
typedef struct fzT__R1conststring__1as_u_list fzT__R1conststring__1as_u_list;
typedef struct fzT_1some_l_list_l_u8_gg fzT_1some_l_list_l_u8_gg;
typedef struct fzT__L2600option_l_s___l_u8_ggg fzT__L2600option_l_s___l_u8_ggg;
typedef struct fzT__L1028_R4array_l___u_stream fzT__L1028_R4array_l___u_stream;
typedef struct fzT__L1027_R4array_l___u_stream fzT__L1027_R4array_l___u_stream;
typedef struct fzT__L1035_R4array_l__as_u_next fzT__L1035_R4array_l__as_u_next;
typedef struct fzT__L1038_R4array_l__eam__next fzT__L1038_R4array_l__eam__next;
typedef struct fzT__R4array_l_u8_g__as_u_array fzT__R4array_l_u8_g__as_u_array;
typedef struct fzT__R1conststring__as_u_array fzT__R1conststring__as_u_array;
typedef struct fzT__R4array_l_u8_g__2slice fzT__R4array_l_u8_g__2slice;
typedef struct fzT__R1conststring__2slice fzT__R1conststring__2slice;
typedef struct fzT__R4array_l_u8_g__finite fzT__R4array_l_u8_g__finite;
typedef struct fzT__R1conststring__finite fzT__R1conststring__finite;
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__2arrayCons fzT_4array_l_u8_g__2arrayCons;
typedef struct fzT_4array_l_u8_g_R2arrayCons fzT_4array_l_u8_g_R2arrayCons;
typedef struct fzT__R4array_l_u8_g__2arrayCons fzT__R4array_l_u8_g__2arrayCons;
typedef struct fzT__R4array_l_u8_g_R2arrayCons fzT__R4array_l_u8_g_R2arrayCons;
typedef struct fzT__L1090_R4array_l__ons__head fzT__L1090_R4array_l__ons__head;
typedef struct fzT__L1093_R4array_l__ons__tail fzT__L1093_R4array_l__ons__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__sys__err__ascii fzT_fuzion__sys__err__ascii;
typedef struct fzT_1i32__1as_u_string__ascii fzT_1i32__1as_u_string__ascii;
typedef struct fzT_1u8__1as_u_string__ascii fzT_1u8__1as_u_string__ascii;
typedef struct fzT_fuzion__sys__err__ascii__lf fzT_fuzion__sys__err__ascii__lf;
typedef struct fzT__L11211i32__1as___ascii__lf fzT__L11211i32__1as___ascii__lf;
typedef struct fzT__L11221u8__1as_u__ascii__lf fzT__L11221u8__1as_u__ascii__lf;
typedef struct fzT_choice_l_String_k_nil_g fzT_choice_l_String_k_nil_g;
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__L1130choice_l_n__tring_ggg fzT__L1130choice_l_n__tring_ggg;
typedef struct fzT__L1129_Rchoice_l__tring_ggg fzT__L1129_Rchoice_l__tring_ggg;
typedef struct fzT__L1132choice_l_n__l_i32_ggg fzT__L1132choice_l_n__l_i32_ggg;
typedef struct fzT__L1131_Rchoice_l__l_i32_ggg fzT__L1131_Rchoice_l__l_i32_ggg;
typedef struct fzT__L1134choice_l_n___l_u8_ggg fzT__L1134choice_l_n___l_u8_ggg;
typedef struct fzT__L1133_Rchoice_l___l_u8_ggg fzT__L1133_Rchoice_l___l_u8_ggg;
typedef struct fzT_1some_l_list_l_String_gg fzT_1some_l_list_l_String_gg;
typedef struct fzT__L1135choice_l_s__ggk_nil_g fzT__L1135choice_l_s__ggk_nil_g;
typedef struct fzT_1some_l_list_l_i32_gg fzT_1some_l_list_l_i32_gg;
typedef struct fzT__L1136choice_l_s__ggk_nil_g fzT__L1136choice_l_s__ggk_nil_g;
typedef struct fzT__L1137choice_l_s__ggk_nil_g fzT__L1137choice_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__plain fzT_effectMode__plain;
typedef struct fzT_effectMode__repl fzT_effectMode__repl;
typedef struct fzT_effectMode__abort fzT_effectMode__abort;
typedef struct fzT_effectMode__default fzT_effectMode__default;
typedef struct fzT_effectMode__new fzT_effectMode__new;
typedef struct fzT_effectMode__1inst fzT_effectMode__1inst;
typedef struct fzT__L1140choice_l_e___o_inst_g fzT__L1140choice_l_e___o_inst_g;
typedef struct fzT_1codepoint fzT_1codepoint;
typedef struct fzT__R1codepoint fzT__R1codepoint;
typedef struct fzT__R1codepoint__utf8 fzT__R1codepoint__utf8;
typedef struct fzT_void fzT_void;
typedef struct fzT_1conststring fzT_1conststring;
typedef struct fzT__R1conststring fzT__R1conststring;
typedef struct fzT__R1conststring__as_u_string fzT__R1conststring__as_u_string;
typedef struct fzT__R1conststring__is_u_empty fzT__R1conststring__is_u_empty;
typedef struct fzT__R1conststring__utf8 fzT__R1conststring__utf8;
typedef struct fzT_effectMode__val fzT_effectMode__val;
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__L1207io__2print___l_unit_g fzT__L1207io__2print___l_unit_g;
typedef struct fzT_1effect___U40__1074044725 fzT_1effect___U40__1074044725;
typedef struct fzT_1effect_R_U40__1074044725 fzT_1effect_R_U40__1074044725;
typedef struct fzT_io__3out___U40__1074044725 fzT_io__3out___U40__1074044725;
typedef struct fzT_io__3out_R_U40__1074044725 fzT_io__3out_R_U40__1074044725;
typedef struct fzT__L1237io__2print__074044725 fzT__L1237io__2print__074044725;
typedef struct fzT__L1234io__2print__074044725 fzT__L1234io__2print__074044725;
typedef struct fzT__L1238io__3out_R__25__1call fzT__L1238io__3out_R__25__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__L1245_R1effect___t_g__call fzT__L1245_R1effect___t_g__call;
typedef struct fzT_effects fzT_effects;
typedef struct fzT_effectMode fzT_effectMode;
typedef struct fzT_2equals_l_i32_g fzT_2equals_l_i32_g;
typedef struct fzT_2equals_l_u32_g fzT_2equals_l_u32_g;
typedef struct fzT_2equals_l_u8_g fzT_2equals_l_u8_g;
typedef struct fzT_2infix_wU225f_l_i32_g fzT_2infix_wU225f_l_i32_g;
typedef struct fzT_2infix_wU225f_l_u32_g fzT_2infix_wU225f_l_u32_g;
typedef struct fzT_2infix_wU225f_l_u8_g fzT_2infix_wU225f_l_u8_g;
typedef struct fzT_2infix_wU2264_l_i32_g fzT_2infix_wU2264_l_i32_g;
typedef struct fzT_2infix_wU2264_l_u32_g fzT_2infix_wU2264_l_u32_g;
typedef struct fzT_2infix_wU2264_l_u8_g fzT_2infix_wU2264_l_u8_g;
typedef struct fzT_2infix_wU2265_l_i32_g fzT_2infix_wU2265_l_i32_g;
typedef struct fzT_2infix_wU2265_l_u8_g fzT_2infix_wU2265_l_u8_g;
typedef struct fzT_2infix_wU2a7c_l_i32_g fzT_2infix_wU2a7c_l_i32_g;
typedef struct fzT_2infix_wU2a7c_l_i64_g fzT_2infix_wU2a7c_l_i64_g;
typedef struct fzT_2infix_wU2a7c_l_u8_g fzT_2infix_wU2a7c_l_u8_g;
typedef struct fzT_2infix_wU2a7b_l_i32_g fzT_2infix_wU2a7b_l_i32_g;
typedef struct fzT_2infix_wU2a7b_l_i64_g fzT_2infix_wU2a7b_l_i64_g;
typedef struct fzT_2infix_wU2a7b_l_u32_g fzT_2infix_wU2a7b_l_u32_g;
typedef struct fzT_2infix_wU2a7b_l_u8_g fzT_2infix_wU2a7b_l_u8_g;
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__1panic fzT_fuzion__std__1panic;
typedef struct fzT_fuzion__sys fzT_fuzion__sys;
typedef struct fzT_fuzion__sys__err fzT_fuzion__sys__err;
typedef struct fzT_fuzion__sys__err__1println fzT_fuzion__sys__err__1println;
typedef struct fzT_fuzion__sys__err__1write fzT_fuzion__sys__err__1write;
typedef struct fzT_fuzion__sys__out fzT_fuzion__sys__out;
typedef struct fzT_fuzion__sys__out__1print fzT_fuzion__sys__out__1print;
typedef struct fzT_fuzion__sys__out__1write fzT_fuzion__sys__out__1write;
typedef struct fzT__L1398fuzion__sy__U5b_wU5d_ fzT__L1398fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1399fuzion__sy__U5b_wU5d_ fzT__L1399fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1400fuzion__sy__U5b_wU5d_ fzT__L1400fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1431fuzion__sy__d_wU3a_ew fzT__L1431fuzion__sy__d_wU3a_ew;
typedef struct fzT__L1432fuzion__sy__d_wU3a_ew fzT__L1432fuzion__sy__d_wU3a_ew;
typedef struct fzT__L1433fuzion__sy__d_wU3a_ew fzT__L1433fuzion__sy__d_wU3a_ew;
typedef struct fzT__L1476fuzion__sy__condition fzT__L1476fuzion__sy__condition;
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_1u32__1infix_woo fzT_1u32__1infix_woo;
typedef struct fzT_num_u_option_l_i32_g fzT_num_u_option_l_i32_g;
typedef struct fzT__L2599option_l_s__l_i32_ggg fzT__L2599option_l_s__l_i32_ggg;
typedef struct fzT__L14931i32__1inf___u_stream fzT__L14931i32__1inf___u_stream;
typedef struct fzT__L14921i32__1inf___u_stream fzT__L14921i32__1inf___u_stream;
typedef struct fzT__L14981i32__1inf__as_u_next fzT__L14981i32__1inf__as_u_next;
typedef struct fzT__L15021i32__1inf__eam__next fzT__L15021i32__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_has_u_equality fzT_has_u_equality;
typedef struct fzT__Rhas_u_equality fzT__Rhas_u_equality;
typedef struct fzT_has_u_hash fzT_has_u_hash;
typedef struct fzT__Rhas_u_hash fzT__Rhas_u_hash;
typedef struct fzT_has_u_partial_u_order fzT_has_u_partial_u_order;
typedef struct fzT__Rhas_u_partial_u_order fzT__Rhas_u_partial_u_order;
typedef struct fzT_has_u_total_u_order fzT_has_u_total_u_order;
typedef struct fzT__Rhas_u_total_u_order fzT__Rhas_u_total_u_order;
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 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__as_u_string fzT_1i32__as_u_string;
typedef struct fzT_1u8__as_u_string fzT_1u8__as_u_string;
typedef struct fzT_1i32__1as_u_string fzT_1i32__1as_u_string;
typedef struct fzT_1u8__1as_u_string fzT_1u8__1as_u_string;
typedef struct fzT__L16431i32__1as___074287899 fzT__L16431i32__1as___074287899;
typedef struct fzT__L16411i32__1as___074287899 fzT__L16411i32__1as___074287899;
typedef struct fzT__L16441u8__1as_u__074287899 fzT__L16441u8__1as_u__074287899;
typedef struct fzT__L16421u8__1as_u__074287899 fzT__L16421u8__1as_u__074287899;
typedef struct fzT__L16511i32__1as___899__utf8 fzT__L16511i32__1as___899__utf8;
typedef struct fzT__L16491i32__1as___899_Rutf8 fzT__L16491i32__1as___899_Rutf8;
typedef struct fzT__L16521u8__1as_u__899__utf8 fzT__L16521u8__1as_u__899__utf8;
typedef struct fzT__L16501u8__1as_u__899_Rutf8 fzT__L16501u8__1as_u__899_Rutf8;
typedef struct fzT__L16571i32__1as____u_stream fzT__L16571i32__1as____u_stream;
typedef struct fzT_num_u_option_l_u8_g fzT_num_u_option_l_u8_g;
typedef struct fzT__L16581u8__1as_u___u_stream fzT__L16581u8__1as_u___u_stream;
typedef struct fzT__L16711i32__1as___074289876 fzT__L16711i32__1as___074289876;
typedef struct fzT__L16691i32__1as___074289876 fzT__L16691i32__1as___074289876;
typedef struct fzT__L16721u8__1as_u__074289876 fzT__L16721u8__1as_u__074289876;
typedef struct fzT__L16701u8__1as_u__074289876 fzT__L16701u8__1as_u__074289876;
typedef struct fzT__L16811i32__1as___as_u_next fzT__L16811i32__1as___as_u_next;
typedef struct fzT__L16821u8__1as_u__as_u_next fzT__L16821u8__1as_u__as_u_next;
typedef struct fzT__L16871i32__1as___876__next fzT__L16871i32__1as___876__next;
typedef struct fzT__L16881u8__1as_u__876__next fzT__L16881u8__1as_u__876__next;
typedef struct fzT__L17011i32__1as___8__finite fzT__L17011i32__1as___8__finite;
typedef struct fzT__L17021u8__1as_u__8__finite fzT__L17021u8__1as_u__8__finite;
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__L1722io_Rdefaul__t__1print fzT__L1722io_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__Can_u_Print fzT_io__Can_u_Print;
typedef struct fzT_io_RCan_u_Print fzT_io_RCan_u_Print;
typedef struct fzT__L1744io_Rdefaul____println fzT__L1744io_Rdefaul____println;
typedef struct fzT_io_RCan_u_Print__println fzT_io_RCan_u_Print__println;
typedef struct fzT__L1750io_Rdefaul___1println fzT__L1750io_Rdefaul___1println;
typedef struct fzT_io_RCan_u_Print__1println fzT_io_RCan_u_Print__1println;
typedef struct fzT__Rlist_l_String_g fzT__Rlist_l_String_g;
typedef struct fzT__Rlist_l_i32_g fzT__Rlist_l_i32_g;
typedef struct fzT__Rlist_l_u8_g fzT__Rlist_l_u8_g;
typedef struct fzT_list_l_u8_g__as_u_string fzT_list_l_u8_g__as_u_string;
typedef struct fzT__L1765_Rlist_l_S___u_string fzT__L1765_Rlist_l_S___u_string;
typedef struct fzT__Rlist_l_i32_g__as_u_string fzT__Rlist_l_i32_g__as_u_string;
typedef struct fzT__Rlist_l_u8_g__as_u_string fzT__Rlist_l_u8_g__as_u_string;
typedef struct fzT_list_l_u8_g__1as_u_string fzT_list_l_u8_g__1as_u_string;
typedef struct fzT__L1777_Rlist_l_S___u_string fzT__L1777_Rlist_l_S___u_string;
typedef struct fzT__L1778_Rlist_l_i___u_string fzT__L1778_Rlist_l_i___u_string;
typedef struct fzT__Rlist_l_u8_g__1as_u_string fzT__Rlist_l_u8_g__1as_u_string;
typedef struct fzT__L1796list_l_u8___074359110 fzT__L1796list_l_u8___074359110;
typedef struct fzT__L1792list_l_u8___074359110 fzT__L1792list_l_u8___074359110;
typedef struct fzT__L1797_Rlist_l_S__074359110 fzT__L1797_Rlist_l_S__074359110;
typedef struct fzT__L1793_Rlist_l_S__074359110 fzT__L1793_Rlist_l_S__074359110;
typedef struct fzT__L1798_Rlist_l_i__074359110 fzT__L1798_Rlist_l_i__074359110;
typedef struct fzT__L1794_Rlist_l_i__074359110 fzT__L1794_Rlist_l_i__074359110;
typedef struct fzT__L1799_Rlist_l_u__074359110 fzT__L1799_Rlist_l_u__074359110;
typedef struct fzT__L1795_Rlist_l_u__074359110 fzT__L1795_Rlist_l_u__074359110;
typedef struct fzT__L1800list_l_u8___10__1call fzT__L1800list_l_u8___10__1call;
typedef struct fzT__L1801_Rlist_l_S__10__1call fzT__L1801_Rlist_l_S__10__1call;
typedef struct fzT__L1802_Rlist_l_i__10__1call fzT__L1802_Rlist_l_i__10__1call;
typedef struct fzT__L1803_Rlist_l_u__10__1call fzT__L1803_Rlist_l_u__10__1call;
typedef struct fzT_option_l_String_g fzT_option_l_String_g;
typedef struct fzT_list_l_String_g__head fzT_list_l_String_g__head;
typedef struct fzT_option_l_i32_g fzT_option_l_i32_g;
typedef struct fzT_list_l_i32_g__head fzT_list_l_i32_g__head;
typedef struct fzT_option_l_u8_g fzT_option_l_u8_g;
typedef struct fzT_list_l_u8_g__head fzT_list_l_u8_g__head;
typedef struct fzT__Rlist_l_String_g__head fzT__Rlist_l_String_g__head;
typedef struct fzT__Rlist_l_i32_g__head fzT__Rlist_l_i32_g__head;
typedef struct fzT__Rlist_l_u8_g__head fzT__Rlist_l_u8_g__head;
typedef struct fzT__L1842_Rlist_l_S__as_u_list fzT__L1842_Rlist_l_S__as_u_list;
typedef struct fzT__Rlist_l_i32_g__as_u_list fzT__Rlist_l_i32_g__as_u_list;
typedef struct fzT__Rlist_l_u8_g__as_u_list fzT__Rlist_l_u8_g__as_u_list;
typedef struct fzT__L2598option_l_s__tring_ggg fzT__L2598option_l_s__tring_ggg;
typedef struct fzT__L1857list_l_Str___u_stream fzT__L1857list_l_Str___u_stream;
typedef struct fzT__L1851list_l_Str___u_stream fzT__L1851list_l_Str___u_stream;
typedef struct fzT_list_l_i32_g__as_u_stream fzT_list_l_i32_g__as_u_stream;
typedef struct fzT_list_l_i32_g_Ras_u_stream fzT_list_l_i32_g_Ras_u_stream;
typedef struct fzT_list_l_u8_g__as_u_stream fzT_list_l_u8_g__as_u_stream;
typedef struct fzT_list_l_u8_g_Ras_u_stream fzT_list_l_u8_g_Ras_u_stream;
typedef struct fzT__L1860_Rlist_l_S___u_stream fzT__L1860_Rlist_l_S___u_stream;
typedef struct fzT__L1854_Rlist_l_S___u_stream fzT__L1854_Rlist_l_S___u_stream;
typedef struct fzT__Rlist_l_i32_g__as_u_stream fzT__Rlist_l_i32_g__as_u_stream;
typedef struct fzT__Rlist_l_i32_g_Ras_u_stream fzT__Rlist_l_i32_g_Ras_u_stream;
typedef struct fzT__Rlist_l_u8_g__as_u_stream fzT__Rlist_l_u8_g__as_u_stream;
typedef struct fzT__Rlist_l_u8_g_Ras_u_stream fzT__Rlist_l_u8_g_Ras_u_stream;
typedef struct fzT__L1875list_l_Str__as_u_next fzT__L1875list_l_Str__as_u_next;
typedef struct fzT__L1876list_l_i32__as_u_next fzT__L1876list_l_i32__as_u_next;
typedef struct fzT__L1877list_l_u8___as_u_next fzT__L1877list_l_u8___as_u_next;
typedef struct fzT__L1878_Rlist_l_S__as_u_next fzT__L1878_Rlist_l_S__as_u_next;
typedef struct fzT__L1879_Rlist_l_i__as_u_next fzT__L1879_Rlist_l_i__as_u_next;
typedef struct fzT__L1880_Rlist_l_u__as_u_next fzT__L1880_Rlist_l_u__as_u_next;
typedef struct fzT__L1899list_l_Str__eam__next fzT__L1899list_l_Str__eam__next;
typedef struct fzT__L1900list_l_i32__eam__next fzT__L1900list_l_i32__eam__next;
typedef struct fzT__L1901list_l_u8___eam__next fzT__L1901list_l_u8___eam__next;
typedef struct fzT__L1902_Rlist_l_S__eam__next fzT__L1902_Rlist_l_S__eam__next;
typedef struct fzT__L1903_Rlist_l_i__eam__next fzT__L1903_Rlist_l_i__eam__next;
typedef struct fzT__L1904_Rlist_l_u__eam__next fzT__L1904_Rlist_l_u__eam__next;
typedef struct fzT_list_l_String_g__is_u_empty fzT_list_l_String_g__is_u_empty;
typedef struct fzT_list_l_i32_g__is_u_empty fzT_list_l_i32_g__is_u_empty;
typedef struct fzT_list_l_u8_g__is_u_empty fzT_list_l_u8_g__is_u_empty;
typedef struct fzT__L1938_Rlist_l_S__s_u_empty fzT__L1938_Rlist_l_S__s_u_empty;
typedef struct fzT__Rlist_l_i32_g__is_u_empty fzT__Rlist_l_i32_g__is_u_empty;
typedef struct fzT__Rlist_l_u8_g__is_u_empty fzT__Rlist_l_u8_g__is_u_empty;
typedef struct fzT_list_l_u8_g__count fzT_list_l_u8_g__count;
typedef struct fzT__Rlist_l_String_g__count fzT__Rlist_l_String_g__count;
typedef struct fzT__Rlist_l_i32_g__count fzT__Rlist_l_i32_g__count;
typedef struct fzT__Rlist_l_u8_g__count fzT__Rlist_l_u8_g__count;
typedef struct fzT_list_l_String_g__1count fzT_list_l_String_g__1count;
typedef struct fzT_list_l_i32_g__1count fzT_list_l_i32_g__1count;
typedef struct fzT_list_l_u8_g__1count fzT_list_l_u8_g__1count;
typedef struct fzT__Rlist_l_String_g__1count fzT__Rlist_l_String_g__1count;
typedef struct fzT__Rlist_l_i32_g__1count fzT__Rlist_l_i32_g__1count;
typedef struct fzT__Rlist_l_u8_g__1count fzT__Rlist_l_u8_g__1count;
typedef struct fzT__Rlist_l_String_g__first fzT__Rlist_l_String_g__first;
typedef struct fzT__Rlist_l_i32_g__first fzT__Rlist_l_i32_g__first;
typedef struct fzT__Rlist_l_u8_g__first fzT__Rlist_l_u8_g__first;
typedef struct fzT_list_l_String_g__1infix_wpp fzT_list_l_String_g__1infix_wpp;
typedef struct fzT_list_l_i32_g__1infix_wpp fzT_list_l_i32_g__1infix_wpp;
typedef struct fzT_list_l_u8_g__1infix_wpp fzT_list_l_u8_g__1infix_wpp;
typedef struct fzT__L2022_Rlist_l_S__infix_wpp fzT__L2022_Rlist_l_S__infix_wpp;
typedef struct fzT__Rlist_l_i32_g__1infix_wpp fzT__Rlist_l_i32_g__1infix_wpp;
typedef struct fzT__Rlist_l_u8_g__1infix_wpp fzT__Rlist_l_u8_g__1infix_wpp;
typedef struct fzT_list_l_String_g__1fold fzT_list_l_String_g__1fold;
typedef struct fzT_list_l_i32_g__1fold fzT_list_l_i32_g__1fold;
typedef struct fzT_list_l_String_g__2fold fzT_list_l_String_g__2fold;
typedef struct fzT_list_l_i32_g__2fold fzT_list_l_i32_g__2fold;
typedef struct fzT_list_l_String_g__1concat fzT_list_l_String_g__1concat;
typedef struct fzT_list_l_i32_g__1concat fzT_list_l_i32_g__1concat;
typedef struct fzT_list_l_u8_g__1concat fzT_list_l_u8_g__1concat;
typedef struct fzT__Rlist_l_String_g__1concat fzT__Rlist_l_String_g__1concat;
typedef struct fzT__Rlist_l_i32_g__1concat fzT__Rlist_l_i32_g__1concat;
typedef struct fzT__Rlist_l_u8_g__1concat fzT__Rlist_l_u8_g__1concat;
typedef struct fzT__L2101list_l_Str__074376939 fzT__L2101list_l_Str__074376939;
typedef struct fzT__L2095list_l_Str__074376939 fzT__L2095list_l_Str__074376939;
typedef struct fzT__L2102list_l_i32__074376939 fzT__L2102list_l_i32__074376939;
typedef struct fzT__L2096list_l_i32__074376939 fzT__L2096list_l_i32__074376939;
typedef struct fzT__L2103list_l_u8___074376939 fzT__L2103list_l_u8___074376939;
typedef struct fzT__L2097list_l_u8___074376939 fzT__L2097list_l_u8___074376939;
typedef struct fzT__L2104_Rlist_l_S__074376939 fzT__L2104_Rlist_l_S__074376939;
typedef struct fzT__L2098_Rlist_l_S__074376939 fzT__L2098_Rlist_l_S__074376939;
typedef struct fzT__L2105_Rlist_l_i__074376939 fzT__L2105_Rlist_l_i__074376939;
typedef struct fzT__L2099_Rlist_l_i__074376939 fzT__L2099_Rlist_l_i__074376939;
typedef struct fzT__L2106_Rlist_l_u__074376939 fzT__L2106_Rlist_l_u__074376939;
typedef struct fzT__L2100_Rlist_l_u__074376939 fzT__L2100_Rlist_l_u__074376939;
typedef struct fzT__L2119list_l_Str__939__head fzT__L2119list_l_Str__939__head;
typedef struct fzT__L2120list_l_i32__939__head fzT__L2120list_l_i32__939__head;
typedef struct fzT__L2121list_l_u8___939__head fzT__L2121list_l_u8___939__head;
typedef struct fzT__L2122_Rlist_l_S__939__head fzT__L2122_Rlist_l_S__939__head;
typedef struct fzT__L2123_Rlist_l_i__939__head fzT__L2123_Rlist_l_i__939__head;
typedef struct fzT__L2124_Rlist_l_u__939__head fzT__L2124_Rlist_l_u__939__head;
typedef struct fzT__L2137list_l_Str__939__tail fzT__L2137list_l_Str__939__tail;
typedef struct fzT__L2138list_l_i32__939__tail fzT__L2138list_l_i32__939__tail;
typedef struct fzT__L2139list_l_u8___939__tail fzT__L2139list_l_u8___939__tail;
typedef struct fzT__L2140_Rlist_l_S__939__tail fzT__L2140_Rlist_l_S__939__tail;
typedef struct fzT__L2141_Rlist_l_i__939__tail fzT__L2141_Rlist_l_i__939__tail;
typedef struct fzT__L2142_Rlist_l_u__939__tail fzT__L2142_Rlist_l_u__939__tail;
typedef struct fzT__L2161list_l_Str___String_g fzT__L2161list_l_Str___String_g;
typedef struct fzT__L2162list_l_i32___String_g fzT__L2162list_l_i32___String_g;
typedef struct fzT__L2163list_l_u8____String_g fzT__L2163list_l_u8____String_g;
typedef struct fzT__L2164_Rlist_l_S___String_g fzT__L2164_Rlist_l_S___String_g;
typedef struct fzT__L2165_Rlist_l_i___String_g fzT__L2165_Rlist_l_i___String_g;
typedef struct fzT__L2166_Rlist_l_u___String_g fzT__L2166_Rlist_l_u___String_g;
typedef struct fzT__L2167list_l_Str__p_l_i32_g fzT__L2167list_l_Str__p_l_i32_g;
typedef struct fzT_list_l_i32_g__1map_l_i32_g fzT_list_l_i32_g__1map_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__L2215list_l_Str__074378416 fzT__L2215list_l_Str__074378416;
typedef struct fzT__L2206list_l_Str__074378416 fzT__L2206list_l_Str__074378416;
typedef struct fzT__L2216list_l_i32__074378416 fzT__L2216list_l_i32__074378416;
typedef struct fzT__L2207list_l_i32__074378416 fzT__L2207list_l_i32__074378416;
typedef struct fzT__L2217list_l_u8___074378416 fzT__L2217list_l_u8___074378416;
typedef struct fzT__L2208list_l_u8___074378416 fzT__L2208list_l_u8___074378416;
typedef struct fzT__L2218_Rlist_l_S__074378416 fzT__L2218_Rlist_l_S__074378416;
typedef struct fzT__L2209_Rlist_l_S__074378416 fzT__L2209_Rlist_l_S__074378416;
typedef struct fzT__L2219_Rlist_l_i__074378416 fzT__L2219_Rlist_l_i__074378416;
typedef struct fzT__L2210_Rlist_l_i__074378416 fzT__L2210_Rlist_l_i__074378416;
typedef struct fzT__L2220_Rlist_l_u__074378416 fzT__L2220_Rlist_l_u__074378416;
typedef struct fzT__L2211_Rlist_l_u__074378416 fzT__L2211_Rlist_l_u__074378416;
typedef struct fzT__L2221list_l_Str__074378416 fzT__L2221list_l_Str__074378416;
typedef struct fzT__L2212list_l_Str__074378416 fzT__L2212list_l_Str__074378416;
typedef struct fzT__L2222list_l_i32__074378416 fzT__L2222list_l_i32__074378416;
typedef struct fzT__L2213list_l_i32__074378416 fzT__L2213list_l_i32__074378416;
typedef struct fzT__L2223list_l_u8___074378416 fzT__L2223list_l_u8___074378416;
typedef struct fzT__L2214list_l_u8___074378416 fzT__L2214list_l_u8___074378416;
typedef struct fzT__L2242list_l_Str__416__head fzT__L2242list_l_Str__416__head;
typedef struct fzT__L2243list_l_i32__416__head fzT__L2243list_l_i32__416__head;
typedef struct fzT__L2244list_l_u8___416__head fzT__L2244list_l_u8___416__head;
typedef struct fzT__L2245_Rlist_l_S__416__head fzT__L2245_Rlist_l_S__416__head;
typedef struct fzT__L2246_Rlist_l_i__416__head fzT__L2246_Rlist_l_i__416__head;
typedef struct fzT__L2247_Rlist_l_u__416__head fzT__L2247_Rlist_l_u__416__head;
typedef struct fzT__L2248list_l_Str__416__head fzT__L2248list_l_Str__416__head;
typedef struct fzT__L2249list_l_i32__416__head fzT__L2249list_l_i32__416__head;
typedef struct fzT__L2250list_l_u8___416__head fzT__L2250list_l_u8___416__head;
typedef struct fzT__L2269list_l_Str__416__tail fzT__L2269list_l_Str__416__tail;
typedef struct fzT__L2270list_l_i32__416__tail fzT__L2270list_l_i32__416__tail;
typedef struct fzT__L2271list_l_u8___416__tail fzT__L2271list_l_u8___416__tail;
typedef struct fzT__L2272_Rlist_l_S__416__tail fzT__L2272_Rlist_l_S__416__tail;
typedef struct fzT__L2273_Rlist_l_i__416__tail fzT__L2273_Rlist_l_i__416__tail;
typedef struct fzT__L2274_Rlist_l_u__416__tail fzT__L2274_Rlist_l_u__416__tail;
typedef struct fzT__L2275list_l_Str__416__tail fzT__L2275list_l_Str__416__tail;
typedef struct fzT__L2276list_l_i32__416__tail fzT__L2276list_l_i32__416__tail;
typedef struct fzT__L2277list_l_u8___416__tail fzT__L2277list_l_u8___416__tail;
typedef struct fzT__L2305list_l_Str__ce_u_tail fzT__L2305list_l_Str__ce_u_tail;
typedef struct fzT_list_l_i32_g__force_u_tail fzT_list_l_i32_g__force_u_tail;
typedef struct fzT_list_l_u8_g__force_u_tail fzT_list_l_u8_g__force_u_tail;
typedef struct fzT_2marray_l_String_g fzT_2marray_l_String_g;
typedef struct fzT_2marray_l_i32_g fzT_2marray_l_i32_g;
typedef struct fzT_2marray_l_u8_g fzT_2marray_l_u8_g;
typedef struct fzT__L23322marray_l___U5b_wU5d_ fzT__L23322marray_l___U5b_wU5d_;
typedef struct fzT__L23332marray_l___U5b_wU5d_ fzT__L23332marray_l___U5b_wU5d_;
typedef struct fzT__L23342marray_l___U5b_wU5d_ fzT__L23342marray_l___U5b_wU5d_;
typedef struct fzT__L23502marray_l___s_u_array fzT__L23502marray_l___s_u_array;
typedef struct fzT_2marray_l_i32_g__as_u_array fzT_2marray_l_i32_g__as_u_array;
typedef struct fzT_2marray_l_u8_g__as_u_array fzT_2marray_l_u8_g__as_u_array;
typedef struct fzT__L23622marray_l___074398264 fzT__L23622marray_l___074398264;
typedef struct fzT__L23592marray_l___074398264 fzT__L23592marray_l___074398264;
typedef struct fzT__L23632marray_l___074398264 fzT__L23632marray_l___074398264;
typedef struct fzT__L23602marray_l___074398264 fzT__L23602marray_l___074398264;
typedef struct fzT__L23642marray_l___074398264 fzT__L23642marray_l___074398264;
typedef struct fzT__L23612marray_l___074398264 fzT__L23612marray_l___074398264;
typedef struct fzT__L23712marray_l___64__1call fzT__L23712marray_l___64__1call;
typedef struct fzT__L23722marray_l___64__1call fzT__L23722marray_l___64__1call;
typedef struct fzT__L23732marray_l___64__1call fzT__L23732marray_l___64__1call;
typedef struct fzT_2marray_l_String_g__1add fzT_2marray_l_String_g__1add;
typedef struct fzT_2marray_l_i32_g__1add fzT_2marray_l_i32_g__1add;
typedef struct fzT_2marray_l_u8_g__1add fzT_2marray_l_u8_g__1add;
typedef struct fzT__L24072marray_l___074402243 fzT__L24072marray_l___074402243;
typedef struct fzT__L24082marray_l___074402243 fzT__L24082marray_l___074402243;
typedef struct fzT__L24092marray_l___074402243 fzT__L24092marray_l___074402243;
typedef struct fzT_2marray_l_String_g__indices fzT_2marray_l_String_g__indices;
typedef struct fzT_2marray_l_i32_g__indices fzT_2marray_l_i32_g__indices;
typedef struct fzT_2marray_l_u8_g__indices fzT_2marray_l_u8_g__indices;
typedef struct fzT__L2443monad_l_St__String_gg fzT__L2443monad_l_St__String_gg;
typedef struct fzT__L2444monad_l_i3___l_i32_gg fzT__L2444monad_l_i3___l_i32_gg;
typedef struct fzT__L2445monad_l_i3___l_i32_gg fzT__L2445monad_l_i3___l_i32_gg;
typedef struct fzT__L2446monad_l_so__ring_gggg fzT__L2446monad_l_so__ring_gggg;
typedef struct fzT__L2447monad_l_so___i32_gggg fzT__L2447monad_l_so___i32_gggg;
typedef struct fzT__L2448monad_l_so__l_u8_gggg fzT__L2448monad_l_so__l_u8_gggg;
typedef struct fzT__L2449monad_l_u8__n_l_u8_gg fzT__L2449monad_l_u8__n_l_u8_gg;
typedef struct fzT_monad_l_u8_k_option_l_u8_gg fzT_monad_l_u8_k_option_l_u8_gg;
typedef struct fzT__L2451monad_l_un__l_unit_gg fzT__L2451monad_l_un__l_unit_gg;
typedef struct fzT_num_u_option_l_i32_g__val fzT_num_u_option_l_i32_g__val;
typedef struct fzT__L2463num_u_opti__g__exists fzT__L2463num_u_opti__g__exists;
typedef struct fzT__L2467num_u_opti__nfix_wgge fzT__L2467num_u_opti__nfix_wgge;
typedef struct fzT__L2471num_u_opti__d_l_i32_g fzT__L2471num_u_opti__d_l_i32_g;
typedef struct fzT__L2477num_u_opti__stfix_wQQ fzT__L2477num_u_opti__stfix_wQQ;
typedef struct fzT__L2480num_u_opti__infix_wpQ fzT__L2480num_u_opti__infix_wpQ;
typedef struct fzT__L2485num_u_opti__074437627 fzT__L2485num_u_opti__074437627;
typedef struct fzT__L2484num_u_opti__074437627 fzT__L2484num_u_opti__074437627;
typedef struct fzT__L2488num_u_opti__27__1call fzT__L2488num_u_opti__27__1call;
typedef struct fzT__L2493num_u_opti__074438143 fzT__L2493num_u_opti__074438143;
typedef struct fzT__L2492num_u_opti__074438143 fzT__L2492num_u_opti__074438143;
typedef struct fzT__L2496num_u_opti__43__1call fzT__L2496num_u_opti__43__1call;
typedef struct fzT_1num_u_option_l_i32_g fzT_1num_u_option_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__L25201i32__1hig__074457857 fzT__L25201i32__1hig__074457857;
typedef struct fzT__L25211u8__1high__074457857 fzT__L25211u8__1high__074457857;
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_option_l_String_g__get fzT_option_l_String_g__get;
typedef struct fzT_option_l_i32_g__get fzT_option_l_i32_g__get;
typedef struct fzT__L2611option_l_s___ggg__get fzT__L2611option_l_s___ggg__get;
typedef struct fzT__L2612option_l_s___ggg__get fzT__L2612option_l_s___ggg__get;
typedef struct fzT__L2613option_l_s___ggg__get fzT__L2613option_l_s___ggg__get;
typedef struct fzT_option_l_u8_g__get fzT_option_l_u8_g__get;
typedef struct fzT_option_l_String_g__exists fzT_option_l_String_g__exists;
typedef struct fzT_option_l_i32_g__exists fzT_option_l_i32_g__exists;
typedef struct fzT__L2647option_l_s__g__exists fzT__L2647option_l_s__g__exists;
typedef struct fzT__L2648option_l_s__g__exists fzT__L2648option_l_s__g__exists;
typedef struct fzT__L2649option_l_s__g__exists fzT__L2649option_l_s__g__exists;
typedef struct fzT_option_l_u8_g__exists fzT_option_l_u8_g__exists;
typedef struct fzT__L2669option_l_S__stfix_wQQ fzT__L2669option_l_S__stfix_wQQ;
typedef struct fzT_option_l_i32_g__postfix_wQQ fzT_option_l_i32_g__postfix_wQQ;
typedef struct fzT__L2671option_l_s__stfix_wQQ fzT__L2671option_l_s__stfix_wQQ;
typedef struct fzT__L2672option_l_s__stfix_wQQ fzT__L2672option_l_s__stfix_wQQ;
typedef struct fzT__L2673option_l_s__stfix_wQQ fzT__L2673option_l_s__stfix_wQQ;
typedef struct fzT_option_l_u8_g__postfix_wQQ fzT_option_l_u8_g__postfix_wQQ;
typedef struct fzT_1say fzT_1say;
typedef struct fzT_stdout fzT_stdout;
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_i32_g fzT_stream_l_i32_g;
typedef struct fzT__Rstream_l_i32_g fzT__Rstream_l_i32_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__L2705_R4array_l___u_string fzT__L2705_R4array_l___u_string;
typedef struct fzT__L27061i32__1inf___u_string fzT__L27061i32__1inf___u_string;
typedef struct fzT__L27071i32__1as____u_string fzT__L27071i32__1as____u_string;
typedef struct fzT__L27081u8__1as_u___u_string fzT__L27081u8__1as_u___u_string;
typedef struct fzT__L2709list_l_Str___u_string fzT__L2709list_l_Str___u_string;
typedef struct fzT__L2710list_l_i32___u_string fzT__L2710list_l_i32___u_string;
typedef struct fzT__L2711list_l_u8____u_string fzT__L2711list_l_u8____u_string;
typedef struct fzT__L2712_Rlist_l_S___u_string fzT__L2712_Rlist_l_S___u_string;
typedef struct fzT__L2713_Rlist_l_i___u_string fzT__L2713_Rlist_l_i___u_string;
typedef struct fzT__L2714_Rlist_l_u___u_string fzT__L2714_Rlist_l_u___u_string;
typedef struct fzT__L2715_R4array_l___u_string fzT__L2715_R4array_l___u_string;
typedef struct fzT__L27161i32__1inf___u_string fzT__L27161i32__1inf___u_string;
typedef struct fzT__L27171i32__1as____u_string fzT__L27171i32__1as____u_string;
typedef struct fzT__L27181u8__1as_u___u_string fzT__L27181u8__1as_u___u_string;
typedef struct fzT__L2719list_l_Str___u_string fzT__L2719list_l_Str___u_string;
typedef struct fzT__L2720list_l_i32___u_string fzT__L2720list_l_i32___u_string;
typedef struct fzT__L2721list_l_u8____u_string fzT__L2721list_l_u8____u_string;
typedef struct fzT__L2722_Rlist_l_S___u_string fzT__L2722_Rlist_l_S___u_string;
typedef struct fzT__L2723_Rlist_l_i___u_string fzT__L2723_Rlist_l_i___u_string;
typedef struct fzT__L2724_Rlist_l_u___u_string fzT__L2724_Rlist_l_u___u_string;
typedef struct fzT__L2725_Rstream_l___u_string fzT__L2725_Rstream_l___u_string;
typedef struct fzT__L2789_R4array_l__074633364 fzT__L2789_R4array_l__074633364;
typedef struct fzT__L2768_R4array_l__074633364 fzT__L2768_R4array_l__074633364;
typedef struct fzT__L27901i32__1inf__074633364 fzT__L27901i32__1inf__074633364;
typedef struct fzT__L27691i32__1inf__074633364 fzT__L27691i32__1inf__074633364;
typedef struct fzT__L27911i32__1as___074633364 fzT__L27911i32__1as___074633364;
typedef struct fzT__L27701i32__1as___074633364 fzT__L27701i32__1as___074633364;
typedef struct fzT__L27921u8__1as_u__074633364 fzT__L27921u8__1as_u__074633364;
typedef struct fzT__L27711u8__1as_u__074633364 fzT__L27711u8__1as_u__074633364;
typedef struct fzT__L2793list_l_Str__074633364 fzT__L2793list_l_Str__074633364;
typedef struct fzT__L2772list_l_Str__074633364 fzT__L2772list_l_Str__074633364;
typedef struct fzT__L2794list_l_i32__074633364 fzT__L2794list_l_i32__074633364;
typedef struct fzT__L2773list_l_i32__074633364 fzT__L2773list_l_i32__074633364;
typedef struct fzT__L2795list_l_u8___074633364 fzT__L2795list_l_u8___074633364;
typedef struct fzT__L2774list_l_u8___074633364 fzT__L2774list_l_u8___074633364;
typedef struct fzT__L2796_Rlist_l_S__074633364 fzT__L2796_Rlist_l_S__074633364;
typedef struct fzT__L2775_Rlist_l_S__074633364 fzT__L2775_Rlist_l_S__074633364;
typedef struct fzT__L2797_Rlist_l_i__074633364 fzT__L2797_Rlist_l_i__074633364;
typedef struct fzT__L2776_Rlist_l_i__074633364 fzT__L2776_Rlist_l_i__074633364;
typedef struct fzT__L2798_Rlist_l_u__074633364 fzT__L2798_Rlist_l_u__074633364;
typedef struct fzT__L2777_Rlist_l_u__074633364 fzT__L2777_Rlist_l_u__074633364;
typedef struct fzT__L2799_R4array_l__074633364 fzT__L2799_R4array_l__074633364;
typedef struct fzT__L2778_R4array_l__074633364 fzT__L2778_R4array_l__074633364;
typedef struct fzT__L28001i32__1inf__074633364 fzT__L28001i32__1inf__074633364;
typedef struct fzT__L27791i32__1inf__074633364 fzT__L27791i32__1inf__074633364;
typedef struct fzT__L28011i32__1as___074633364 fzT__L28011i32__1as___074633364;
typedef struct fzT__L27801i32__1as___074633364 fzT__L27801i32__1as___074633364;
typedef struct fzT__L28021u8__1as_u__074633364 fzT__L28021u8__1as_u__074633364;
typedef struct fzT__L27811u8__1as_u__074633364 fzT__L27811u8__1as_u__074633364;
typedef struct fzT__L2803list_l_Str__074633364 fzT__L2803list_l_Str__074633364;
typedef struct fzT__L2782list_l_Str__074633364 fzT__L2782list_l_Str__074633364;
typedef struct fzT__L2804list_l_i32__074633364 fzT__L2804list_l_i32__074633364;
typedef struct fzT__L2783list_l_i32__074633364 fzT__L2783list_l_i32__074633364;
typedef struct fzT__L2805list_l_u8___074633364 fzT__L2805list_l_u8___074633364;
typedef struct fzT__L2784list_l_u8___074633364 fzT__L2784list_l_u8___074633364;
typedef struct fzT__L2806_Rlist_l_S__074633364 fzT__L2806_Rlist_l_S__074633364;
typedef struct fzT__L2785_Rlist_l_S__074633364 fzT__L2785_Rlist_l_S__074633364;
typedef struct fzT__L2807_Rlist_l_i__074633364 fzT__L2807_Rlist_l_i__074633364;
typedef struct fzT__L2786_Rlist_l_i__074633364 fzT__L2786_Rlist_l_i__074633364;
typedef struct fzT__L2808_Rlist_l_u__074633364 fzT__L2808_Rlist_l_u__074633364;
typedef struct fzT__L2787_Rlist_l_u__074633364 fzT__L2787_Rlist_l_u__074633364;
typedef struct fzT__L2809_Rstream_l__074633364 fzT__L2809_Rstream_l__074633364;
typedef struct fzT__L2788_Rstream_l__074633364 fzT__L2788_Rstream_l__074633364;
typedef struct fzT__L2810_R4array_l__64__1call fzT__L2810_R4array_l__64__1call;
typedef struct fzT__L28111i32__1inf__64__1call fzT__L28111i32__1inf__64__1call;
typedef struct fzT__L28121i32__1as___64__1call fzT__L28121i32__1as___64__1call;
typedef struct fzT__L28131u8__1as_u__64__1call fzT__L28131u8__1as_u__64__1call;
typedef struct fzT__L2814list_l_Str__64__1call fzT__L2814list_l_Str__64__1call;
typedef struct fzT__L2815list_l_i32__64__1call fzT__L2815list_l_i32__64__1call;
typedef struct fzT__L2816list_l_u8___64__1call fzT__L2816list_l_u8___64__1call;
typedef struct fzT__L2817_Rlist_l_S__64__1call fzT__L2817_Rlist_l_S__64__1call;
typedef struct fzT__L2818_Rlist_l_i__64__1call fzT__L2818_Rlist_l_i__64__1call;
typedef struct fzT__L2819_Rlist_l_u__64__1call fzT__L2819_Rlist_l_u__64__1call;
typedef struct fzT__L2820_R4array_l__64__1call fzT__L2820_R4array_l__64__1call;
typedef struct fzT__L28211i32__1inf__64__1call fzT__L28211i32__1inf__64__1call;
typedef struct fzT__L28221i32__1as___64__1call fzT__L28221i32__1as___64__1call;
typedef struct fzT__L28231u8__1as_u__64__1call fzT__L28231u8__1as_u__64__1call;
typedef struct fzT__L2824list_l_Str__64__1call fzT__L2824list_l_Str__64__1call;
typedef struct fzT__L2825list_l_i32__64__1call fzT__L2825list_l_i32__64__1call;
typedef struct fzT__L2826list_l_u8___64__1call fzT__L2826list_l_u8___64__1call;
typedef struct fzT__L2827_Rlist_l_S__64__1call fzT__L2827_Rlist_l_S__64__1call;
typedef struct fzT__L2828_Rlist_l_i__64__1call fzT__L2828_Rlist_l_i__64__1call;
typedef struct fzT__L2829_Rlist_l_u__64__1call fzT__L2829_Rlist_l_u__64__1call;
typedef struct fzT__L2830_Rstream_l__64__1call fzT__L2830_Rstream_l__64__1call;
typedef struct fzT__L2873_R4array_l__as_u_list fzT__L2873_R4array_l__as_u_list;
typedef struct fzT__L28741i32__1inf__as_u_list fzT__L28741i32__1inf__as_u_list;
typedef struct fzT__L28751i32__1as___as_u_list fzT__L28751i32__1as___as_u_list;
typedef struct fzT__L28761u8__1as_u__as_u_list fzT__L28761u8__1as_u__as_u_list;
typedef struct fzT__L2877list_l_Str__as_u_list fzT__L2877list_l_Str__as_u_list;
typedef struct fzT__L2878list_l_i32__as_u_list fzT__L2878list_l_i32__as_u_list;
typedef struct fzT__L2879list_l_u8___as_u_list fzT__L2879list_l_u8___as_u_list;
typedef struct fzT__L2880_Rlist_l_S__as_u_list fzT__L2880_Rlist_l_S__as_u_list;
typedef struct fzT__L2881_Rlist_l_i__as_u_list fzT__L2881_Rlist_l_i__as_u_list;
typedef struct fzT__L2882_Rlist_l_u__as_u_list fzT__L2882_Rlist_l_u__as_u_list;
typedef struct fzT__L2883_Rstream_l__as_u_list fzT__L2883_Rstream_l__as_u_list;
typedef struct fzT__Rstream_l_i32_g__as_u_list fzT__Rstream_l_i32_g__as_u_list;
typedef struct fzT__Rstream_l_u8_g__as_u_list fzT__Rstream_l_u8_g__as_u_list;
typedef struct fzT__L2886_R4array_l__as_u_list fzT__L2886_R4array_l__as_u_list;
typedef struct fzT__L28871i32__1inf__as_u_list fzT__L28871i32__1inf__as_u_list;
typedef struct fzT__L28881i32__1as___as_u_list fzT__L28881i32__1as___as_u_list;
typedef struct fzT__L28891u8__1as_u__as_u_list fzT__L28891u8__1as_u__as_u_list;
typedef struct fzT__L2890list_l_Str__as_u_list fzT__L2890list_l_Str__as_u_list;
typedef struct fzT__L2891list_l_i32__as_u_list fzT__L2891list_l_i32__as_u_list;
typedef struct fzT__L2892list_l_u8___as_u_list fzT__L2892list_l_u8___as_u_list;
typedef struct fzT__L2893_Rlist_l_S__as_u_list fzT__L2893_Rlist_l_S__as_u_list;
typedef struct fzT__L2894_Rlist_l_i__as_u_list fzT__L2894_Rlist_l_i__as_u_list;
typedef struct fzT__L2895_Rlist_l_u__as_u_list fzT__L2895_Rlist_l_u__as_u_list;
typedef struct fzT__L2896_Rstream_l__as_u_list fzT__L2896_Rstream_l__as_u_list;
typedef struct fzT__L2969_R4array_l___u_stream fzT__L2969_R4array_l___u_stream;
typedef struct fzT__L29701i32__1inf___u_stream fzT__L29701i32__1inf___u_stream;
typedef struct fzT__L29711i32__1as____u_stream fzT__L29711i32__1as____u_stream;
typedef struct fzT__L29721u8__1as_u___u_stream fzT__L29721u8__1as_u___u_stream;
typedef struct fzT__L2973list_l_Str___u_stream fzT__L2973list_l_Str___u_stream;
typedef struct fzT__L2974list_l_i32___u_stream fzT__L2974list_l_i32___u_stream;
typedef struct fzT__L2975list_l_u8____u_stream fzT__L2975list_l_u8____u_stream;
typedef struct fzT__L2976_Rlist_l_S___u_stream fzT__L2976_Rlist_l_S___u_stream;
typedef struct fzT__L2977_Rlist_l_i___u_stream fzT__L2977_Rlist_l_i___u_stream;
typedef struct fzT__L2978_Rlist_l_u___u_stream fzT__L2978_Rlist_l_u___u_stream;
typedef struct fzT__L2979_R4array_l___u_stream fzT__L2979_R4array_l___u_stream;
typedef struct fzT__L29801i32__1inf___u_stream fzT__L29801i32__1inf___u_stream;
typedef struct fzT__L29811i32__1as____u_stream fzT__L29811i32__1as____u_stream;
typedef struct fzT__L29821u8__1as_u___u_stream fzT__L29821u8__1as_u___u_stream;
typedef struct fzT__L2983list_l_Str___u_stream fzT__L2983list_l_Str___u_stream;
typedef struct fzT__L2984list_l_i32___u_stream fzT__L2984list_l_i32___u_stream;
typedef struct fzT__L2985list_l_u8____u_stream fzT__L2985list_l_u8____u_stream;
typedef struct fzT__L2986_Rlist_l_S___u_stream fzT__L2986_Rlist_l_S___u_stream;
typedef struct fzT__L2987_Rlist_l_i___u_stream fzT__L2987_Rlist_l_i___u_stream;
typedef struct fzT__L2988_Rlist_l_u___u_stream fzT__L2988_Rlist_l_u___u_stream;
typedef struct fzT__L2989_Rstream_l___u_stream fzT__L2989_Rstream_l___u_stream;
typedef struct fzT__L3032_R4array_l__am__count fzT__L3032_R4array_l__am__count;
typedef struct fzT__L30331i32__1inf__am__count fzT__L30331i32__1inf__am__count;
typedef struct fzT__L30341i32__1as___76__count fzT__L30341i32__1as___76__count;
typedef struct fzT__L30351u8__1as_u__76__count fzT__L30351u8__1as_u__76__count;
typedef struct fzT__L3036list_l_Str__am__count fzT__L3036list_l_Str__am__count;
typedef struct fzT__L3037list_l_i32__am__count fzT__L3037list_l_i32__am__count;
typedef struct fzT__L3038list_l_u8___am__count fzT__L3038list_l_u8___am__count;
typedef struct fzT__L3039_Rlist_l_S__am__count fzT__L3039_Rlist_l_S__am__count;
typedef struct fzT__L3040_Rlist_l_i__am__count fzT__L3040_Rlist_l_i__am__count;
typedef struct fzT__L3041_Rlist_l_u__am__count fzT__L3041_Rlist_l_u__am__count;
typedef struct fzT__L3042_R4array_l__76__count fzT__L3042_R4array_l__76__count;
typedef struct fzT__L30431i32__1inf__76__count fzT__L30431i32__1inf__76__count;
typedef struct fzT__L30441i32__1as___76__count fzT__L30441i32__1as___76__count;
typedef struct fzT__L30451u8__1as_u__76__count fzT__L30451u8__1as_u__76__count;
typedef struct fzT__L3046list_l_Str__76__count fzT__L3046list_l_Str__76__count;
typedef struct fzT__L3047list_l_i32__76__count fzT__L3047list_l_i32__76__count;
typedef struct fzT__L3048list_l_u8___76__count fzT__L3048list_l_u8___76__count;
typedef struct fzT__L3049_Rlist_l_S__76__count fzT__L3049_Rlist_l_S__76__count;
typedef struct fzT__L3050_Rlist_l_i__76__count fzT__L3050_Rlist_l_i__76__count;
typedef struct fzT__L3051_Rlist_l_u__76__count fzT__L3051_Rlist_l_u__76__count;
typedef struct fzT__L3052_Rstream_l__76__count fzT__L3052_Rstream_l__76__count;
typedef struct fzT__L3116_R4array_l__074635309 fzT__L3116_R4array_l__074635309;
typedef struct fzT__L3095_R4array_l__074635309 fzT__L3095_R4array_l__074635309;
typedef struct fzT__L31171i32__1inf__074635309 fzT__L31171i32__1inf__074635309;
typedef struct fzT__L30961i32__1inf__074635309 fzT__L30961i32__1inf__074635309;
typedef struct fzT__L31181i32__1as___074635309 fzT__L31181i32__1as___074635309;
typedef struct fzT__L30971i32__1as___074635309 fzT__L30971i32__1as___074635309;
typedef struct fzT__L31191u8__1as_u__074635309 fzT__L31191u8__1as_u__074635309;
typedef struct fzT__L30981u8__1as_u__074635309 fzT__L30981u8__1as_u__074635309;
typedef struct fzT__L3120list_l_Str__074635309 fzT__L3120list_l_Str__074635309;
typedef struct fzT__L3099list_l_Str__074635309 fzT__L3099list_l_Str__074635309;
typedef struct fzT__L3121list_l_i32__074635309 fzT__L3121list_l_i32__074635309;
typedef struct fzT__L3100list_l_i32__074635309 fzT__L3100list_l_i32__074635309;
typedef struct fzT__L3122list_l_u8___074635309 fzT__L3122list_l_u8___074635309;
typedef struct fzT__L3101list_l_u8___074635309 fzT__L3101list_l_u8___074635309;
typedef struct fzT__L3123_Rlist_l_S__074635309 fzT__L3123_Rlist_l_S__074635309;
typedef struct fzT__L3102_Rlist_l_S__074635309 fzT__L3102_Rlist_l_S__074635309;
typedef struct fzT__L3124_Rlist_l_i__074635309 fzT__L3124_Rlist_l_i__074635309;
typedef struct fzT__L3103_Rlist_l_i__074635309 fzT__L3103_Rlist_l_i__074635309;
typedef struct fzT__L3125_Rlist_l_u__074635309 fzT__L3125_Rlist_l_u__074635309;
typedef struct fzT__L3104_Rlist_l_u__074635309 fzT__L3104_Rlist_l_u__074635309;
typedef struct fzT__L3126_R4array_l__074635309 fzT__L3126_R4array_l__074635309;
typedef struct fzT__L3105_R4array_l__074635309 fzT__L3105_R4array_l__074635309;
typedef struct fzT__L31271i32__1inf__074635309 fzT__L31271i32__1inf__074635309;
typedef struct fzT__L31061i32__1inf__074635309 fzT__L31061i32__1inf__074635309;
typedef struct fzT__L31281i32__1as___074635309 fzT__L31281i32__1as___074635309;
typedef struct fzT__L31071i32__1as___074635309 fzT__L31071i32__1as___074635309;
typedef struct fzT__L31291u8__1as_u__074635309 fzT__L31291u8__1as_u__074635309;
typedef struct fzT__L31081u8__1as_u__074635309 fzT__L31081u8__1as_u__074635309;
typedef struct fzT__L3130list_l_Str__074635309 fzT__L3130list_l_Str__074635309;
typedef struct fzT__L3109list_l_Str__074635309 fzT__L3109list_l_Str__074635309;
typedef struct fzT__L3131list_l_i32__074635309 fzT__L3131list_l_i32__074635309;
typedef struct fzT__L3110list_l_i32__074635309 fzT__L3110list_l_i32__074635309;
typedef struct fzT__L3132list_l_u8___074635309 fzT__L3132list_l_u8___074635309;
typedef struct fzT__L3111list_l_u8___074635309 fzT__L3111list_l_u8___074635309;
typedef struct fzT__L3133_Rlist_l_S__074635309 fzT__L3133_Rlist_l_S__074635309;
typedef struct fzT__L3112_Rlist_l_S__074635309 fzT__L3112_Rlist_l_S__074635309;
typedef struct fzT__L3134_Rlist_l_i__074635309 fzT__L3134_Rlist_l_i__074635309;
typedef struct fzT__L3113_Rlist_l_i__074635309 fzT__L3113_Rlist_l_i__074635309;
typedef struct fzT__L3135_Rlist_l_u__074635309 fzT__L3135_Rlist_l_u__074635309;
typedef struct fzT__L3114_Rlist_l_u__074635309 fzT__L3114_Rlist_l_u__074635309;
typedef struct fzT__L3136_Rstream_l__074635309 fzT__L3136_Rstream_l__074635309;
typedef struct fzT__L3115_Rstream_l__074635309 fzT__L3115_Rstream_l__074635309;
typedef struct fzT__L3137_R4array_l__09__1call fzT__L3137_R4array_l__09__1call;
typedef struct fzT__L31381i32__1inf__09__1call fzT__L31381i32__1inf__09__1call;
typedef struct fzT__L31391i32__1as___09__1call fzT__L31391i32__1as___09__1call;
typedef struct fzT__L31401u8__1as_u__09__1call fzT__L31401u8__1as_u__09__1call;
typedef struct fzT__L3141list_l_Str__09__1call fzT__L3141list_l_Str__09__1call;
typedef struct fzT__L3142list_l_i32__09__1call fzT__L3142list_l_i32__09__1call;
typedef struct fzT__L3143list_l_u8___09__1call fzT__L3143list_l_u8___09__1call;
typedef struct fzT__L3144_Rlist_l_S__09__1call fzT__L3144_Rlist_l_S__09__1call;
typedef struct fzT__L3145_Rlist_l_i__09__1call fzT__L3145_Rlist_l_i__09__1call;
typedef struct fzT__L3146_Rlist_l_u__09__1call fzT__L3146_Rlist_l_u__09__1call;
typedef struct fzT__L3147_R4array_l__09__1call fzT__L3147_R4array_l__09__1call;
typedef struct fzT__L31481i32__1inf__09__1call fzT__L31481i32__1inf__09__1call;
typedef struct fzT__L31491i32__1as___09__1call fzT__L31491i32__1as___09__1call;
typedef struct fzT__L31501u8__1as_u__09__1call fzT__L31501u8__1as_u__09__1call;
typedef struct fzT__L3151list_l_Str__09__1call fzT__L3151list_l_Str__09__1call;
typedef struct fzT__L3152list_l_i32__09__1call fzT__L3152list_l_i32__09__1call;
typedef struct fzT__L3153list_l_u8___09__1call fzT__L3153list_l_u8___09__1call;
typedef struct fzT__L3154_Rlist_l_S__09__1call fzT__L3154_Rlist_l_S__09__1call;
typedef struct fzT__L3155_Rlist_l_i__09__1call fzT__L3155_Rlist_l_i__09__1call;
typedef struct fzT__L3156_Rlist_l_u__09__1call fzT__L3156_Rlist_l_u__09__1call;
typedef struct fzT__L3157_Rstream_l__09__1call fzT__L3157_Rstream_l__09__1call;
typedef struct fzT__L3200_R4array_l__s_u_array fzT__L3200_R4array_l__s_u_array;
typedef struct fzT__L32011i32__1inf__s_u_array fzT__L32011i32__1inf__s_u_array;
typedef struct fzT__L32021i32__1as___s_u_array fzT__L32021i32__1as___s_u_array;
typedef struct fzT__L32031u8__1as_u__s_u_array fzT__L32031u8__1as_u__s_u_array;
typedef struct fzT__L3204list_l_Str__s_u_array fzT__L3204list_l_Str__s_u_array;
typedef struct fzT__L3205list_l_i32__s_u_array fzT__L3205list_l_i32__s_u_array;
typedef struct fzT__L3206list_l_u8___s_u_array fzT__L3206list_l_u8___s_u_array;
typedef struct fzT__L3207_Rlist_l_S__s_u_array fzT__L3207_Rlist_l_S__s_u_array;
typedef struct fzT__L3208_Rlist_l_i__s_u_array fzT__L3208_Rlist_l_i__s_u_array;
typedef struct fzT__L3209_Rlist_l_u__s_u_array fzT__L3209_Rlist_l_u__s_u_array;
typedef struct fzT__L3210_R4array_l__s_u_array fzT__L3210_R4array_l__s_u_array;
typedef struct fzT__L32111i32__1inf__s_u_array fzT__L32111i32__1inf__s_u_array;
typedef struct fzT__L32121i32__1as___s_u_array fzT__L32121i32__1as___s_u_array;
typedef struct fzT__L32131u8__1as_u__s_u_array fzT__L32131u8__1as_u__s_u_array;
typedef struct fzT__L3214list_l_Str__s_u_array fzT__L3214list_l_Str__s_u_array;
typedef struct fzT__L3215list_l_i32__s_u_array fzT__L3215list_l_i32__s_u_array;
typedef struct fzT__L3216list_l_u8___s_u_array fzT__L3216list_l_u8___s_u_array;
typedef struct fzT__L3217_Rlist_l_S__s_u_array fzT__L3217_Rlist_l_S__s_u_array;
typedef struct fzT__L3218_Rlist_l_i__s_u_array fzT__L3218_Rlist_l_i__s_u_array;
typedef struct fzT__L3219_Rlist_l_u__s_u_array fzT__L3219_Rlist_l_u__s_u_array;
typedef struct fzT__L3220_Rstream_l__s_u_array fzT__L3220_Rstream_l__s_u_array;
typedef struct fzT__L3284_R4array_l__074636216 fzT__L3284_R4array_l__074636216;
typedef struct fzT__L32851i32__1inf__074636216 fzT__L32851i32__1inf__074636216;
typedef struct fzT__L32861i32__1as___074636216 fzT__L32861i32__1as___074636216;
typedef struct fzT__L32871u8__1as_u__074636216 fzT__L32871u8__1as_u__074636216;
typedef struct fzT__L3288list_l_Str__074636216 fzT__L3288list_l_Str__074636216;
typedef struct fzT__L3289list_l_i32__074636216 fzT__L3289list_l_i32__074636216;
typedef struct fzT__L3290list_l_u8___074636216 fzT__L3290list_l_u8___074636216;
typedef struct fzT__L3291_Rlist_l_S__074636216 fzT__L3291_Rlist_l_S__074636216;
typedef struct fzT__L3292_Rlist_l_i__074636216 fzT__L3292_Rlist_l_i__074636216;
typedef struct fzT__L3293_Rlist_l_u__074636216 fzT__L3293_Rlist_l_u__074636216;
typedef struct fzT__L3294_R4array_l__074636216 fzT__L3294_R4array_l__074636216;
typedef struct fzT__L32951i32__1inf__074636216 fzT__L32951i32__1inf__074636216;
typedef struct fzT__L32961i32__1as___074636216 fzT__L32961i32__1as___074636216;
typedef struct fzT__L32971u8__1as_u__074636216 fzT__L32971u8__1as_u__074636216;
typedef struct fzT__L3298list_l_Str__074636216 fzT__L3298list_l_Str__074636216;
typedef struct fzT__L3299list_l_i32__074636216 fzT__L3299list_l_i32__074636216;
typedef struct fzT__L3300list_l_u8___074636216 fzT__L3300list_l_u8___074636216;
typedef struct fzT__L3301_Rlist_l_S__074636216 fzT__L3301_Rlist_l_S__074636216;
typedef struct fzT__L3302_Rlist_l_i__074636216 fzT__L3302_Rlist_l_i__074636216;
typedef struct fzT__L3303_Rlist_l_u__074636216 fzT__L3303_Rlist_l_u__074636216;
typedef struct fzT__L3304_Rstream_l__074636216 fzT__L3304_Rstream_l__074636216;
typedef struct fzT__L3431_R4array_l__am__1fold fzT__L3431_R4array_l__am__1fold;
typedef struct fzT__L34321i32__1inf__am__1fold fzT__L34321i32__1inf__am__1fold;
typedef struct fzT__L34331i32__1as___76__1fold fzT__L34331i32__1as___76__1fold;
typedef struct fzT__L34341u8__1as_u__76__1fold fzT__L34341u8__1as_u__76__1fold;
typedef struct fzT__L3435list_l_Str__am__1fold fzT__L3435list_l_Str__am__1fold;
typedef struct fzT__L3436list_l_i32__am__1fold fzT__L3436list_l_i32__am__1fold;
typedef struct fzT__L3437list_l_u8___am__1fold fzT__L3437list_l_u8___am__1fold;
typedef struct fzT__L3438_Rlist_l_S__am__1fold fzT__L3438_Rlist_l_S__am__1fold;
typedef struct fzT__L3439_Rlist_l_i__am__1fold fzT__L3439_Rlist_l_i__am__1fold;
typedef struct fzT__L3440_Rlist_l_u__am__1fold fzT__L3440_Rlist_l_u__am__1fold;
typedef struct fzT__Rstream_l_String_g__1fold fzT__Rstream_l_String_g__1fold;
typedef struct fzT__L3442_R4array_l__76__1fold fzT__L3442_R4array_l__76__1fold;
typedef struct fzT__L34431i32__1inf__76__1fold fzT__L34431i32__1inf__76__1fold;
typedef struct fzT__L34441i32__1as___76__1fold fzT__L34441i32__1as___76__1fold;
typedef struct fzT__L34451u8__1as_u__76__1fold fzT__L34451u8__1as_u__76__1fold;
typedef struct fzT__L3446list_l_Str__76__1fold fzT__L3446list_l_Str__76__1fold;
typedef struct fzT__L3447list_l_i32__76__1fold fzT__L3447list_l_i32__76__1fold;
typedef struct fzT__L3448list_l_u8___76__1fold fzT__L3448list_l_u8___76__1fold;
typedef struct fzT__L3449_Rlist_l_S__76__1fold fzT__L3449_Rlist_l_S__76__1fold;
typedef struct fzT__L3450_Rlist_l_i__76__1fold fzT__L3450_Rlist_l_i__76__1fold;
typedef struct fzT__L3451_Rlist_l_u__76__1fold fzT__L3451_Rlist_l_u__76__1fold;
typedef struct fzT__L3452_Rstream_l__76__1fold fzT__L3452_Rstream_l__76__1fold;
typedef struct fzT__L3519_R4array_l__am__2fold fzT__L3519_R4array_l__am__2fold;
typedef struct fzT__L35201i32__1inf__am__2fold fzT__L35201i32__1inf__am__2fold;
typedef struct fzT__L35211i32__1as___76__2fold fzT__L35211i32__1as___76__2fold;
typedef struct fzT__L35221u8__1as_u__76__2fold fzT__L35221u8__1as_u__76__2fold;
typedef struct fzT__L3523list_l_Str__am__2fold fzT__L3523list_l_Str__am__2fold;
typedef struct fzT__L3524list_l_i32__am__2fold fzT__L3524list_l_i32__am__2fold;
typedef struct fzT__L3525list_l_u8___am__2fold fzT__L3525list_l_u8___am__2fold;
typedef struct fzT__L3526_Rlist_l_S__am__2fold fzT__L3526_Rlist_l_S__am__2fold;
typedef struct fzT__L3527_Rlist_l_i__am__2fold fzT__L3527_Rlist_l_i__am__2fold;
typedef struct fzT__L3528_Rlist_l_u__am__2fold fzT__L3528_Rlist_l_u__am__2fold;
typedef struct fzT__Rstream_l_String_g__2fold fzT__Rstream_l_String_g__2fold;
typedef struct fzT__L3530_R4array_l__76__2fold fzT__L3530_R4array_l__76__2fold;
typedef struct fzT__L35311i32__1inf__76__2fold fzT__L35311i32__1inf__76__2fold;
typedef struct fzT__L35321i32__1as___76__2fold fzT__L35321i32__1as___76__2fold;
typedef struct fzT__L35331u8__1as_u__76__2fold fzT__L35331u8__1as_u__76__2fold;
typedef struct fzT__L3534list_l_Str__76__2fold fzT__L3534list_l_Str__76__2fold;
typedef struct fzT__L3535list_l_i32__76__2fold fzT__L3535list_l_i32__76__2fold;
typedef struct fzT__L3536list_l_u8___76__2fold fzT__L3536list_l_u8___76__2fold;
typedef struct fzT__L3537_Rlist_l_S__76__2fold fzT__L3537_Rlist_l_S__76__2fold;
typedef struct fzT__L3538_Rlist_l_i__76__2fold fzT__L3538_Rlist_l_i__76__2fold;
typedef struct fzT__L3539_Rlist_l_u__76__2fold fzT__L3539_Rlist_l_u__76__2fold;
typedef struct fzT__L3540_Rstream_l__76__2fold fzT__L3540_Rstream_l__76__2fold;
typedef struct fzT__L3651_R4array_l__074645581 fzT__L3651_R4array_l__074645581;
typedef struct fzT__L36521i32__1inf__074645581 fzT__L36521i32__1inf__074645581;
typedef struct fzT__L36531i32__1as___074645581 fzT__L36531i32__1as___074645581;
typedef struct fzT__L36541u8__1as_u__074645581 fzT__L36541u8__1as_u__074645581;
typedef struct fzT__L3655list_l_Str__074645581 fzT__L3655list_l_Str__074645581;
typedef struct fzT__L3656list_l_i32__074645581 fzT__L3656list_l_i32__074645581;
typedef struct fzT__L3657list_l_u8___074645581 fzT__L3657list_l_u8___074645581;
typedef struct fzT__L3658_Rlist_l_S__074645581 fzT__L3658_Rlist_l_S__074645581;
typedef struct fzT__L3659_Rlist_l_i__074645581 fzT__L3659_Rlist_l_i__074645581;
typedef struct fzT__L3660_Rlist_l_u__074645581 fzT__L3660_Rlist_l_u__074645581;
typedef struct fzT__L3661_Rstream_l__074645581 fzT__L3661_Rstream_l__074645581;
typedef struct fzT__L3662_R4array_l__074645581 fzT__L3662_R4array_l__074645581;
typedef struct fzT__L36631i32__1inf__074645581 fzT__L36631i32__1inf__074645581;
typedef struct fzT__L36641i32__1as___074645581 fzT__L36641i32__1as___074645581;
typedef struct fzT__L36651u8__1as_u__074645581 fzT__L36651u8__1as_u__074645581;
typedef struct fzT__L3666list_l_Str__074645581 fzT__L3666list_l_Str__074645581;
typedef struct fzT__L3667list_l_i32__074645581 fzT__L3667list_l_i32__074645581;
typedef struct fzT__L3668list_l_u8___074645581 fzT__L3668list_l_u8___074645581;
typedef struct fzT__L3669_Rlist_l_S__074645581 fzT__L3669_Rlist_l_S__074645581;
typedef struct fzT__L3670_Rlist_l_i__074645581 fzT__L3670_Rlist_l_i__074645581;
typedef struct fzT__L3671_Rlist_l_u__074645581 fzT__L3671_Rlist_l_u__074645581;
typedef struct fzT__L3672_Rstream_l__074645581 fzT__L3672_Rstream_l__074645581;
typedef struct fzT__L3789_R4array_l___String_g fzT__L3789_R4array_l___String_g;
typedef struct fzT__L37901i32__1inf___String_g fzT__L37901i32__1inf___String_g;
typedef struct fzT__L37911i32__1as____String_g fzT__L37911i32__1as____String_g;
typedef struct fzT__L37921u8__1as_u___String_g fzT__L37921u8__1as_u___String_g;
typedef struct fzT__L3793list_l_Str___String_g fzT__L3793list_l_Str___String_g;
typedef struct fzT__L3794list_l_i32___String_g fzT__L3794list_l_i32___String_g;
typedef struct fzT__L3795list_l_u8____String_g fzT__L3795list_l_u8____String_g;
typedef struct fzT__L3796_Rlist_l_S___String_g fzT__L3796_Rlist_l_S___String_g;
typedef struct fzT__L3797_Rlist_l_i___String_g fzT__L3797_Rlist_l_i___String_g;
typedef struct fzT__L3798_Rlist_l_u___String_g fzT__L3798_Rlist_l_u___String_g;
typedef struct fzT__L3799_Rstream_l___String_g fzT__L3799_Rstream_l___String_g;
typedef struct fzT__L3844_R4array_l__074646976 fzT__L3844_R4array_l__074646976;
typedef struct fzT__L3833_R4array_l__074646976 fzT__L3833_R4array_l__074646976;
typedef struct fzT__L38451i32__1inf__074646976 fzT__L38451i32__1inf__074646976;
typedef struct fzT__L38341i32__1inf__074646976 fzT__L38341i32__1inf__074646976;
typedef struct fzT__L38461i32__1as___074646976 fzT__L38461i32__1as___074646976;
typedef struct fzT__L38351i32__1as___074646976 fzT__L38351i32__1as___074646976;
typedef struct fzT__L38471u8__1as_u__074646976 fzT__L38471u8__1as_u__074646976;
typedef struct fzT__L38361u8__1as_u__074646976 fzT__L38361u8__1as_u__074646976;
typedef struct fzT__L3848list_l_Str__074646976 fzT__L3848list_l_Str__074646976;
typedef struct fzT__L3837list_l_Str__074646976 fzT__L3837list_l_Str__074646976;
typedef struct fzT__L3849list_l_i32__074646976 fzT__L3849list_l_i32__074646976;
typedef struct fzT__L3838list_l_i32__074646976 fzT__L3838list_l_i32__074646976;
typedef struct fzT__L3850list_l_u8___074646976 fzT__L3850list_l_u8___074646976;
typedef struct fzT__L3839list_l_u8___074646976 fzT__L3839list_l_u8___074646976;
typedef struct fzT__L3851_Rlist_l_S__074646976 fzT__L3851_Rlist_l_S__074646976;
typedef struct fzT__L3840_Rlist_l_S__074646976 fzT__L3840_Rlist_l_S__074646976;
typedef struct fzT__L3852_Rlist_l_i__074646976 fzT__L3852_Rlist_l_i__074646976;
typedef struct fzT__L3841_Rlist_l_i__074646976 fzT__L3841_Rlist_l_i__074646976;
typedef struct fzT__L3853_Rlist_l_u__074646976 fzT__L3853_Rlist_l_u__074646976;
typedef struct fzT__L3842_Rlist_l_u__074646976 fzT__L3842_Rlist_l_u__074646976;
typedef struct fzT__L3854_Rstream_l__074646976 fzT__L3854_Rstream_l__074646976;
typedef struct fzT__L3843_Rstream_l__074646976 fzT__L3843_Rstream_l__074646976;
typedef struct fzT__L3877_R4array_l__as_u_next fzT__L3877_R4array_l__as_u_next;
typedef struct fzT__L38781i32__1inf__as_u_next fzT__L38781i32__1inf__as_u_next;
typedef struct fzT__L38791i32__1as___as_u_next fzT__L38791i32__1as___as_u_next;
typedef struct fzT__L38801u8__1as_u__as_u_next fzT__L38801u8__1as_u__as_u_next;
typedef struct fzT__L3881list_l_Str__as_u_next fzT__L3881list_l_Str__as_u_next;
typedef struct fzT__L3882list_l_i32__as_u_next fzT__L3882list_l_i32__as_u_next;
typedef struct fzT__L3883list_l_u8___as_u_next fzT__L3883list_l_u8___as_u_next;
typedef struct fzT__L3884_Rlist_l_S__as_u_next fzT__L3884_Rlist_l_S__as_u_next;
typedef struct fzT__L3885_Rlist_l_i__as_u_next fzT__L3885_Rlist_l_i__as_u_next;
typedef struct fzT__L3886_Rlist_l_u__as_u_next fzT__L3886_Rlist_l_u__as_u_next;
typedef struct fzT__L3887_Rstream_l__as_u_next fzT__L3887_Rstream_l__as_u_next;
typedef struct fzT__L3910_R4array_l__976__next fzT__L3910_R4array_l__976__next;
typedef struct fzT__L39111i32__1inf__976__next fzT__L39111i32__1inf__976__next;
typedef struct fzT__L39121i32__1as___976__next fzT__L39121i32__1as___976__next;
typedef struct fzT__L39131u8__1as_u__976__next fzT__L39131u8__1as_u__976__next;
typedef struct fzT__L3914list_l_Str__976__next fzT__L3914list_l_Str__976__next;
typedef struct fzT__L3915list_l_i32__976__next fzT__L3915list_l_i32__976__next;
typedef struct fzT__L3916list_l_u8___976__next fzT__L3916list_l_u8___976__next;
typedef struct fzT__L3917_Rlist_l_S__976__next fzT__L3917_Rlist_l_S__976__next;
typedef struct fzT__L3918_Rlist_l_i__976__next fzT__L3918_Rlist_l_i__976__next;
typedef struct fzT__L3919_Rlist_l_u__976__next fzT__L3919_Rlist_l_u__976__next;
typedef struct fzT__L3920_Rstream_l__976__next fzT__L3920_Rstream_l__976__next;
typedef struct fzT__L3991_R4array_l___u_stream fzT__L3991_R4array_l___u_stream;
typedef struct fzT__L39921i32__1inf___u_stream fzT__L39921i32__1inf___u_stream;
typedef struct fzT__L39931i32__1as____u_stream fzT__L39931i32__1as____u_stream;
typedef struct fzT__L39941u8__1as_u___u_stream fzT__L39941u8__1as_u___u_stream;
typedef struct fzT__L3995list_l_Str___u_stream fzT__L3995list_l_Str___u_stream;
typedef struct fzT__L3996list_l_i32___u_stream fzT__L3996list_l_i32___u_stream;
typedef struct fzT__L3997list_l_u8____u_stream fzT__L3997list_l_u8____u_stream;
typedef struct fzT__L3998_Rlist_l_S___u_stream fzT__L3998_Rlist_l_S___u_stream;
typedef struct fzT__L3999_Rlist_l_i___u_stream fzT__L3999_Rlist_l_i___u_stream;
typedef struct fzT__L4000_Rlist_l_u___u_stream fzT__L4000_Rlist_l_u___u_stream;
typedef struct fzT__L4001_Rstream_l___u_stream fzT__L4001_Rstream_l___u_stream;
typedef struct fzT__L4002_Rstream_l___u_stream fzT__L4002_Rstream_l___u_stream;
typedef struct fzT__L4003_Rstream_l___u_stream fzT__L4003_Rstream_l___u_stream;
typedef struct fzT__L4004_R4array_l___u_stream fzT__L4004_R4array_l___u_stream;
typedef struct fzT__L40051i32__1inf___u_stream fzT__L40051i32__1inf___u_stream;
typedef struct fzT__L40061i32__1as____u_stream fzT__L40061i32__1as____u_stream;
typedef struct fzT__L40071u8__1as_u___u_stream fzT__L40071u8__1as_u___u_stream;
typedef struct fzT__L4008list_l_Str___u_stream fzT__L4008list_l_Str___u_stream;
typedef struct fzT__L4009list_l_i32___u_stream fzT__L4009list_l_i32___u_stream;
typedef struct fzT__L4010list_l_u8____u_stream fzT__L4010list_l_u8____u_stream;
typedef struct fzT__L4011_Rlist_l_S___u_stream fzT__L4011_Rlist_l_S___u_stream;
typedef struct fzT__L4012_Rlist_l_i___u_stream fzT__L4012_Rlist_l_i___u_stream;
typedef struct fzT__L4013_Rlist_l_u___u_stream fzT__L4013_Rlist_l_u___u_stream;
typedef struct fzT__L4014_Rstream_l___u_stream fzT__L4014_Rstream_l___u_stream;
typedef struct fzT__L4111_R4array_l__074648266 fzT__L4111_R4array_l__074648266;
typedef struct fzT__L4087_R4array_l__074648266 fzT__L4087_R4array_l__074648266;
typedef struct fzT__L41121i32__1inf__074648266 fzT__L41121i32__1inf__074648266;
typedef struct fzT__L40881i32__1inf__074648266 fzT__L40881i32__1inf__074648266;
typedef struct fzT__L41131i32__1as___074648266 fzT__L41131i32__1as___074648266;
typedef struct fzT__L40891i32__1as___074648266 fzT__L40891i32__1as___074648266;
typedef struct fzT__L41141u8__1as_u__074648266 fzT__L41141u8__1as_u__074648266;
typedef struct fzT__L40901u8__1as_u__074648266 fzT__L40901u8__1as_u__074648266;
typedef struct fzT__L4115list_l_Str__074648266 fzT__L4115list_l_Str__074648266;
typedef struct fzT__L4091list_l_Str__074648266 fzT__L4091list_l_Str__074648266;
typedef struct fzT__L4116list_l_i32__074648266 fzT__L4116list_l_i32__074648266;
typedef struct fzT__L4092list_l_i32__074648266 fzT__L4092list_l_i32__074648266;
typedef struct fzT__L4117list_l_u8___074648266 fzT__L4117list_l_u8___074648266;
typedef struct fzT__L4093list_l_u8___074648266 fzT__L4093list_l_u8___074648266;
typedef struct fzT__L4118_Rlist_l_S__074648266 fzT__L4118_Rlist_l_S__074648266;
typedef struct fzT__L4094_Rlist_l_S__074648266 fzT__L4094_Rlist_l_S__074648266;
typedef struct fzT__L4119_Rlist_l_i__074648266 fzT__L4119_Rlist_l_i__074648266;
typedef struct fzT__L4095_Rlist_l_i__074648266 fzT__L4095_Rlist_l_i__074648266;
typedef struct fzT__L4120_Rlist_l_u__074648266 fzT__L4120_Rlist_l_u__074648266;
typedef struct fzT__L4096_Rlist_l_u__074648266 fzT__L4096_Rlist_l_u__074648266;
typedef struct fzT__L4121_Rstream_l__074648266 fzT__L4121_Rstream_l__074648266;
typedef struct fzT__L4097_Rstream_l__074648266 fzT__L4097_Rstream_l__074648266;
typedef struct fzT__L4122_Rstream_l__074648266 fzT__L4122_Rstream_l__074648266;
typedef struct fzT__L4098_Rstream_l__074648266 fzT__L4098_Rstream_l__074648266;
typedef struct fzT__L4123_Rstream_l__074648266 fzT__L4123_Rstream_l__074648266;
typedef struct fzT__L4099_Rstream_l__074648266 fzT__L4099_Rstream_l__074648266;
typedef struct fzT__L4124_R4array_l__074648266 fzT__L4124_R4array_l__074648266;
typedef struct fzT__L4100_R4array_l__074648266 fzT__L4100_R4array_l__074648266;
typedef struct fzT__L41251i32__1inf__074648266 fzT__L41251i32__1inf__074648266;
typedef struct fzT__L41011i32__1inf__074648266 fzT__L41011i32__1inf__074648266;
typedef struct fzT__L41261i32__1as___074648266 fzT__L41261i32__1as___074648266;
typedef struct fzT__L41021i32__1as___074648266 fzT__L41021i32__1as___074648266;
typedef struct fzT__L41271u8__1as_u__074648266 fzT__L41271u8__1as_u__074648266;
typedef struct fzT__L41031u8__1as_u__074648266 fzT__L41031u8__1as_u__074648266;
typedef struct fzT__L4128list_l_Str__074648266 fzT__L4128list_l_Str__074648266;
typedef struct fzT__L4104list_l_Str__074648266 fzT__L4104list_l_Str__074648266;
typedef struct fzT__L4129list_l_i32__074648266 fzT__L4129list_l_i32__074648266;
typedef struct fzT__L4105list_l_i32__074648266 fzT__L4105list_l_i32__074648266;
typedef struct fzT__L4130list_l_u8___074648266 fzT__L4130list_l_u8___074648266;
typedef struct fzT__L4106list_l_u8___074648266 fzT__L4106list_l_u8___074648266;
typedef struct fzT__L4131_Rlist_l_S__074648266 fzT__L4131_Rlist_l_S__074648266;
typedef struct fzT__L4107_Rlist_l_S__074648266 fzT__L4107_Rlist_l_S__074648266;
typedef struct fzT__L4132_Rlist_l_i__074648266 fzT__L4132_Rlist_l_i__074648266;
typedef struct fzT__L4108_Rlist_l_i__074648266 fzT__L4108_Rlist_l_i__074648266;
typedef struct fzT__L4133_Rlist_l_u__074648266 fzT__L4133_Rlist_l_u__074648266;
typedef struct fzT__L4109_Rlist_l_u__074648266 fzT__L4109_Rlist_l_u__074648266;
typedef struct fzT__L4134_Rstream_l__074648266 fzT__L4134_Rstream_l__074648266;
typedef struct fzT__L4110_Rstream_l__074648266 fzT__L4110_Rstream_l__074648266;
typedef struct fzT__L4183_R4array_l__266__head fzT__L4183_R4array_l__266__head;
typedef struct fzT__L41841i32__1inf__266__head fzT__L41841i32__1inf__266__head;
typedef struct fzT__L41851i32__1as___266__head fzT__L41851i32__1as___266__head;
typedef struct fzT__L41861u8__1as_u__266__head fzT__L41861u8__1as_u__266__head;
typedef struct fzT__L4187list_l_Str__266__head fzT__L4187list_l_Str__266__head;
typedef struct fzT__L4188list_l_i32__266__head fzT__L4188list_l_i32__266__head;
typedef struct fzT__L4189list_l_u8___266__head fzT__L4189list_l_u8___266__head;
typedef struct fzT__L4190_Rlist_l_S__266__head fzT__L4190_Rlist_l_S__266__head;
typedef struct fzT__L4191_Rlist_l_i__266__head fzT__L4191_Rlist_l_i__266__head;
typedef struct fzT__L4192_Rlist_l_u__266__head fzT__L4192_Rlist_l_u__266__head;
typedef struct fzT__L4193_Rstream_l__266__head fzT__L4193_Rstream_l__266__head;
typedef struct fzT__L4194_Rstream_l__266__head fzT__L4194_Rstream_l__266__head;
typedef struct fzT__L4195_Rstream_l__266__head fzT__L4195_Rstream_l__266__head;
typedef struct fzT__L4196_R4array_l__266__head fzT__L4196_R4array_l__266__head;
typedef struct fzT__L41971i32__1inf__266__head fzT__L41971i32__1inf__266__head;
typedef struct fzT__L41981i32__1as___266__head fzT__L41981i32__1as___266__head;
typedef struct fzT__L41991u8__1as_u__266__head fzT__L41991u8__1as_u__266__head;
typedef struct fzT__L4200list_l_Str__266__head fzT__L4200list_l_Str__266__head;
typedef struct fzT__L4201list_l_i32__266__head fzT__L4201list_l_i32__266__head;
typedef struct fzT__L4202list_l_u8___266__head fzT__L4202list_l_u8___266__head;
typedef struct fzT__L4203_Rlist_l_S__266__head fzT__L4203_Rlist_l_S__266__head;
typedef struct fzT__L4204_Rlist_l_i__266__head fzT__L4204_Rlist_l_i__266__head;
typedef struct fzT__L4205_Rlist_l_u__266__head fzT__L4205_Rlist_l_u__266__head;
typedef struct fzT__L4206_Rstream_l__266__head fzT__L4206_Rstream_l__266__head;
typedef struct fzT__L4255_R4array_l__266__tail fzT__L4255_R4array_l__266__tail;
typedef struct fzT__L42561i32__1inf__266__tail fzT__L42561i32__1inf__266__tail;
typedef struct fzT__L42571i32__1as___266__tail fzT__L42571i32__1as___266__tail;
typedef struct fzT__L42581u8__1as_u__266__tail fzT__L42581u8__1as_u__266__tail;
typedef struct fzT__L4259list_l_Str__266__tail fzT__L4259list_l_Str__266__tail;
typedef struct fzT__L4260list_l_i32__266__tail fzT__L4260list_l_i32__266__tail;
typedef struct fzT__L4261list_l_u8___266__tail fzT__L4261list_l_u8___266__tail;
typedef struct fzT__L4262_Rlist_l_S__266__tail fzT__L4262_Rlist_l_S__266__tail;
typedef struct fzT__L4263_Rlist_l_i__266__tail fzT__L4263_Rlist_l_i__266__tail;
typedef struct fzT__L4264_Rlist_l_u__266__tail fzT__L4264_Rlist_l_u__266__tail;
typedef struct fzT__L4265_Rstream_l__266__tail fzT__L4265_Rstream_l__266__tail;
typedef struct fzT__L4266_Rstream_l__266__tail fzT__L4266_Rstream_l__266__tail;
typedef struct fzT__L4267_Rstream_l__266__tail fzT__L4267_Rstream_l__266__tail;
typedef struct fzT__L4268_R4array_l__266__tail fzT__L4268_R4array_l__266__tail;
typedef struct fzT__L42691i32__1inf__266__tail fzT__L42691i32__1inf__266__tail;
typedef struct fzT__L42701i32__1as___266__tail fzT__L42701i32__1as___266__tail;
typedef struct fzT__L42711u8__1as_u__266__tail fzT__L42711u8__1as_u__266__tail;
typedef struct fzT__L4272list_l_Str__266__tail fzT__L4272list_l_Str__266__tail;
typedef struct fzT__L4273list_l_i32__266__tail fzT__L4273list_l_i32__266__tail;
typedef struct fzT__L4274list_l_u8___266__tail fzT__L4274list_l_u8___266__tail;
typedef struct fzT__L4275_Rlist_l_S__266__tail fzT__L4275_Rlist_l_S__266__tail;
typedef struct fzT__L4276_Rlist_l_i__266__tail fzT__L4276_Rlist_l_i__266__tail;
typedef struct fzT__L4277_Rlist_l_u__266__tail fzT__L4277_Rlist_l_u__266__tail;
typedef struct fzT__L4278_Rstream_l__266__tail fzT__L4278_Rstream_l__266__tail;
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_wrapping_u_integer_l_i32_g fzT_wrapping_u_integer_l_i32_g;
typedef struct fzT_wrapping_u_integer_l_i64_g fzT_wrapping_u_integer_l_i64_g;
typedef struct fzT_wrapping_u_integer_l_u32_g fzT_wrapping_u_integer_l_u32_g;
typedef struct fzT_wrapping_u_integer_l_u64_g fzT_wrapping_u_integer_l_u64_g;
typedef struct fzT_wrapping_u_integer_l_u8_g fzT_wrapping_u_integer_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_wt fzT_1i32__1infix_wt;
typedef struct fzT_1u8__1infix_wt fzT_1u8__1infix_wt;
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__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_wrapping_u_integers_l_i32_g fzT_wrapping_u_integers_l_i32_g;
typedef struct fzT_wrapping_u_integers_l_i64_g fzT_wrapping_u_integers_l_i64_g;
typedef struct fzT_wrapping_u_integers_l_u32_g fzT_wrapping_u_integers_l_u32_g;
typedef struct fzT_wrapping_u_integers_l_u64_g fzT_wrapping_u_integers_l_u64_g;
typedef struct fzT_wrapping_u_integers_l_u8_g fzT_wrapping_u_integers_l_u8_g;
typedef struct fzT_Any_oHtype_l_String_g fzT_Any_oHtype_l_String_g;
typedef struct fzT_Any_oHtype_l_codepoint_lgg fzT_Any_oHtype_l_codepoint_lgg;
typedef struct fzT_Any_oHtype_l_i32_lgg fzT_Any_oHtype_l_i32_lgg;
typedef struct fzT_Any_oHtype_l_i64_g fzT_Any_oHtype_l_i64_g;
typedef struct fzT_Any_oHtype_l_u32_g fzT_Any_oHtype_l_u32_g;
typedef struct fzT_Any_oHtype_l_u8_g fzT_Any_oHtype_l_u8_g;
typedef struct fzT__L4657has_u_equa___String_g fzT__L4657has_u_equa___String_g;
typedef struct fzT__L4658has_u_equa__point_lgg fzT__L4658has_u_equa__point_lgg;
typedef struct fzT__L4659has_u_equa__l_i32_lgg fzT__L4659has_u_equa__l_i32_lgg;
typedef struct fzT__L4660has_u_equa__e_l_i64_g fzT__L4660has_u_equa__e_l_i64_g;
typedef struct fzT__L4661has_u_equa__e_l_u32_g fzT__L4661has_u_equa__e_l_u32_g;
typedef struct fzT__L4662has_u_equa__pe_l_u8_g fzT__L4662has_u_equa__pe_l_u8_g;
typedef struct fzT__L4663has_u_part___String_g fzT__L4663has_u_part___String_g;
typedef struct fzT__L4664has_u_part__point_lgg fzT__L4664has_u_part__point_lgg;
typedef struct fzT__L4665has_u_part__l_i32_lgg fzT__L4665has_u_part__l_i32_lgg;
typedef struct fzT__L4666has_u_part__e_l_i64_g fzT__L4666has_u_part__e_l_i64_g;
typedef struct fzT__L4667has_u_part__e_l_u32_g fzT__L4667has_u_part__e_l_u32_g;
typedef struct fzT__L4668has_u_part__pe_l_u8_g fzT__L4668has_u_part__pe_l_u8_g;
typedef struct fzT__L4669has_u_hash___String_g fzT__L4669has_u_hash___String_g;
typedef struct fzT__L4670has_u_hash__point_lgg fzT__L4670has_u_hash__point_lgg;
typedef struct fzT_has_u_hash_oHtype_l_i32_lgg fzT_has_u_hash_oHtype_l_i32_lgg;
typedef struct fzT_has_u_hash_oHtype_l_i64_g fzT_has_u_hash_oHtype_l_i64_g;
typedef struct fzT_has_u_hash_oHtype_l_u32_g fzT_has_u_hash_oHtype_l_u32_g;
typedef struct fzT_has_u_hash_oHtype_l_u8_g fzT_has_u_hash_oHtype_l_u8_g;
typedef struct fzT__L4675has_u_tota___String_g fzT__L4675has_u_tota___String_g;
typedef struct fzT__L4676has_u_tota__point_lgg fzT__L4676has_u_tota__point_lgg;
typedef struct fzT__L4677has_u_tota__l_i32_lgg fzT__L4677has_u_tota__l_i32_lgg;
typedef struct fzT__L4678has_u_tota__e_l_i64_g fzT__L4678has_u_tota__e_l_i64_g;
typedef struct fzT__L4679has_u_tota__e_l_u32_g fzT__L4679has_u_tota__e_l_u32_g;
typedef struct fzT__L4680has_u_tota__pe_l_u8_g fzT__L4680has_u_tota__pe_l_u8_g;
typedef struct fzT__L4682String_oHt__point_lgg fzT__L4682String_oHt__point_lgg;
typedef struct fzT__L4684String_oHt____1concat fzT__L4684String_oHt____1concat;
typedef struct fzT__L4683String_oHt___R1concat fzT__L4683String_oHt___R1concat;
typedef struct fzT__L4687String_oHt__x_wU2219_ fzT__L4687String_oHt__x_wU2219_;
typedef struct fzT__L4694String_oHt__concat__e fzT__L4694String_oHt__concat__e;
typedef struct fzT__L4696String_oHt____2concat fzT__L4696String_oHt____2concat;
typedef struct fzT__L4701String_oHt__074893663 fzT__L4701String_oHt__074893663;
typedef struct fzT__L4700String_oHt__074893663 fzT__L4700String_oHt__074893663;
typedef struct fzT__L4704String_oHt__663__utf8 fzT__L4704String_oHt__663__utf8;
typedef struct fzT__L4707String_oHt__ro_u_char fzT__L4707String_oHt__ro_u_char;
typedef struct fzT__L4709String_oHt___a_u_char fzT__L4709String_oHt___a_u_char;
typedef struct fzT__L4712codepoint___gg__range fzT__L4712codepoint___gg__range;
typedef struct fzT__L4714codepoint___gg__ascii fzT__L4714codepoint___gg__ascii;
typedef struct fzT__L4716codepoint___ne_u_byte fzT__L4716codepoint___ne_u_byte;
typedef struct fzT__L4719codepoint___o_u_bytes fzT__L4719codepoint___o_u_bytes;
typedef struct fzT__L4721codepoint___e_u_bytes fzT__L4721codepoint___e_u_bytes;
typedef struct fzT__L4723codepoint___r_u_bytes fzT__L4723codepoint___r_u_bytes;
typedef struct fzT__L4725codepoint___surrogate fzT__L4725codepoint___surrogate;
typedef struct fzT__L4727numerics_o__lgk_i32_g fzT__L4727numerics_o__lgk_i32_g;
typedef struct fzT__L4728numerics_o__4_k_i64_g fzT__L4728numerics_o__4_k_i64_g;
typedef struct fzT__L4729numerics_o__2_k_u32_g fzT__L4729numerics_o__2_k_u32_g;
typedef struct fzT_numerics_oHtype_l_u8_k_u8_g fzT_numerics_oHtype_l_u8_k_u8_g;
typedef struct fzT__L4731numeric_oH__lgk_i32_g fzT__L4731numeric_oH__lgk_i32_g;
typedef struct fzT__L4732numeric_oH__4_k_i64_g fzT__L4732numeric_oH__4_k_i64_g;
typedef struct fzT__L4733numeric_oH__2_k_u32_g fzT__L4733numeric_oH__2_k_u32_g;
typedef struct fzT_numeric_oHtype_l_u8_k_u8_g fzT_numeric_oHtype_l_u8_k_u8_g;
typedef struct fzT__L4735integer_oH__lgk_i32_g fzT__L4735integer_oH__lgk_i32_g;
typedef struct fzT__L4736integer_oH__4_k_i64_g fzT__L4736integer_oH__4_k_i64_g;
typedef struct fzT__L4737integer_oH__2_k_u32_g fzT__L4737integer_oH__2_k_u32_g;
typedef struct fzT_integer_oHtype_l_u8_k_u8_g fzT_integer_oHtype_l_u8_k_u8_g;
typedef struct fzT__L4739wrapping_u__lgk_i32_g fzT__L4739wrapping_u__lgk_i32_g;
typedef struct fzT__L4740wrapping_u__4_k_i64_g fzT__L4740wrapping_u__4_k_i64_g;
typedef struct fzT__L4741wrapping_u__2_k_u32_g fzT__L4741wrapping_u__2_k_u32_g;
typedef struct fzT__L4742wrapping_u__u8_k_u8_g fzT__L4742wrapping_u__u8_k_u8_g;
typedef struct fzT__L4743wrapping_u__lgk_i32_g fzT__L4743wrapping_u__lgk_i32_g;
typedef struct fzT__L4744wrapping_u__4_k_i64_g fzT__L4744wrapping_u__4_k_i64_g;
typedef struct fzT__L4745wrapping_u__2_k_u32_g fzT__L4745wrapping_u__2_k_u32_g;
typedef struct fzT__L4746wrapping_u__u8_k_u8_g fzT__L4746wrapping_u__u8_k_u8_g;
typedef struct fzT__L4747hasInterva__lgk_i32_g fzT__L4747hasInterva__lgk_i32_g;
typedef struct fzT__L4748hasInterva__4_k_i64_g fzT__L4748hasInterva__4_k_i64_g;
typedef struct fzT__L4749hasInterva__2_k_u32_g fzT__L4749hasInterva__2_k_u32_g;
typedef struct fzT__L4750hasInterva__u8_k_u8_g fzT__L4750hasInterva__u8_k_u8_g;
typedef struct fzT_i32s_oHtype_l_i32_lgg fzT_i32s_oHtype_l_i32_lgg;
typedef struct fzT_i32_oHtype_l_i32_lgg fzT_i32_oHtype_l_i32_lgg;
typedef struct fzT_i64s_oHtype_l_i64_g fzT_i64s_oHtype_l_i64_g;
typedef struct fzT_i64_oHtype_l_i64_g fzT_i64_oHtype_l_i64_g;
typedef struct fzT_u32s_oHtype_l_u32_g fzT_u32s_oHtype_l_u32_g;
typedef struct fzT_u32_oHtype_l_u32_g fzT_u32_oHtype_l_u32_g;
typedef struct fzT_u8s_oHtype_l_u8_g fzT_u8s_oHtype_l_u8_g;
typedef struct fzT_u8_oHtype_l_u8_g fzT_u8_oHtype_l_u8_g;
typedef struct fzT__Huniverse fzT__Huniverse;
typedef struct fzT_HelloWorld fzT_HelloWorld;

// for Any
struct fzT_Any
{
};
// for ref Any
struct fzT__RAny
{
  uint32_t clazzId;
  fzT_Any fields;
};
// for Cons<String, list<String>>
struct fzT__L221Cons_l_Str___String_gg
{
};
// for ref Cons<String, list<String>>
struct fzT__L220_RCons_l_S___String_gg
{
  uint32_t clazzId;
  fzT__L221Cons_l_Str___String_gg fields;
};
// for Cons<i32, list<i32>>
struct fzT_Cons_l_i32_k_list_l_i32_gg
{
};
// for ref Cons<i32, list<i32>>
struct fzT__L222_RCons_l_i__t_l_i32_gg
{
  uint32_t clazzId;
  fzT_Cons_l_i32_k_list_l_i32_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<String, String>
struct fzT__L235Function_l__k_String_g
{
};
// for ref Function<String, String>
struct fzT__L234_RFunction__k_String_g
{
  uint32_t clazzId;
  fzT__L235Function_l__k_String_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, 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<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, 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, 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<num_option<i32>, i32>
struct fzT__L247Function_l__2_gk_i32_g
{
};
// for ref Function<num_option<i32>, i32>
struct fzT__L246_RFunction__2_gk_i32_g
{
  uint32_t clazzId;
  fzT__L247Function_l__2_gk_i32_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<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<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<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<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__1073752255;
};
// 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__1073752255;
};
// 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__1073752255;
};
// 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__1073752255;
};
// for String.#type<String>.ref concat.op
struct fzT__L284String_oHt__oncat__2op
{
  fzT__RString* fzF_0_a;
  fzT__RString* fzF_1_b;
  fzT__RString* fzF_2_result;
  fzT__L4683String_oHt___R1concat* fzF_3__U40__1073752255;
};
// 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<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<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>.as_string
struct fzT__L313_R4array_l__s_u_string
{
  fzT__RString* fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__1073753094;
};
// for i32.as_string.ref @1074287899.ref utf8.as_string
struct fzT__L3141i32__1as___s_u_string
{
  fzT__RString* fzF_0_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_1__U40__1073753094;
};
// for u8.as_string.ref @1074287899.ref utf8.as_string
struct fzT__L3151u8__1as_u__s_u_string
{
  fzT__RString* fzF_0_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_1__U40__1073753094;
};
// for nil
struct fzT_nil
{
};
// for list<String>
struct fzT_list_l_String_g
{
  union
  {
    fzT_nil v0;
    fzT__RAny* vref;
  }fzChoice;
};
// for ref Sequence<String>.as_list
struct fzT__L322_RSequence___as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__RSequence_l_String_g* fzF_1__U40__1073755963;
};
// for list<i32>
struct fzT_list_l_i32_g
{
  union
  {
    fzT_nil v0;
    fzT__RAny* vref;
  }fzChoice;
};
// for ref Sequence<i32>.as_list
struct fzT__L323_RSequence___as_u_list
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__RSequence_l_i32_g* fzF_1__U40__1073755963;
};
// for list<u8>
struct fzT_list_l_u8_g
{
  union
  {
    fzT_nil v0;
    fzT__RAny* vref;
  }fzChoice;
};
// for ref Sequence<u8>.as_list
struct fzT__L324_RSequence___as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__1073755963;
};
// for i32.as_string.ref @1074287899.ref utf8.as_list
struct fzT__L3251i32__1as____as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_1__U40__1073755963;
};
// for u8.as_string.ref @1074287899.ref utf8.as_list
struct fzT__L3261u8__1as_u___as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_1__U40__1073755963;
};
// for ref Sequence<String>.as_stream
struct fzT__L337_RSequence__s_u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__RSequence_l_String_g* fzF_1__U40__1073756216;
};
// for ref Sequence<i32>.as_stream
struct fzT__L338_RSequence__s_u_stream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT__RSequence_l_i32_g* fzF_1__U40__1073756216;
};
// for ref Sequence<u8>.as_stream
struct fzT__L339_RSequence__s_u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__1073756216;
};
// 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>.is_empty
struct fzT__L346_RSequence__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__1073756459;
};
// for ref array<u8>.is_empty
struct fzT__R4array_l_u8_g__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__1073756459;
};
// for ref array<u8>.ref as_stream.is_empty
struct fzT__L348_R4array_l__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1073756459;
};
// for i32.infix ...ref as_stream.is_empty
struct fzT__L3491i32__1inf__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1073756459;
};
// for i32.as_string.ref @1074287899.ref utf8.is_empty
struct fzT__L3501i32__1as___is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_1__U40__1073756459;
};
// for u8.as_string.ref @1074287899.ref utf8.is_empty
struct fzT__L3511u8__1as_u__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_1__U40__1073756459;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.is_empty
struct fzT__L3521i32__1as___is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1073756459;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.is_empty
struct fzT__L3531u8__1as_u__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1073756459;
};
// for list<String>.ref as_stream.is_empty
struct fzT__L354list_l_Str__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1073756459;
};
// for list<i32>.ref as_stream.is_empty
struct fzT__L355list_l_i32__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1073756459;
};
// for list<u8>.ref as_stream.is_empty
struct fzT__L356list_l_u8___is_u_empty
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1073756459;
};
// for ref list<String>.ref as_stream.is_empty
struct fzT__L357_Rlist_l_S__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1073756459;
};
// for ref list<i32>.ref as_stream.is_empty
struct fzT__L358_Rlist_l_i__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1073756459;
};
// for ref list<u8>.ref as_stream.is_empty
struct fzT__L359_Rlist_l_u__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1073756459;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L360_R4array_l__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1073756459;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L3611i32__1inf__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1073756459;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.is_empty
struct fzT__L3621i32__1as___is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1073756459;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.is_empty
struct fzT__L3631u8__1as_u__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1073756459;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L364list_l_Str__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1073756459;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L365list_l_i32__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1073756459;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L366list_l_u8___is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1073756459;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L367_Rlist_l_S__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1073756459;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L368_Rlist_l_i__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1073756459;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.is_empty
struct fzT__L369_Rlist_l_u__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1073756459;
};
// for ref stream<String>.map<String>.ref @1074646976.is_empty
struct fzT__L370_Rstream_l__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1073756459;
};
// 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__1073756950;
  fzT_bool fzF_2__U40__1073757437;
};
// 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__1073756950;
  fzT_bool fzF_2__U40__1073757437;
};
// for ref conststring.count
struct fzT__R1conststring__count
{
  fzT_1i32 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073756950;
  fzT_bool fzF_2__U40__1073757437;
};
// for i32.as_string.ref @1074287899.ref utf8.count
struct fzT__L4241i32__1as___tf8__count
{
  fzT_1i32 fzF_0_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_1__U40__1073756950;
  fzT_bool fzF_2__U40__1073757437;
};
// for u8.as_string.ref @1074287899.ref utf8.count
struct fzT__L4251u8__1as_u__tf8__count
{
  fzT_1i32 fzF_0_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_1__U40__1073756950;
  fzT_bool fzF_2__U40__1073757437;
};
// for ref Sequence<u8>.count.@1073757000
struct fzT__L441_RSequence__1073757000
{
};
// for ref Sequence<u8>.count.ref @1073757000
struct fzT__L436_RSequence__1073757000
{
  uint32_t clazzId;
  fzT__L441_RSequence__1073757000 fields;
};
// for ref array<u8>.count.@1073757000
struct fzT__L442_R4array_l__1073757000
{
};
// for ref array<u8>.count.ref @1073757000
struct fzT__L437_R4array_l__1073757000
{
  uint32_t clazzId;
  fzT__L442_R4array_l__1073757000 fields;
};
// for ref conststring.count.@1073757000
struct fzT__L443_R1constst__1073757000
{
};
// for ref conststring.count.ref @1073757000
struct fzT__L438_R1constst__1073757000
{
  uint32_t clazzId;
  fzT__L443_R1constst__1073757000 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.count.@1073757000
struct fzT__L4441i32__1as___1073757000
{
};
// for i32.as_string.ref @1074287899.ref utf8.count.ref @1073757000
struct fzT__L4391i32__1as___1073757000
{
  uint32_t clazzId;
  fzT__L4441i32__1as___1073757000 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.count.@1073757000
struct fzT__L4451u8__1as_u__1073757000
{
};
// for u8.as_string.ref @1074287899.ref utf8.count.ref @1073757000
struct fzT__L4401u8__1as_u__1073757000
{
  uint32_t clazzId;
  fzT__L4451u8__1as_u__1073757000 fields;
};
// for ref Sequence<u8>.count.ref @1073757000.call
struct fzT__L446_RSequence__000__1call
{
  fzT_1u8 fzF_0__U40__1073757272;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.count.ref @1073757000.call
struct fzT__L447_R4array_l__000__1call
{
  fzT_1u8 fzF_0__U40__1073757272;
  fzT_1i32 fzF_1_result;
};
// for ref conststring.count.ref @1073757000.call
struct fzT__L448_R1constst__000__1call
{
  fzT_1u8 fzF_0__U40__1073757272;
  fzT_1i32 fzF_1_result;
};
// for i32.as_string.ref @1074287899.ref utf8.count.ref @1073757000.call
struct fzT__L4491i32__1as___000__1call
{
  fzT_1u8 fzF_0__U40__1073757272;
  fzT_1i32 fzF_1_result;
};
// for u8.as_string.ref @1074287899.ref utf8.count.ref @1073757000.call
struct fzT__L4501u8__1as_u__000__1call
{
  fzT_1u8 fzF_0__U40__1073757272;
  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__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// 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__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref array<u8>.ref as_stream.first
struct fzT__L468_R4array_l__eam__first
{
  fzT_1u8 fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref conststring.first
struct fzT__R1conststring__first
{
  fzT_1u8 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for i32.infix ...ref as_stream.first
struct fzT__L4701i32__1inf__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for i32.as_string.ref @1074287899.ref utf8.first
struct fzT__L4711i32__1as___tf8__first
{
  fzT_1u8 fzF_0_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for u8.as_string.ref @1074287899.ref utf8.first
struct fzT__L4721u8__1as_u__tf8__first
{
  fzT_1u8 fzF_0_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.first
struct fzT__L4731i32__1as___876__first
{
  fzT_1u8 fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.first
struct fzT__L4741u8__1as_u__876__first
{
  fzT_1u8 fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for list<String>.ref as_stream.first
struct fzT__L475list_l_Str__eam__first
{
  fzT__RString* fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for list<i32>.ref as_stream.first
struct fzT__L476list_l_i32__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for list<u8>.ref as_stream.first
struct fzT__L477list_l_u8___eam__first
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref list<String>.ref as_stream.first
struct fzT__L478_Rlist_l_S__eam__first
{
  fzT__RString* fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref list<i32>.ref as_stream.first
struct fzT__L479_Rlist_l_i__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref list<u8>.ref as_stream.first
struct fzT__L480_Rlist_l_u__eam__first
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.first
struct fzT__L481_R4array_l__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.first
struct fzT__L4821i32__1inf__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.first
struct fzT__L4831i32__1as___976__first
{
  fzT__RString* fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.first
struct fzT__L4841u8__1as_u__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.first
struct fzT__L485list_l_Str__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.first
struct fzT__L486list_l_i32__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.first
struct fzT__L487list_l_u8___976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.first
struct fzT__L488_Rlist_l_S__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.first
struct fzT__L489_Rlist_l_i__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.first
struct fzT__L490_Rlist_l_u__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for ref stream<String>.map<String>.ref @1074646976.first
struct fzT__L491_Rstream_l__976__first
{
  fzT__RString* fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1073757915;
  fzT_bool fzF_2__U40__1073757965;
};
// for fuzion.sys.internal_array<u8>
struct fzT__L1394fuzion__sy__ay_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT__RAny* fzF_1_data;
};
// for array<u8>
struct fzT_4array_l_u8_g
{
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__1073862919;
  fzT_unit fzF_2__U40__1073862969;
  fzT_unit fzF_3__U40__1073863019;
};
// for list<u8>.as_array
struct fzT_list_l_u8_g__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__1073759717;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for ref Sequence<u8>.as_array
struct fzT__L571_RSequence__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__1073759717;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for i32.as_string.ref @1074287899.ref utf8.as_array
struct fzT__L5721i32__1as___as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_1__U40__1073759717;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for u8.as_string.ref @1074287899.ref utf8.as_array
struct fzT__L5731u8__1as_u__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_1__U40__1073759717;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for fuzion.sys.internal_array<String>
struct fzT__L1392fuzion__sy___String_g
{
  fzT_1i32 fzF_0_length;
  fzT__RAny* fzF_1_data;
};
// for array<String>
struct fzT_4array_l_String_g
{
  fzT__L1392fuzion__sy___String_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__1073862919;
  fzT_unit fzF_2__U40__1073862969;
  fzT_unit fzF_3__U40__1073863019;
};
// for ref list<String>.as_array
struct fzT__L574_Rlist_l_S__as_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__Rlist_l_String_g* fzF_1__U40__1073759717;
  fzT__Rstream_l_String_g* fzF_2_s;
};
// for fuzion.sys.internal_array<i32>
struct fzT__L1393fuzion__sy__y_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT__RAny* fzF_1_data;
};
// for array<i32>
struct fzT_4array_l_i32_g
{
  fzT__L1393fuzion__sy__y_l_i32_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__1073862919;
  fzT_unit fzF_2__U40__1073862969;
  fzT_unit fzF_3__U40__1073863019;
};
// for ref list<i32>.as_array
struct fzT__Rlist_l_i32_g__as_u_array
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__1073759717;
  fzT__Rstream_l_i32_g* fzF_2_s;
};
// for ref list<u8>.as_array
struct fzT__Rlist_l_u8_g__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__1073759717;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for list<u8>.as_array.@1073759818
struct fzT__L605list_l_u8___1073759818
{
  fzT_list_l_u8_g__as_u_array* fzF_0__U40__1073759909;
};
// for list<u8>.as_array.ref @1073759818
struct fzT__L598list_l_u8___1073759818
{
  uint32_t clazzId;
  fzT__L605list_l_u8___1073759818 fields;
};
// for ref Sequence<u8>.as_array.@1073759818
struct fzT__L606_RSequence__1073759818
{
  fzT__L571_RSequence__as_u_array* fzF_0__U40__1073759909;
};
// for ref Sequence<u8>.as_array.ref @1073759818
struct fzT__L599_RSequence__1073759818
{
  uint32_t clazzId;
  fzT__L606_RSequence__1073759818 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_array.@1073759818
struct fzT__L6071i32__1as___1073759818
{
  fzT__L5721i32__1as___as_u_array* fzF_0__U40__1073759909;
};
// for i32.as_string.ref @1074287899.ref utf8.as_array.ref @1073759818
struct fzT__L6001i32__1as___1073759818
{
  uint32_t clazzId;
  fzT__L6071i32__1as___1073759818 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_array.@1073759818
struct fzT__L6081u8__1as_u__1073759818
{
  fzT__L5731u8__1as_u__as_u_array* fzF_0__U40__1073759909;
};
// for u8.as_string.ref @1074287899.ref utf8.as_array.ref @1073759818
struct fzT__L6011u8__1as_u__1073759818
{
  uint32_t clazzId;
  fzT__L6081u8__1as_u__1073759818 fields;
};
// for ref list<String>.as_array.@1073759818
struct fzT__L609_Rlist_l_S__1073759818
{
  fzT__L574_Rlist_l_S__as_u_array* fzF_0__U40__1073759909;
};
// for ref list<String>.as_array.ref @1073759818
struct fzT__L602_Rlist_l_S__1073759818
{
  uint32_t clazzId;
  fzT__L609_Rlist_l_S__1073759818 fields;
};
// for ref list<i32>.as_array.@1073759818
struct fzT__L610_Rlist_l_i__1073759818
{
  fzT__Rlist_l_i32_g__as_u_array* fzF_0__U40__1073759909;
};
// for ref list<i32>.as_array.ref @1073759818
struct fzT__L603_Rlist_l_i__1073759818
{
  uint32_t clazzId;
  fzT__L610_Rlist_l_i__1073759818 fields;
};
// for ref list<u8>.as_array.@1073759818
struct fzT__L611_Rlist_l_u__1073759818
{
  fzT__Rlist_l_u8_g__as_u_array* fzF_0__U40__1073759909;
};
// for ref list<u8>.as_array.ref @1073759818
struct fzT__L604_Rlist_l_u__1073759818
{
  uint32_t clazzId;
  fzT__L611_Rlist_l_u__1073759818 fields;
};
// for list<u8>.as_array.ref @1073759818.call
struct fzT__L626list_l_u8___818__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L598list_l_u8___1073759818* fzF_2__U40__1073760245;
};
// for ref Sequence<u8>.as_array.ref @1073759818.call
struct fzT__L627_RSequence__818__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L599_RSequence__1073759818* fzF_2__U40__1073760245;
};
// for i32.as_string.ref @1074287899.ref utf8.as_array.ref @1073759818.call
struct fzT__L6281i32__1as___818__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L6001i32__1as___1073759818* fzF_2__U40__1073760245;
};
// for u8.as_string.ref @1074287899.ref utf8.as_array.ref @1073759818.call
struct fzT__L6291u8__1as_u__818__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L6011u8__1as_u__1073759818* fzF_2__U40__1073760245;
};
// for ref list<String>.as_array.ref @1073759818.call
struct fzT__L630_Rlist_l_S__818__1call
{
  fzT_1i32 fzF_0_i;
  fzT__RString* fzF_1_result;
  fzT__L602_Rlist_l_S__1073759818* fzF_2__U40__1073760245;
};
// for ref list<i32>.as_array.ref @1073759818.call
struct fzT__L631_Rlist_l_i__818__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT__L603_Rlist_l_i__1073759818* fzF_2__U40__1073760245;
};
// for ref list<u8>.as_array.ref @1073759818.call
struct fzT__L632_Rlist_l_u__818__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L604_Rlist_l_u__1073759818* fzF_2__U40__1073760245;
};
// for ref Sequence<u8>.infix ++
struct fzT__L654_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__1073766033;
};
// 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__1073766033;
};
// for ref array<u8>.ref as_stream.infix ++
struct fzT__L656_R4array_l__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L1027_R4array_l___u_stream* fzF_2__U40__1073766033;
};
// 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__1073766033;
};
// for i32.infix ...ref as_stream.infix ++
struct fzT__L6581i32__1inf__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_s;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L14921i32__1inf___u_stream* fzF_2__U40__1073766033;
};
// for i32.as_string.ref @1074287899.ref utf8.infix ++
struct fzT__L6591i32__1as___1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_2__U40__1073766033;
};
// for u8.as_string.ref @1074287899.ref utf8.infix ++
struct fzT__L6601u8__1as_u__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_2__U40__1073766033;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.infix ++
struct fzT__L6611i32__1as___1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L16691i32__1as___074289876* fzF_2__U40__1073766033;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.infix ++
struct fzT__L6621u8__1as_u__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L16701u8__1as_u__074289876* fzF_2__U40__1073766033;
};
// for list<String>.ref as_stream.infix ++
struct fzT__L663list_l_Str__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L1851list_l_Str___u_stream* fzF_2__U40__1073766033;
};
// for list<i32>.ref as_stream.infix ++
struct fzT__L664list_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_Ras_u_stream* fzF_2__U40__1073766033;
};
// for list<u8>.ref as_stream.infix ++
struct fzT__L665list_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_Ras_u_stream* fzF_2__U40__1073766033;
};
// for ref list<String>.ref as_stream.infix ++
struct fzT__L666_Rlist_l_S__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_2__U40__1073766033;
};
// for ref list<i32>.ref as_stream.infix ++
struct fzT__L667_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_Ras_u_stream* fzF_2__U40__1073766033;
};
// for ref list<u8>.ref as_stream.infix ++
struct fzT__L668_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_Ras_u_stream* fzF_2__U40__1073766033;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L669_R4array_l__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3833_R4array_l__074646976* fzF_2__U40__1073766033;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L6701i32__1inf__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L38341i32__1inf__074646976* fzF_2__U40__1073766033;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.infix ++
struct fzT__L6711i32__1as___1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L38351i32__1as___074646976* fzF_2__U40__1073766033;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.infix ++
struct fzT__L6721u8__1as_u__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L38361u8__1as_u__074646976* fzF_2__U40__1073766033;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L673list_l_Str__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3837list_l_Str__074646976* fzF_2__U40__1073766033;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L674list_l_i32__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3838list_l_i32__074646976* fzF_2__U40__1073766033;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L675list_l_u8___1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3839list_l_u8___074646976* fzF_2__U40__1073766033;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L676_Rlist_l_S__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_2__U40__1073766033;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L677_Rlist_l_i__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_2__U40__1073766033;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.infix ++
struct fzT__L678_Rlist_l_u__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_2__U40__1073766033;
};
// for ref stream<String>.map<String>.ref @1074646976.infix ++
struct fzT__L679_Rstream_l__1infix_wpp
{
  fzT__RSequence_l_String_g* fzF_0_s;
  fzT_list_l_String_g fzF_1_result;
  fzT__L3843_Rstream_l__074646976* fzF_2__U40__1073766033;
};
// for ref Sequence<u8>.mapSequence<i32>
struct fzT__L758_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__1073767750;
};
// for ref array<u8>.mapSequence<i32>
struct fzT__L759_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__1073767750;
};
// for ref conststring.mapSequence<i32>
struct fzT__L760_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__1073767750;
};
// for i32.as_string.ref @1074287899.ref utf8.mapSequence<i32>
struct fzT__L7611i32__1as___ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_2__U40__1073767750;
};
// for u8.as_string.ref @1074287899.ref utf8.mapSequence<i32>
struct fzT__L7621u8__1as_u__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_2__U40__1073767750;
};
// for ref Sequence<u8>.finite
struct fzT__RSequence_l_u8_g__finite
{
  fzT_bool fzF_0_result;
};
// for ref array<u8>.ref as_stream.finite
struct fzT__L779_R4array_l__am__finite
{
  fzT_bool fzF_0_result;
};
// for i32.infix ...ref as_stream.finite
struct fzT__L7801i32__1inf__am__finite
{
  fzT_bool fzF_0_result;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.finite
struct fzT__L7811i32__1as___76__finite
{
  fzT_bool fzF_0_result;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.finite
struct fzT__L7821u8__1as_u__76__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<String>.finite
struct fzT__Rlist_l_String_g__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<i32>.finite
struct fzT__Rlist_l_i32_g__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<u8>.finite
struct fzT__Rlist_l_u8_g__finite
{
  fzT_bool fzF_0_result;
};
// for list<String>.ref as_stream.finite
struct fzT__L786list_l_Str__am__finite
{
  fzT_bool fzF_0_result;
};
// for list<i32>.ref as_stream.finite
struct fzT__L787list_l_i32__am__finite
{
  fzT_bool fzF_0_result;
};
// for list<u8>.ref as_stream.finite
struct fzT__L788list_l_u8___am__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<String>.ref as_stream.finite
struct fzT__L789_Rlist_l_S__am__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<i32>.ref as_stream.finite
struct fzT__L790_Rlist_l_i__am__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<u8>.ref as_stream.finite
struct fzT__L791_Rlist_l_u__am__finite
{
  fzT_bool fzF_0_result;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L792_R4array_l__76__finite
{
  fzT_bool fzF_0_result;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L7931i32__1inf__76__finite
{
  fzT_bool fzF_0_result;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.finite
struct fzT__L7941i32__1as___76__finite
{
  fzT_bool fzF_0_result;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.finite
struct fzT__L7951u8__1as_u__76__finite
{
  fzT_bool fzF_0_result;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L796list_l_Str__76__finite
{
  fzT_bool fzF_0_result;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L797list_l_i32__76__finite
{
  fzT_bool fzF_0_result;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L798list_l_u8___76__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L799_Rlist_l_S__76__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L800_Rlist_l_i__76__finite
{
  fzT_bool fzF_0_result;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.finite
struct fzT__L801_Rlist_l_u__76__finite
{
  fzT_bool fzF_0_result;
};
// for ref stream<String>.map<String>.ref @1074646976.finite
struct fzT__L802_Rstream_l__76__finite
{
  fzT_bool fzF_0_result;
};
// 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 lteq<i32>
struct fzT_2lteq_l_i32_g
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for i64
struct fzT_1i64
{
  fzT_1i64 fzF_0_val;
};
// for lteq<i64>
struct fzT_2lteq_l_i64_g
{
  fzT_1i64 fzF_0_a;
  fzT_1i64 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for u32
struct fzT_1u32
{
  fzT_1u32 fzF_0_val;
};
// for lteq<u32>
struct fzT_2lteq_l_u32_g
{
  fzT_1u32 fzF_0_a;
  fzT_1u32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for lteq<u8>
struct fzT_2lteq_l_u8_g
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for String
struct fzT_String
{
};
// for ref String
struct fzT__RString
{
  uint32_t clazzId;
  fzT_String fields;
};
// for ref String.as_string
struct fzT__RString__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT__RString* fzF_1__U40__1073789063;
};
// for ref codepoint.as_string
struct fzT__R1codepoint__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__1073789063;
};
// for i32.as_string.ref @1074287899.as_string
struct fzT__L8561i32__1as___s_u_string
{
  fzT__RString* fzF_0_result;
  fzT__L16411i32__1as___074287899* fzF_1__U40__1073789063;
};
// for u8.as_string.ref @1074287899.as_string
struct fzT__L8571u8__1as_u__s_u_string
{
  fzT__RString* fzF_0_result;
  fzT__L16421u8__1as_u__074287899* fzF_1__U40__1073789063;
};
// for String.#type<String>.concat.ref @1074893663.as_string
struct fzT__L858String_oHt__s_u_string
{
  fzT__RString* fzF_0_result;
  fzT__L4700String_oHt__074893663* fzF_1__U40__1073789063;
};
// for ref String.is_empty
struct fzT__RString__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__RString* fzF_1__U40__1073789324;
};
// for ref codepoint.is_empty
struct fzT__R1codepoint__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__1073789324;
};
// for i32.as_string.ref @1074287899.is_empty
struct fzT__L8711i32__1as___is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L16411i32__1as___074287899* fzF_1__U40__1073789324;
};
// for u8.as_string.ref @1074287899.is_empty
struct fzT__L8721u8__1as_u__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L16421u8__1as_u__074287899* fzF_1__U40__1073789324;
};
// for String.#type<String>.concat.ref @1074893663.is_empty
struct fzT__L873String_oHt__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__L4700String_oHt__074893663* fzF_1__U40__1073789324;
};
// for ref String.infix +
struct fzT__RString__1infix_wp
{
  fzT__RAny* fzF_0_other;
  fzT__RString* fzF_1_result;
  fzT__RString* fzF_2__U40__1073792165;
};
// for ref codepoint.infix +
struct fzT__R1codepoint__1infix_wp
{
  fzT__RAny* fzF_0_other;
  fzT__RString* fzF_1_result;
  fzT__R1codepoint* fzF_2__U40__1073792165;
};
// for ref conststring.infix +
struct fzT__R1conststring__1infix_wp
{
  fzT__RAny* fzF_0_other;
  fzT__RString* fzF_1_result;
  fzT__R1conststring* fzF_2__U40__1073792165;
};
// for i32.as_string.ref @1074287899.infix +
struct fzT__L8881i32__1as____1infix_wp
{
  fzT__RAny* fzF_0_other;
  fzT__RString* fzF_1_result;
  fzT__L16411i32__1as___074287899* fzF_2__U40__1073792165;
};
// for u8.as_string.ref @1074287899.infix +
struct fzT__L8891u8__1as_u___1infix_wp
{
  fzT__RAny* fzF_0_other;
  fzT__RString* fzF_1_result;
  fzT__L16421u8__1as_u__074287899* fzF_2__U40__1073792165;
};
// for String.#type<String>.concat.ref @1074893663.infix +
struct fzT__L890String_oHt___1infix_wp
{
  fzT__RAny* fzF_0_other;
  fzT__RString* fzF_1_result;
  fzT__L4700String_oHt__074893663* fzF_2__U40__1073792165;
};
// for Type
struct fzT_Type
{
};
// for ref Type
struct fzT__RType
{
  uint32_t clazzId;
  fzT_Type fields;
};
// for Types
struct fzT_Types
{
};
// for String.#type<String>
struct fzT_String_oHtype_l_String_g
{
};
// for Types.get<String>
struct fzT_Types__get_l_String_g
{
  fzT_String_oHtype_l_String_g fzF_0_result;
};
// for codepoint.#type<codepoint<>>
struct fzT__L4711codepoint___point_lgg
{
};
// for Types.get<codepoint>
struct fzT_Types__get_l_codepoint_g
{
  fzT__L4711codepoint___point_lgg fzF_0_result;
};
// for analysis
struct fzT_analysis
{
  fzT_bool fzF_0_result;
};
// 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__L1392fuzion__sy___String_g fzF_4_internal;
  fzT__L14921i32__1inf___u_stream* fzF_5__U40__1073861743;
  fzT_bool fzF_6__U40__1073862566;
};
// 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__L1393fuzion__sy__y_l_i32_g fzF_4_internal;
  fzT__L14921i32__1inf___u_stream* fzF_5__U40__1073861743;
  fzT_bool fzF_6__U40__1073862566;
};
// 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__L1394fuzion__sy__ay_l_u8_g fzF_4_internal;
  fzT__L14921i32__1inf___u_stream* fzF_5__U40__1073861743;
  fzT_bool fzF_6__U40__1073862566;
};
// for i32.infix ..
struct fzT_1i32__1infix_woo
{
  fzT_1i32 fzF_0_upper;
  fzT_1i32 fzF_1__U40__1074183345;
};
// 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__1073861635;
};
// 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__1073861635;
};
// 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__1073861635;
};
// for array<String>.@1073861793
struct fzT__L9502array_l_S__1073861793
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__1073862344;
  fzT_2array_l_String_g* fzF_2__U40__1073862394;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__1073862516;
};
// for array<i32>.@1073861793
struct fzT__L9512array_l_i__1073861793
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__1073862344;
  fzT_2array_l_i32_g* fzF_2__U40__1073862394;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__1073862516;
};
// for array<u8>.@1073861793
struct fzT__L9522array_l_u__1073861793
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__1073862344;
  fzT_2array_l_u8_g* fzF_2__U40__1073862394;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__1073862516;
};
// for ref array<u8>
struct fzT__R4array_l_u8_g
{
  uint32_t clazzId;
  fzT_4array_l_u8_g fields;
};
// for ref array<u8>.index [ ]
struct fzT__L999_R4array_l__wU5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__1073863720;
  fzT_bool fzF_3__U40__1073863770;
  fzT_bool fzF_4__U40__1073863820;
};
// for ref conststring.index [ ]
struct fzT__L1000_R1constst__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__R1conststring* fzF_2__U40__1073863720;
  fzT_bool fzF_3__U40__1073863770;
  fzT_bool fzF_4__U40__1073863820;
};
// for ref array<u8>.as_list
struct fzT__R4array_l_u8_g__as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__1073864097;
};
// for ref conststring.as_list
struct fzT__R1conststring__as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073864097;
};
// for ref array<u8>.as_list
struct fzT__R4array_l_u8_g__1as_u_list
{
  fzT_1i32 fzF_0_i;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__1073864616;
  fzT_bool fzF_3__U40__1073864666;
};
// for ref conststring.as_list
struct fzT__R1conststring__1as_u_list
{
  fzT_1i32 fzF_0_i;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R1conststring* fzF_2__U40__1073864616;
  fzT_bool fzF_3__U40__1073864666;
};
// 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__L2600option_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>.as_stream
struct fzT__L1028_R4array_l___u_stream
{
  fzT__R4array_l_u8_g* fzF_0__U40__1073864891;
  fzT_1i32 fzF_1_x;
  fzT__R4array_l_u8_g* fzF_2_array_u_this;
  fzT__L2600option_l_s___l_u8_ggg fzF_3_as_u_list0;
};
// for ref array<u8>.ref as_stream
struct fzT__L1027_R4array_l___u_stream
{
  uint32_t clazzId;
  fzT__L1028_R4array_l___u_stream fields;
};
// for ref array<u8>.ref as_stream.has_next
struct fzT__L1035_R4array_l__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1073865340;
};
// for ref array<u8>.ref as_stream.next
struct fzT__L1038_R4array_l__eam__next
{
  fzT_1u8 fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1073865745;
};
// for ref array<u8>.as_array
struct fzT__R4array_l_u8_g__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__1073866061;
};
// for ref conststring.as_array
struct fzT__R1conststring__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073866061;
};
// for ref array<u8>.slice
struct fzT__R4array_l_u8_g__2slice
{
  fzT_1i32 fzF_0_from;
  fzT_1i32 fzF_1_to;
  fzT_list_l_u8_g fzF_2_result;
  fzT__R4array_l_u8_g* fzF_3__U40__1073868265;
  fzT_list_l_u8_g fzF_4__U40__1073868315;
  fzT_bool fzF_5__U40__1073868365;
};
// for ref conststring.slice
struct fzT__R1conststring__2slice
{
  fzT_1i32 fzF_0_from;
  fzT_1i32 fzF_1_to;
  fzT_list_l_u8_g fzF_2_result;
  fzT__R1conststring* fzF_3__U40__1073868265;
  fzT_list_l_u8_g fzF_4__U40__1073868315;
  fzT_bool fzF_5__U40__1073868365;
};
// for ref array<u8>.finite
struct fzT__R4array_l_u8_g__finite
{
  fzT_bool fzF_0_result;
};
// for ref conststring.finite
struct fzT__R1conststring__finite
{
  fzT_bool fzF_0_result;
};
// for array<u8>.length
struct fzT_4array_l_u8_g__length
{
  fzT_1i32 fzF_0_result;
  fzT_4array_l_u8_g* fzF_1__U40__1073870457;
};
// 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__1073870457;
};
// for ref conststring.length
struct fzT__R1conststring__length
{
  fzT_1i32 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073870457;
};
// for array<u8>.arrayCons
struct fzT_4array_l_u8_g__2arrayCons
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_to;
  fzT_4array_l_u8_g* fzF_2__U40__1073875016;
  fzT_bool fzF_3__U40__1073875763;
  fzT_bool fzF_4__U40__1073875813;
  fzT_bool fzF_5__U40__1073875863;
};
// for array<u8>.ref arrayCons
struct fzT_4array_l_u8_g_R2arrayCons
{
  uint32_t clazzId;
  fzT_4array_l_u8_g__2arrayCons fields;
};
// for ref array<u8>.arrayCons
struct fzT__R4array_l_u8_g__2arrayCons
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_to;
  fzT__R4array_l_u8_g* fzF_2__U40__1073875016;
  fzT_bool fzF_3__U40__1073875763;
  fzT_bool fzF_4__U40__1073875813;
  fzT_bool fzF_5__U40__1073875863;
};
// for ref array<u8>.ref arrayCons
struct fzT__R4array_l_u8_g_R2arrayCons
{
  uint32_t clazzId;
  fzT__R4array_l_u8_g__2arrayCons fields;
};
// for ref array<u8>.ref arrayCons.head
struct fzT__L1090_R4array_l__ons__head
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g_R2arrayCons* fzF_1__U40__1073875330;
};
// for ref array<u8>.ref arrayCons.tail
struct fzT__L1093_R4array_l__ons__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_R2arrayCons* fzF_1__U40__1073875713;
};
// 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.sys.err.ascii
struct fzT_fuzion__sys__err__ascii
{
};
// for i32.as_string.ascii
struct fzT_1i32__1as_u_string__ascii
{
};
// for u8.as_string.ascii
struct fzT_1u8__1as_u_string__ascii
{
};
// for fuzion.sys.err.ascii.lf
struct fzT_fuzion__sys__err__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for i32.as_string.ascii.lf
struct fzT__L11211i32__1as___ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for u8.as_string.ascii.lf
struct fzT__L11221u8__1as_u__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for choice<String, nil>
struct fzT_choice_l_String_k_nil_g
{
  union
  {
    fzT_nil v1;
    fzT__RAny* vref;
  }fzChoice;
};
// 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<String, list<String>>>
struct fzT__L1130choice_l_n__tring_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RAny* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<String, list<String>>>
struct fzT__L1129_Rchoice_l__tring_ggg
{
  uint32_t clazzId;
  fzT__L1130choice_l_n__tring_ggg fields;
};
// for choice<nil, Cons<i32, list<i32>>>
struct fzT__L1132choice_l_n__l_i32_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RAny* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<i32, list<i32>>>
struct fzT__L1131_Rchoice_l__l_i32_ggg
{
  uint32_t clazzId;
  fzT__L1132choice_l_n__l_i32_ggg fields;
};
// for choice<nil, Cons<u8, list<u8>>>
struct fzT__L1134choice_l_n___l_u8_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RAny* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<u8, list<u8>>>
struct fzT__L1133_Rchoice_l___l_u8_ggg
{
  uint32_t clazzId;
  fzT__L1134choice_l_n___l_u8_ggg fields;
};
// 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__L1135choice_l_s__ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_String_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// 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__L1136choice_l_s__ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_i32_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<some<list<u8>>, nil>
struct fzT__L1137choice_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.plain
struct fzT_effectMode__plain
{
};
// for effectMode.repl
struct fzT_effectMode__repl
{
};
// for effectMode.abort
struct fzT_effectMode__abort
{
};
// for effectMode.default
struct fzT_effectMode__default
{
};
// for effectMode.new
struct fzT_effectMode__new
{
};
// for effectMode.inst
struct fzT_effectMode__1inst
{
  fzT__RFunction_l_unit_g* fzF_0_f;
};
// for choice<effectMode.plain, effectMode.repl, effectMode.abort, effectMode.default, effectMode.new, effectMode.inst>
struct fzT__L1140choice_l_e___o_inst_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_effectMode__plain v0;
    fzT_effectMode__repl v1;
    fzT_effectMode__abort v2;
    fzT_effectMode__default v3;
    fzT_effectMode__new v4;
    fzT_effectMode__1inst v5;
  }fzChoice;
};
// for codepoint
struct fzT_1codepoint
{
  fzT_1u32 fzF_0_val;
  fzT_bool fzF_1__U40__1073963365;
  fzT_bool fzF_2__U40__1073963415;
};
// 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__1073962757;
  fzT__RSequence_l_u8_g* fzF_2__U40__1073962807;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_3__U40__1073962857;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_4__U40__1073962907;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_5__U40__1073962957;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_6__U40__1073963007;
};
// for void
struct fzT_void
{
};
// for conststring
struct fzT_1conststring
{
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__1073862919;
  fzT_unit fzF_2__U40__1073862969;
  fzT_unit fzF_3__U40__1073863019;
  struct { } fzF_4_cannot_u_be_u_called;
};
// for ref conststring
struct fzT__R1conststring
{
  uint32_t clazzId;
  fzT_1conststring fields;
};
// for ref conststring.as_string
struct fzT__R1conststring__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073976917;
};
// for ref conststring.is_empty
struct fzT__R1conststring__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073977193;
};
// for ref conststring.utf8
struct fzT__R1conststring__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__R1conststring* fzF_1__U40__1073977407;
};
// for effectMode.val
struct fzT_effectMode__val
{
  fzT_1i32 fzTag;
  union
  {
    fzT_effectMode__plain v0;
    fzT_effectMode__repl v1;
    fzT_effectMode__abort v2;
    fzT_effectMode__default v3;
    fzT_effectMode__new v4;
    fzT_effectMode__1inst v5;
  }fzChoice;
};
// 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__1074043718;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__1074043924;
};
// 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__1074043718;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__1074043924;
};
// for io.printEffect.run<unit>
struct fzT__L1207io__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__1074043718;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__1074043924;
};
// for effect.@1074044725
struct fzT_1effect___U40__1074044725
{
};
// for effect.ref @1074044725
struct fzT_1effect_R_U40__1074044725
{
  uint32_t clazzId;
  fzT_1effect___U40__1074044725 fields;
};
// for io.out.@1074044725
struct fzT_io__3out___U40__1074044725
{
};
// for io.out.ref @1074044725
struct fzT_io__3out_R_U40__1074044725
{
  uint32_t clazzId;
  fzT_io__3out___U40__1074044725 fields;
};
// for io.printEffect.@1074044725
struct fzT__L1237io__2print__074044725
{
};
// for io.printEffect.ref @1074044725
struct fzT__L1234io__2print__074044725
{
  uint32_t clazzId;
  fzT__L1237io__2print__074044725 fields;
};
// for io.out.ref @1074044725.call
struct fzT__L1238io__3out_R__25__1call
{
  fzT_unit fzF_0__U40__1074044993;
  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__L1245_R1effect___t_g__call
{
  fzT_unit fzF_0_result;
  fzT__R1effect_u_call_l_unit_g* fzF_1__U40__1074045730;
};
// for effects
struct fzT_effects
{
};
// for effectMode
struct fzT_effectMode
{
};
// for equals<i32>
struct fzT_2equals_l_i32_g
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for equals<u32>
struct fzT_2equals_l_u32_g
{
  fzT_1u32 fzF_0_a;
  fzT_1u32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for equals<u8>
struct fzT_2equals_l_u8_g
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≟<i32>
struct fzT_2infix_wU225f_l_i32_g
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≟<u32>
struct fzT_2infix_wU225f_l_u32_g
{
  fzT_1u32 fzF_0_a;
  fzT_1u32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≟<u8>
struct fzT_2infix_wU225f_l_u8_g
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≤<i32>
struct fzT_2infix_wU2264_l_i32_g
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≤<u32>
struct fzT_2infix_wU2264_l_u32_g
{
  fzT_1u32 fzF_0_a;
  fzT_1u32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≤<u8>
struct fzT_2infix_wU2264_l_u8_g
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≥<i32>
struct fzT_2infix_wU2265_l_i32_g
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ≥<u8>
struct fzT_2infix_wU2265_l_u8_g
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_bool fzF_2_result;
};
// for infix ⩼<i32>
struct fzT_2infix_wU2a7c_l_i32_g
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_bool fzF_2_result;
  fzT_bool fzF_3__U40__1074060923;
};
// for infix ⩼<i64>
struct fzT_2infix_wU2a7c_l_i64_g
{
  fzT_1i64 fzF_0_a;
  fzT_1i64 fzF_1_b;
  fzT_bool fzF_2_result;
  fzT_bool fzF_3__U40__1074060923;
};
// for infix ⩼<u8>
struct fzT_2infix_wU2a7c_l_u8_g
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_bool fzF_2_result;
  fzT_bool fzF_3__U40__1074060923;
};
// for infix ⩻<i32>
struct fzT_2infix_wU2a7b_l_i32_g
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_bool fzF_2_result;
  fzT_bool fzF_3__U40__1074061509;
};
// for infix ⩻<i64>
struct fzT_2infix_wU2a7b_l_i64_g
{
  fzT_1i64 fzF_0_a;
  fzT_1i64 fzF_1_b;
  fzT_bool fzF_2_result;
  fzT_bool fzF_3__U40__1074061509;
};
// for infix ⩻<u32>
struct fzT_2infix_wU2a7b_l_u32_g
{
  fzT_1u32 fzF_0_a;
  fzT_1u32 fzF_1_b;
  fzT_bool fzF_2_result;
  fzT_bool fzF_3__U40__1074061509;
};
// for infix ⩻<u8>
struct fzT_2infix_wU2a7b_l_u8_g
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_bool fzF_2_result;
  fzT_bool fzF_3__U40__1074061509;
};
// 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.panic
struct fzT_fuzion__std__1panic
{
  fzT__RString* fzF_0_msg;
  struct { } fzF_1_result;
  fzT_fuzion__std* fzF_2__U40__1074130024;
};
// for fuzion.sys
struct fzT_fuzion__sys
{
};
// for fuzion.sys.err
struct fzT_fuzion__sys__err
{
};
// for fuzion.sys.err.println
struct fzT_fuzion__sys__err__1println
{
  fzT__RAny* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_fuzion__sys__err* fzF_2__U40__1074132167;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_3__U40__1074132217;
};
// for fuzion.sys.err.write
struct fzT_fuzion__sys__err__1write
{
  fzT_4array_l_u8_g fzF_0_arr;
  fzT_unit fzF_1_result;
  fzT_fuzion__sys__err* fzF_2__U40__1074132594;
};
// for fuzion.sys.out
struct fzT_fuzion__sys__out
{
};
// for fuzion.sys.out.print
struct fzT_fuzion__sys__out__1print
{
  fzT__RAny* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_fuzion__sys__out* fzF_2__U40__1074136184;
};
// for fuzion.sys.out.write
struct fzT_fuzion__sys__out__1write
{
  fzT_4array_l_u8_g fzF_0_arr;
  fzT_unit fzF_1_result;
  fzT_fuzion__sys__out* fzF_2__U40__1074137837;
};
// for fuzion.sys.internal_array<String>.index [ ]
struct fzT__L1398fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT__RString* fzF_1_result;
  fzT__L1392fuzion__sy___String_g* fzF_2__U40__1074158071;
  fzT_bool fzF_3__U40__1074158121;
  fzT_bool fzF_4__U40__1074158171;
};
// for fuzion.sys.internal_array<i32>.index [ ]
struct fzT__L1399fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT__L1393fuzion__sy__y_l_i32_g* fzF_2__U40__1074158071;
  fzT_bool fzF_3__U40__1074158121;
  fzT_bool fzF_4__U40__1074158171;
};
// for fuzion.sys.internal_array<u8>.index [ ]
struct fzT__L1400fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L1394fuzion__sy__ay_l_u8_g* fzF_2__U40__1074158071;
  fzT_bool fzF_3__U40__1074158121;
  fzT_bool fzF_4__U40__1074158171;
};
// for fuzion.sys.internal_array<String>.index [ ] := 
struct fzT__L1431fuzion__sy__d_wU3a_ew
{
  fzT_1i32 fzF_0_i;
  fzT__RString* fzF_1_o;
  fzT_unit fzF_2_result;
  fzT__L1392fuzion__sy___String_g* fzF_3__U40__1074159677;
  fzT_bool fzF_4__U40__1074159727;
  fzT_bool fzF_5__U40__1074159777;
};
// for fuzion.sys.internal_array<i32>.index [ ] := 
struct fzT__L1432fuzion__sy__d_wU3a_ew
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_o;
  fzT_unit fzF_2_result;
  fzT__L1393fuzion__sy__y_l_i32_g* fzF_3__U40__1074159677;
  fzT_bool fzF_4__U40__1074159727;
  fzT_bool fzF_5__U40__1074159777;
};
// for fuzion.sys.internal_array<u8>.index [ ] := 
struct fzT__L1433fuzion__sy__d_wU3a_ew
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_o;
  fzT_unit fzF_2_result;
  fzT__L1394fuzion__sy__ay_l_u8_g* fzF_3__U40__1074159677;
  fzT_bool fzF_4__U40__1074159727;
  fzT_bool fzF_5__U40__1074159777;
};
// for fuzion.sys.internal_array<u8>.set_no_pre_condition
struct fzT__L1476fuzion__sy__condition
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_o;
  fzT_unit fzF_2_result;
  fzT__L1394fuzion__sy__ay_l_u8_g* fzF_3__U40__1074160917;
};
// 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 u32.infix ..
struct fzT_1u32__1infix_woo
{
  fzT_1u32 fzF_0_upper;
  fzT_1u32 fzF_1__U40__1074183345;
};
// for num_option<i32>
struct fzT_num_u_option_l_i32_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1i32 v0;
    fzT_nil v1;
  }fzChoice;
};
// for option<some<list<i32>>>
struct fzT__L2599option_l_s__l_i32_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_i32_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for i32.infix ...as_stream
struct fzT__L14931i32__1inf___u_stream
{
  fzT_1i32__1infix_woo* fzF_0__U40__1074186170;
  fzT_num_u_option_l_i32_g fzF_1_x;
  fzT__L2599option_l_s__l_i32_ggg fzF_2_as_u_list0;
};
// for i32.infix ...ref as_stream
struct fzT__L14921i32__1inf___u_stream
{
  uint32_t clazzId;
  fzT__L14931i32__1inf___u_stream fields;
};
// for i32.infix ...ref as_stream.has_next
struct fzT__L14981i32__1inf__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074186691;
  fzT_bool fzF_2__U40__1074186741;
};
// for i32.infix ...ref as_stream.next
struct fzT__L15021i32__1inf__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074187171;
  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__1074188997;
  fzT_1u32 fzF_3__U40__1074189047;
  fzT_bool fzF_4__U40__1074189097;
};
// for i32.infix ...lower
struct fzT_1i32__1infix_woo__lower
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo* fzF_1__U40__1074196317;
};
// for u32.infix ...lower
struct fzT_1u32__1infix_woo__lower
{
  fzT_1u32 fzF_0_result;
  fzT_1u32__1infix_woo* fzF_1__U40__1074196317;
};
// for has_equality
struct fzT_has_u_equality
{
};
// for ref has_equality
struct fzT__Rhas_u_equality
{
  uint32_t clazzId;
  fzT_has_u_equality fields;
};
// for has_hash
struct fzT_has_u_hash
{
};
// for ref has_hash
struct fzT__Rhas_u_hash
{
  uint32_t clazzId;
  fzT_has_u_hash fields;
};
// for has_partial_order
struct fzT_has_u_partial_u_order
{
};
// for ref has_partial_order
struct fzT__Rhas_u_partial_u_order
{
  uint32_t clazzId;
  fzT_has_u_partial_u_order fields;
};
// for has_total_order
struct fzT_has_u_total_u_order
{
};
// for ref has_total_order
struct fzT__Rhas_u_total_u_order
{
  uint32_t clazzId;
  fzT_has_u_total_u_order fields;
};
// 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__1074226873;
};
// for i32.infix /
struct fzT_1i32__1infix_wd
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1074227432;
  fzT_bool fzF_3__U40__1074227482;
};
// for i32.infix %
struct fzT_1i32__1infix_wP
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1074228041;
  fzT_bool fzF_3__U40__1074228091;
};
// 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__1074229411;
};
// for i32.overflowOnAdd
struct fzT_1i32__1overflowOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1074229954;
  fzT_bool fzF_3__U40__1074230004;
};
// for i32.underflowOnAdd
struct fzT_1i32__1underflowOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1074230548;
  fzT_bool fzF_3__U40__1074230598;
};
// for i32.overflowOnSub
struct fzT_1i32__1overflowOnSub
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1074231141;
  fzT_bool fzF_3__U40__1074231191;
};
// for i32.underflowOnSub
struct fzT_1i32__1underflowOnSub
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1074231735;
  fzT_bool fzF_3__U40__1074231785;
};
// for i32.overflowOnMul
struct fzT_1i32__1overflowOnMul
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1074232200;
};
// for i32.underflowOnMul
struct fzT_1i32__1underflowOnMul
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1074232616;
};
// for i32.as_u8
struct fzT_1i32__as_u_u8
{
  fzT_1u8 fzF_0_result;
  fzT_1i32 fzF_1__U40__1074234959;
};
// for i32.as_u32
struct fzT_1i32__as_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1i32 fzF_1__U40__1074235817;
  fzT_bool fzF_2__U40__1074235867;
};
// for i32.low8bits
struct fzT_1i32__low8bits
{
  fzT_1u8 fzF_0_result;
  fzT_1i32 fzF_1__U40__1074237342;
};
// 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 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.as_string
struct fzT_1i32__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT_1i32 fzF_1__U40__1074287202;
};
// for u8.as_string
struct fzT_1u8__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT_1u8 fzF_1__U40__1074287202;
};
// for i32.as_string
struct fzT_1i32__1as_u_string
{
  fzT_1u32 fzF_0_base;
  fzT__RString* fzF_1_result;
  fzT_1i32 fzF_2__U40__1074287849;
  fzT_1u32 fzF_3__U40__1074292128;
  fzT_bool fzF_4__U40__1074292178;
};
// for u8.as_string
struct fzT_1u8__1as_u_string
{
  fzT_1u32 fzF_0_base;
  fzT__RString* fzF_1_result;
  fzT_1u8 fzF_2__U40__1074287849;
  fzT_1u32 fzF_3__U40__1074292128;
  fzT_bool fzF_4__U40__1074292178;
};
// for i32.as_string.@1074287899
struct fzT__L16431i32__1as___074287899
{
  fzT_1i32__1as_u_string* fzF_0__U40__1074287970;
};
// for i32.as_string.ref @1074287899
struct fzT__L16411i32__1as___074287899
{
  uint32_t clazzId;
  fzT__L16431i32__1as___074287899 fields;
};
// for u8.as_string.@1074287899
struct fzT__L16441u8__1as_u__074287899
{
  fzT_1u8__1as_u_string* fzF_0__U40__1074287970;
};
// for u8.as_string.ref @1074287899
struct fzT__L16421u8__1as_u__074287899
{
  uint32_t clazzId;
  fzT__L16441u8__1as_u__074287899 fields;
};
// for i32.as_string.ref @1074287899.utf8
struct fzT__L16511i32__1as___899__utf8
{
  fzT__L16411i32__1as___074287899* fzF_0__U40__1074288107;
};
// for i32.as_string.ref @1074287899.ref utf8
struct fzT__L16491i32__1as___899_Rutf8
{
  uint32_t clazzId;
  fzT__L16511i32__1as___899__utf8 fields;
};
// for u8.as_string.ref @1074287899.utf8
struct fzT__L16521u8__1as_u__899__utf8
{
  fzT__L16421u8__1as_u__074287899* fzF_0__U40__1074288107;
};
// for u8.as_string.ref @1074287899.ref utf8
struct fzT__L16501u8__1as_u__899_Rutf8
{
  uint32_t clazzId;
  fzT__L16521u8__1as_u__899__utf8 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream
struct fzT__L16571i32__1as____u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L16491i32__1as___899_Rutf8* fzF_1__U40__1074289673;
  fzT_1i32 fzF_2_v;
  fzT_1i32 fzF_3_b;
  fzT_num_u_option_l_i32_g fzF_4_p;
  fzT__Rstream_l_u8_g* fzF_5__U40__1074291864;
};
// for num_option<u8>
struct fzT_num_u_option_l_u8_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1u8 v0;
    fzT_nil v1;
  }fzChoice;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream
struct fzT__L16581u8__1as_u___u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L16501u8__1as_u__899_Rutf8* fzF_1__U40__1074289673;
  fzT_1u8 fzF_2_v;
  fzT_1u8 fzF_3_b;
  fzT_num_u_option_l_u8_g fzF_4_p;
  fzT__Rstream_l_u8_g* fzF_5__U40__1074291864;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.@1074289876
struct fzT__L16711i32__1as___074289876
{
  fzT__L16571i32__1as____u_stream* fzF_0__U40__1074290147;
  fzT_1i32 fzF_1_p;
  fzT__L2600option_l_s___l_u8_ggg fzF_2_as_u_list0;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876
struct fzT__L16691i32__1as___074289876
{
  uint32_t clazzId;
  fzT__L16711i32__1as___074289876 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.@1074289876
struct fzT__L16721u8__1as_u__074289876
{
  fzT__L16581u8__1as_u___u_stream* fzF_0__U40__1074290147;
  fzT_1u8 fzF_1_p;
  fzT__L2600option_l_s___l_u8_ggg fzF_2_as_u_list0;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876
struct fzT__L16701u8__1as_u__074289876
{
  uint32_t clazzId;
  fzT__L16721u8__1as_u__074289876 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.has_next
struct fzT__L16811i32__1as___as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074290500;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.has_next
struct fzT__L16821u8__1as_u__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074290500;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.next
struct fzT__L16871i32__1as___876__next
{
  fzT_1u8 fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074291612;
  fzT_1u8 fzF_2_r;
  fzT_1u8 fzF_3_d;
  fzT_1u8 fzF_4__U40__1074291764;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.next
struct fzT__L16881u8__1as_u__876__next
{
  fzT_1u8 fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074291612;
  fzT_1u8 fzF_2_r;
  fzT_1u8 fzF_3_d;
  fzT_1u8 fzF_4__U40__1074291764;
};
// for i32.as_string.ref @1074287899.ref utf8.finite
struct fzT__L17011i32__1as___8__finite
{
  fzT_bool fzF_0_result;
};
// for u8.as_string.ref @1074287899.ref utf8.finite
struct fzT__L17021u8__1as_u__8__finite
{
  fzT_bool fzF_0_result;
};
// for io
struct fzT_io
{
};
// for io.out
struct fzT_io__3out
{
  fzT_effectMode__1inst fzF_0_i;
  fzT_io_RCan_u_Print* fzF_1_p;
  fzT_effectMode__val fzF_2_r;
  fzT_unit fzF_3__U40__1074340103;
  fzT_io* fzF_4__U40__1074340153;
};
// for io.out
struct fzT_io__out
{
  fzT_io__3out fzF_0_result;
  fzT_io* fzF_1__U40__1074338997;
};
// for io.defaultPrintToOut
struct fzT_io__defaultPrintToOut
{
  fzT_io* fzF_0__U40__1074340315;
};
// for io.ref defaultPrintToOut
struct fzT_io_RdefaultPrintToOut
{
  uint32_t clazzId;
  fzT_io__defaultPrintToOut fields;
};
// for io.ref defaultPrintToOut.print
struct fzT__L1722io_Rdefaul__t__1print
{
  fzT__RAny* fzF_0_s;
  fzT_unit fzF_1_result;
};
// for io.outs
struct fzT_io__outs
{
  fzT_io* fzF_0__U40__1074340739;
};
// for io.outs.installDefault
struct fzT_io__outs__installDefault
{
  fzT_unit fzF_0_result;
  fzT_io__outs* fzF_1__U40__1074341366;
  fzT_bool fzF_2__U40__1074341466;
  fzT_unit fzF_3__U40__1074341516;
};
// for io.printEffect
struct fzT_io__2printEffect
{
  fzT_effectMode__1inst fzF_0_i;
  fzT_io_RCan_u_Print* fzF_1_p;
  fzT_effectMode__val fzF_2_r;
};
// for io.out.println
struct fzT_io__3out__1println
{
  fzT__RAny* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io__3out* fzF_2__U40__1074342799;
};
// for io.Can_Print
struct fzT_io__Can_u_Print
{
};
// for io.ref Can_Print
struct fzT_io_RCan_u_Print
{
  uint32_t clazzId;
  fzT_io__Can_u_Print fields;
};
// for io.ref defaultPrintToOut.println
struct fzT__L1744io_Rdefaul____println
{
  fzT_unit fzF_0_result;
  fzT_io_RdefaultPrintToOut* fzF_1__U40__1074343383;
};
// for io.ref Can_Print.println
struct fzT_io_RCan_u_Print__println
{
  fzT_unit fzF_0_result;
  fzT_io_RCan_u_Print* fzF_1__U40__1074343383;
};
// for io.ref defaultPrintToOut.println
struct fzT__L1750io_Rdefaul___1println
{
  fzT__RAny* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io_RdefaultPrintToOut* fzF_2__U40__1074343713;
};
// for io.ref Can_Print.println
struct fzT_io_RCan_u_Print__1println
{
  fzT__RAny* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io_RCan_u_Print* fzF_2__U40__1074343713;
};
// for ref list<String>
struct fzT__Rlist_l_String_g
{
  uint32_t clazzId;
  fzT_list_l_String_g fields;
};
// for ref list<i32>
struct fzT__Rlist_l_i32_g
{
  uint32_t clazzId;
  fzT_list_l_i32_g fields;
};
// for ref list<u8>
struct fzT__Rlist_l_u8_g
{
  uint32_t clazzId;
  fzT_list_l_u8_g fields;
};
// for list<u8>.as_string
struct fzT_list_l_u8_g__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__1074358559;
};
// for ref list<String>.as_string
struct fzT__L1765_Rlist_l_S___u_string
{
  fzT__RString* fzF_0_result;
  fzT__Rlist_l_String_g* fzF_1__U40__1074358559;
};
// for ref list<i32>.as_string
struct fzT__Rlist_l_i32_g__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__1074358559;
};
// for ref list<u8>.as_string
struct fzT__Rlist_l_u8_g__as_u_string
{
  fzT__RString* fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__1074358559;
};
// for list<u8>.as_string
struct fzT_list_l_u8_g__1as_u_string
{
  fzT__RString* fzF_0_sep;
  fzT__RString* fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__1074359060;
};
// for ref list<String>.as_string
struct fzT__L1777_Rlist_l_S___u_string
{
  fzT__RString* fzF_0_sep;
  fzT__RString* fzF_1_result;
  fzT__Rlist_l_String_g* fzF_2__U40__1074359060;
};
// for ref list<i32>.as_string
struct fzT__L1778_Rlist_l_i___u_string
{
  fzT__RString* fzF_0_sep;
  fzT__RString* fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__1074359060;
};
// for ref list<u8>.as_string
struct fzT__Rlist_l_u8_g__1as_u_string
{
  fzT__RString* fzF_0_sep;
  fzT__RString* fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__1074359060;
};
// for list<u8>.as_string.@1074359110
struct fzT__L1796list_l_u8___074359110
{
};
// for list<u8>.as_string.ref @1074359110
struct fzT__L1792list_l_u8___074359110
{
  uint32_t clazzId;
  fzT__L1796list_l_u8___074359110 fields;
};
// for ref list<String>.as_string.@1074359110
struct fzT__L1797_Rlist_l_S__074359110
{
};
// for ref list<String>.as_string.ref @1074359110
struct fzT__L1793_Rlist_l_S__074359110
{
  uint32_t clazzId;
  fzT__L1797_Rlist_l_S__074359110 fields;
};
// for ref list<i32>.as_string.@1074359110
struct fzT__L1798_Rlist_l_i__074359110
{
};
// for ref list<i32>.as_string.ref @1074359110
struct fzT__L1794_Rlist_l_i__074359110
{
  uint32_t clazzId;
  fzT__L1798_Rlist_l_i__074359110 fields;
};
// for ref list<u8>.as_string.@1074359110
struct fzT__L1799_Rlist_l_u__074359110
{
};
// for ref list<u8>.as_string.ref @1074359110
struct fzT__L1795_Rlist_l_u__074359110
{
  uint32_t clazzId;
  fzT__L1799_Rlist_l_u__074359110 fields;
};
// for list<u8>.as_string.ref @1074359110.call
struct fzT__L1800list_l_u8___10__1call
{
  fzT_1u8 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<String>.as_string.ref @1074359110.call
struct fzT__L1801_Rlist_l_S__10__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<i32>.as_string.ref @1074359110.call
struct fzT__L1802_Rlist_l_i__10__1call
{
  fzT_1i32 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<u8>.as_string.ref @1074359110.call
struct fzT__L1803_Rlist_l_u__10__1call
{
  fzT_1u8 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for option<String>
struct fzT_option_l_String_g
{
  union
  {
    fzT_nil v1;
    fzT__RAny* vref;
  }fzChoice;
};
// for list<String>.head
struct fzT_list_l_String_g__head
{
  fzT_option_l_String_g fzF_0_result;
  fzT_list_l_String_g* fzF_1__U40__1074359877;
  fzT__L220_RCons_l_S___String_gg* fzF_2_c;
  fzT_option_l_String_g fzF_3__U40__1074359978;
};
// for option<i32>
struct fzT_option_l_i32_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1i32 v0;
    fzT_nil v1;
  }fzChoice;
};
// for list<i32>.head
struct fzT_list_l_i32_g__head
{
  fzT_option_l_i32_g fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__1074359877;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_2_c;
  fzT_option_l_i32_g fzF_3__U40__1074359978;
};
// for option<u8>
struct fzT_option_l_u8_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1u8 v0;
    fzT_nil v1;
  }fzChoice;
};
// for list<u8>.head
struct fzT_list_l_u8_g__head
{
  fzT_option_l_u8_g fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__1074359877;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_option_l_u8_g fzF_3__U40__1074359978;
};
// for ref list<String>.head
struct fzT__Rlist_l_String_g__head
{
  fzT_option_l_String_g fzF_0_result;
  fzT__Rlist_l_String_g* fzF_1__U40__1074359877;
  fzT__L220_RCons_l_S___String_gg* fzF_2_c;
  fzT_option_l_String_g fzF_3__U40__1074359978;
};
// for ref list<i32>.head
struct fzT__Rlist_l_i32_g__head
{
  fzT_option_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__1074359877;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_2_c;
  fzT_option_l_i32_g fzF_3__U40__1074359978;
};
// for ref list<u8>.head
struct fzT__Rlist_l_u8_g__head
{
  fzT_option_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__1074359877;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_option_l_u8_g fzF_3__U40__1074359978;
};
// for ref list<String>.as_list
struct fzT__L1842_Rlist_l_S__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__Rlist_l_String_g* fzF_1__U40__1074360648;
};
// for ref list<i32>.as_list
struct fzT__Rlist_l_i32_g__as_u_list
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__1074360648;
};
// for ref list<u8>.as_list
struct fzT__Rlist_l_u8_g__as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__1074360648;
};
// for option<some<list<String>>>
struct fzT__L2598option_l_s__tring_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_String_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for list<String>.as_stream
struct fzT__L1857list_l_Str___u_stream
{
  fzT_list_l_String_g* fzF_0__U40__1074360841;
  fzT_list_l_String_g fzF_1_cur;
  fzT__L2598option_l_s__tring_ggg fzF_2_as_u_list0;
};
// for list<String>.ref as_stream
struct fzT__L1851list_l_Str___u_stream
{
  uint32_t clazzId;
  fzT__L1857list_l_Str___u_stream fields;
};
// for list<i32>.as_stream
struct fzT_list_l_i32_g__as_u_stream
{
  fzT_list_l_i32_g* fzF_0__U40__1074360841;
  fzT_list_l_i32_g fzF_1_cur;
  fzT__L2599option_l_s__l_i32_ggg fzF_2_as_u_list0;
};
// for list<i32>.ref as_stream
struct fzT_list_l_i32_g_Ras_u_stream
{
  uint32_t clazzId;
  fzT_list_l_i32_g__as_u_stream fields;
};
// for list<u8>.as_stream
struct fzT_list_l_u8_g__as_u_stream
{
  fzT_list_l_u8_g* fzF_0__U40__1074360841;
  fzT_list_l_u8_g fzF_1_cur;
  fzT__L2600option_l_s___l_u8_ggg fzF_2_as_u_list0;
};
// for list<u8>.ref as_stream
struct fzT_list_l_u8_g_Ras_u_stream
{
  uint32_t clazzId;
  fzT_list_l_u8_g__as_u_stream fields;
};
// for ref list<String>.as_stream
struct fzT__L1860_Rlist_l_S___u_stream
{
  fzT__Rlist_l_String_g* fzF_0__U40__1074360841;
  fzT_list_l_String_g fzF_1_cur;
  fzT__L2598option_l_s__tring_ggg fzF_2_as_u_list0;
};
// for ref list<String>.ref as_stream
struct fzT__L1854_Rlist_l_S___u_stream
{
  uint32_t clazzId;
  fzT__L1860_Rlist_l_S___u_stream fields;
};
// for ref list<i32>.as_stream
struct fzT__Rlist_l_i32_g__as_u_stream
{
  fzT__Rlist_l_i32_g* fzF_0__U40__1074360841;
  fzT_list_l_i32_g fzF_1_cur;
  fzT__L2599option_l_s__l_i32_ggg fzF_2_as_u_list0;
};
// for ref list<i32>.ref as_stream
struct fzT__Rlist_l_i32_g_Ras_u_stream
{
  uint32_t clazzId;
  fzT__Rlist_l_i32_g__as_u_stream fields;
};
// for ref list<u8>.as_stream
struct fzT__Rlist_l_u8_g__as_u_stream
{
  fzT__Rlist_l_u8_g* fzF_0__U40__1074360841;
  fzT_list_l_u8_g fzF_1_cur;
  fzT__L2600option_l_s___l_u8_ggg fzF_2_as_u_list0;
};
// for ref list<u8>.ref as_stream
struct fzT__Rlist_l_u8_g_Ras_u_stream
{
  uint32_t clazzId;
  fzT__Rlist_l_u8_g__as_u_stream fields;
};
// for list<String>.ref as_stream.has_next
struct fzT__L1875list_l_Str__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074361185;
  fzT_bool fzF_2__U40__1074361235;
};
// for list<i32>.ref as_stream.has_next
struct fzT__L1876list_l_i32__as_u_next
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074361185;
  fzT_bool fzF_2__U40__1074361235;
};
// for list<u8>.ref as_stream.has_next
struct fzT__L1877list_l_u8___as_u_next
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074361185;
  fzT_bool fzF_2__U40__1074361235;
};
// for ref list<String>.ref as_stream.has_next
struct fzT__L1878_Rlist_l_S__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074361185;
  fzT_bool fzF_2__U40__1074361235;
};
// for ref list<i32>.ref as_stream.has_next
struct fzT__L1879_Rlist_l_i__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074361185;
  fzT_bool fzF_2__U40__1074361235;
};
// for ref list<u8>.ref as_stream.has_next
struct fzT__L1880_Rlist_l_u__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074361185;
  fzT_bool fzF_2__U40__1074361235;
};
// for list<String>.ref as_stream.next
struct fzT__L1899list_l_Str__eam__next
{
  fzT__RString* fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074361596;
  fzT__RString* fzF_2_res;
};
// for list<i32>.ref as_stream.next
struct fzT__L1900list_l_i32__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074361596;
  fzT_1i32 fzF_2_res;
};
// for list<u8>.ref as_stream.next
struct fzT__L1901list_l_u8___eam__next
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074361596;
  fzT_1u8 fzF_2_res;
};
// for ref list<String>.ref as_stream.next
struct fzT__L1902_Rlist_l_S__eam__next
{
  fzT__RString* fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074361596;
  fzT__RString* fzF_2_res;
};
// for ref list<i32>.ref as_stream.next
struct fzT__L1903_Rlist_l_i__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074361596;
  fzT_1i32 fzF_2_res;
};
// for ref list<u8>.ref as_stream.next
struct fzT__L1904_Rlist_l_u__eam__next
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074361596;
  fzT_1u8 fzF_2_res;
};
// for list<String>.is_empty
struct fzT_list_l_String_g__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT_list_l_String_g* fzF_1__U40__1074362034;
  fzT_bool fzF_2__U40__1074362084;
};
// for list<i32>.is_empty
struct fzT_list_l_i32_g__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__1074362034;
  fzT_bool fzF_2__U40__1074362084;
};
// for list<u8>.is_empty
struct fzT_list_l_u8_g__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__1074362034;
  fzT_bool fzF_2__U40__1074362084;
};
// for ref list<String>.is_empty
struct fzT__L1938_Rlist_l_S__s_u_empty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_String_g* fzF_1__U40__1074362034;
  fzT_bool fzF_2__U40__1074362084;
};
// for ref list<i32>.is_empty
struct fzT__Rlist_l_i32_g__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__1074362034;
  fzT_bool fzF_2__U40__1074362084;
};
// for ref list<u8>.is_empty
struct fzT__Rlist_l_u8_g__is_u_empty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__1074362034;
  fzT_bool fzF_2__U40__1074362084;
};
// for list<u8>.count
struct fzT_list_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__1074362346;
};
// 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__1074362346;
};
// 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__1074362346;
};
// 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__1074362346;
};
// 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__1074362806;
  fzT__L220_RCons_l_S___String_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__1074362907;
};
// 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__1074362806;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__1074362907;
};
// 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__1074362806;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__1074362907;
};
// 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__1074362806;
  fzT__L220_RCons_l_S___String_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__1074362907;
};
// 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__1074362806;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__1074362907;
};
// 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__1074362806;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__1074362907;
};
// 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__1074363392;
  fzT_bool fzF_2__U40__1074363442;
};
// 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__1074363392;
  fzT_bool fzF_2__U40__1074363442;
};
// 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__1074363392;
  fzT_bool fzF_2__U40__1074363442;
};
// 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__1074370579;
};
// 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__1074370579;
};
// 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__1074370579;
};
// for ref list<String>.infix ++
struct fzT__L2022_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__1074370579;
};
// 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__1074370579;
};
// 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__1074370579;
};
// 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__1074373659;
};
// 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__1074373659;
};
// 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__1074374229;
  fzT__L220_RCons_l_S___String_gg* fzF_4_c;
  fzT__RString* fzF_5__U40__1074374330;
};
// 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__1074374229;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_4_c;
  fzT_1i32 fzF_5__U40__1074374330;
};
// 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__1074376736;
  fzT__L220_RCons_l_S___String_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074377698;
};
// 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__1074376736;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__1074377698;
};
// 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__1074376736;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_u8_g fzF_4__U40__1074377698;
};
// 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__1074376736;
  fzT__L220_RCons_l_S___String_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074377698;
};
// 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__1074376736;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__1074377698;
};
// 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__1074376736;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_u8_g fzF_4__U40__1074377698;
};
// for list<String>.concat.@1074376939
struct fzT__L2101list_l_Str__074376939
{
  fzT_list_l_String_g__1concat* fzF_0__U40__1074377026;
};
// for list<String>.concat.ref @1074376939
struct fzT__L2095list_l_Str__074376939
{
  uint32_t clazzId;
  fzT__L2101list_l_Str__074376939 fields;
};
// for list<i32>.concat.@1074376939
struct fzT__L2102list_l_i32__074376939
{
  fzT_list_l_i32_g__1concat* fzF_0__U40__1074377026;
};
// for list<i32>.concat.ref @1074376939
struct fzT__L2096list_l_i32__074376939
{
  uint32_t clazzId;
  fzT__L2102list_l_i32__074376939 fields;
};
// for list<u8>.concat.@1074376939
struct fzT__L2103list_l_u8___074376939
{
  fzT_list_l_u8_g__1concat* fzF_0__U40__1074377026;
};
// for list<u8>.concat.ref @1074376939
struct fzT__L2097list_l_u8___074376939
{
  uint32_t clazzId;
  fzT__L2103list_l_u8___074376939 fields;
};
// for ref list<String>.concat.@1074376939
struct fzT__L2104_Rlist_l_S__074376939
{
  fzT__Rlist_l_String_g__1concat* fzF_0__U40__1074377026;
};
// for ref list<String>.concat.ref @1074376939
struct fzT__L2098_Rlist_l_S__074376939
{
  uint32_t clazzId;
  fzT__L2104_Rlist_l_S__074376939 fields;
};
// for ref list<i32>.concat.@1074376939
struct fzT__L2105_Rlist_l_i__074376939
{
  fzT__Rlist_l_i32_g__1concat* fzF_0__U40__1074377026;
};
// for ref list<i32>.concat.ref @1074376939
struct fzT__L2099_Rlist_l_i__074376939
{
  uint32_t clazzId;
  fzT__L2105_Rlist_l_i__074376939 fields;
};
// for ref list<u8>.concat.@1074376939
struct fzT__L2106_Rlist_l_u__074376939
{
  fzT__Rlist_l_u8_g__1concat* fzF_0__U40__1074377026;
};
// for ref list<u8>.concat.ref @1074376939
struct fzT__L2100_Rlist_l_u__074376939
{
  uint32_t clazzId;
  fzT__L2106_Rlist_l_u__074376939 fields;
};
// for list<String>.concat.ref @1074376939.head
struct fzT__L2119list_l_Str__939__head
{
  fzT__RString* fzF_0_result;
  fzT__L2095list_l_Str__074376939* fzF_1__U40__1074377311;
};
// for list<i32>.concat.ref @1074376939.head
struct fzT__L2120list_l_i32__939__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2096list_l_i32__074376939* fzF_1__U40__1074377311;
};
// for list<u8>.concat.ref @1074376939.head
struct fzT__L2121list_l_u8___939__head
{
  fzT_1u8 fzF_0_result;
  fzT__L2097list_l_u8___074376939* fzF_1__U40__1074377311;
};
// for ref list<String>.concat.ref @1074376939.head
struct fzT__L2122_Rlist_l_S__939__head
{
  fzT__RString* fzF_0_result;
  fzT__L2098_Rlist_l_S__074376939* fzF_1__U40__1074377311;
};
// for ref list<i32>.concat.ref @1074376939.head
struct fzT__L2123_Rlist_l_i__939__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2099_Rlist_l_i__074376939* fzF_1__U40__1074377311;
};
// for ref list<u8>.concat.ref @1074376939.head
struct fzT__L2124_Rlist_l_u__939__head
{
  fzT_1u8 fzF_0_result;
  fzT__L2100_Rlist_l_u__074376939* fzF_1__U40__1074377311;
};
// for list<String>.concat.ref @1074376939.tail
struct fzT__L2137list_l_Str__939__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2095list_l_Str__074376939* fzF_1__U40__1074377648;
};
// for list<i32>.concat.ref @1074376939.tail
struct fzT__L2138list_l_i32__939__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2096list_l_i32__074376939* fzF_1__U40__1074377648;
};
// for list<u8>.concat.ref @1074376939.tail
struct fzT__L2139list_l_u8___939__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L2097list_l_u8___074376939* fzF_1__U40__1074377648;
};
// for ref list<String>.concat.ref @1074376939.tail
struct fzT__L2140_Rlist_l_S__939__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2098_Rlist_l_S__074376939* fzF_1__U40__1074377648;
};
// for ref list<i32>.concat.ref @1074376939.tail
struct fzT__L2141_Rlist_l_i__939__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2099_Rlist_l_i__074376939* fzF_1__U40__1074377648;
};
// for ref list<u8>.concat.ref @1074376939.tail
struct fzT__L2142_Rlist_l_u__939__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L2100_Rlist_l_u__074376939* fzF_1__U40__1074377648;
};
// for list<String>.map<String>
struct fzT__L2161list_l_Str___String_g
{
  fzT__L234_RFunction__k_String_g* fzF_0_f;
  fzT_list_l_String_g fzF_1_result;
  fzT_list_l_String_g* fzF_2__U40__1074378265;
  fzT__L220_RCons_l_S___String_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074379288;
};
// for list<i32>.map<String>
struct fzT__L2162list_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__1074378265;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074379288;
};
// for list<u8>.map<String>
struct fzT__L2163list_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__1074378265;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074379288;
};
// for ref list<String>.map<String>
struct fzT__L2164_Rlist_l_S___String_g
{
  fzT__L234_RFunction__k_String_g* fzF_0_f;
  fzT_list_l_String_g fzF_1_result;
  fzT__Rlist_l_String_g* fzF_2__U40__1074378265;
  fzT__L220_RCons_l_S___String_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074379288;
};
// for ref list<i32>.map<String>
struct fzT__L2165_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__1074378265;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074379288;
};
// for ref list<u8>.map<String>
struct fzT__L2166_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__1074378265;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_String_g fzF_4__U40__1074379288;
};
// for list<String>.map<i32>
struct fzT__L2167list_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__1074378265;
  fzT__L220_RCons_l_S___String_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__1074379288;
};
// 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__1074378265;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__1074379288;
};
// 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__1074378265;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__1074379288;
};
// for list<String>.map<String>.@1074378416
struct fzT__L2215list_l_Str__074378416
{
  fzT__L2161list_l_Str___String_g* fzF_0__U40__1074378524;
};
// for list<String>.map<String>.ref @1074378416
struct fzT__L2206list_l_Str__074378416
{
  uint32_t clazzId;
  fzT__L2215list_l_Str__074378416 fields;
};
// for list<i32>.map<String>.@1074378416
struct fzT__L2216list_l_i32__074378416
{
  fzT__L2162list_l_i32___String_g* fzF_0__U40__1074378524;
};
// for list<i32>.map<String>.ref @1074378416
struct fzT__L2207list_l_i32__074378416
{
  uint32_t clazzId;
  fzT__L2216list_l_i32__074378416 fields;
};
// for list<u8>.map<String>.@1074378416
struct fzT__L2217list_l_u8___074378416
{
  fzT__L2163list_l_u8____String_g* fzF_0__U40__1074378524;
};
// for list<u8>.map<String>.ref @1074378416
struct fzT__L2208list_l_u8___074378416
{
  uint32_t clazzId;
  fzT__L2217list_l_u8___074378416 fields;
};
// for ref list<String>.map<String>.@1074378416
struct fzT__L2218_Rlist_l_S__074378416
{
  fzT__L2164_Rlist_l_S___String_g* fzF_0__U40__1074378524;
};
// for ref list<String>.map<String>.ref @1074378416
struct fzT__L2209_Rlist_l_S__074378416
{
  uint32_t clazzId;
  fzT__L2218_Rlist_l_S__074378416 fields;
};
// for ref list<i32>.map<String>.@1074378416
struct fzT__L2219_Rlist_l_i__074378416
{
  fzT__L2165_Rlist_l_i___String_g* fzF_0__U40__1074378524;
};
// for ref list<i32>.map<String>.ref @1074378416
struct fzT__L2210_Rlist_l_i__074378416
{
  uint32_t clazzId;
  fzT__L2219_Rlist_l_i__074378416 fields;
};
// for ref list<u8>.map<String>.@1074378416
struct fzT__L2220_Rlist_l_u__074378416
{
  fzT__L2166_Rlist_l_u___String_g* fzF_0__U40__1074378524;
};
// for ref list<u8>.map<String>.ref @1074378416
struct fzT__L2211_Rlist_l_u__074378416
{
  uint32_t clazzId;
  fzT__L2220_Rlist_l_u__074378416 fields;
};
// for list<String>.map<i32>.@1074378416
struct fzT__L2221list_l_Str__074378416
{
  fzT__L2167list_l_Str__p_l_i32_g* fzF_0__U40__1074378524;
};
// for list<String>.map<i32>.ref @1074378416
struct fzT__L2212list_l_Str__074378416
{
  uint32_t clazzId;
  fzT__L2221list_l_Str__074378416 fields;
};
// for list<i32>.map<i32>.@1074378416
struct fzT__L2222list_l_i32__074378416
{
  fzT_list_l_i32_g__1map_l_i32_g* fzF_0__U40__1074378524;
};
// for list<i32>.map<i32>.ref @1074378416
struct fzT__L2213list_l_i32__074378416
{
  uint32_t clazzId;
  fzT__L2222list_l_i32__074378416 fields;
};
// for list<u8>.map<i32>.@1074378416
struct fzT__L2223list_l_u8___074378416
{
  fzT_list_l_u8_g__1map_l_i32_g* fzF_0__U40__1074378524;
};
// for list<u8>.map<i32>.ref @1074378416
struct fzT__L2214list_l_u8___074378416
{
  uint32_t clazzId;
  fzT__L2223list_l_u8___074378416 fields;
};
// for list<String>.map<String>.ref @1074378416.head
struct fzT__L2242list_l_Str__416__head
{
  fzT__RString* fzF_0_result;
  fzT__L2206list_l_Str__074378416* fzF_1__U40__1074378893;
};
// for list<i32>.map<String>.ref @1074378416.head
struct fzT__L2243list_l_i32__416__head
{
  fzT__RString* fzF_0_result;
  fzT__L2207list_l_i32__074378416* fzF_1__U40__1074378893;
};
// for list<u8>.map<String>.ref @1074378416.head
struct fzT__L2244list_l_u8___416__head
{
  fzT__RString* fzF_0_result;
  fzT__L2208list_l_u8___074378416* fzF_1__U40__1074378893;
};
// for ref list<String>.map<String>.ref @1074378416.head
struct fzT__L2245_Rlist_l_S__416__head
{
  fzT__RString* fzF_0_result;
  fzT__L2209_Rlist_l_S__074378416* fzF_1__U40__1074378893;
};
// for ref list<i32>.map<String>.ref @1074378416.head
struct fzT__L2246_Rlist_l_i__416__head
{
  fzT__RString* fzF_0_result;
  fzT__L2210_Rlist_l_i__074378416* fzF_1__U40__1074378893;
};
// for ref list<u8>.map<String>.ref @1074378416.head
struct fzT__L2247_Rlist_l_u__416__head
{
  fzT__RString* fzF_0_result;
  fzT__L2211_Rlist_l_u__074378416* fzF_1__U40__1074378893;
};
// for list<String>.map<i32>.ref @1074378416.head
struct fzT__L2248list_l_Str__416__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2212list_l_Str__074378416* fzF_1__U40__1074378893;
};
// for list<i32>.map<i32>.ref @1074378416.head
struct fzT__L2249list_l_i32__416__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2213list_l_i32__074378416* fzF_1__U40__1074378893;
};
// for list<u8>.map<i32>.ref @1074378416.head
struct fzT__L2250list_l_u8___416__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2214list_l_u8___074378416* fzF_1__U40__1074378893;
};
// for list<String>.map<String>.ref @1074378416.tail
struct fzT__L2269list_l_Str__416__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2206list_l_Str__074378416* fzF_1__U40__1074379238;
};
// for list<i32>.map<String>.ref @1074378416.tail
struct fzT__L2270list_l_i32__416__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2207list_l_i32__074378416* fzF_1__U40__1074379238;
};
// for list<u8>.map<String>.ref @1074378416.tail
struct fzT__L2271list_l_u8___416__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2208list_l_u8___074378416* fzF_1__U40__1074379238;
};
// for ref list<String>.map<String>.ref @1074378416.tail
struct fzT__L2272_Rlist_l_S__416__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2209_Rlist_l_S__074378416* fzF_1__U40__1074379238;
};
// for ref list<i32>.map<String>.ref @1074378416.tail
struct fzT__L2273_Rlist_l_i__416__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2210_Rlist_l_i__074378416* fzF_1__U40__1074379238;
};
// for ref list<u8>.map<String>.ref @1074378416.tail
struct fzT__L2274_Rlist_l_u__416__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L2211_Rlist_l_u__074378416* fzF_1__U40__1074379238;
};
// for list<String>.map<i32>.ref @1074378416.tail
struct fzT__L2275list_l_Str__416__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2212list_l_Str__074378416* fzF_1__U40__1074379238;
};
// for list<i32>.map<i32>.ref @1074378416.tail
struct fzT__L2276list_l_i32__416__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2213list_l_i32__074378416* fzF_1__U40__1074379238;
};
// for list<u8>.map<i32>.ref @1074378416.tail
struct fzT__L2277list_l_u8___416__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2214list_l_u8___074378416* fzF_1__U40__1074379238;
};
// for list<String>.force_tail
struct fzT__L2305list_l_Str__ce_u_tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT_list_l_String_g* fzF_1__U40__1074380851;
  fzT__L220_RCons_l_S___String_gg* fzF_2_c;
  fzT_list_l_String_g fzF_3__U40__1074380952;
  fzT_bool fzF_4__U40__1074381002;
};
// for list<i32>.force_tail
struct fzT_list_l_i32_g__force_u_tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__1074380851;
  fzT__L222_RCons_l_i__t_l_i32_gg* fzF_2_c;
  fzT_list_l_i32_g fzF_3__U40__1074380952;
  fzT_bool fzF_4__U40__1074381002;
};
// for list<u8>.force_tail
struct fzT_list_l_u8_g__force_u_tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__1074380851;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_list_l_u8_g fzF_3__U40__1074380952;
  fzT_bool fzF_4__U40__1074381002;
};
// for marray<String>
struct fzT_2marray_l_String_g
{
  fzT_1i32 fzF_0_length;
  fzT__L1392fuzion__sy___String_g fzF_1_data;
  fzT_bool fzF_2__U40__1074405755;
};
// for marray<i32>
struct fzT_2marray_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT__L1393fuzion__sy__y_l_i32_g fzF_1_data;
  fzT_bool fzF_2__U40__1074405755;
};
// for marray<u8>
struct fzT_2marray_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_1_data;
  fzT_bool fzF_2__U40__1074405755;
};
// for marray<String>.index [ ]
struct fzT__L23322marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT__RString* fzF_1_result;
  fzT_2marray_l_String_g* fzF_2__U40__1074397514;
  fzT_bool fzF_3__U40__1074397564;
  fzT_bool fzF_4__U40__1074397614;
};
// for marray<i32>.index [ ]
struct fzT__L23332marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT_2marray_l_i32_g* fzF_2__U40__1074397514;
  fzT_bool fzF_3__U40__1074397564;
  fzT_bool fzF_4__U40__1074397614;
};
// for marray<u8>.index [ ]
struct fzT__L23342marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT_2marray_l_u8_g* fzF_2__U40__1074397514;
  fzT_bool fzF_3__U40__1074397564;
  fzT_bool fzF_4__U40__1074397614;
};
// for marray<String>.as_array
struct fzT__L23502marray_l___s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT_2marray_l_String_g* fzF_1__U40__1074398214;
};
// 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__1074398214;
};
// 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__1074398214;
};
// for marray<String>.as_array.@1074398264
struct fzT__L23622marray_l___074398264
{
  fzT__L23502marray_l___s_u_array* fzF_0__U40__1074398376;
};
// for marray<String>.as_array.ref @1074398264
struct fzT__L23592marray_l___074398264
{
  uint32_t clazzId;
  fzT__L23622marray_l___074398264 fields;
};
// for marray<i32>.as_array.@1074398264
struct fzT__L23632marray_l___074398264
{
  fzT_2marray_l_i32_g__as_u_array* fzF_0__U40__1074398376;
};
// for marray<i32>.as_array.ref @1074398264
struct fzT__L23602marray_l___074398264
{
  uint32_t clazzId;
  fzT__L23632marray_l___074398264 fields;
};
// for marray<u8>.as_array.@1074398264
struct fzT__L23642marray_l___074398264
{
  fzT_2marray_l_u8_g__as_u_array* fzF_0__U40__1074398376;
};
// for marray<u8>.as_array.ref @1074398264
struct fzT__L23612marray_l___074398264
{
  uint32_t clazzId;
  fzT__L23642marray_l___074398264 fields;
};
// for marray<String>.as_array.ref @1074398264.call
struct fzT__L23712marray_l___64__1call
{
  fzT_1i32 fzF_0_i;
  fzT__RString* fzF_1_result;
  fzT__L23592marray_l___074398264* fzF_2__U40__1074398731;
};
// for marray<i32>.as_array.ref @1074398264.call
struct fzT__L23722marray_l___64__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT__L23602marray_l___074398264* fzF_2__U40__1074398731;
};
// for marray<u8>.as_array.ref @1074398264.call
struct fzT__L23732marray_l___64__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L23612marray_l___074398264* fzF_2__U40__1074398731;
};
// 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__1074401963;
  fzT_1i32 fzF_3_i;
  fzT__L1392fuzion__sy___String_g fzF_4_d;
  fzT__L1392fuzion__sy___String_g fzF_5_newData;
  fzT__L14921i32__1inf___u_stream* fzF_6__U40__1074402193;
  fzT__L1392fuzion__sy___String_g fzF_7__U40__1074403053;
  fzT_bool fzF_8__U40__1074403103;
};
// 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__1074401963;
  fzT_1i32 fzF_3_i;
  fzT__L1393fuzion__sy__y_l_i32_g fzF_4_d;
  fzT__L1393fuzion__sy__y_l_i32_g fzF_5_newData;
  fzT__L14921i32__1inf___u_stream* fzF_6__U40__1074402193;
  fzT__L1393fuzion__sy__y_l_i32_g fzF_7__U40__1074403053;
  fzT_bool fzF_8__U40__1074403103;
};
// 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__1074401963;
  fzT_1i32 fzF_3_i;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_4_d;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_5_newData;
  fzT__L14921i32__1inf___u_stream* fzF_6__U40__1074402193;
  fzT__L1394fuzion__sy__ay_l_u8_g fzF_7__U40__1074403053;
  fzT_bool fzF_8__U40__1074403103;
};
// for marray<String>.add.@1074402243
struct fzT__L24072marray_l___074402243
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__1074402831;
  fzT_2marray_l_String_g__1add* fzF_2__U40__1074402881;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__1074403003;
};
// for marray<i32>.add.@1074402243
struct fzT__L24082marray_l___074402243
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__1074402831;
  fzT_2marray_l_i32_g__1add* fzF_2__U40__1074402881;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__1074403003;
};
// for marray<u8>.add.@1074402243
struct fzT__L24092marray_l___074402243
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__1074402831;
  fzT_2marray_l_u8_g__1add* fzF_2__U40__1074402881;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__1074403003;
};
// 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__1074403723;
};
// 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__1074403723;
};
// 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__1074403723;
};
// for monad<String, option<String>>
struct fzT__L2443monad_l_St__String_gg
{
};
// for monad<i32, num_option<i32>>
struct fzT__L2444monad_l_i3___l_i32_gg
{
};
// for monad<i32, option<i32>>
struct fzT__L2445monad_l_i3___l_i32_gg
{
};
// for monad<some<list<String>>, option<some<list<String>>>>
struct fzT__L2446monad_l_so__ring_gggg
{
};
// for monad<some<list<i32>>, option<some<list<i32>>>>
struct fzT__L2447monad_l_so___i32_gggg
{
};
// for monad<some<list<u8>>, option<some<list<u8>>>>
struct fzT__L2448monad_l_so__l_u8_gggg
{
};
// for monad<u8, num_option<u8>>
struct fzT__L2449monad_l_u8__n_l_u8_gg
{
};
// for monad<u8, option<u8>>
struct fzT_monad_l_u8_k_option_l_u8_gg
{
};
// for monad<unit, option<unit>>
struct fzT__L2451monad_l_un__l_unit_gg
{
};
// for num_option<i32>.val
struct fzT_num_u_option_l_i32_g__val
{
  fzT_1i32 fzF_0_result;
  fzT_num_u_option_l_i32_g* fzF_1__U40__1074431068;
  fzT_1i32 fzF_2_v;
  fzT_1i32 fzF_3__U40__1074431169;
  fzT_bool fzF_4__U40__1074431219;
};
// for num_option<i32>.exists
struct fzT__L2463num_u_opti__g__exists
{
  fzT_bool fzF_0_result;
  fzT_num_u_option_l_i32_g* fzF_1__U40__1074431545;
  fzT_bool fzF_2__U40__1074431595;
};
// for num_option<i32>.infix >>=
struct fzT__L2467num_u_opti__nfix_wgge
{
  fzT__L246_RFunction__2_gk_i32_g* fzF_0_f;
  fzT_num_u_option_l_i32_g fzF_1_result;
  fzT_num_u_option_l_i32_g* fzF_2__U40__1074431938;
};
// for num_option<i32>.bind<i32>
struct fzT__L2471num_u_opti__d_l_i32_g
{
  fzT__L246_RFunction__2_gk_i32_g* fzF_0_f;
  fzT_num_u_option_l_i32_g fzF_1_result;
  fzT_num_u_option_l_i32_g* fzF_2__U40__1074432511;
  fzT_1i32 fzF_3_v;
  fzT_num_u_option_l_i32_g fzF_4__U40__1074432612;
};
// for num_option<i32>.postfix ??
struct fzT__L2477num_u_opti__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT_num_u_option_l_i32_g* fzF_1__U40__1074434650;
};
// for num_option<i32>.infix +?
struct fzT__L2480num_u_opti__infix_wpQ
{
  fzT_num_u_option_l_i32_g fzF_0_other;
  fzT_num_u_option_l_i32_g fzF_1_result;
  fzT_num_u_option_l_i32_g* fzF_2__U40__1074437577;
};
// for num_option<i32>.infix +?.@1074437627
struct fzT__L2485num_u_opti__074437627
{
  fzT__L2480num_u_opti__infix_wpQ* fzF_0__U40__1074437718;
};
// for num_option<i32>.infix +?.ref @1074437627
struct fzT__L2484num_u_opti__074437627
{
  uint32_t clazzId;
  fzT__L2485num_u_opti__074437627 fields;
};
// for num_option<i32>.infix +?.ref @1074437627.call
struct fzT__L2488num_u_opti__27__1call
{
  fzT_1i32 fzF_0_v;
  fzT_num_u_option_l_i32_g fzF_1_result;
  fzT__L2484num_u_opti__074437627* fzF_2__U40__1074438093;
};
// for num_option<i32>.infix +?.ref @1074437627.call.@1074438143
struct fzT__L2493num_u_opti__074438143
{
  fzT__L2488num_u_opti__27__1call* fzF_0__U40__1074438234;
};
// for num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143
struct fzT__L2492num_u_opti__074438143
{
  uint32_t clazzId;
  fzT__L2493num_u_opti__074438143 fields;
};
// for num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143.call
struct fzT__L2496num_u_opti__43__1call
{
  fzT_1i32 fzF_0_w;
  fzT_num_u_option_l_i32_g fzF_1_result;
  fzT__L2492num_u_opti__074438143* fzF_2__U40__1074438588;
};
// for num_option<i32>
struct fzT_1num_u_option_l_i32_g
{
  fzT_num_u_option_l_i32_g fzF_0_o;
  fzT_num_u_option_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__1074457755;
  fzT_1i32 fzF_3_bs;
  fzT_1i32 fzF_4__U40__1074458614;
  fzT_bool fzF_5__U40__1074458664;
  fzT_bool fzF_6__U40__1074458714;
  fzT_bool fzF_7__U40__1074458764;
  fzT_bool fzF_8__U40__1074458814;
};
// for u8.highest
struct fzT_1u8__1highest
{
  fzT_1u8 fzF_0_b;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1074457755;
  fzT_1u8 fzF_3_bs;
  fzT_1u8 fzF_4__U40__1074458614;
  fzT_bool fzF_5__U40__1074458664;
  fzT_bool fzF_6__U40__1074458714;
  fzT_bool fzF_7__U40__1074458764;
  fzT_bool fzF_8__U40__1074458814;
};
// for i32.highest.@1074457857
struct fzT__L25201i32__1hig__074457857
{
  fzT_1i32 fzF_0_bs;
  fzT_1i32 fzF_1__U40__1074458412;
  fzT_1i32__1highest* fzF_2__U40__1074458462;
  fzT_1i32 fzF_3_bs;
  fzT_1i32 fzF_4__U40__1074458564;
};
// for u8.highest.@1074457857
struct fzT__L25211u8__1high__074457857
{
  fzT_1u8 fzF_0_bs;
  fzT_1u8 fzF_1__U40__1074458412;
  fzT_1u8__1highest* fzF_2__U40__1074458462;
  fzT_1u8 fzF_3_bs;
  fzT_1u8 fzF_4__U40__1074458564;
};
// for i32.max
struct fzT_1i32__1max
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1074462917;
  fzT_1i32 fzF_3__U40__1074462967;
};
// for i32.sign
struct fzT_1i32__sign
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__1074465894;
  fzT_1i32 fzF_2__U40__1074465944;
};
// for u8.sign
struct fzT_1u8__sign
{
  fzT_1i32 fzF_0_result;
  fzT_1u8 fzF_1__U40__1074465894;
  fzT_1i32 fzF_2__U40__1074465944;
};
// for u8.isZero
struct fzT_1u8__isZero
{
  fzT_bool fzF_0_result;
  fzT_1u8 fzF_1__U40__1074467517;
};
// for i32.to_u32
struct fzT_1i32__to_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1i32 fzF_1__U40__1074470313;
  fzT_1u32 fzF_2__U40__1074470363;
  fzT_bool fzF_3__U40__1074470413;
};
// for u8.to_u32
struct fzT_1u8__to_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1u8 fzF_1__U40__1074470313;
  fzT_1u32 fzF_2__U40__1074470363;
  fzT_bool fzF_3__U40__1074470413;
};
// 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__1074473243;
  fzT_1i32 fzF_3__U40__1074473293;
};
// 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__1074473243;
  fzT_1u8 fzF_3__U40__1074473293;
};
// for i32s.sum
struct fzT_i32s__sum
{
  fzT_i32s* fzF_0__U40__1074473952;
};
// 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__1074474588;
};
// for option<String>.get
struct fzT_option_l_String_g__get
{
  fzT__RString* fzF_0_result;
  fzT_option_l_String_g* fzF_1__U40__1074488213;
  fzT__RString* fzF_2_v;
  fzT__RString* fzF_3__U40__1074488314;
  fzT_bool fzF_4__U40__1074488364;
};
// for option<i32>.get
struct fzT_option_l_i32_g__get
{
  fzT_1i32 fzF_0_result;
  fzT_option_l_i32_g* fzF_1__U40__1074488213;
  fzT_1i32 fzF_2_v;
  fzT_1i32 fzF_3__U40__1074488314;
  fzT_bool fzF_4__U40__1074488364;
};
// for option<some<list<String>>>.get
struct fzT__L2611option_l_s___ggg__get
{
  fzT_1some_l_list_l_String_gg fzF_0_result;
  fzT__L2598option_l_s__tring_ggg* fzF_1__U40__1074488213;
  fzT_1some_l_list_l_String_gg fzF_2_v;
  fzT_1some_l_list_l_String_gg fzF_3__U40__1074488314;
  fzT_bool fzF_4__U40__1074488364;
};
// for option<some<list<i32>>>.get
struct fzT__L2612option_l_s___ggg__get
{
  fzT_1some_l_list_l_i32_gg fzF_0_result;
  fzT__L2599option_l_s__l_i32_ggg* fzF_1__U40__1074488213;
  fzT_1some_l_list_l_i32_gg fzF_2_v;
  fzT_1some_l_list_l_i32_gg fzF_3__U40__1074488314;
  fzT_bool fzF_4__U40__1074488364;
};
// for option<some<list<u8>>>.get
struct fzT__L2613option_l_s___ggg__get
{
  fzT_1some_l_list_l_u8_gg fzF_0_result;
  fzT__L2600option_l_s___l_u8_ggg* fzF_1__U40__1074488213;
  fzT_1some_l_list_l_u8_gg fzF_2_v;
  fzT_1some_l_list_l_u8_gg fzF_3__U40__1074488314;
  fzT_bool fzF_4__U40__1074488364;
};
// for option<u8>.get
struct fzT_option_l_u8_g__get
{
  fzT_1u8 fzF_0_result;
  fzT_option_l_u8_g* fzF_1__U40__1074488213;
  fzT_1u8 fzF_2_v;
  fzT_1u8 fzF_3__U40__1074488314;
  fzT_bool fzF_4__U40__1074488364;
};
// for option<String>.exists
struct fzT_option_l_String_g__exists
{
  fzT_bool fzF_0_result;
  fzT_option_l_String_g* fzF_1__U40__1074489850;
  fzT_bool fzF_2__U40__1074489900;
};
// for option<i32>.exists
struct fzT_option_l_i32_g__exists
{
  fzT_bool fzF_0_result;
  fzT_option_l_i32_g* fzF_1__U40__1074489850;
  fzT_bool fzF_2__U40__1074489900;
};
// for option<some<list<String>>>.exists
struct fzT__L2647option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2598option_l_s__tring_ggg* fzF_1__U40__1074489850;
  fzT_bool fzF_2__U40__1074489900;
};
// for option<some<list<i32>>>.exists
struct fzT__L2648option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2599option_l_s__l_i32_ggg* fzF_1__U40__1074489850;
  fzT_bool fzF_2__U40__1074489900;
};
// for option<some<list<u8>>>.exists
struct fzT__L2649option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2600option_l_s___l_u8_ggg* fzF_1__U40__1074489850;
  fzT_bool fzF_2__U40__1074489900;
};
// for option<u8>.exists
struct fzT_option_l_u8_g__exists
{
  fzT_bool fzF_0_result;
  fzT_option_l_u8_g* fzF_1__U40__1074489850;
  fzT_bool fzF_2__U40__1074489900;
};
// for option<String>.postfix ??
struct fzT__L2669option_l_S__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT_option_l_String_g* fzF_1__U40__1074491155;
};
// for option<i32>.postfix ??
struct fzT_option_l_i32_g__postfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT_option_l_i32_g* fzF_1__U40__1074491155;
};
// for option<some<list<String>>>.postfix ??
struct fzT__L2671option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2598option_l_s__tring_ggg* fzF_1__U40__1074491155;
};
// for option<some<list<i32>>>.postfix ??
struct fzT__L2672option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2599option_l_s__l_i32_ggg* fzF_1__U40__1074491155;
};
// for option<some<list<u8>>>.postfix ??
struct fzT__L2673option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2600option_l_s___l_u8_ggg* fzF_1__U40__1074491155;
};
// for option<u8>.postfix ??
struct fzT_option_l_u8_g__postfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT_option_l_u8_g* fzF_1__U40__1074491155;
};
// for say
struct fzT_1say
{
  fzT__RAny* fzF_0_s;
  fzT_unit fzF_1_result;
};
// for stdout
struct fzT_stdout
{
  fzT_fuzion__sys__out fzF_0_result;
};
// for stream<String>
struct fzT_stream_l_String_g
{
  fzT__L2598option_l_s__tring_ggg fzF_0_as_u_list0;
};
// for ref stream<String>
struct fzT__Rstream_l_String_g
{
  uint32_t clazzId;
  fzT_stream_l_String_g fields;
};
// for stream<i32>
struct fzT_stream_l_i32_g
{
  fzT__L2599option_l_s__l_i32_ggg fzF_0_as_u_list0;
};
// for ref stream<i32>
struct fzT__Rstream_l_i32_g
{
  uint32_t clazzId;
  fzT_stream_l_i32_g fields;
};
// for stream<u8>
struct fzT_stream_l_u8_g
{
  fzT__L2600option_l_s___l_u8_ggg fzF_0_as_u_list0;
};
// for ref stream<u8>
struct fzT__Rstream_l_u8_g
{
  uint32_t clazzId;
  fzT_stream_l_u8_g fields;
};
// for ref array<u8>.ref as_stream.as_string
struct fzT__L2705_R4array_l___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1074633314;
};
// for i32.infix ...ref as_stream.as_string
struct fzT__L27061i32__1inf___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074633314;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string
struct fzT__L27071i32__1as____u_string
{
  fzT__RString* fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074633314;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string
struct fzT__L27081u8__1as_u___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074633314;
};
// for list<String>.ref as_stream.as_string
struct fzT__L2709list_l_Str___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074633314;
};
// for list<i32>.ref as_stream.as_string
struct fzT__L2710list_l_i32___u_string
{
  fzT__RString* fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074633314;
};
// for list<u8>.ref as_stream.as_string
struct fzT__L2711list_l_u8____u_string
{
  fzT__RString* fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074633314;
};
// for ref list<String>.ref as_stream.as_string
struct fzT__L2712_Rlist_l_S___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074633314;
};
// for ref list<i32>.ref as_stream.as_string
struct fzT__L2713_Rlist_l_i___u_string
{
  fzT__RString* fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074633314;
};
// for ref list<u8>.ref as_stream.as_string
struct fzT__L2714_Rlist_l_u___u_string
{
  fzT__RString* fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074633314;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L2715_R4array_l___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074633314;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L27161i32__1inf___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074633314;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string
struct fzT__L27171i32__1as____u_string
{
  fzT__RString* fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074633314;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string
struct fzT__L27181u8__1as_u___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074633314;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L2719list_l_Str___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074633314;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L2720list_l_i32___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074633314;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L2721list_l_u8____u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074633314;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L2722_Rlist_l_S___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074633314;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L2723_Rlist_l_i___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074633314;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_string
struct fzT__L2724_Rlist_l_u___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074633314;
};
// for ref stream<String>.map<String>.ref @1074646976.as_string
struct fzT__L2725_Rstream_l___u_string
{
  fzT__RString* fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074633314;
};
// for ref array<u8>.ref as_stream.as_string.@1074633364
struct fzT__L2789_R4array_l__074633364
{
};
// for ref array<u8>.ref as_stream.as_string.ref @1074633364
struct fzT__L2768_R4array_l__074633364
{
  uint32_t clazzId;
  fzT__L2789_R4array_l__074633364 fields;
};
// for i32.infix ...ref as_stream.as_string.@1074633364
struct fzT__L27901i32__1inf__074633364
{
};
// for i32.infix ...ref as_stream.as_string.ref @1074633364
struct fzT__L27691i32__1inf__074633364
{
  uint32_t clazzId;
  fzT__L27901i32__1inf__074633364 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string.@1074633364
struct fzT__L27911i32__1as___074633364
{
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string.ref @1074633364
struct fzT__L27701i32__1as___074633364
{
  uint32_t clazzId;
  fzT__L27911i32__1as___074633364 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string.@1074633364
struct fzT__L27921u8__1as_u__074633364
{
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string.ref @1074633364
struct fzT__L27711u8__1as_u__074633364
{
  uint32_t clazzId;
  fzT__L27921u8__1as_u__074633364 fields;
};
// for list<String>.ref as_stream.as_string.@1074633364
struct fzT__L2793list_l_Str__074633364
{
};
// for list<String>.ref as_stream.as_string.ref @1074633364
struct fzT__L2772list_l_Str__074633364
{
  uint32_t clazzId;
  fzT__L2793list_l_Str__074633364 fields;
};
// for list<i32>.ref as_stream.as_string.@1074633364
struct fzT__L2794list_l_i32__074633364
{
};
// for list<i32>.ref as_stream.as_string.ref @1074633364
struct fzT__L2773list_l_i32__074633364
{
  uint32_t clazzId;
  fzT__L2794list_l_i32__074633364 fields;
};
// for list<u8>.ref as_stream.as_string.@1074633364
struct fzT__L2795list_l_u8___074633364
{
};
// for list<u8>.ref as_stream.as_string.ref @1074633364
struct fzT__L2774list_l_u8___074633364
{
  uint32_t clazzId;
  fzT__L2795list_l_u8___074633364 fields;
};
// for ref list<String>.ref as_stream.as_string.@1074633364
struct fzT__L2796_Rlist_l_S__074633364
{
};
// for ref list<String>.ref as_stream.as_string.ref @1074633364
struct fzT__L2775_Rlist_l_S__074633364
{
  uint32_t clazzId;
  fzT__L2796_Rlist_l_S__074633364 fields;
};
// for ref list<i32>.ref as_stream.as_string.@1074633364
struct fzT__L2797_Rlist_l_i__074633364
{
};
// for ref list<i32>.ref as_stream.as_string.ref @1074633364
struct fzT__L2776_Rlist_l_i__074633364
{
  uint32_t clazzId;
  fzT__L2797_Rlist_l_i__074633364 fields;
};
// for ref list<u8>.ref as_stream.as_string.@1074633364
struct fzT__L2798_Rlist_l_u__074633364
{
};
// for ref list<u8>.ref as_stream.as_string.ref @1074633364
struct fzT__L2777_Rlist_l_u__074633364
{
  uint32_t clazzId;
  fzT__L2798_Rlist_l_u__074633364 fields;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2799_R4array_l__074633364
{
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2778_R4array_l__074633364
{
  uint32_t clazzId;
  fzT__L2799_R4array_l__074633364 fields;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L28001i32__1inf__074633364
{
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L27791i32__1inf__074633364
{
  uint32_t clazzId;
  fzT__L28001i32__1inf__074633364 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L28011i32__1as___074633364
{
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L27801i32__1as___074633364
{
  uint32_t clazzId;
  fzT__L28011i32__1as___074633364 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L28021u8__1as_u__074633364
{
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L27811u8__1as_u__074633364
{
  uint32_t clazzId;
  fzT__L28021u8__1as_u__074633364 fields;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2803list_l_Str__074633364
{
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2782list_l_Str__074633364
{
  uint32_t clazzId;
  fzT__L2803list_l_Str__074633364 fields;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2804list_l_i32__074633364
{
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2783list_l_i32__074633364
{
  uint32_t clazzId;
  fzT__L2804list_l_i32__074633364 fields;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2805list_l_u8___074633364
{
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2784list_l_u8___074633364
{
  uint32_t clazzId;
  fzT__L2805list_l_u8___074633364 fields;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2806_Rlist_l_S__074633364
{
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2785_Rlist_l_S__074633364
{
  uint32_t clazzId;
  fzT__L2806_Rlist_l_S__074633364 fields;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2807_Rlist_l_i__074633364
{
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2786_Rlist_l_i__074633364
{
  uint32_t clazzId;
  fzT__L2807_Rlist_l_i__074633364 fields;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2808_Rlist_l_u__074633364
{
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2787_Rlist_l_u__074633364
{
  uint32_t clazzId;
  fzT__L2808_Rlist_l_u__074633364 fields;
};
// for ref stream<String>.map<String>.ref @1074646976.as_string.@1074633364
struct fzT__L2809_Rstream_l__074633364
{
};
// for ref stream<String>.map<String>.ref @1074646976.as_string.ref @1074633364
struct fzT__L2788_Rstream_l__074633364
{
  uint32_t clazzId;
  fzT__L2809_Rstream_l__074633364 fields;
};
// for ref array<u8>.ref as_stream.as_string.ref @1074633364.call
struct fzT__L2810_R4array_l__64__1call
{
  fzT_1u8 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for i32.infix ...ref as_stream.as_string.ref @1074633364.call
struct fzT__L28111i32__1inf__64__1call
{
  fzT_1i32 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string.ref @1074633364.call
struct fzT__L28121i32__1as___64__1call
{
  fzT_1u8 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_string.ref @1074633364.call
struct fzT__L28131u8__1as_u__64__1call
{
  fzT_1u8 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for list<String>.ref as_stream.as_string.ref @1074633364.call
struct fzT__L2814list_l_Str__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for list<i32>.ref as_stream.as_string.ref @1074633364.call
struct fzT__L2815list_l_i32__64__1call
{
  fzT_1i32 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for list<u8>.ref as_stream.as_string.ref @1074633364.call
struct fzT__L2816list_l_u8___64__1call
{
  fzT_1u8 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<String>.ref as_stream.as_string.ref @1074633364.call
struct fzT__L2817_Rlist_l_S__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<i32>.ref as_stream.as_string.ref @1074633364.call
struct fzT__L2818_Rlist_l_i__64__1call
{
  fzT_1i32 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<u8>.ref as_stream.as_string.ref @1074633364.call
struct fzT__L2819_Rlist_l_u__64__1call
{
  fzT_1u8 fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2820_R4array_l__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L28211i32__1inf__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L28221i32__1as___64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L28231u8__1as_u__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2824list_l_Str__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2825list_l_i32__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2826list_l_u8___64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2827_Rlist_l_S__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2828_Rlist_l_i__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2829_Rlist_l_u__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref stream<String>.map<String>.ref @1074646976.as_string.ref @1074633364.call
struct fzT__L2830_Rstream_l__64__1call
{
  fzT__RString* fzF_0_x;
  fzT__RString* fzF_1_result;
};
// for ref array<u8>.ref as_stream.as_list
struct fzT__L2873_R4array_l__as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for i32.infix ...ref as_stream.as_list
struct fzT__L28741i32__1inf__as_u_list
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_list
struct fzT__L28751i32__1as___as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_list
struct fzT__L28761u8__1as_u__as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for list<String>.ref as_stream.as_list
struct fzT__L2877list_l_Str__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for list<i32>.ref as_stream.as_list
struct fzT__L2878list_l_i32__as_u_list
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for list<u8>.ref as_stream.as_list
struct fzT__L2879list_l_u8___as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref list<String>.ref as_stream.as_list
struct fzT__L2880_Rlist_l_S__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref list<i32>.ref as_stream.as_list
struct fzT__L2881_Rlist_l_i__as_u_list
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref list<u8>.ref as_stream.as_list
struct fzT__L2882_Rlist_l_u__as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref stream<String>.as_list
struct fzT__L2883_Rstream_l__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__Rstream_l_String_g* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref stream<i32>.as_list
struct fzT__Rstream_l_i32_g__as_u_list
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rstream_l_i32_g* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref stream<u8>.as_list
struct fzT__Rstream_l_u8_g__as_u_list
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rstream_l_u8_g* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L2886_R4array_l__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L28871i32__1inf__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_list
struct fzT__L28881i32__1as___as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_list
struct fzT__L28891u8__1as_u__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L2890list_l_Str__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L2891list_l_i32__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L2892list_l_u8___as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L2893_Rlist_l_S__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L2894_Rlist_l_i__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_list
struct fzT__L2895_Rlist_l_u__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref stream<String>.map<String>.ref @1074646976.as_list
struct fzT__L2896_Rstream_l__as_u_list
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074634646;
  fzT_bool fzF_2__U40__1074634696;
};
// for ref array<u8>.ref as_stream.as_stream
struct fzT__L2969_R4array_l___u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1074634915;
};
// for i32.infix ...ref as_stream.as_stream
struct fzT__L29701i32__1inf___u_stream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074634915;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_stream
struct fzT__L29711i32__1as____u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074634915;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_stream
struct fzT__L29721u8__1as_u___u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074634915;
};
// for list<String>.ref as_stream.as_stream
struct fzT__L2973list_l_Str___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074634915;
};
// for list<i32>.ref as_stream.as_stream
struct fzT__L2974list_l_i32___u_stream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074634915;
};
// for list<u8>.ref as_stream.as_stream
struct fzT__L2975list_l_u8____u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074634915;
};
// for ref list<String>.ref as_stream.as_stream
struct fzT__L2976_Rlist_l_S___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074634915;
};
// for ref list<i32>.ref as_stream.as_stream
struct fzT__L2977_Rlist_l_i___u_stream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074634915;
};
// for ref list<u8>.ref as_stream.as_stream
struct fzT__L2978_Rlist_l_u___u_stream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074634915;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L2979_R4array_l___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074634915;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L29801i32__1inf___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074634915;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_stream
struct fzT__L29811i32__1as____u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074634915;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_stream
struct fzT__L29821u8__1as_u___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074634915;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L2983list_l_Str___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074634915;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L2984list_l_i32___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074634915;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L2985list_l_u8____u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074634915;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L2986_Rlist_l_S___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074634915;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L2987_Rlist_l_i___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074634915;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_stream
struct fzT__L2988_Rlist_l_u___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074634915;
};
// for ref stream<String>.map<String>.ref @1074646976.as_stream
struct fzT__L2989_Rstream_l___u_stream
{
  fzT__Rstream_l_String_g* fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074634915;
};
// for ref array<u8>.ref as_stream.count
struct fzT__L3032_R4array_l__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1074635259;
};
// for i32.infix ...ref as_stream.count
struct fzT__L30331i32__1inf__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074635259;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count
struct fzT__L30341i32__1as___76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074635259;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count
struct fzT__L30351u8__1as_u__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074635259;
};
// for list<String>.ref as_stream.count
struct fzT__L3036list_l_Str__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074635259;
};
// for list<i32>.ref as_stream.count
struct fzT__L3037list_l_i32__am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074635259;
};
// for list<u8>.ref as_stream.count
struct fzT__L3038list_l_u8___am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074635259;
};
// for ref list<String>.ref as_stream.count
struct fzT__L3039_Rlist_l_S__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074635259;
};
// for ref list<i32>.ref as_stream.count
struct fzT__L3040_Rlist_l_i__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074635259;
};
// for ref list<u8>.ref as_stream.count
struct fzT__L3041_Rlist_l_u__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074635259;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.count
struct fzT__L3042_R4array_l__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074635259;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.count
struct fzT__L30431i32__1inf__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074635259;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count
struct fzT__L30441i32__1as___76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074635259;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count
struct fzT__L30451u8__1as_u__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074635259;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.count
struct fzT__L3046list_l_Str__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074635259;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.count
struct fzT__L3047list_l_i32__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074635259;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.count
struct fzT__L3048list_l_u8___76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074635259;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.count
struct fzT__L3049_Rlist_l_S__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074635259;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.count
struct fzT__L3050_Rlist_l_i__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074635259;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.count
struct fzT__L3051_Rlist_l_u__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074635259;
};
// for ref stream<String>.map<String>.ref @1074646976.count
struct fzT__L3052_Rstream_l__76__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074635259;
};
// for ref array<u8>.ref as_stream.count.@1074635309
struct fzT__L3116_R4array_l__074635309
{
};
// for ref array<u8>.ref as_stream.count.ref @1074635309
struct fzT__L3095_R4array_l__074635309
{
  uint32_t clazzId;
  fzT__L3116_R4array_l__074635309 fields;
};
// for i32.infix ...ref as_stream.count.@1074635309
struct fzT__L31171i32__1inf__074635309
{
};
// for i32.infix ...ref as_stream.count.ref @1074635309
struct fzT__L30961i32__1inf__074635309
{
  uint32_t clazzId;
  fzT__L31171i32__1inf__074635309 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count.@1074635309
struct fzT__L31181i32__1as___074635309
{
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count.ref @1074635309
struct fzT__L30971i32__1as___074635309
{
  uint32_t clazzId;
  fzT__L31181i32__1as___074635309 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count.@1074635309
struct fzT__L31191u8__1as_u__074635309
{
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count.ref @1074635309
struct fzT__L30981u8__1as_u__074635309
{
  uint32_t clazzId;
  fzT__L31191u8__1as_u__074635309 fields;
};
// for list<String>.ref as_stream.count.@1074635309
struct fzT__L3120list_l_Str__074635309
{
};
// for list<String>.ref as_stream.count.ref @1074635309
struct fzT__L3099list_l_Str__074635309
{
  uint32_t clazzId;
  fzT__L3120list_l_Str__074635309 fields;
};
// for list<i32>.ref as_stream.count.@1074635309
struct fzT__L3121list_l_i32__074635309
{
};
// for list<i32>.ref as_stream.count.ref @1074635309
struct fzT__L3100list_l_i32__074635309
{
  uint32_t clazzId;
  fzT__L3121list_l_i32__074635309 fields;
};
// for list<u8>.ref as_stream.count.@1074635309
struct fzT__L3122list_l_u8___074635309
{
};
// for list<u8>.ref as_stream.count.ref @1074635309
struct fzT__L3101list_l_u8___074635309
{
  uint32_t clazzId;
  fzT__L3122list_l_u8___074635309 fields;
};
// for ref list<String>.ref as_stream.count.@1074635309
struct fzT__L3123_Rlist_l_S__074635309
{
};
// for ref list<String>.ref as_stream.count.ref @1074635309
struct fzT__L3102_Rlist_l_S__074635309
{
  uint32_t clazzId;
  fzT__L3123_Rlist_l_S__074635309 fields;
};
// for ref list<i32>.ref as_stream.count.@1074635309
struct fzT__L3124_Rlist_l_i__074635309
{
};
// for ref list<i32>.ref as_stream.count.ref @1074635309
struct fzT__L3103_Rlist_l_i__074635309
{
  uint32_t clazzId;
  fzT__L3124_Rlist_l_i__074635309 fields;
};
// for ref list<u8>.ref as_stream.count.@1074635309
struct fzT__L3125_Rlist_l_u__074635309
{
};
// for ref list<u8>.ref as_stream.count.ref @1074635309
struct fzT__L3104_Rlist_l_u__074635309
{
  uint32_t clazzId;
  fzT__L3125_Rlist_l_u__074635309 fields;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3126_R4array_l__074635309
{
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3105_R4array_l__074635309
{
  uint32_t clazzId;
  fzT__L3126_R4array_l__074635309 fields;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L31271i32__1inf__074635309
{
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L31061i32__1inf__074635309
{
  uint32_t clazzId;
  fzT__L31271i32__1inf__074635309 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count.@1074635309
struct fzT__L31281i32__1as___074635309
{
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L31071i32__1as___074635309
{
  uint32_t clazzId;
  fzT__L31281i32__1as___074635309 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count.@1074635309
struct fzT__L31291u8__1as_u__074635309
{
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L31081u8__1as_u__074635309
{
  uint32_t clazzId;
  fzT__L31291u8__1as_u__074635309 fields;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3130list_l_Str__074635309
{
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3109list_l_Str__074635309
{
  uint32_t clazzId;
  fzT__L3130list_l_Str__074635309 fields;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3131list_l_i32__074635309
{
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3110list_l_i32__074635309
{
  uint32_t clazzId;
  fzT__L3131list_l_i32__074635309 fields;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3132list_l_u8___074635309
{
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3111list_l_u8___074635309
{
  uint32_t clazzId;
  fzT__L3132list_l_u8___074635309 fields;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3133_Rlist_l_S__074635309
{
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3112_Rlist_l_S__074635309
{
  uint32_t clazzId;
  fzT__L3133_Rlist_l_S__074635309 fields;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3134_Rlist_l_i__074635309
{
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3113_Rlist_l_i__074635309
{
  uint32_t clazzId;
  fzT__L3134_Rlist_l_i__074635309 fields;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3135_Rlist_l_u__074635309
{
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3114_Rlist_l_u__074635309
{
  uint32_t clazzId;
  fzT__L3135_Rlist_l_u__074635309 fields;
};
// for ref stream<String>.map<String>.ref @1074646976.count.@1074635309
struct fzT__L3136_Rstream_l__074635309
{
};
// for ref stream<String>.map<String>.ref @1074646976.count.ref @1074635309
struct fzT__L3115_Rstream_l__074635309
{
  uint32_t clazzId;
  fzT__L3136_Rstream_l__074635309 fields;
};
// for ref array<u8>.ref as_stream.count.ref @1074635309.call
struct fzT__L3137_R4array_l__09__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.infix ...ref as_stream.count.ref @1074635309.call
struct fzT__L31381i32__1inf__09__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count.ref @1074635309.call
struct fzT__L31391i32__1as___09__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.count.ref @1074635309.call
struct fzT__L31401u8__1as_u__09__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<String>.ref as_stream.count.ref @1074635309.call
struct fzT__L3141list_l_Str__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<i32>.ref as_stream.count.ref @1074635309.call
struct fzT__L3142list_l_i32__09__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<u8>.ref as_stream.count.ref @1074635309.call
struct fzT__L3143list_l_u8___09__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<String>.ref as_stream.count.ref @1074635309.call
struct fzT__L3144_Rlist_l_S__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<i32>.ref as_stream.count.ref @1074635309.call
struct fzT__L3145_Rlist_l_i__09__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<u8>.ref as_stream.count.ref @1074635309.call
struct fzT__L3146_Rlist_l_u__09__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3147_R4array_l__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L31481i32__1inf__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L31491i32__1as___09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L31501u8__1as_u__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3151list_l_Str__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3152list_l_i32__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3153list_l_u8___09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3154_Rlist_l_S__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3155_Rlist_l_i__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3156_Rlist_l_u__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref stream<String>.map<String>.ref @1074646976.count.ref @1074635309.call
struct fzT__L3157_Rstream_l__09__1call
{
  fzT__RString* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.ref as_stream.as_array
struct fzT__L3200_R4array_l__s_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for i32.infix ...ref as_stream.as_array
struct fzT__L32011i32__1inf__s_u_array
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_array
struct fzT__L32021i32__1as___s_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074636115;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_array
struct fzT__L32031u8__1as_u__s_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074636115;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for list<String>.ref as_stream.as_array
struct fzT__L3204list_l_Str__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for list<i32>.ref as_stream.as_array
struct fzT__L3205list_l_i32__s_u_array
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for list<u8>.ref as_stream.as_array
struct fzT__L3206list_l_u8___s_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for ref list<String>.ref as_stream.as_array
struct fzT__L3207_Rlist_l_S__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for ref list<i32>.ref as_stream.as_array
struct fzT__L3208_Rlist_l_i__s_u_array
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for ref list<u8>.ref as_stream.as_array
struct fzT__L3209_Rlist_l_u__s_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074636115;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L3210_R4array_l__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L32111i32__1inf__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_array
struct fzT__L32121i32__1as___s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_array
struct fzT__L32131u8__1as_u__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L3214list_l_Str__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L3215list_l_i32__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L3216list_l_u8___s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L3217_Rlist_l_S__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L3218_Rlist_l_i__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_array
struct fzT__L3219_Rlist_l_u__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for ref stream<String>.map<String>.ref @1074646976.as_array
struct fzT__L3220_Rstream_l__s_u_array
{
  fzT_4array_l_String_g fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074636115;
  fzT_2marray_l_String_g fzF_2_a;
};
// for ref array<u8>.ref as_stream.as_array.@1074636216
struct fzT__L3284_R4array_l__074636216
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__1074636710;
  fzT__L3200_R4array_l__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__1074636912;
};
// for i32.infix ...ref as_stream.as_array.@1074636216
struct fzT__L32851i32__1inf__074636216
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__1074636710;
  fzT__L32011i32__1inf__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__1074636912;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_array.@1074636216
struct fzT__L32861i32__1as___074636216
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__1074636710;
  fzT__L32021i32__1as___s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__1074636912;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.as_array.@1074636216
struct fzT__L32871u8__1as_u__074636216
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__1074636710;
  fzT__L32031u8__1as_u__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__1074636912;
};
// for list<String>.ref as_stream.as_array.@1074636216
struct fzT__L3288list_l_Str__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3204list_l_Str__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for list<i32>.ref as_stream.as_array.@1074636216
struct fzT__L3289list_l_i32__074636216
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__1074636710;
  fzT__L3205list_l_i32__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__1074636912;
};
// for list<u8>.ref as_stream.as_array.@1074636216
struct fzT__L3290list_l_u8___074636216
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__1074636710;
  fzT__L3206list_l_u8___s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__1074636912;
};
// for ref list<String>.ref as_stream.as_array.@1074636216
struct fzT__L3291_Rlist_l_S__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3207_Rlist_l_S__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for ref list<i32>.ref as_stream.as_array.@1074636216
struct fzT__L3292_Rlist_l_i__074636216
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__1074636710;
  fzT__L3208_Rlist_l_i__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__1074636912;
};
// for ref list<u8>.ref as_stream.as_array.@1074636216
struct fzT__L3293_Rlist_l_u__074636216
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__1074636710;
  fzT__L3209_Rlist_l_u__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__1074636912;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3294_R4array_l__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3210_R4array_l__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L32951i32__1inf__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L32111i32__1inf__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L32961i32__1as___074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L32121i32__1as___s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L32971u8__1as_u__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L32131u8__1as_u__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3298list_l_Str__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3214list_l_Str__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3299list_l_i32__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3215list_l_i32__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3300list_l_u8___074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3216list_l_u8___s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3301_Rlist_l_S__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3217_Rlist_l_S__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3302_Rlist_l_i__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3218_Rlist_l_i__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3303_Rlist_l_u__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3219_Rlist_l_u__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for ref stream<String>.map<String>.ref @1074646976.as_array.@1074636216
struct fzT__L3304_Rstream_l__074636216
{
  fzT_2marray_l_String_g fzF_0_a;
  fzT_4array_l_String_g fzF_1__U40__1074636710;
  fzT__L3220_Rstream_l__s_u_array* fzF_2__U40__1074636760;
  fzT_2marray_l_String_g fzF_3_a;
  fzT__RString* fzF_4_x;
  fzT_4array_l_String_g fzF_5__U40__1074636912;
};
// for ref array<u8>.ref as_stream.fold
struct fzT__L3431_R4array_l__am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L1027_R4array_l___u_stream* fzF_2__U40__1074645116;
};
// for i32.infix ...ref as_stream.fold
struct fzT__L34321i32__1inf__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT__L14921i32__1inf___u_stream* fzF_2__U40__1074645116;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.fold
struct fzT__L34331i32__1as___76__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L16691i32__1as___074289876* fzF_2__U40__1074645116;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.fold
struct fzT__L34341u8__1as_u__76__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L16701u8__1as_u__074289876* fzF_2__U40__1074645116;
};
// for list<String>.ref as_stream.fold
struct fzT__L3435list_l_Str__am__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L1851list_l_Str___u_stream* fzF_2__U40__1074645116;
};
// for list<i32>.ref as_stream.fold
struct fzT__L3436list_l_i32__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_2__U40__1074645116;
};
// for list<u8>.ref as_stream.fold
struct fzT__L3437list_l_u8___am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_2__U40__1074645116;
};
// for ref list<String>.ref as_stream.fold
struct fzT__L3438_Rlist_l_S__am__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_2__U40__1074645116;
};
// for ref list<i32>.ref as_stream.fold
struct fzT__L3439_Rlist_l_i__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_2__U40__1074645116;
};
// for ref list<u8>.ref as_stream.fold
struct fzT__L3440_Rlist_l_u__am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_2__U40__1074645116;
};
// 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__1074645116;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3442_R4array_l__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3833_R4array_l__074646976* fzF_2__U40__1074645116;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L34431i32__1inf__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L38341i32__1inf__074646976* fzF_2__U40__1074645116;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.fold
struct fzT__L34441i32__1as___76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L38351i32__1as___074646976* fzF_2__U40__1074645116;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.fold
struct fzT__L34451u8__1as_u__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L38361u8__1as_u__074646976* fzF_2__U40__1074645116;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3446list_l_Str__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3837list_l_Str__074646976* fzF_2__U40__1074645116;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3447list_l_i32__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3838list_l_i32__074646976* fzF_2__U40__1074645116;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3448list_l_u8___76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3839list_l_u8___074646976* fzF_2__U40__1074645116;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3449_Rlist_l_S__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_2__U40__1074645116;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3450_Rlist_l_i__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_2__U40__1074645116;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3451_Rlist_l_u__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_2__U40__1074645116;
};
// for ref stream<String>.map<String>.ref @1074646976.fold
struct fzT__L3452_Rstream_l__76__1fold
{
  fzT__RMonoid_l_String_g* fzF_0_m;
  fzT__RString* fzF_1_result;
  fzT__L3843_Rstream_l__074646976* fzF_2__U40__1074645116;
};
// for ref array<u8>.ref as_stream.fold
struct fzT__L3519_R4array_l__am__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L1027_R4array_l___u_stream* fzF_3__U40__1074645480;
  fzT_1u8 fzF_4_r;
};
// for i32.infix ...ref as_stream.fold
struct fzT__L35201i32__1inf__am__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT__L14921i32__1inf___u_stream* fzF_3__U40__1074645480;
  fzT_1i32 fzF_4_r;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.fold
struct fzT__L35211i32__1as___76__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L16691i32__1as___074289876* fzF_3__U40__1074645480;
  fzT_1u8 fzF_4_r;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.fold
struct fzT__L35221u8__1as_u__76__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L16701u8__1as_u__074289876* fzF_3__U40__1074645480;
  fzT_1u8 fzF_4_r;
};
// for list<String>.ref as_stream.fold
struct fzT__L3523list_l_Str__am__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L1851list_l_Str___u_stream* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for list<i32>.ref as_stream.fold
struct fzT__L3524list_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_Ras_u_stream* fzF_3__U40__1074645480;
  fzT_1i32 fzF_4_r;
};
// for list<u8>.ref as_stream.fold
struct fzT__L3525list_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_Ras_u_stream* fzF_3__U40__1074645480;
  fzT_1u8 fzF_4_r;
};
// for ref list<String>.ref as_stream.fold
struct fzT__L3526_Rlist_l_S__am__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for ref list<i32>.ref as_stream.fold
struct fzT__L3527_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_Ras_u_stream* fzF_3__U40__1074645480;
  fzT_1i32 fzF_4_r;
};
// for ref list<u8>.ref as_stream.fold
struct fzT__L3528_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_Ras_u_stream* fzF_3__U40__1074645480;
  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__1074645480;
  fzT__RString* fzF_4_r;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3530_R4array_l__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3833_R4array_l__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L35311i32__1inf__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L38341i32__1inf__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.fold
struct fzT__L35321i32__1as___76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L38351i32__1as___074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.fold
struct fzT__L35331u8__1as_u__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L38361u8__1as_u__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3534list_l_Str__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3837list_l_Str__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3535list_l_i32__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3838list_l_i32__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3536list_l_u8___76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3839list_l_u8___074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3537_Rlist_l_S__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3538_Rlist_l_i__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.fold
struct fzT__L3539_Rlist_l_u__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for ref stream<String>.map<String>.ref @1074646976.fold
struct fzT__L3540_Rstream_l__76__2fold
{
  fzT__RString* fzF_0_s;
  fzT__RMonoid_l_String_g* fzF_1_m;
  fzT__RString* fzF_2_result;
  fzT__L3843_Rstream_l__074646976* fzF_3__U40__1074645480;
  fzT__RString* fzF_4_r;
};
// for ref array<u8>.ref as_stream.fold.@1074645581
struct fzT__L3651_R4array_l__074645581
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__1074646076;
  fzT__L3519_R4array_l__am__2fold* fzF_2__U40__1074646126;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__1074646227;
};
// for i32.infix ...ref as_stream.fold.@1074645581
struct fzT__L36521i32__1inf__074645581
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__1074646076;
  fzT__L35201i32__1inf__am__2fold* fzF_2__U40__1074646126;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__1074646227;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.fold.@1074645581
struct fzT__L36531i32__1as___074645581
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__1074646076;
  fzT__L35211i32__1as___76__2fold* fzF_2__U40__1074646126;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__1074646227;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.fold.@1074645581
struct fzT__L36541u8__1as_u__074645581
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__1074646076;
  fzT__L35221u8__1as_u__76__2fold* fzF_2__U40__1074646126;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__1074646227;
};
// for list<String>.ref as_stream.fold.@1074645581
struct fzT__L3655list_l_Str__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3523list_l_Str__am__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for list<i32>.ref as_stream.fold.@1074645581
struct fzT__L3656list_l_i32__074645581
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__1074646076;
  fzT__L3524list_l_i32__am__2fold* fzF_2__U40__1074646126;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__1074646227;
};
// for list<u8>.ref as_stream.fold.@1074645581
struct fzT__L3657list_l_u8___074645581
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__1074646076;
  fzT__L3525list_l_u8___am__2fold* fzF_2__U40__1074646126;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__1074646227;
};
// for ref list<String>.ref as_stream.fold.@1074645581
struct fzT__L3658_Rlist_l_S__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3526_Rlist_l_S__am__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for ref list<i32>.ref as_stream.fold.@1074645581
struct fzT__L3659_Rlist_l_i__074645581
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__1074646076;
  fzT__L3527_Rlist_l_i__am__2fold* fzF_2__U40__1074646126;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__1074646227;
};
// for ref list<u8>.ref as_stream.fold.@1074645581
struct fzT__L3660_Rlist_l_u__074645581
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__1074646076;
  fzT__L3528_Rlist_l_u__am__2fold* fzF_2__U40__1074646126;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__1074646227;
};
// for ref stream<String>.fold.@1074645581
struct fzT__L3661_Rstream_l__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__Rstream_l_String_g__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3662_R4array_l__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3530_R4array_l__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L36631i32__1inf__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L35311i32__1inf__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L36641i32__1as___074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L35321i32__1as___76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L36651u8__1as_u__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L35331u8__1as_u__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3666list_l_Str__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3534list_l_Str__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3667list_l_i32__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3535list_l_i32__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3668list_l_u8___074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3536list_l_u8___76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3669_Rlist_l_S__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3537_Rlist_l_S__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3670_Rlist_l_i__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3538_Rlist_l_i__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3671_Rlist_l_u__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3539_Rlist_l_u__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for ref stream<String>.map<String>.ref @1074646976.fold.@1074645581
struct fzT__L3672_Rstream_l__074645581
{
  fzT__RString* fzF_0_r;
  fzT__RString* fzF_1__U40__1074646076;
  fzT__L3540_Rstream_l__76__2fold* fzF_2__U40__1074646126;
  fzT__RString* fzF_3_r;
  fzT__RString* fzF_4__U40__1074646227;
};
// for ref array<u8>.ref as_stream.map<String>
struct fzT__L3789_R4array_l___String_g
{
  fzT__RFunction_l_String_k_u8_g* fzF_0_f;
  fzT__Rstream_l_String_g* fzF_1_result;
  fzT__L1027_R4array_l___u_stream* fzF_2__U40__1074646926;
};
// for i32.infix ...ref as_stream.map<String>
struct fzT__L37901i32__1inf___String_g
{
  fzT__RFunction_l_String_k_i32_g* fzF_0_f;
  fzT__Rstream_l_String_g* fzF_1_result;
  fzT__L14921i32__1inf___u_stream* fzF_2__U40__1074646926;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>
struct fzT__L37911i32__1as____String_g
{
  fzT__RFunction_l_String_k_u8_g* fzF_0_f;
  fzT__Rstream_l_String_g* fzF_1_result;
  fzT__L16691i32__1as___074289876* fzF_2__U40__1074646926;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>
struct fzT__L37921u8__1as_u___String_g
{
  fzT__RFunction_l_String_k_u8_g* fzF_0_f;
  fzT__Rstream_l_String_g* fzF_1_result;
  fzT__L16701u8__1as_u__074289876* fzF_2__U40__1074646926;
};
// for list<String>.ref as_stream.map<String>
struct fzT__L3793list_l_Str___String_g
{
  fzT__L234_RFunction__k_String_g* fzF_0_f;
  fzT__Rstream_l_String_g* fzF_1_result;
  fzT__L1851list_l_Str___u_stream* fzF_2__U40__1074646926;
};
// for list<i32>.ref as_stream.map<String>
struct fzT__L3794list_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_Ras_u_stream* fzF_2__U40__1074646926;
};
// for list<u8>.ref as_stream.map<String>
struct fzT__L3795list_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_Ras_u_stream* fzF_2__U40__1074646926;
};
// for ref list<String>.ref as_stream.map<String>
struct fzT__L3796_Rlist_l_S___String_g
{
  fzT__L234_RFunction__k_String_g* fzF_0_f;
  fzT__Rstream_l_String_g* fzF_1_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_2__U40__1074646926;
};
// for ref list<i32>.ref as_stream.map<String>
struct fzT__L3797_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_Ras_u_stream* fzF_2__U40__1074646926;
};
// for ref list<u8>.ref as_stream.map<String>
struct fzT__L3798_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_Ras_u_stream* fzF_2__U40__1074646926;
};
// for ref stream<String>.map<String>
struct fzT__L3799_Rstream_l___String_g
{
  fzT__L234_RFunction__k_String_g* fzF_0_f;
  fzT__Rstream_l_String_g* fzF_1_result;
  fzT__Rstream_l_String_g* fzF_2__U40__1074646926;
};
// for ref array<u8>.ref as_stream.map<String>.@1074646976
struct fzT__L3844_R4array_l__074646976
{
  fzT__L3789_R4array_l___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976
struct fzT__L3833_R4array_l__074646976
{
  uint32_t clazzId;
  fzT__L3844_R4array_l__074646976 fields;
};
// for i32.infix ...ref as_stream.map<String>.@1074646976
struct fzT__L38451i32__1inf__074646976
{
  fzT__L37901i32__1inf___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976
struct fzT__L38341i32__1inf__074646976
{
  uint32_t clazzId;
  fzT__L38451i32__1inf__074646976 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.@1074646976
struct fzT__L38461i32__1as___074646976
{
  fzT__L37911i32__1as____String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976
struct fzT__L38351i32__1as___074646976
{
  uint32_t clazzId;
  fzT__L38461i32__1as___074646976 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.@1074646976
struct fzT__L38471u8__1as_u__074646976
{
  fzT__L37921u8__1as_u___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976
struct fzT__L38361u8__1as_u__074646976
{
  uint32_t clazzId;
  fzT__L38471u8__1as_u__074646976 fields;
};
// for list<String>.ref as_stream.map<String>.@1074646976
struct fzT__L3848list_l_Str__074646976
{
  fzT__L3793list_l_Str___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976
struct fzT__L3837list_l_Str__074646976
{
  uint32_t clazzId;
  fzT__L3848list_l_Str__074646976 fields;
};
// for list<i32>.ref as_stream.map<String>.@1074646976
struct fzT__L3849list_l_i32__074646976
{
  fzT__L3794list_l_i32___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976
struct fzT__L3838list_l_i32__074646976
{
  uint32_t clazzId;
  fzT__L3849list_l_i32__074646976 fields;
};
// for list<u8>.ref as_stream.map<String>.@1074646976
struct fzT__L3850list_l_u8___074646976
{
  fzT__L3795list_l_u8____String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976
struct fzT__L3839list_l_u8___074646976
{
  uint32_t clazzId;
  fzT__L3850list_l_u8___074646976 fields;
};
// for ref list<String>.ref as_stream.map<String>.@1074646976
struct fzT__L3851_Rlist_l_S__074646976
{
  fzT__L3796_Rlist_l_S___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976
struct fzT__L3840_Rlist_l_S__074646976
{
  uint32_t clazzId;
  fzT__L3851_Rlist_l_S__074646976 fields;
};
// for ref list<i32>.ref as_stream.map<String>.@1074646976
struct fzT__L3852_Rlist_l_i__074646976
{
  fzT__L3797_Rlist_l_i___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976
struct fzT__L3841_Rlist_l_i__074646976
{
  uint32_t clazzId;
  fzT__L3852_Rlist_l_i__074646976 fields;
};
// for ref list<u8>.ref as_stream.map<String>.@1074646976
struct fzT__L3853_Rlist_l_u__074646976
{
  fzT__L3798_Rlist_l_u___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976
struct fzT__L3842_Rlist_l_u__074646976
{
  uint32_t clazzId;
  fzT__L3853_Rlist_l_u__074646976 fields;
};
// for ref stream<String>.map<String>.@1074646976
struct fzT__L3854_Rstream_l__074646976
{
  fzT__L3799_Rstream_l___String_g* fzF_0__U40__1074647055;
  fzT__L2598option_l_s__tring_ggg fzF_1_as_u_list0;
};
// for ref stream<String>.map<String>.ref @1074646976
struct fzT__L3843_Rstream_l__074646976
{
  uint32_t clazzId;
  fzT__L3854_Rstream_l__074646976 fields;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L3877_R4array_l__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074647334;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L38781i32__1inf__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074647334;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.has_next
struct fzT__L38791i32__1as___as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074647334;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.has_next
struct fzT__L38801u8__1as_u__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074647334;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L3881list_l_Str__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074647334;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L3882list_l_i32__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074647334;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L3883list_l_u8___as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074647334;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L3884_Rlist_l_S__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074647334;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L3885_Rlist_l_i__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074647334;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.has_next
struct fzT__L3886_Rlist_l_u__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074647334;
};
// for ref stream<String>.map<String>.ref @1074646976.has_next
struct fzT__L3887_Rstream_l__as_u_next
{
  fzT_bool fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074647334;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.next
struct fzT__L3910_R4array_l__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074647694;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.next
struct fzT__L39111i32__1inf__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074647694;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.next
struct fzT__L39121i32__1as___976__next
{
  fzT__RString* fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074647694;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.next
struct fzT__L39131u8__1as_u__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074647694;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.next
struct fzT__L3914list_l_Str__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074647694;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.next
struct fzT__L3915list_l_i32__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074647694;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.next
struct fzT__L3916list_l_u8___976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074647694;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.next
struct fzT__L3917_Rlist_l_S__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074647694;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.next
struct fzT__L3918_Rlist_l_i__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074647694;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.next
struct fzT__L3919_Rlist_l_u__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074647694;
};
// for ref stream<String>.map<String>.ref @1074646976.next
struct fzT__L3920_Rstream_l__976__next
{
  fzT__RString* fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074647694;
};
// for ref array<u8>.ref as_stream.from_stream
struct fzT__L3991_R4array_l___u_stream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L1027_R4array_l___u_stream* fzF_1__U40__1074648165;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__1074649435;
};
// for i32.infix ...ref as_stream.from_stream
struct fzT__L39921i32__1inf___u_stream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L14921i32__1inf___u_stream* fzF_1__U40__1074648165;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__1074649435;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream
struct fzT__L39931i32__1as____u_stream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16691i32__1as___074289876* fzF_1__U40__1074648165;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__1074649435;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream
struct fzT__L39941u8__1as_u___u_stream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16701u8__1as_u__074289876* fzF_1__U40__1074648165;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__1074649435;
};
// for list<String>.ref as_stream.from_stream
struct fzT__L3995list_l_Str___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L1851list_l_Str___u_stream* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for list<i32>.ref as_stream.from_stream
struct fzT__L3996list_l_i32___u_stream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_Ras_u_stream* fzF_1__U40__1074648165;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__1074649435;
};
// for list<u8>.ref as_stream.from_stream
struct fzT__L3997list_l_u8____u_stream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_Ras_u_stream* fzF_1__U40__1074648165;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__1074649435;
};
// for ref list<String>.ref as_stream.from_stream
struct fzT__L3998_Rlist_l_S___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L1854_Rlist_l_S___u_stream* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for ref list<i32>.ref as_stream.from_stream
struct fzT__L3999_Rlist_l_i___u_stream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_Ras_u_stream* fzF_1__U40__1074648165;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__1074649435;
};
// for ref list<u8>.ref as_stream.from_stream
struct fzT__L4000_Rlist_l_u___u_stream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_Ras_u_stream* fzF_1__U40__1074648165;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__1074649435;
};
// for ref stream<String>.from_stream
struct fzT__L4001_Rstream_l___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__Rstream_l_String_g* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for ref stream<i32>.from_stream
struct fzT__L4002_Rstream_l___u_stream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rstream_l_i32_g* fzF_1__U40__1074648165;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__1074649435;
};
// for ref stream<u8>.from_stream
struct fzT__L4003_Rstream_l___u_stream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rstream_l_u8_g* fzF_1__U40__1074648165;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__1074649435;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L4004_R4array_l___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3833_R4array_l__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L40051i32__1inf___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L38341i32__1inf__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream
struct fzT__L40061i32__1as____u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L38351i32__1as___074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream
struct fzT__L40071u8__1as_u___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L38361u8__1as_u__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L4008list_l_Str___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3837list_l_Str__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L4009list_l_i32___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3838list_l_i32__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L4010list_l_u8____u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3839list_l_u8___074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L4011_Rlist_l_S___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3840_Rlist_l_S__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L4012_Rlist_l_i___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3841_Rlist_l_i__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream
struct fzT__L4013_Rlist_l_u___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3842_Rlist_l_u__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for ref stream<String>.map<String>.ref @1074646976.from_stream
struct fzT__L4014_Rstream_l___u_stream
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L3843_Rstream_l__074646976* fzF_1__U40__1074648165;
  fzT__RString* fzF_2_h;
  fzT_list_l_String_g fzF_3__U40__1074649435;
};
// for ref array<u8>.ref as_stream.from_stream.@1074648266
struct fzT__L4111_R4array_l__074648266
{
  fzT__L3991_R4array_l___u_stream* fzF_0__U40__1074648410;
  fzT__L2600option_l_s___l_u8_ggg fzF_1_memoized_u_tail;
};
// for ref array<u8>.ref as_stream.from_stream.ref @1074648266
struct fzT__L4087_R4array_l__074648266
{
  uint32_t clazzId;
  fzT__L4111_R4array_l__074648266 fields;
};
// for i32.infix ...ref as_stream.from_stream.@1074648266
struct fzT__L41121i32__1inf__074648266
{
  fzT__L39921i32__1inf___u_stream* fzF_0__U40__1074648410;
  fzT__L2599option_l_s__l_i32_ggg fzF_1_memoized_u_tail;
};
// for i32.infix ...ref as_stream.from_stream.ref @1074648266
struct fzT__L40881i32__1inf__074648266
{
  uint32_t clazzId;
  fzT__L41121i32__1inf__074648266 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.@1074648266
struct fzT__L41131i32__1as___074648266
{
  fzT__L39931i32__1as____u_stream* fzF_0__U40__1074648410;
  fzT__L2600option_l_s___l_u8_ggg fzF_1_memoized_u_tail;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.ref @1074648266
struct fzT__L40891i32__1as___074648266
{
  uint32_t clazzId;
  fzT__L41131i32__1as___074648266 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.@1074648266
struct fzT__L41141u8__1as_u__074648266
{
  fzT__L39941u8__1as_u___u_stream* fzF_0__U40__1074648410;
  fzT__L2600option_l_s___l_u8_ggg fzF_1_memoized_u_tail;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.ref @1074648266
struct fzT__L40901u8__1as_u__074648266
{
  uint32_t clazzId;
  fzT__L41141u8__1as_u__074648266 fields;
};
// for list<String>.ref as_stream.from_stream.@1074648266
struct fzT__L4115list_l_Str__074648266
{
  fzT__L3995list_l_Str___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for list<String>.ref as_stream.from_stream.ref @1074648266
struct fzT__L4091list_l_Str__074648266
{
  uint32_t clazzId;
  fzT__L4115list_l_Str__074648266 fields;
};
// for list<i32>.ref as_stream.from_stream.@1074648266
struct fzT__L4116list_l_i32__074648266
{
  fzT__L3996list_l_i32___u_stream* fzF_0__U40__1074648410;
  fzT__L2599option_l_s__l_i32_ggg fzF_1_memoized_u_tail;
};
// for list<i32>.ref as_stream.from_stream.ref @1074648266
struct fzT__L4092list_l_i32__074648266
{
  uint32_t clazzId;
  fzT__L4116list_l_i32__074648266 fields;
};
// for list<u8>.ref as_stream.from_stream.@1074648266
struct fzT__L4117list_l_u8___074648266
{
  fzT__L3997list_l_u8____u_stream* fzF_0__U40__1074648410;
  fzT__L2600option_l_s___l_u8_ggg fzF_1_memoized_u_tail;
};
// for list<u8>.ref as_stream.from_stream.ref @1074648266
struct fzT__L4093list_l_u8___074648266
{
  uint32_t clazzId;
  fzT__L4117list_l_u8___074648266 fields;
};
// for ref list<String>.ref as_stream.from_stream.@1074648266
struct fzT__L4118_Rlist_l_S__074648266
{
  fzT__L3998_Rlist_l_S___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for ref list<String>.ref as_stream.from_stream.ref @1074648266
struct fzT__L4094_Rlist_l_S__074648266
{
  uint32_t clazzId;
  fzT__L4118_Rlist_l_S__074648266 fields;
};
// for ref list<i32>.ref as_stream.from_stream.@1074648266
struct fzT__L4119_Rlist_l_i__074648266
{
  fzT__L3999_Rlist_l_i___u_stream* fzF_0__U40__1074648410;
  fzT__L2599option_l_s__l_i32_ggg fzF_1_memoized_u_tail;
};
// for ref list<i32>.ref as_stream.from_stream.ref @1074648266
struct fzT__L4095_Rlist_l_i__074648266
{
  uint32_t clazzId;
  fzT__L4119_Rlist_l_i__074648266 fields;
};
// for ref list<u8>.ref as_stream.from_stream.@1074648266
struct fzT__L4120_Rlist_l_u__074648266
{
  fzT__L4000_Rlist_l_u___u_stream* fzF_0__U40__1074648410;
  fzT__L2600option_l_s___l_u8_ggg fzF_1_memoized_u_tail;
};
// for ref list<u8>.ref as_stream.from_stream.ref @1074648266
struct fzT__L4096_Rlist_l_u__074648266
{
  uint32_t clazzId;
  fzT__L4120_Rlist_l_u__074648266 fields;
};
// for ref stream<String>.from_stream.@1074648266
struct fzT__L4121_Rstream_l__074648266
{
  fzT__L4001_Rstream_l___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for ref stream<String>.from_stream.ref @1074648266
struct fzT__L4097_Rstream_l__074648266
{
  uint32_t clazzId;
  fzT__L4121_Rstream_l__074648266 fields;
};
// for ref stream<i32>.from_stream.@1074648266
struct fzT__L4122_Rstream_l__074648266
{
  fzT__L4002_Rstream_l___u_stream* fzF_0__U40__1074648410;
  fzT__L2599option_l_s__l_i32_ggg fzF_1_memoized_u_tail;
};
// for ref stream<i32>.from_stream.ref @1074648266
struct fzT__L4098_Rstream_l__074648266
{
  uint32_t clazzId;
  fzT__L4122_Rstream_l__074648266 fields;
};
// for ref stream<u8>.from_stream.@1074648266
struct fzT__L4123_Rstream_l__074648266
{
  fzT__L4003_Rstream_l___u_stream* fzF_0__U40__1074648410;
  fzT__L2600option_l_s___l_u8_ggg fzF_1_memoized_u_tail;
};
// for ref stream<u8>.from_stream.ref @1074648266
struct fzT__L4099_Rstream_l__074648266
{
  uint32_t clazzId;
  fzT__L4123_Rstream_l__074648266 fields;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4124_R4array_l__074648266
{
  fzT__L4004_R4array_l___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4100_R4array_l__074648266
{
  uint32_t clazzId;
  fzT__L4124_R4array_l__074648266 fields;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L41251i32__1inf__074648266
{
  fzT__L40051i32__1inf___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L41011i32__1inf__074648266
{
  uint32_t clazzId;
  fzT__L41251i32__1inf__074648266 fields;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L41261i32__1as___074648266
{
  fzT__L40061i32__1as____u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L41021i32__1as___074648266
{
  uint32_t clazzId;
  fzT__L41261i32__1as___074648266 fields;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L41271u8__1as_u__074648266
{
  fzT__L40071u8__1as_u___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L41031u8__1as_u__074648266
{
  uint32_t clazzId;
  fzT__L41271u8__1as_u__074648266 fields;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4128list_l_Str__074648266
{
  fzT__L4008list_l_Str___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4104list_l_Str__074648266
{
  uint32_t clazzId;
  fzT__L4128list_l_Str__074648266 fields;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4129list_l_i32__074648266
{
  fzT__L4009list_l_i32___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4105list_l_i32__074648266
{
  uint32_t clazzId;
  fzT__L4129list_l_i32__074648266 fields;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4130list_l_u8___074648266
{
  fzT__L4010list_l_u8____u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4106list_l_u8___074648266
{
  uint32_t clazzId;
  fzT__L4130list_l_u8___074648266 fields;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4131_Rlist_l_S__074648266
{
  fzT__L4011_Rlist_l_S___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4107_Rlist_l_S__074648266
{
  uint32_t clazzId;
  fzT__L4131_Rlist_l_S__074648266 fields;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4132_Rlist_l_i__074648266
{
  fzT__L4012_Rlist_l_i___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4108_Rlist_l_i__074648266
{
  uint32_t clazzId;
  fzT__L4132_Rlist_l_i__074648266 fields;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4133_Rlist_l_u__074648266
{
  fzT__L4013_Rlist_l_u___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4109_Rlist_l_u__074648266
{
  uint32_t clazzId;
  fzT__L4133_Rlist_l_u__074648266 fields;
};
// for ref stream<String>.map<String>.ref @1074646976.from_stream.@1074648266
struct fzT__L4134_Rstream_l__074648266
{
  fzT__L4014_Rstream_l___u_stream* fzF_0__U40__1074648410;
  fzT__L2598option_l_s__tring_ggg fzF_1_memoized_u_tail;
};
// for ref stream<String>.map<String>.ref @1074646976.from_stream.ref @1074648266
struct fzT__L4110_Rstream_l__074648266
{
  uint32_t clazzId;
  fzT__L4134_Rstream_l__074648266 fields;
};
// for ref array<u8>.ref as_stream.from_stream.ref @1074648266.head
struct fzT__L4183_R4array_l__266__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4087_R4array_l__074648266* fzF_1__U40__1074648678;
};
// for i32.infix ...ref as_stream.from_stream.ref @1074648266.head
struct fzT__L41841i32__1inf__266__head
{
  fzT_1i32 fzF_0_result;
  fzT__L40881i32__1inf__074648266* fzF_1__U40__1074648678;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.ref @1074648266.head
struct fzT__L41851i32__1as___266__head
{
  fzT_1u8 fzF_0_result;
  fzT__L40891i32__1as___074648266* fzF_1__U40__1074648678;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.ref @1074648266.head
struct fzT__L41861u8__1as_u__266__head
{
  fzT_1u8 fzF_0_result;
  fzT__L40901u8__1as_u__074648266* fzF_1__U40__1074648678;
};
// for list<String>.ref as_stream.from_stream.ref @1074648266.head
struct fzT__L4187list_l_Str__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4091list_l_Str__074648266* fzF_1__U40__1074648678;
};
// for list<i32>.ref as_stream.from_stream.ref @1074648266.head
struct fzT__L4188list_l_i32__266__head
{
  fzT_1i32 fzF_0_result;
  fzT__L4092list_l_i32__074648266* fzF_1__U40__1074648678;
};
// for list<u8>.ref as_stream.from_stream.ref @1074648266.head
struct fzT__L4189list_l_u8___266__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4093list_l_u8___074648266* fzF_1__U40__1074648678;
};
// for ref list<String>.ref as_stream.from_stream.ref @1074648266.head
struct fzT__L4190_Rlist_l_S__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4094_Rlist_l_S__074648266* fzF_1__U40__1074648678;
};
// for ref list<i32>.ref as_stream.from_stream.ref @1074648266.head
struct fzT__L4191_Rlist_l_i__266__head
{
  fzT_1i32 fzF_0_result;
  fzT__L4095_Rlist_l_i__074648266* fzF_1__U40__1074648678;
};
// for ref list<u8>.ref as_stream.from_stream.ref @1074648266.head
struct fzT__L4192_Rlist_l_u__266__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4096_Rlist_l_u__074648266* fzF_1__U40__1074648678;
};
// for ref stream<String>.from_stream.ref @1074648266.head
struct fzT__L4193_Rstream_l__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4097_Rstream_l__074648266* fzF_1__U40__1074648678;
};
// for ref stream<i32>.from_stream.ref @1074648266.head
struct fzT__L4194_Rstream_l__266__head
{
  fzT_1i32 fzF_0_result;
  fzT__L4098_Rstream_l__074648266* fzF_1__U40__1074648678;
};
// for ref stream<u8>.from_stream.ref @1074648266.head
struct fzT__L4195_Rstream_l__266__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4099_Rstream_l__074648266* fzF_1__U40__1074648678;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4196_R4array_l__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4100_R4array_l__074648266* fzF_1__U40__1074648678;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L41971i32__1inf__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L41011i32__1inf__074648266* fzF_1__U40__1074648678;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L41981i32__1as___266__head
{
  fzT__RString* fzF_0_result;
  fzT__L41021i32__1as___074648266* fzF_1__U40__1074648678;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L41991u8__1as_u__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L41031u8__1as_u__074648266* fzF_1__U40__1074648678;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4200list_l_Str__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4104list_l_Str__074648266* fzF_1__U40__1074648678;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4201list_l_i32__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4105list_l_i32__074648266* fzF_1__U40__1074648678;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4202list_l_u8___266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4106list_l_u8___074648266* fzF_1__U40__1074648678;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4203_Rlist_l_S__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4107_Rlist_l_S__074648266* fzF_1__U40__1074648678;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4204_Rlist_l_i__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4108_Rlist_l_i__074648266* fzF_1__U40__1074648678;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4205_Rlist_l_u__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4109_Rlist_l_u__074648266* fzF_1__U40__1074648678;
};
// for ref stream<String>.map<String>.ref @1074646976.from_stream.ref @1074648266.head
struct fzT__L4206_Rstream_l__266__head
{
  fzT__RString* fzF_0_result;
  fzT__L4110_Rstream_l__074648266* fzF_1__U40__1074648678;
};
// for ref array<u8>.ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L4255_R4array_l__266__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4087_R4array_l__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for i32.infix ...ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L42561i32__1inf__266__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L40881i32__1inf__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.ref @1074648266.tail
struct fzT__L42571i32__1as___266__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L40891i32__1as___074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.from_stream.ref @1074648266.tail
struct fzT__L42581u8__1as_u__266__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L40901u8__1as_u__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for list<String>.ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L4259list_l_Str__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4091list_l_Str__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for list<i32>.ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L4260list_l_i32__266__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L4092list_l_i32__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for list<u8>.ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L4261list_l_u8___266__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4093list_l_u8___074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref list<String>.ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L4262_Rlist_l_S__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4094_Rlist_l_S__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref list<i32>.ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L4263_Rlist_l_i__266__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L4095_Rlist_l_i__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref list<u8>.ref as_stream.from_stream.ref @1074648266.tail
struct fzT__L4264_Rlist_l_u__266__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4096_Rlist_l_u__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref stream<String>.from_stream.ref @1074648266.tail
struct fzT__L4265_Rstream_l__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4097_Rstream_l__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref stream<i32>.from_stream.ref @1074648266.tail
struct fzT__L4266_Rstream_l__266__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L4098_Rstream_l__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref stream<u8>.from_stream.ref @1074648266.tail
struct fzT__L4267_Rstream_l__266__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4099_Rstream_l__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref array<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4268_R4array_l__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4100_R4array_l__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for i32.infix ...ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L42691i32__1inf__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L41011i32__1inf__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for i32.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L42701i32__1as___266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L41021i32__1as___074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for u8.as_string.ref @1074287899.ref utf8.as_stream.ref @1074289876.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L42711u8__1as_u__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L41031u8__1as_u__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4272list_l_Str__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4104list_l_Str__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4273list_l_i32__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4105list_l_i32__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4274list_l_u8___266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4106list_l_u8___074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref list<String>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4275_Rlist_l_S__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4107_Rlist_l_S__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref list<i32>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4276_Rlist_l_i__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4108_Rlist_l_i__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref list<u8>.ref as_stream.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4277_Rlist_l_u__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4109_Rlist_l_u__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for ref stream<String>.map<String>.ref @1074646976.from_stream.ref @1074648266.tail
struct fzT__L4278_Rstream_l__266__tail
{
  fzT_list_l_String_g fzF_0_result;
  fzT__L4110_Rstream_l__074648266* fzF_1__U40__1074649272;
  fzT_bool fzF_2__U40__1074649322;
};
// for u32.thiz
struct fzT_1u32__thiz
{
  fzT_1u32 fzF_0_result;
  fzT_1u32 fzF_1__U40__1074744523;
};
// 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__1074747270;
};
// 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__1074748157;
};
// for u32.as_u8
struct fzT_1u32__as_u_u8
{
  fzT_1u8 fzF_0_result;
  fzT_1u32 fzF_1__U40__1074751728;
  fzT_bool fzF_2__U40__1074751778;
};
// 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__1074797118;
};
// for u8.infix /
struct fzT_1u8__1infix_wd
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1074797687;
  fzT_bool fzF_3__U40__1074797737;
};
// for u8.infix %
struct fzT_1u8__1infix_wP
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1074798306;
  fzT_bool fzF_3__U40__1074798356;
};
// 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__1074799163;
  fzT_bool fzF_2__U40__1074799213;
};
// for u8.overflowOnAdd
struct fzT_1u8__1overflowOnAdd
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__1074799594;
};
// 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__1074800481;
};
// for u8.overflowOnMul
struct fzT_1u8__1overflowOnMul
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__1074800896;
};
// 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__1074803704;
};
// 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__1074813459;
};
// for u8s.min
struct fzT_u8s__min
{
  fzT_1u8 fzF_0_result;
  fzT_u8s* fzF_1__U40__1074813459;
};
// for wrapping_integer<i32>
struct fzT_wrapping_u_integer_l_i32_g
{
};
// for wrapping_integer<i64>
struct fzT_wrapping_u_integer_l_i64_g
{
};
// for wrapping_integer<u32>
struct fzT_wrapping_u_integer_l_u32_g
{
};
// for wrapping_integer<u64>
struct fzT_wrapping_u_integer_l_u64_g
{
};
// for wrapping_integer<u8>
struct fzT_wrapping_u_integer_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__1074854592;
  fzT_bool fzF_3__U40__1074854642;
  fzT_bool fzF_4__U40__1074854692;
};
// for u32.infix +
struct fzT_1u32__1infix_wp
{
  fzT_1u32 fzF_0_other;
  fzT_1u32 fzF_1_result;
  fzT_1u32 fzF_2__U40__1074854592;
  fzT_bool fzF_3__U40__1074854642;
  fzT_bool fzF_4__U40__1074854692;
};
// for u8.infix +
struct fzT_1u8__1infix_wp
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1074854592;
  fzT_bool fzF_3__U40__1074854642;
  fzT_bool fzF_4__U40__1074854692;
};
// for i32.infix *
struct fzT_1i32__1infix_wt
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1074855529;
  fzT_bool fzF_3__U40__1074855579;
  fzT_bool fzF_4__U40__1074855629;
};
// for u8.infix *
struct fzT_1u8__1infix_wt
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1074855529;
  fzT_bool fzF_3__U40__1074855579;
  fzT_bool fzF_4__U40__1074855629;
};
// for i32.infix -
struct fzT_1i32__1infix_wm
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1074856466;
  fzT_bool fzF_3__U40__1074856516;
  fzT_bool fzF_4__U40__1074856566;
};
// for u32.infix -
struct fzT_1u32__1infix_wm
{
  fzT_1u32 fzF_0_other;
  fzT_1u32 fzF_1_result;
  fzT_1u32 fzF_2__U40__1074856466;
  fzT_bool fzF_3__U40__1074856516;
  fzT_bool fzF_4__U40__1074856566;
};
// for u8.infix -
struct fzT_1u8__1infix_wm
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1074856466;
  fzT_bool fzF_3__U40__1074856516;
  fzT_bool fzF_4__U40__1074856566;
};
// for i32.prefix -
struct fzT_1i32__prefix_wm
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__1074857054;
  fzT_bool fzF_2__U40__1074857104;
};
// for u8.prefix -
struct fzT_1u8__prefix_wm
{
  fzT_1u8 fzF_0_result;
  fzT_1u8 fzF_1__U40__1074857054;
  fzT_bool fzF_2__U40__1074857104;
};
// for i32.prefix -?
struct fzT_1i32__prefix_wmQ
{
  fzT_num_u_option_l_i32_g fzF_0_result;
  fzT_1i32 fzF_1__U40__1074867216;
  fzT_num_u_option_l_i32_g fzF_2__U40__1074867266;
};
// for u8.prefix -?
struct fzT_1u8__prefix_wmQ
{
  fzT_num_u_option_l_u8_g fzF_0_result;
  fzT_1u8 fzF_1__U40__1074867216;
  fzT_num_u_option_l_u8_g fzF_2__U40__1074867266;
};
// for i32.infix +?
struct fzT_1i32__1infix_wpQ
{
  fzT_1i32 fzF_0_other;
  fzT_num_u_option_l_i32_g fzF_1_result;
  fzT_1i32 fzF_2__U40__1074867763;
  fzT_num_u_option_l_i32_g fzF_3__U40__1074867813;
};
// for i32.infix +^
struct fzT_1i32__1infix_wpc
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1074870224;
  fzT_1i32 fzF_3__U40__1074870274;
};
// for u8.infix +^
struct fzT_1u8__1infix_wpc
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1074870224;
  fzT_1u8 fzF_3__U40__1074870274;
};
// for i32.wrappedOnAdd
struct fzT_1i32__1wrappedOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1074872159;
  fzT_bool fzF_3__U40__1074872209;
};
// for i32.isMin
struct fzT_1i32__isMin
{
  fzT_bool fzF_0_result;
  fzT_1i32 fzF_1__U40__1074873544;
};
// for wrapping_integers<i32>
struct fzT_wrapping_u_integers_l_i32_g
{
};
// for wrapping_integers<i64>
struct fzT_wrapping_u_integers_l_i64_g
{
};
// for wrapping_integers<u32>
struct fzT_wrapping_u_integers_l_u32_g
{
};
// for wrapping_integers<u64>
struct fzT_wrapping_u_integers_l_u64_g
{
};
// for wrapping_integers<u8>
struct fzT_wrapping_u_integers_l_u8_g
{
};
// for Any.#type<String>
struct fzT_Any_oHtype_l_String_g
{
};
// for Any.#type<codepoint<>>
struct fzT_Any_oHtype_l_codepoint_lgg
{
};
// for Any.#type<i32<>>
struct fzT_Any_oHtype_l_i32_lgg
{
};
// for Any.#type<i64>
struct fzT_Any_oHtype_l_i64_g
{
};
// for Any.#type<u32>
struct fzT_Any_oHtype_l_u32_g
{
};
// for Any.#type<u8>
struct fzT_Any_oHtype_l_u8_g
{
};
// for has_equality.#type<String>
struct fzT__L4657has_u_equa___String_g
{
};
// for has_equality.#type<codepoint<>>
struct fzT__L4658has_u_equa__point_lgg
{
};
// for has_equality.#type<i32<>>
struct fzT__L4659has_u_equa__l_i32_lgg
{
};
// for has_equality.#type<i64>
struct fzT__L4660has_u_equa__e_l_i64_g
{
};
// for has_equality.#type<u32>
struct fzT__L4661has_u_equa__e_l_u32_g
{
};
// for has_equality.#type<u8>
struct fzT__L4662has_u_equa__pe_l_u8_g
{
};
// for has_partial_order.#type<String>
struct fzT__L4663has_u_part___String_g
{
};
// for has_partial_order.#type<codepoint<>>
struct fzT__L4664has_u_part__point_lgg
{
};
// for has_partial_order.#type<i32<>>
struct fzT__L4665has_u_part__l_i32_lgg
{
};
// for has_partial_order.#type<i64>
struct fzT__L4666has_u_part__e_l_i64_g
{
};
// for has_partial_order.#type<u32>
struct fzT__L4667has_u_part__e_l_u32_g
{
};
// for has_partial_order.#type<u8>
struct fzT__L4668has_u_part__pe_l_u8_g
{
};
// for has_hash.#type<String>
struct fzT__L4669has_u_hash___String_g
{
};
// for has_hash.#type<codepoint<>>
struct fzT__L4670has_u_hash__point_lgg
{
};
// for has_hash.#type<i32<>>
struct fzT_has_u_hash_oHtype_l_i32_lgg
{
};
// for has_hash.#type<i64>
struct fzT_has_u_hash_oHtype_l_i64_g
{
};
// for has_hash.#type<u32>
struct fzT_has_u_hash_oHtype_l_u32_g
{
};
// for has_hash.#type<u8>
struct fzT_has_u_hash_oHtype_l_u8_g
{
};
// for has_total_order.#type<String>
struct fzT__L4675has_u_tota___String_g
{
};
// for has_total_order.#type<codepoint<>>
struct fzT__L4676has_u_tota__point_lgg
{
};
// for has_total_order.#type<i32<>>
struct fzT__L4677has_u_tota__l_i32_lgg
{
};
// for has_total_order.#type<i64>
struct fzT__L4678has_u_tota__e_l_i64_g
{
};
// for has_total_order.#type<u32>
struct fzT__L4679has_u_tota__e_l_u32_g
{
};
// for has_total_order.#type<u8>
struct fzT__L4680has_u_tota__pe_l_u8_g
{
};
// for String.#type<codepoint<>>
struct fzT__L4682String_oHt__point_lgg
{
};
// for String.#type<String>.concat
struct fzT__L4684String_oHt____1concat
{
  fzT__RString* fzF_0_sep;
};
// for String.#type<String>.ref concat
struct fzT__L4683String_oHt___R1concat
{
  uint32_t clazzId;
  fzT__L4684String_oHt____1concat fields;
};
// for String.#type<String>.ref concat.infix ∙
struct fzT__L4687String_oHt__x_wU2219_
{
  fzT__RString* fzF_0_a;
  fzT__RString* fzF_1_b;
  fzT__RString* fzF_2_result;
  fzT__L4683String_oHt___R1concat* fzF_3__U40__1074892591;
  fzT_bool fzF_4__U40__1074892641;
  fzT__RString* fzF_5__U40__1074892691;
};
// for String.#type<String>.ref concat.e
struct fzT__L4694String_oHt__concat__e
{
  fzT__RString* fzF_0_result;
};
// for String.#type<String>.concat
struct fzT__L4696String_oHt____2concat
{
  fzT__RString* fzF_0_a;
  fzT__RString* fzF_1_b;
  fzT__RString* fzF_2_result;
};
// for String.#type<String>.concat.@1074893663
struct fzT__L4701String_oHt__074893663
{
  fzT__L4696String_oHt____2concat* fzF_0__U40__1074893730;
};
// for String.#type<String>.concat.ref @1074893663
struct fzT__L4700String_oHt__074893663
{
  uint32_t clazzId;
  fzT__L4701String_oHt__074893663 fields;
};
// for String.#type<String>.concat.ref @1074893663.utf8
struct fzT__L4704String_oHt__663__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__L4700String_oHt__074893663* fzF_1__U40__1074894103;
};
// for String.#type<String>.zero_char
struct fzT__L4707String_oHt__ro_u_char
{
  fzT_1u8 fzF_0_result;
};
// for String.#type<String>.a_char
struct fzT__L4709String_oHt___a_u_char
{
  fzT_1u8 fzF_0_result;
};
// for codepoint.#type<codepoint<>>.range
struct fzT__L4712codepoint___gg__range
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for codepoint.#type<codepoint<>>.ascii
struct fzT__L4714codepoint___gg__ascii
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for codepoint.#type<codepoint<>>.utf8_encoded_in_one_byte
struct fzT__L4716codepoint___ne_u_byte
{
  fzT_1u32__1infix_woo fzF_0_result;
  fzT__L4711codepoint___point_lgg* fzF_1__U40__1074921192;
};
// for codepoint.#type<codepoint<>>.utf8_encoded_in_two_bytes
struct fzT__L4719codepoint___o_u_bytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for codepoint.#type<codepoint<>>.utf8_encoded_in_three_bytes
struct fzT__L4721codepoint___e_u_bytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for codepoint.#type<codepoint<>>.utf8_encoded_in_four_bytes
struct fzT__L4723codepoint___r_u_bytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for codepoint.#type<codepoint<>>.utf16_surrogate
struct fzT__L4725codepoint___surrogate
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for numerics.#type<i32<>, i32>
struct fzT__L4727numerics_o__lgk_i32_g
{
};
// for numerics.#type<i64, i64>
struct fzT__L4728numerics_o__4_k_i64_g
{
};
// for numerics.#type<u32, u32>
struct fzT__L4729numerics_o__2_k_u32_g
{
};
// for numerics.#type<u8, u8>
struct fzT_numerics_oHtype_l_u8_k_u8_g
{
};
// for numeric.#type<i32<>, i32>
struct fzT__L4731numeric_oH__lgk_i32_g
{
};
// for numeric.#type<i64, i64>
struct fzT__L4732numeric_oH__4_k_i64_g
{
};
// for numeric.#type<u32, u32>
struct fzT__L4733numeric_oH__2_k_u32_g
{
};
// for numeric.#type<u8, u8>
struct fzT_numeric_oHtype_l_u8_k_u8_g
{
};
// for integer.#type<i32<>, i32>
struct fzT__L4735integer_oH__lgk_i32_g
{
};
// for integer.#type<i64, i64>
struct fzT__L4736integer_oH__4_k_i64_g
{
};
// for integer.#type<u32, u32>
struct fzT__L4737integer_oH__2_k_u32_g
{
};
// for integer.#type<u8, u8>
struct fzT_integer_oHtype_l_u8_k_u8_g
{
};
// for wrapping_integers.#type<i32<>, i32>
struct fzT__L4739wrapping_u__lgk_i32_g
{
};
// for wrapping_integers.#type<i64, i64>
struct fzT__L4740wrapping_u__4_k_i64_g
{
};
// for wrapping_integers.#type<u32, u32>
struct fzT__L4741wrapping_u__2_k_u32_g
{
};
// for wrapping_integers.#type<u8, u8>
struct fzT__L4742wrapping_u__u8_k_u8_g
{
};
// for wrapping_integer.#type<i32<>, i32>
struct fzT__L4743wrapping_u__lgk_i32_g
{
};
// for wrapping_integer.#type<i64, i64>
struct fzT__L4744wrapping_u__4_k_i64_g
{
};
// for wrapping_integer.#type<u32, u32>
struct fzT__L4745wrapping_u__2_k_u32_g
{
};
// for wrapping_integer.#type<u8, u8>
struct fzT__L4746wrapping_u__u8_k_u8_g
{
};
// for hasInterval.#type<i32<>, i32>
struct fzT__L4747hasInterva__lgk_i32_g
{
};
// for hasInterval.#type<i64, i64>
struct fzT__L4748hasInterva__4_k_i64_g
{
};
// for hasInterval.#type<u32, u32>
struct fzT__L4749hasInterva__2_k_u32_g
{
};
// for hasInterval.#type<u8, u8>
struct fzT__L4750hasInterva__u8_k_u8_g
{
};
// for i32s.#type<i32<>>
struct fzT_i32s_oHtype_l_i32_lgg
{
};
// for i32.#type<i32<>>
struct fzT_i32_oHtype_l_i32_lgg
{
};
// for i64s.#type<i64>
struct fzT_i64s_oHtype_l_i64_g
{
};
// for i64.#type<i64>
struct fzT_i64_oHtype_l_i64_g
{
};
// for u32s.#type<u32>
struct fzT_u32s_oHtype_l_u32_g
{
};
// for u32.#type<u32>
struct fzT_u32_oHtype_l_u32_g
{
};
// for u8s.#type<u8>
struct fzT_u8s_oHtype_l_u8_g
{
};
// for u8.#type<u8>
struct fzT_u8_oHtype_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_1713;
  bool fzEnvInstalled_1713;
  jmp_buf* fzEnvJmpBuf_1713;
};
_Thread_local 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__L1394fuzion__sy__ay_l_u8_g fzC__L1394fuzion__sy__ay_l_u8_g(fzT_1i32 arg0);
fzT_4array_l_u8_g fzC_4array_l_u8_g(fzT__L1394fuzion__sy__ay_l_u8_g arg0);
fzT_4array_l_u8_g fzC_list_l_u8_g__as_u_array(fzT_list_l_u8_g* fzouter);
fzT__L598list_l_u8___1073759818* fzC__L598list_l_u8___1073759818(fzT_list_l_u8_g__as_u_array* fzouter);
fzT_1u8 fzC__L626list_l_u8___818__1call(fzT__L598list_l_u8___1073759818* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R1conststring__1infix_wpp(fzT__R1conststring* fzouter, fzT__RSequence_l_u8_g* arg0);
fzT_bool fzC_2lteq_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1);
fzT_1u32 fzC_1u32(fzT_1u32 arg0);
fzT_bool fzC_2lteq_l_u32_g(fzT_1u32 arg0, fzT_1u32 arg1);
void fzC_2lteq_l_i32_g__T();
void fzC_2lteq_l_u32_g__T();
fzT__RString* fzC__R1codepoint__as_u_string(fzT__R1codepoint* fzouter);
fzT__RString* fzC__L858String_oHt__s_u_string(fzT__L4700String_oHt__074893663* fzouter);
fzT__RString* fzC__R1conststring__1infix_wp(fzT__R1conststring* fzouter, fzT__RAny* arg0);
fzT__RString* fzC__L890String_oHt___1infix_wp(fzT__L4700String_oHt__074893663* fzouter, fzT__RAny* arg0);
void fzC_Types();
void fzC_Types__get_l_String_g();
void fzC_Types__get_l_codepoint_g();
void fzC_Types__get_l_String_g__T();
void fzC_Types__get_l_codepoint_g__T();
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__L9522array_l_u__1073861793(fzT_2array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L999_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__L999_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L1000_R1constst__U5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0);
void fzP__L1000_R1constst__U5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R4array_l_u8_g__as_u_list(fzT__R4array_l_u8_g* fzouter);
fzT_list_l_u8_g fzC__R1conststring__as_u_list(fzT__R1conststring* fzouter);
fzT_list_l_u8_g fzC__R4array_l_u8_g__1as_u_list(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__R4array_l_u8_g__1as_u_list(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R1conststring__1as_u_list(fzT__R1conststring* fzouter, fzT_1i32 arg0);
void fzP__R1conststring__1as_u_list(fzT__R1conststring* fzouter, fzT_1i32 arg0);
fzT_4array_l_u8_g fzC__R4array_l_u8_g__as_u_array(fzT__R4array_l_u8_g* fzouter);
fzT_4array_l_u8_g fzC__R1conststring__as_u_array(fzT__R1conststring* fzouter);
fzT_list_l_u8_g fzC__R4array_l_u8_g__2slice(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1i32 arg1);
void fzP__R4array_l_u8_g__2slice(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1i32 arg1);
fzT_list_l_u8_g fzC__R1conststring__2slice(fzT__R1conststring* fzouter, fzT_1i32 arg0, fzT_1i32 arg1);
void fzP__R1conststring__2slice(fzT__R1conststring* fzouter, fzT_1i32 arg0, fzT_1i32 arg1);
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__2arrayCons fzC__R4array_l_u8_g__2arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1i32 arg1);
void fzP__R4array_l_u8_g__2arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1i32 arg1);
fzT_1u8 fzC__L1090_R4array_l__ons__head(fzT__R4array_l_u8_g_R2arrayCons* fzouter);
fzT_list_l_u8_g fzC__L1093_R4array_l__ons__tail(fzT__R4array_l_u8_g_R2arrayCons* fzouter);
fzT_bool fzC_false();
fzT_bool fzC_true();
void fzC_fuzion__sys__err__ascii();
fzT_1u8 fzC_fuzion__sys__err__ascii__lf();
void fzC_effectMode__default();
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__RString* fzC__R1conststring__as_u_string(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__L1251effects__e__o_o_out_g();
void fzC_effectMode();
fzT_bool fzC_2infix_wU2264_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1);
fzT_bool fzC_2infix_wU2264_l_u32_g(fzT_1u32 arg0, fzT_1u32 arg1);
fzT_bool fzC_2infix_wU2265_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1);
fzT_bool fzC_2infix_wU2a7c_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1);
fzT_bool fzC_2infix_wU2a7b_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1);
void fzC_fuzion();
void fzC_fuzion__std();
void fzC_fuzion__std__1exit(fzT_1i32 arg0);
void fzC_fuzion__std__1panic(fzT__RString* arg0);
void fzC_fuzion__sys();
void fzC_fuzion__sys__err();
void fzC_fuzion__sys__err__1println(fzT__RAny* arg0);
void fzC_fuzion__sys__err__1write(fzT_4array_l_u8_g arg0);
void fzC_fuzion__sys__err__2write(fzT__RAny* arg0, fzT_1i32 arg1);
void fzC_fuzion__sys__out();
void fzC_fuzion__sys__out__1print(fzT__RAny* arg0);
void fzC_fuzion__sys__out__1write(fzT_4array_l_u8_g arg0);
void fzC_fuzion__sys__out__2write(fzT__RAny* arg0, fzT_1i32 arg1);
fzT_1u8 fzC__L1400fuzion__sy__U5b_wU5d_(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__L1400fuzion__sy__U5b_wU5d_(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L1418fuzion__sy__et_l_u8_g(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT__RAny* arg0, fzT_1i32 arg1);
void fzC__L1433fuzion__sy__d_wU3a_ew(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1);
void fzP__L1433fuzion__sy__d_wU3a_ew(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1);
fzT__RAny* fzC__L1454fuzion__sy__oc_l_u8_g(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0);
void fzC__L1463fuzion__sy__el_l_u8_g(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT__RAny* arg0, fzT_1i32 arg1, fzT_1u8 arg2);
void fzC__L1476fuzion__sy__condition(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1);
fzT_1u32__1infix_woo fzC_1u32__1infix_woo(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT__L14921i32__1inf___u_stream* fzC__L14921i32__1inf___u_stream(fzT_1i32__1infix_woo* fzouter);
fzT_bool fzC__L14981i32__1inf__as_u_next(fzT__L14921i32__1inf___u_stream* fzouter);
fzT_1i32 fzC__L15021i32__1inf__eam__next(fzT__L14921i32__1inf___u_stream* 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_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_RCan_u_Print* arg0, fzT_effectMode__val arg1);
fzT_io__3out fzC_io__out();
void fzC_io__defaultPrintToOut();
void fzC__L1722io_Rdefaul__t__1print(fzT__RAny* arg0);
void fzC_io__outs();
void fzC_io__outs__installDefault();
void fzC_io__3out__1println(fzT_io__3out* fzouter, fzT__RAny* arg0);
void fzC__L1744io_Rdefaul____println(fzT_io_RdefaultPrintToOut* fzouter);
void fzC__L1750io_Rdefaul___1println(fzT_io_RdefaultPrintToOut* fzouter, fzT__RAny* arg0);
fzT_option_l_u8_g fzC_list_l_u8_g__head(fzT_list_l_u8_g* fzouter);
fzT_list_l_u8_g fzC__Rlist_l_u8_g__as_u_list(fzT__Rlist_l_u8_g* fzouter);
fzT_list_l_u8_g_Ras_u_stream* fzC_list_l_u8_g_Ras_u_stream(fzT_list_l_u8_g* fzouter);
fzT_1u8 fzC__L1901list_l_u8___eam__next(fzT_list_l_u8_g_Ras_u_stream* fzouter);
fzT_bool fzC_list_l_u8_g__is_u_empty(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_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__L2097list_l_u8___074376939* fzC__L2097list_l_u8___074376939(fzT_list_l_u8_g__1concat* fzouter);
fzT__L2100_Rlist_l_u__074376939* fzC__L2100_Rlist_l_u__074376939(fzT__Rlist_l_u8_g__1concat* fzouter);
fzT_1u8 fzC__L2121list_l_u8___939__head(fzT__L2097list_l_u8___074376939* fzouter);
fzT_1u8 fzC__L2124_Rlist_l_u__939__head(fzT__L2100_Rlist_l_u__074376939* fzouter);
fzT_list_l_u8_g fzC__L2139list_l_u8___939__tail(fzT__L2097list_l_u8___074376939* fzouter);
fzT_list_l_u8_g fzC__L2142_Rlist_l_u__939__tail(fzT__L2100_Rlist_l_u__074376939* fzouter);
fzT_list_l_u8_g fzC_list_l_u8_g__force_u_tail(fzT_list_l_u8_g* fzouter);
void fzP_list_l_u8_g__force_u_tail(fzT_list_l_u8_g* fzouter);
fzT_1i32 fzC_num_u_option_l_i32_g__val(fzT_num_u_option_l_i32_g* fzouter);
void fzP_num_u_option_l_i32_g__val(fzT_num_u_option_l_i32_g* fzouter);
fzT_bool fzC__L2463num_u_opti__g__exists(fzT_num_u_option_l_i32_g* fzouter);
fzT_num_u_option_l_i32_g fzC__L2467num_u_opti__nfix_wgge(fzT_num_u_option_l_i32_g* fzouter, fzT__L246_RFunction__2_gk_i32_g* arg0);
fzT_num_u_option_l_i32_g fzC__L2471num_u_opti__d_l_i32_g(fzT_num_u_option_l_i32_g* fzouter, fzT__L246_RFunction__2_gk_i32_g* arg0);
fzT_bool fzC__L2477num_u_opti__stfix_wQQ(fzT_num_u_option_l_i32_g* fzouter);
fzT_num_u_option_l_i32_g fzC__L2480num_u_opti__infix_wpQ(fzT_num_u_option_l_i32_g* fzouter, fzT_num_u_option_l_i32_g arg0);
fzT__L2484num_u_opti__074437627* fzC__L2484num_u_opti__074437627(fzT__L2480num_u_opti__infix_wpQ* fzouter);
fzT_num_u_option_l_i32_g fzC__L2488num_u_opti__27__1call(fzT__L2484num_u_opti__074437627* fzouter, fzT_1i32 arg0);
fzT__L2492num_u_opti__074438143* fzC__L2492num_u_opti__074438143(fzT__L2488num_u_opti__27__1call* fzouter);
fzT_num_u_option_l_i32_g fzC__L2496num_u_opti__43__1call(fzT__L2492num_u_opti__074438143* fzouter, fzT_1i32 arg0);
fzT_num_u_option_l_i32_g fzC_1num_u_option_l_i32_g(fzT_num_u_option_l_i32_g arg0);
fzT_1u8 fzC_option_l_u8_g__get(fzT_option_l_u8_g* fzouter);
void fzP_option_l_u8_g__get(fzT_option_l_u8_g* fzouter);
fzT_bool fzC_option_l_u8_g__exists(fzT_option_l_u8_g* fzouter);
fzT_bool fzC_option_l_u8_g__postfix_wQQ(fzT_option_l_u8_g* fzouter);
fzT_bool fzC_safety();
void fzC_1say(fzT__RAny* arg0);
void fzC_stdout();
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_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_num_u_option_l_i32_g fzC_1i32__1infix_wpQ(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1wrappedOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT__RString* fzC__L4696String_oHt____2concat(fzT__RString* arg0, fzT__RString* arg1);
fzT__L4700String_oHt__074893663* fzC__L4700String_oHt__074893663(fzT__L4696String_oHt____2concat* fzouter);
fzT__RSequence_l_u8_g* fzC__L4704String_oHt__663__utf8(fzT__L4700String_oHt__074893663* fzouter);
fzT_1u32__1infix_woo fzC__L4712codepoint___gg__range();
fzT_1u32__1infix_woo fzC__L4714codepoint___gg__ascii();
fzT_1u32__1infix_woo fzC__L4716codepoint___ne_u_byte();
fzT_1u32__1infix_woo fzC__L4719codepoint___o_u_bytes();
fzT_1u32__1infix_woo fzC__L4721codepoint___e_u_bytes();
fzT_1u32__1infix_woo fzC__L4723codepoint___r_u_bytes();
fzT_1u32__1infix_woo fzC__L4725codepoint___surrogate();
fzT_bool fzC_i32_oHtype_l_i32_lgg__2lteq(fzT_1i32 arg0, fzT_1i32 arg1);
fzT_bool fzC_u32_oHtype_l_u32_g__2lteq(fzT_1u32 arg0, fzT_1u32 arg1);
void fzC_HelloWorld();

// code for clazz#4473 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#4552 unit:
void fzC_unit()
{
  // instance may escape, so we need malloc here
  fzT_unit* fzCur;
  fzCur = malloc(sizeof(fzT_unit));

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

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

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

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

  start:
  {
    fzCur->fzF_0_length = arg0;
    //    0: Current
    //    1: Current
    //    2: Call to fuzion.sys.internal_array<u8>.length
    //    3: Call to fuzion.sys.internal_array<u8>.alloc<u8>
    fzT__RAny* fzM_0;
    fzM_0 = fzC__L1454fuzion__sy__oc_l_u8_g((fzT__L1394fuzion__sy__ay_l_u8_g*)fzCur,fzCur->fzF_0_length);
    //    4: Current
    //    5: Assign to fuzion.sys.internal_array<u8>.data
    fzCur->fzF_1_data = (fzT__RAny*)fzM_0;
    return *fzCur;
  }
}
// code for clazz#974 array<u8>:
fzT_4array_l_u8_g fzC_4array_l_u8_g(fzT__L1394fuzion__sy__ay_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#570 list<u8>.as_array:
fzT_4array_l_u8_g fzC_list_l_u8_g__as_u_array(fzT_list_l_u8_g* fzouter)
{
  // instance may escape, so we need malloc here
  fzT_list_l_u8_g__as_u_array* fzCur;
  fzCur = malloc(sizeof(fzT_list_l_u8_g__as_u_array));

  start:
  {
    fzCur->fzF_1__U40__1073759717 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.as_array.@1073759717
    //    2: Call to list<u8>.ref as_stream
    fzT_list_l_u8_g_Ras_u_stream* fzM_0;
    fzM_0 = fzC_list_l_u8_g_Ras_u_stream((fzT_list_l_u8_g*)fzCur->fzF_1__U40__1073759717);
    //    3: Current
    //    4: Assign to list<u8>.as_array.s
    fzCur->fzF_2_s = (fzT__Rstream_l_u8_g*)fzM_0;
    //    5: Current
    //    6: Call to list<u8>.as_array.@1073759717
    //    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__1073759717);
    //    8: Current
    //    9: Call to list<u8>.as_array.ref @1073759818
    fzT__L598list_l_u8___1073759818* fzM_2;
    fzM_2 = fzC__L598list_l_u8___1073759818((fzT_list_l_u8_g__as_u_array*)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>.as_array.result
    fzCur->fzF_0_result = fzM_3;
    return fzCur->fzF_0_result;
  }
}
// code for clazz#598 list<u8>.as_array.ref @1073759818:
fzT__L598list_l_u8___1073759818* fzC__L598list_l_u8___1073759818(fzT_list_l_u8_g__as_u_array* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L598list_l_u8___1073759818* fzCur;
  fzCur = malloc(sizeof(fzT__L598list_l_u8___1073759818));
  fzCur->clazzId = 598;

  start:
  {
    fzCur->fields.fzF_0__U40__1073759909 = fzouter;
    return fzCur;
  }
}
// code for clazz#626 list<u8>.as_array.ref @1073759818.call:
fzT_1u8 fzC__L626list_l_u8___818__1call(fzT__L598list_l_u8___1073759818* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L626list_l_u8___818__1call fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073760245 = (fzT__L598list_l_u8___1073759818*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to list<u8>.as_array.ref @1073759818.call.@1073760245
    //    2: Call to list<u8>.as_array.ref @1073759818.@1073759909
    //    3: Call to list<u8>.as_array.s
    //    4: Call to ref stream<u8>.next
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L1901list_l_u8___eam__next((fzT_list_l_u8_g_Ras_u_stream*)fzCur.fzF_2__U40__1073760245->fields.fzF_0__U40__1073759909->fzF_2_s);
    //    5: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    6: Current
    //    7: Assign to list<u8>.as_array.ref @1073759818.call.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#657 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__1073766033 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_s = (fzT__RSequence_l_u8_g*)arg0;
    //    0: Current
    //    1: Call to ref conststring.infix ++.@1073766033
    //    2: Call to ref conststring.as_list
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R1conststring__as_u_list(fzCur.fzF_2__U40__1073766033);
    //    3: Current
    //    4: Call to ref conststring.infix ++.s
    //    5: Call to ref Sequence<u8>.as_list
    // Dynamic access of ref Sequence<u8>.as_list
    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 973:
      {
        // Call calls ref array<u8>.as_list target: ref array<u8>:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R4array_l_u8_g__as_u_list((fzT__R4array_l_u8_g*)fzM_1);
        fzM_2 = fzM_3;
        break;
      }
      case 1165:
      {
        // Call calls ref conststring.as_list target: ref conststring:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__R1conststring__as_u_list((fzT__R1conststring*)fzM_1);
        fzM_2 = fzM_4;
        break;
      }
      case 1762:
      {
        // Call calls ref list<u8>.as_list target: ref list<u8>:
        fzT_list_l_u8_g fzM_5;
        fzM_5 = fzC__Rlist_l_u8_g__as_u_list((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>.as_list","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 = 1762;
    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#832 lteq<i32>:
fzT_bool fzC_2lteq_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance may escape, so we need malloc here
  fzT_2lteq_l_i32_g* fzCur;
  fzCur = malloc(sizeof(fzT_2lteq_l_i32_g));

  start:
  {
    fzCur->fzF_0_a = arg0;
    fzCur->fzF_1_b = arg1;
    //    0: Current
    //    1: Call to lteq<i32>.T
    fzC_2lteq_l_i32_g__T();
    //    2: Current
    //    3: Call to lteq<i32>.a
    //    4: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Call to lteq<i32>.b
    //    7: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    8: Call to i32.#type<i32<>>.lteq
    fzT_bool fzM_0;
    fzM_0 = fzC_i32_oHtype_l_i32_lgg__2lteq(fzCur->fzF_0_a,fzCur->fzF_1_b);
    //    9: Current
    //   10: Assign to lteq<i32>.result
    fzCur->fzF_2_result = fzM_0;
    return fzCur->fzF_2_result;
  }
}
// code for clazz#4423 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#834 lteq<u32>:
fzT_bool fzC_2lteq_l_u32_g(fzT_1u32 arg0, fzT_1u32 arg1)
{
  // instance may escape, so we need malloc here
  fzT_2lteq_l_u32_g* fzCur;
  fzCur = malloc(sizeof(fzT_2lteq_l_u32_g));

  start:
  {
    fzCur->fzF_0_a = arg0;
    fzCur->fzF_1_b = arg1;
    //    0: Current
    //    1: Call to lteq<u32>.T
    fzC_2lteq_l_u32_g__T();
    //    2: Current
    //    3: Call to lteq<u32>.a
    //    4: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Call to lteq<u32>.b
    //    7: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    8: Call to u32.#type<u32>.lteq
    fzT_bool fzM_0;
    fzM_0 = fzC_u32_oHtype_l_u32_g__2lteq(fzCur->fzF_0_a,fzCur->fzF_1_b);
    //    9: Current
    //   10: Assign to lteq<u32>.result
    fzCur->fzF_2_result = fzM_0;
    return fzCur->fzF_2_result;
  }
}
// code for clazz#836 lteq<i32>.T:
void fzC_2lteq_l_i32_g__T()
{
}
// code for clazz#838 lteq<u32>.T:
void fzC_2lteq_l_u32_g__T()
{
}
// code for clazz#855 ref codepoint.as_string:
fzT__RString* fzC__R1codepoint__as_u_string(fzT__R1codepoint* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1codepoint__as_u_string fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073789063 = (fzT__R1codepoint*)fzouter;
    //    0: Current
    //    1: Call to ref codepoint.as_string.@1073789063
    //    2: Box ref codepoint => ref codepoint
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Assign to ref codepoint.as_string.result
    fzCur.fzF_0_result = (fzT__RString*)fzCur.fzF_1__U40__1073789063;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#858 String.#type<String>.concat.ref @1074893663.as_string:
fzT__RString* fzC__L858String_oHt__s_u_string(fzT__L4700String_oHt__074893663* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L858String_oHt__s_u_string fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073789063 = (fzT__L4700String_oHt__074893663*)fzouter;
    //    0: Current
    //    1: Call to String.#type<String>.concat.ref @1074893663.as_string.@1073789063
    //    2: Box String.#type<String>.concat.ref @1074893663 => String.#type<String>.concat.ref @1074893663
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Assign to String.#type<String>.concat.ref @1074893663.as_string.result
    fzCur.fzF_0_result = (fzT__RString*)fzCur.fzF_1__U40__1073789063;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#887 ref conststring.infix +:
fzT__RString* fzC__R1conststring__1infix_wp(fzT__R1conststring* fzouter, fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__1infix_wp fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073792165 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_other = (fzT__RAny*)arg0;
    //    0: Call to Types
    fzC_Types();
    //    1: Call to Types.get<String>
    fzC_Types__get_l_String_g();
    //    2: Current
    //    3: Call to ref conststring.infix +.@1073792165
    //    4: Box ref conststring => ref conststring
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Call to ref conststring.infix +.other
    //    7: Call to ref Any.as_string
    // Dynamic access of ref Any.as_string
    fzT__RAny* fzM_0 = (fzT__RAny*)fzCur.fzF_0_other;
    fzT__RString* fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1149:
      {
        // Call calls ref codepoint.as_string target: ref codepoint:
        fzT__RString* fzM_2;
        fzM_2 = fzC__R1codepoint__as_u_string((fzT__R1codepoint*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 1165:
      {
        // Call calls ref conststring.as_string target: ref conststring:
        fzT__RString* fzM_3;
        fzM_3 = fzC__R1conststring__as_u_string((fzT__R1conststring*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 4700:
      {
        // Call calls String.#type<String>.concat.ref @1074893663.as_string target: String.#type<String>.concat.ref @1074893663:
        fzT__RString* fzM_4;
        fzM_4 = fzC__L858String_oHt__s_u_string((fzT__L4700String_oHt__074893663*)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 Any.as_string","ref conststring.infix +");
        exit(1);
      }
    }
    //    8: Call to String.#type<String>.concat
    fzT__RString* fzM_5;
    fzM_5 = fzC__L4696String_oHt____2concat((fzT__RString*)fzCur.fzF_2__U40__1073792165,(fzT__RString*)fzM_1);
    //    9: Current
    //   10: Assign to ref conststring.infix +.result
    fzCur.fzF_1_result = (fzT__RString*)fzM_5;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#890 String.#type<String>.concat.ref @1074893663.infix +:
fzT__RString* fzC__L890String_oHt___1infix_wp(fzT__L4700String_oHt__074893663* fzouter, fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT__L890String_oHt___1infix_wp fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073792165 = (fzT__L4700String_oHt__074893663*)fzouter;
    fzCur.fzF_0_other = (fzT__RAny*)arg0;
    //    0: Call to Types
    fzC_Types();
    //    1: Call to Types.get<String>
    fzC_Types__get_l_String_g();
    //    2: Current
    //    3: Call to String.#type<String>.concat.ref @1074893663.infix +.@1073792165
    //    4: Box String.#type<String>.concat.ref @1074893663 => String.#type<String>.concat.ref @1074893663
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Call to String.#type<String>.concat.ref @1074893663.infix +.other
    //    7: Call to ref Any.as_string
    fzT__RString* fzM_0;
    fzM_0 = fzC__R1conststring__as_u_string((fzT__R1conststring*)fzCur.fzF_0_other);
    //    8: Call to String.#type<String>.concat
    fzT__RString* fzM_1;
    fzM_1 = fzC__L4696String_oHt____2concat((fzT__RString*)fzCur.fzF_2__U40__1073792165,(fzT__RString*)fzM_0);
    //    9: Current
    //   10: Assign to String.#type<String>.concat.ref @1074893663.infix +.result
    fzCur.fzF_1_result = (fzT__RString*)fzM_1;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#911 Types:
void fzC_Types()
{
  // instance may escape, so we need malloc here
  fzT_Types* fzCur;
  fzCur = malloc(sizeof(fzT_Types));

  start:
  {
  }
}
// code for clazz#912 Types.get<String>:
void fzC_Types__get_l_String_g()
{
  // instance does not escape, put it on stack
  fzT_Types__get_l_String_g fzCur;

  start:
  {
    //    0: Current
    //    1: Call to Types.get<String>.T
    fzC_Types__get_l_String_g__T();
    //    2: Current
    //    3: Assign to Types.get<String>.result
    // access to Assign to Types.get<String>.result eliminated
  }
}
// code for clazz#913 Types.get<codepoint>:
void fzC_Types__get_l_codepoint_g()
{
  // instance does not escape, put it on stack
  fzT_Types__get_l_codepoint_g fzCur;

  start:
  {
    //    0: Current
    //    1: Call to Types.get<codepoint>.T
    fzC_Types__get_l_codepoint_g__T();
    //    2: Current
    //    3: Assign to Types.get<codepoint>.result
    // access to Assign to Types.get<codepoint>.result eliminated
  }
}
// code for clazz#914 Types.get<String>.T:
void fzC_Types__get_l_String_g__T()
{
}
// code for clazz#915 Types.get<codepoint>.T:
void fzC_Types__get_l_codepoint_g__T()
{
}
// code for clazz#922 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.internal_array<u8>
    fzT__L1394fuzion__sy__ay_l_u8_g fzM_0;
    fzM_0 = fzC__L1394fuzion__sy__ay_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 as_stream
    fzT__L14921i32__1inf___u_stream* fzM_2;
    fzM_2 = fzC__L14921i32__1inf___u_stream((fzT_1i32__1infix_woo*)fzH_heapClone(&fzM_1,sizeof fzM_1));
    //   10: Current
    //   11: Assign to array<u8>.@1073861743
    fzCur->fzF_5__U40__1073861743 = (fzT__L14921i32__1inf___u_stream*)fzM_2;
    //   12: Current
    //   13: Call to array<u8>.@1073861743
    //   14: Call to i32.infix ...ref as_stream.has_next
    fzT_bool fzM_3;
    fzM_3 = fzC__L14981i32__1inf__as_u_next(fzCur->fzF_5__U40__1073861743);
    //   15: Match
    switch (fzM_3.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to array<u8>.@1073861743
        //    2: Call to i32.infix ...ref as_stream.next
        fzT_1i32 fzM_4;
        fzM_4 = fzC__L15021i32__1inf__eam__next(fzCur->fzF_5__U40__1073861743);
        //    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>.@1073861793
        fzC__L9522array_l_u__1073861793((fzT_2array_l_u8_g*)fzCur,fzCur->fzF_3_x);
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Call to unit
        fzC_unit();
        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#922 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 infix ≥<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2265_l_i32_g(fzCur->fzF_0_length,0);
        //    4: Current
        //    5: Assign to array<u8>.@1073862566
        fzCur->fzF_6__U40__1073862566 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to array<u8>.@1073862566
        // access to Assign to array<u8>.@1073862566 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to array<u8>.@1073862566
    if (!fzCur->fzF_6__U40__1073862566.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","array<u8>");
      exit(1);
    }
  }
}
// code for clazz#1486 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__1074183345 = fzouter;
    fzCur->fzF_0_upper = arg0;
    return *fzCur;
  }
}
// code for clazz#937 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__1073861635 = fzouter;
    //    0: Const
    //    1: Current
    //    2: Call to array<u8>.indices.@1073861635
    //    3: Call to array<u8>.length
    //    4: Const
    //    5: Call to i32.infix -
    fzP_1i32__1infix_wm(fzCur.fzF_1__U40__1073861635->fzF_0_length,1);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1infix_wm(fzCur.fzF_1__U40__1073861635->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#952 array<u8>.@1073861793:
void fzC__L9522array_l_u__1073861793(fzT_2array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L9522array_l_u__1073861793 fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073862394 = fzouter;
    fzCur.fzF_0_x = arg0;
    //    0: Current
    //    1: Call to array<u8>.@1073861793.@1073862394
    //    2: Call to array<u8>.internal
    //    3: Current
    //    4: Call to array<u8>.@1073861793.x
    //    5: Current
    //    6: Call to array<u8>.@1073861793.@1073862394
    //    7: Call to array<u8>.init
    //    8: Current
    //    9: Call to array<u8>.@1073861793.x
    //   10: Call to ref Function<u8, i32>.call
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L626list_l_u8___818__1call((fzT__L598list_l_u8___1073759818*)fzCur.fzF_2__U40__1073862394->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.internal_array<u8>.index [ ] := 
    fzP__L1433fuzion__sy__d_wU3a_ew((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_2__U40__1073862394->fzF_4_internal,fzCur.fzF_0_x,fzM_0);
    fzC__L1433fuzion__sy__d_wU3a_ew((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_2__U40__1073862394->fzF_4_internal,fzCur.fzF_0_x,fzM_0);
    //   13: Pop
    //   14: Current
    //   15: Call to array<u8>.@1073861793.@1073862394
    //   16: Call to array<u8>.@1073861743
    //   17: Call to i32.infix ...ref as_stream.has_next
    fzT_bool fzM_1;
    fzM_1 = fzC__L14981i32__1inf__as_u_next(fzCur.fzF_2__U40__1073862394->fzF_5__U40__1073861743);
    //   18: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to array<u8>.@1073861793.@1073862394
        //    2: Call to array<u8>.@1073861743
        //    3: Call to i32.infix ...ref as_stream.next
        fzT_1i32 fzM_2;
        fzM_2 = fzC__L15021i32__1inf__eam__next(fzCur.fzF_2__U40__1073862394->fzF_5__U40__1073861743);
        //    4: Current
        //    5: Assign to array<u8>.@1073861793.x
        fzCur.fzF_3_x = fzM_2;
        //    6: Current
        //    7: Call to array<u8>.@1073861793.@1073862394
        //    8: Current
        //    9: Call to array<u8>.@1073861793.x
        //   10: Call to array<u8>.@1073861793
        // tail recursion on same target
        arg0 = fzCur.fzF_3_x;
        goto start;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Call to unit
        fzC_unit();
        //    1: Current
        //    2: Assign to array<u8>.@1073861793.@1073862516
        // access to Assign to array<u8>.@1073861793.@1073862516 eliminated
        break;
      }
    }
    //   21: Current
    //   22: Call to array<u8>.@1073861793.@1073862516
    // access to Call to array<u8>.@1073861793.@1073862516 eliminated
    //   23: Current
    //   24: Assign to array<u8>.@1073861793.@1073862344
    // access to Assign to array<u8>.@1073861793.@1073862344 eliminated
  }
}
// code for clazz#999 ref array<u8>.index [ ]:
fzT_1u8 fzC__L999_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L999_R4array_l__wU5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073863720 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref array<u8>.index [ ].@1073863720
    //    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__1073863720;
    fzT__L1394fuzion__sy__ay_l_u8_g fzM_1;
    switch (fzM_0->clazzId)
    {
      case 973:
      {
        // Call calls ref array<u8>.internalArray target: ref array<u8>:
        fzM_1 = fzM_0->fields.fzF_0_internalArray;
        break;
      }
      case 1165:
      {
        // 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.internal_array<u8>.index [ ]
    fzP__L1400fuzion__sy__U5b_wU5d_((fzT__L1394fuzion__sy__ay_l_u8_g*)fzH_heapClone(&fzM_1,sizeof fzM_1),fzCur.fzF_0_i);
    fzT_1u8 fzM_2;
    fzM_2 = fzC__L1400fuzion__sy__U5b_wU5d_((fzT__L1394fuzion__sy__ay_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#999 precondition of ref array<u8>.index [ ]:
void fzP__L999_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__L999_R4array_l__wU5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073863720 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__1073863720 = (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: Call to infix ≤<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2264_l_i32_g(0,fzCur.fzF_0_i);
        //    4: Current
        //    5: Assign to ref array<u8>.index [ ].@1073863770
        fzCur.fzF_3__U40__1073863770 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.index [ ].@1073863770
        // access to Assign to ref array<u8>.index [ ].@1073863770 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.index [ ].@1073863770
    if (!fzCur.fzF_3__U40__1073863770.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.index [ ]");
      exit(1);
    }
    //    0: Call to safety
    fzT_bool fzM_2;
    fzM_2 = fzC_safety();
    //    1: Match
    switch (fzM_2.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to ref array<u8>.index [ ].i
        //    2: Current
        //    3: Call to ref array<u8>.index [ ].@1073863720
        //    4: Call to ref array<u8>.length
        // Dynamic access of ref array<u8>.length
        fzT__R4array_l_u8_g* fzM_3 = (fzT__R4array_l_u8_g*)fzCur.fzF_2__U40__1073863720;
        fzT_1i32 fzM_4;
        switch (fzM_3->clazzId)
        {
          case 973:
          {
            // Call calls ref array<u8>.length target: ref array<u8>:
            fzT_1i32 fzM_5;
            fzM_5 = fzC__R4array_l_u8_g__length(fzM_3);
            fzM_4 = fzM_5;
            break;
          }
          case 1165:
          {
            // Call calls ref conststring.length target: ref conststring:
            fzT_1i32 fzM_6;
            fzM_6 = fzC__R1conststring__length((fzT__R1conststring*)fzM_3);
            fzM_4 = fzM_6;
            break;
          }
          default:
          {
            fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_3->clazzId,"ref array<u8>.length","ref array<u8>.index [ ]");
            exit(1);
          }
        }
        //    5: Call to infix ⩻<i32>
        fzT_bool fzM_7;
        fzM_7 = fzC_2infix_wU2a7b_l_i32_g(fzCur.fzF_0_i,fzM_4);
        //    6: Current
        //    7: Assign to ref array<u8>.index [ ].@1073863820
        fzCur.fzF_4__U40__1073863820 = fzM_7;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.index [ ].@1073863820
        // access to Assign to ref array<u8>.index [ ].@1073863820 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.index [ ].@1073863820
    if (!fzCur.fzF_4__U40__1073863820.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.index [ ]");
      exit(1);
    }
  }
}
// code for clazz#1000 ref conststring.index [ ]:
fzT_1u8 fzC__L1000_R1constst__U5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L1000_R1constst__U5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073863720 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref conststring.index [ ].@1073863720
    //    2: Call to ref conststring.internalArray
    //    3: Current
    //    4: Call to ref conststring.index [ ].i
    //    5: Call to fuzion.sys.internal_array<u8>.index [ ]
    fzP__L1400fuzion__sy__U5b_wU5d_((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_2__U40__1073863720->fields.fzF_0_internalArray,fzCur.fzF_0_i);
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L1400fuzion__sy__U5b_wU5d_((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_2__U40__1073863720->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#1000 precondition of ref conststring.index [ ]:
void fzP__L1000_R1constst__U5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__L1000_R1constst__U5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073863720 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__1073863720 = (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);
    //    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#1011 ref array<u8>.as_list:
fzT_list_l_u8_g fzC__R4array_l_u8_g__as_u_list(fzT__R4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__as_u_list fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073864097 = (fzT__R4array_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.as_list.@1073864097
    //    2: Const
    //    3: Call to ref array<u8>.as_list
    fzP__R4array_l_u8_g__1as_u_list(fzCur.fzF_1__U40__1073864097,0);
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R4array_l_u8_g__1as_u_list(fzCur.fzF_1__U40__1073864097,0);
    //    4: Current
    //    5: Assign to ref array<u8>.as_list.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1012 ref conststring.as_list:
fzT_list_l_u8_g fzC__R1conststring__as_u_list(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__as_u_list fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073864097 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.as_list.@1073864097
    //    2: Const
    //    3: Call to ref conststring.as_list
    fzP__R1conststring__1as_u_list(fzCur.fzF_1__U40__1073864097,0);
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R1conststring__1as_u_list(fzCur.fzF_1__U40__1073864097,0);
    //    4: Current
    //    5: Assign to ref conststring.as_list.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1017 ref array<u8>.as_list:
fzT_list_l_u8_g fzC__R4array_l_u8_g__1as_u_list(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__1as_u_list fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073864616 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref array<u8>.as_list.@1073864616
    //    2: Current
    //    3: Call to ref array<u8>.as_list.i
    //    4: Current
    //    5: Call to ref array<u8>.as_list.@1073864616
    //    6: Call to ref array<u8>.length
    fzT_1i32 fzM_0;
    fzM_0 = fzC__R4array_l_u8_g__length(fzCur.fzF_2__U40__1073864616);
    //    7: Call to ref array<u8>.slice
    fzP__R4array_l_u8_g__2slice(fzCur.fzF_2__U40__1073864616,fzCur.fzF_0_i,fzM_0);
    fzT_list_l_u8_g fzM_1;
    fzM_1 = fzC__R4array_l_u8_g__2slice(fzCur.fzF_2__U40__1073864616,fzCur.fzF_0_i,fzM_0);
    //    8: Current
    //    9: Assign to ref array<u8>.as_list.result
    fzCur.fzF_1_result = fzM_1;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1017 precondition of ref array<u8>.as_list:
void fzP__R4array_l_u8_g__1as_u_list(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__R4array_l_u8_g__1as_u_list fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073864616 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__1073864616 = (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>.as_list.i
        //    2: Const
        //    3: Call to infix ≥<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2265_l_i32_g(fzCur.fzF_0_i,0);
        //    4: Current
        //    5: Assign to ref array<u8>.as_list.@1073864666
        fzCur.fzF_3__U40__1073864666 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.as_list.@1073864666
        // access to Assign to ref array<u8>.as_list.@1073864666 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.as_list.@1073864666
    if (!fzCur.fzF_3__U40__1073864666.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.as_list");
      exit(1);
    }
  }
}
// code for clazz#1018 ref conststring.as_list:
fzT_list_l_u8_g fzC__R1conststring__1as_u_list(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__1as_u_list fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073864616 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref conststring.as_list.@1073864616
    //    2: Current
    //    3: Call to ref conststring.as_list.i
    //    4: Current
    //    5: Call to ref conststring.as_list.@1073864616
    //    6: Call to ref conststring.length
    fzT_1i32 fzM_0;
    fzM_0 = fzC__R1conststring__length(fzCur.fzF_2__U40__1073864616);
    //    7: Call to ref conststring.slice
    fzP__R1conststring__2slice(fzCur.fzF_2__U40__1073864616,fzCur.fzF_0_i,fzM_0);
    fzT_list_l_u8_g fzM_1;
    fzM_1 = fzC__R1conststring__2slice(fzCur.fzF_2__U40__1073864616,fzCur.fzF_0_i,fzM_0);
    //    8: Current
    //    9: Assign to ref conststring.as_list.result
    fzCur.fzF_1_result = fzM_1;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1018 precondition of ref conststring.as_list:
void fzP__R1conststring__1as_u_list(fzT__R1conststring* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__R1conststring__1as_u_list fzCur;

  start:
  {
    fzCur.fzF_2__U40__1073864616 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__1073864616 = (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.as_list.i
        //    2: Const
        //    3: Call to infix ≥<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2265_l_i32_g(fzCur.fzF_0_i,0);
        //    4: Current
        //    5: Assign to ref conststring.as_list.@1073864666
        fzCur.fzF_3__U40__1073864666 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref conststring.as_list.@1073864666
        // access to Assign to ref conststring.as_list.@1073864666 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref conststring.as_list.@1073864666
    if (!fzCur.fzF_3__U40__1073864666.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref conststring.as_list");
      exit(1);
    }
  }
}
// code for clazz#1041 ref array<u8>.as_array:
fzT_4array_l_u8_g fzC__R4array_l_u8_g__as_u_array(fzT__R4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__as_u_array fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073866061 = (fzT__R4array_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.as_array.@1073866061
    //    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__1073866061->fields.fzF_0_internalArray);
    //    7: Current
    //    8: Assign to ref array<u8>.as_array.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1042 ref conststring.as_array:
fzT_4array_l_u8_g fzC__R1conststring__as_u_array(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__as_u_array fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073866061 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.as_array.@1073866061
    //    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__1073866061->fields.fzF_0_internalArray);
    //    7: Current
    //    8: Assign to ref conststring.as_array.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1047 ref array<u8>.slice:
fzT_list_l_u8_g fzC__R4array_l_u8_g__2slice(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__2slice fzCur;

  start:
  {
    fzCur.fzF_3__U40__1073868265 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_from = arg0;
    fzCur.fzF_1_to = arg1;
    //    0: Current
    //    1: Call to ref array<u8>.slice.to
    //    2: Current
    //    3: Call to ref array<u8>.slice.from
    //    4: Call to infix ≤<i32>
    fzT_bool fzM_0;
    fzM_0 = fzC_2infix_wU2264_l_i32_g(fzCur.fzF_1_to,fzCur.fzF_0_from);
    //    5: Match
    switch (fzM_0.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 Any
        fzT_list_l_u8_g fzM_1;
        fzM_1.fzChoice.vref = (fzT__RAny*)0;
        //    2: Current
        //    3: Assign to ref array<u8>.slice.@1073868315
        fzCur.fzF_4__U40__1073868315 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to ref array<u8>.slice.@1073868265
        //    2: Current
        //    3: Call to ref array<u8>.slice.from
        //    4: Current
        //    5: Call to ref array<u8>.slice.to
        //    6: Call to ref array<u8>.arrayCons
        fzP__R4array_l_u8_g__2arrayCons(fzCur.fzF_3__U40__1073868265,fzCur.fzF_0_from,fzCur.fzF_1_to);
        // Dynamic access of ref array<u8>.arrayCons
        fzT__R4array_l_u8_g* fzM_2 = (fzT__R4array_l_u8_g*)fzCur.fzF_3__U40__1073868265;
        fzT__R4array_l_u8_g__2arrayCons fzM_3;
        switch (fzM_2->clazzId)
        {
          case 973:
          {
            // Call calls ref array<u8>.arrayCons target: ref array<u8>:
            fzT__R4array_l_u8_g__2arrayCons fzM_4;
            fzM_4 = fzC__R4array_l_u8_g__2arrayCons(fzM_2,fzCur.fzF_0_from,fzCur.fzF_1_to);
            fzM_3 = fzM_4;
            break;
          }
          case 1165:
          {
            // Call calls ref array<u8>.arrayCons target: ref conststring:
            fzT__R4array_l_u8_g__2arrayCons fzM_5;
            fzM_5 = fzC__R4array_l_u8_g__2arrayCons(fzM_2,fzCur.fzF_0_from,fzCur.fzF_1_to);
            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>.arrayCons","ref array<u8>.slice");
            exit(1);
          }
        }
        //    7: Box ref array<u8>.arrayCons => ref array<u8>.ref arrayCons
        // Box ref array<u8>.arrayCons
        fzT__R4array_l_u8_g_R2arrayCons* fzM_6;
        fzM_6 = malloc(sizeof(fzT__R4array_l_u8_g_R2arrayCons));
        fzM_6->clazzId = 1075;
        fzM_6->fields = fzM_3;
        //    8: Tag
        // Tag a value to be of choice type list<u8> static value type array<u8>.ref arrayCons
        fzT_list_l_u8_g fzM_7;
        fzM_7.fzChoice.vref = (fzT__RAny*)fzM_6;
        //    9: Current
        //   10: Assign to ref array<u8>.slice.@1073868315
        fzCur.fzF_4__U40__1073868315 = fzM_7;
        break;
      }
    }
    //    8: Current
    //    9: Call to ref array<u8>.slice.@1073868315
    //   10: Current
    //   11: Assign to ref array<u8>.slice.result
    fzCur.fzF_2_result = fzCur.fzF_4__U40__1073868315;
    return fzCur.fzF_2_result;
  }
}
// code for clazz#1047 precondition of ref array<u8>.slice:
void fzP__R4array_l_u8_g__2slice(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1i32 arg1)
{
  // for precondition only, need to check if it may escape
  fzT__R4array_l_u8_g__2slice fzCur;

  start:
  {
    fzCur.fzF_3__U40__1073868265 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_from = arg0;
    fzCur.fzF_1_to = arg1;
    fzCur.fzF_3__U40__1073868265 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur.fzF_0_from = arg0;
    fzCur.fzF_1_to = arg1;
    //    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>.slice.from
        //    2: Const
        //    3: Call to infix ≥<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2265_l_i32_g(fzCur.fzF_0_from,0);
        //    4: Current
        //    5: Assign to ref array<u8>.slice.@1073868365
        fzCur.fzF_5__U40__1073868365 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.slice.@1073868365
        // access to Assign to ref array<u8>.slice.@1073868365 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.slice.@1073868365
    if (!fzCur.fzF_5__U40__1073868365.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.slice");
      exit(1);
    }
  }
}
// code for clazz#1048 ref conststring.slice:
fzT_list_l_u8_g fzC__R1conststring__2slice(fzT__R1conststring* fzouter, fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__2slice fzCur;

  start:
  {
    fzCur.fzF_3__U40__1073868265 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_from = arg0;
    fzCur.fzF_1_to = arg1;
    //    0: Current
    //    1: Call to ref conststring.slice.to
    //    2: Current
    //    3: Call to ref conststring.slice.from
    //    4: Call to infix ≤<i32>
    fzT_bool fzM_0;
    fzM_0 = fzC_2infix_wU2264_l_i32_g(fzCur.fzF_1_to,fzCur.fzF_0_from);
    //    5: Match
    switch (fzM_0.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 Any
        fzT_list_l_u8_g fzM_1;
        fzM_1.fzChoice.vref = (fzT__RAny*)0;
        //    2: Current
        //    3: Assign to ref conststring.slice.@1073868315
        fzCur.fzF_4__U40__1073868315 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to ref conststring.slice.@1073868265
        //    2: Current
        //    3: Call to ref conststring.slice.from
        //    4: Current
        //    5: Call to ref conststring.slice.to
        //    6: Call to ref array<u8>.arrayCons
        fzP__R4array_l_u8_g__2arrayCons((fzT__R4array_l_u8_g*)fzCur.fzF_3__U40__1073868265,fzCur.fzF_0_from,fzCur.fzF_1_to);
        fzT__R4array_l_u8_g__2arrayCons fzM_2;
        fzM_2 = fzC__R4array_l_u8_g__2arrayCons((fzT__R4array_l_u8_g*)fzCur.fzF_3__U40__1073868265,fzCur.fzF_0_from,fzCur.fzF_1_to);
        //    7: Box ref array<u8>.arrayCons => ref array<u8>.ref arrayCons
        // Box ref array<u8>.arrayCons
        fzT__R4array_l_u8_g_R2arrayCons* fzM_3;
        fzM_3 = malloc(sizeof(fzT__R4array_l_u8_g_R2arrayCons));
        fzM_3->clazzId = 1075;
        fzM_3->fields = fzM_2;
        //    8: Tag
        // Tag a value to be of choice type list<u8> static value type array<u8>.ref arrayCons
        fzT_list_l_u8_g fzM_4;
        fzM_4.fzChoice.vref = (fzT__RAny*)fzM_3;
        //    9: Current
        //   10: Assign to ref conststring.slice.@1073868315
        fzCur.fzF_4__U40__1073868315 = fzM_4;
        break;
      }
    }
    //    8: Current
    //    9: Call to ref conststring.slice.@1073868315
    //   10: Current
    //   11: Assign to ref conststring.slice.result
    fzCur.fzF_2_result = fzCur.fzF_4__U40__1073868315;
    return fzCur.fzF_2_result;
  }
}
// code for clazz#1048 precondition of ref conststring.slice:
void fzP__R1conststring__2slice(fzT__R1conststring* fzouter, fzT_1i32 arg0, fzT_1i32 arg1)
{
  // for precondition only, need to check if it may escape
  fzT__R1conststring__2slice fzCur;

  start:
  {
    fzCur.fzF_3__U40__1073868265 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_from = arg0;
    fzCur.fzF_1_to = arg1;
    fzCur.fzF_3__U40__1073868265 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_from = arg0;
    fzCur.fzF_1_to = arg1;
    //    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.slice.from
        //    2: Const
        //    3: Call to infix ≥<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2265_l_i32_g(fzCur.fzF_0_from,0);
        //    4: Current
        //    5: Assign to ref conststring.slice.@1073868365
        fzCur.fzF_5__U40__1073868365 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref conststring.slice.@1073868365
        // access to Assign to ref conststring.slice.@1073868365 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref conststring.slice.@1073868365
    if (!fzCur.fzF_5__U40__1073868365.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref conststring.slice");
      exit(1);
    }
  }
}
// code for clazz#1065 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__1073870457 = fzouter;
    //    0: Current
    //    1: Call to array<u8>.length.@1073870457
    //    2: Call to array<u8>.internalArray
    //    3: Call to fuzion.sys.internal_array<u8>.length
    //    4: Current
    //    5: Assign to array<u8>.length.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__1073870457->fzF_0_internalArray.fzF_0_length;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1066 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__1073870457 = (fzT__R4array_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.length.@1073870457
    //    2: Call to ref array<u8>.internalArray
    //    3: Call to fuzion.sys.internal_array<u8>.length
    //    4: Current
    //    5: Assign to ref array<u8>.length.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__1073870457->fields.fzF_0_internalArray.fzF_0_length;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1067 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__1073870457 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.length.@1073870457
    //    2: Call to ref conststring.internalArray
    //    3: Call to fuzion.sys.internal_array<u8>.length
    //    4: Current
    //    5: Assign to ref conststring.length.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__1073870457->fields.fzF_0_internalArray.fzF_0_length;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1077 ref array<u8>.arrayCons:
fzT__R4array_l_u8_g__2arrayCons fzC__R4array_l_u8_g__2arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance may escape, so we need malloc here
  fzT__R4array_l_u8_g__2arrayCons* fzCur;
  fzCur = malloc(sizeof(fzT__R4array_l_u8_g__2arrayCons));

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

  start:
  {
    fzCur->fzF_2__U40__1073875016 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur->fzF_0_i = arg0;
    fzCur->fzF_1_to = arg1;
    fzCur->fzF_2__U40__1073875016 = (fzT__R4array_l_u8_g*)fzouter;
    fzCur->fzF_0_i = arg0;
    fzCur->fzF_1_to = arg1;
    //    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: Call to infix ≤<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2264_l_i32_g(0,fzCur->fzF_0_i);
        //    4: Current
        //    5: Assign to ref array<u8>.arrayCons.@1073875763
        fzCur->fzF_3__U40__1073875763 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.arrayCons.@1073875763
        // access to Assign to ref array<u8>.arrayCons.@1073875763 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.arrayCons.@1073875763
    if (!fzCur->fzF_3__U40__1073875763.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.arrayCons");
      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 ref array<u8>.arrayCons.i
        //    2: Current
        //    3: Call to ref array<u8>.arrayCons.to
        //    4: Call to infix ⩻<i32>
        fzT_bool fzM_3;
        fzM_3 = fzC_2infix_wU2a7b_l_i32_g(fzCur->fzF_0_i,fzCur->fzF_1_to);
        //    5: Current
        //    6: Assign to ref array<u8>.arrayCons.@1073875813
        fzCur->fzF_4__U40__1073875813 = fzM_3;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.arrayCons.@1073875813
        // access to Assign to ref array<u8>.arrayCons.@1073875813 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.arrayCons.@1073875813
    if (!fzCur->fzF_4__U40__1073875813.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.arrayCons");
      exit(1);
    }
    //    0: Call to debug
    fzT_bool fzM_4;
    fzM_4 = fzC_debug();
    //    1: Match
    switch (fzM_4.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to ref array<u8>.arrayCons.to
        //    2: Current
        //    3: Call to ref array<u8>.arrayCons.@1073875016
        //    4: Call to ref array<u8>.length
        // Dynamic access of ref array<u8>.length
        fzT__R4array_l_u8_g* fzM_5 = (fzT__R4array_l_u8_g*)fzCur->fzF_2__U40__1073875016;
        fzT_1i32 fzM_6;
        switch (fzM_5->clazzId)
        {
          case 973:
          {
            // Call calls ref array<u8>.length target: ref array<u8>:
            fzT_1i32 fzM_7;
            fzM_7 = fzC__R4array_l_u8_g__length(fzM_5);
            fzM_6 = fzM_7;
            break;
          }
          case 1165:
          {
            // Call calls ref conststring.length target: ref conststring:
            fzT_1i32 fzM_8;
            fzM_8 = fzC__R1conststring__length((fzT__R1conststring*)fzM_5);
            fzM_6 = fzM_8;
            break;
          }
          default:
          {
            fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_5->clazzId,"ref array<u8>.length","ref array<u8>.arrayCons");
            exit(1);
          }
        }
        //    5: Call to infix ≤<i32>
        fzT_bool fzM_9;
        fzM_9 = fzC_2infix_wU2264_l_i32_g(fzCur->fzF_1_to,fzM_6);
        //    6: Current
        //    7: Assign to ref array<u8>.arrayCons.@1073875863
        fzCur->fzF_5__U40__1073875863 = fzM_9;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref array<u8>.arrayCons.@1073875863
        // access to Assign to ref array<u8>.arrayCons.@1073875863 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref array<u8>.arrayCons.@1073875863
    if (!fzCur->fzF_5__U40__1073875863.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref array<u8>.arrayCons");
      exit(1);
    }
  }
}
// code for clazz#1090 ref array<u8>.ref arrayCons.head:
fzT_1u8 fzC__L1090_R4array_l__ons__head(fzT__R4array_l_u8_g_R2arrayCons* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1090_R4array_l__ons__head fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073875330 = (fzT__R4array_l_u8_g_R2arrayCons*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.ref arrayCons.head.@1073875330
    //    2: Call to ref array<u8>.ref arrayCons.@1073875016
    //    3: Current
    //    4: Call to ref array<u8>.ref arrayCons.head.@1073875330
    //    5: Call to ref array<u8>.ref arrayCons.i
    //    6: Call to ref array<u8>.index [ ]
    fzP__L999_R4array_l__wU5b_wU5d_(fzCur.fzF_1__U40__1073875330->fields.fzF_2__U40__1073875016,fzCur.fzF_1__U40__1073875330->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__1073875330->fields.fzF_2__U40__1073875016;
    fzT_1u8 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 973:
      {
        // Call calls ref array<u8>.index [ ] target: ref array<u8>:
        fzT_1u8 fzM_2;
        fzM_2 = fzC__L999_R4array_l__wU5b_wU5d_(fzM_0,fzCur.fzF_1__U40__1073875330->fields.fzF_0_i);
        fzM_1 = fzM_2;
        break;
      }
      case 1165:
      {
        // Call calls ref conststring.index [ ] target: ref conststring:
        fzT_1u8 fzM_3;
        fzM_3 = fzC__L1000_R1constst__U5b_wU5d_((fzT__R1conststring*)fzM_0,fzCur.fzF_1__U40__1073875330->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#1093 ref array<u8>.ref arrayCons.tail:
fzT_list_l_u8_g fzC__L1093_R4array_l__ons__tail(fzT__R4array_l_u8_g_R2arrayCons* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1093_R4array_l__ons__tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073875713 = (fzT__R4array_l_u8_g_R2arrayCons*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.ref arrayCons.tail.@1073875713
    //    2: Call to ref array<u8>.ref arrayCons.@1073875016
    //    3: Current
    //    4: Call to ref array<u8>.ref arrayCons.tail.@1073875713
    //    5: Call to ref array<u8>.ref arrayCons.i
    //    6: Const
    //    7: Call to i32.infix +
    fzP_1i32__1infix_wp(fzCur.fzF_1__U40__1073875713->fields.fzF_0_i,1);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1infix_wp(fzCur.fzF_1__U40__1073875713->fields.fzF_0_i,1);
    //    8: Current
    //    9: Call to ref array<u8>.ref arrayCons.tail.@1073875713
    //   10: Call to ref array<u8>.ref arrayCons.to
    //   11: Call to ref array<u8>.slice
    fzP__R4array_l_u8_g__2slice(fzCur.fzF_1__U40__1073875713->fields.fzF_2__U40__1073875016,fzM_0,fzCur.fzF_1__U40__1073875713->fields.fzF_1_to);
    // Dynamic access of ref array<u8>.slice
    fzT__R4array_l_u8_g* fzM_1 = (fzT__R4array_l_u8_g*)fzCur.fzF_1__U40__1073875713->fields.fzF_2__U40__1073875016;
    fzT_list_l_u8_g fzM_2;
    switch (fzM_1->clazzId)
    {
      case 973:
      {
        // Call calls ref array<u8>.slice target: ref array<u8>:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R4array_l_u8_g__2slice(fzM_1,fzM_0,fzCur.fzF_1__U40__1073875713->fields.fzF_1_to);
        fzM_2 = fzM_3;
        break;
      }
      case 1165:
      {
        // Call calls ref conststring.slice target: ref conststring:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__R1conststring__2slice((fzT__R1conststring*)fzM_1,fzM_0,fzCur.fzF_1__U40__1073875713->fields.fzF_1_to);
        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>.slice","ref array<u8>.ref arrayCons.tail");
        exit(1);
      }
    }
    //   12: Current
    //   13: Assign to ref array<u8>.ref arrayCons.tail.result
    fzCur.fzF_0_result = fzM_2;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1112 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#1114 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#1117 fuzion.sys.err.ascii:
void fzC_fuzion__sys__err__ascii()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__sys__err__ascii* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__sys__err__ascii));

  start:
  {
  }
}
// code for clazz#1120 fuzion.sys.err.ascii.lf:
fzT_1u8 fzC_fuzion__sys__err__ascii__lf()
{
  // instance does not escape, put it on stack
  fzT_fuzion__sys__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.sys.err.ascii.lf.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1254 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#1150 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#1150 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: Call to Types
        fzC_Types();
        //    1: Call to Types.get<codepoint>
        fzC_Types__get_l_codepoint_g();
        //    2: Call to codepoint.#type<codepoint<>>.range
        fzT_1u32__1infix_woo fzM_1;
        fzM_1 = fzC__L4712codepoint___gg__range();
        //    3: Current
        //    4: Call to codepoint.val
        //    5: 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);
        //    6: Current
        //    7: Assign to codepoint.@1073963365
        fzCur->fzF_1__U40__1073963365 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to codepoint.@1073963365
        // access to Assign to codepoint.@1073963365 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to codepoint.@1073963365
    if (!fzCur->fzF_1__U40__1073963365.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: Call to Types
        fzC_Types();
        //    1: Call to Types.get<codepoint>
        fzC_Types__get_l_codepoint_g();
        //    2: Call to codepoint.#type<codepoint<>>.utf16_surrogate
        fzT_1u32__1infix_woo fzM_4;
        fzM_4 = fzC__L4725codepoint___surrogate();
        //    3: Current
        //    4: Call to codepoint.val
        //    5: 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);
        //    6: Match
        switch (fzM_5.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to codepoint.@1073963415
            fzCur->fzF_2__U40__1073963415 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to codepoint.@1073963415
            fzCur->fzF_2__U40__1073963415 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to codepoint.@1073963415
        // access to Assign to codepoint.@1073963415 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to codepoint.@1073963415
    if (!fzCur->fzF_2__U40__1073963415.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","codepoint");
      exit(1);
    }
  }
}
// code for clazz#1153 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__1073962757 = (fzT__R1codepoint*)fzouter;
    //    0: Call to Types
    fzC_Types();
    //    1: Call to Types.get<codepoint>
    fzC_Types__get_l_codepoint_g();
    //    2: Call to codepoint.#type<codepoint<>>.utf8_encoded_in_one_byte
    fzT_1u32__1infix_woo fzM_0;
    fzM_0 = fzC__L4716codepoint___ne_u_byte();
    //    3: Current
    //    4: Call to ref codepoint.utf8.@1073962757
    //    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__1073962757->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.internal_array<u8>
        fzT__L1394fuzion__sy__ay_l_u8_g fzM_2;
        fzM_2 = fzC__L1394fuzion__sy__ay_l_u8_g(1);
        //    4: Current
        //    5: Assign to ref codepoint.utf8.@1073962857
        fzCur.fzF_3__U40__1073962857 = fzM_2;
        //    6: Current
        //    7: Call to ref codepoint.utf8.@1073962857
        //    8: Const
        //    9: Current
        //   10: Call to ref codepoint.utf8.@1073962757
        //   11: Call to ref codepoint.val
        //   12: Call to u32.low8bits
        fzT_1u8 fzM_3;
        fzM_3 = fzC_1u32__low8bits(fzCur.fzF_1__U40__1073962757->fields.fzF_0_val);
        //   13: Call to fuzion.sys.internal_array<u8>.set_no_pre_condition
        fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_3__U40__1073962857,0,fzM_3);
        //   14: Pop
        //   15: Current
        //   16: Call to ref codepoint.utf8.@1073962857
        //   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__1073962857);
        //   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 = 973;
        fzM_5->fields = fzM_4;
        //   22: Current
        //   23: Assign to ref codepoint.utf8.@1073962807
        fzCur.fzF_2__U40__1073962807 = (fzT__RSequence_l_u8_g*)fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Call to Types
        fzC_Types();
        //    1: Call to Types.get<codepoint>
        fzC_Types__get_l_codepoint_g();
        //    2: Call to codepoint.#type<codepoint<>>.utf8_encoded_in_two_bytes
        fzT_1u32__1infix_woo fzM_6;
        fzM_6 = fzC__L4719codepoint___o_u_bytes();
        //    3: Current
        //    4: Call to ref codepoint.utf8.@1073962757
        //    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__1073962757->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.internal_array<u8>
            fzT__L1394fuzion__sy__ay_l_u8_g fzM_8;
            fzM_8 = fzC__L1394fuzion__sy__ay_l_u8_g(2);
            //    4: Current
            //    5: Assign to ref codepoint.utf8.@1073962907
            fzCur.fzF_4__U40__1073962907 = fzM_8;
            //    6: Current
            //    7: Call to ref codepoint.utf8.@1073962907
            //    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.@1073962757
            //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
            fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_4__U40__1073962907,0,fzM_13);
            //   21: Pop
            //   22: Current
            //   23: Call to ref codepoint.utf8.@1073962907
            //   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.@1073962757
            //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
            fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_4__U40__1073962907,1,fzM_17);
            //   35: Pop
            //   36: Current
            //   37: Call to ref codepoint.utf8.@1073962907
            //   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__1073962907);
            //   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 = 973;
            fzM_19->fields = fzM_18;
            //   43: Current
            //   44: Assign to ref codepoint.utf8.@1073962807
            fzCur.fzF_2__U40__1073962807 = (fzT__RSequence_l_u8_g*)fzM_19;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Call to Types
            fzC_Types();
            //    1: Call to Types.get<codepoint>
            fzC_Types__get_l_codepoint_g();
            //    2: Call to codepoint.#type<codepoint<>>.utf8_encoded_in_three_bytes
            fzT_1u32__1infix_woo fzM_20;
            fzM_20 = fzC__L4721codepoint___e_u_bytes();
            //    3: Current
            //    4: Call to ref codepoint.utf8.@1073962757
            //    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__1073962757->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.internal_array<u8>
                fzT__L1394fuzion__sy__ay_l_u8_g fzM_22;
                fzM_22 = fzC__L1394fuzion__sy__ay_l_u8_g(3);
                //    4: Current
                //    5: Assign to ref codepoint.utf8.@1073962957
                fzCur.fzF_5__U40__1073962957 = fzM_22;
                //    6: Current
                //    7: Call to ref codepoint.utf8.@1073962957
                //    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.@1073962757
                //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
                fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_5__U40__1073962957,0,fzM_27);
                //   21: Pop
                //   22: Current
                //   23: Call to ref codepoint.utf8.@1073962957
                //   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.@1073962757
                //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
                fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_5__U40__1073962957,1,fzM_32);
                //   37: Pop
                //   38: Current
                //   39: Call to ref codepoint.utf8.@1073962957
                //   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.@1073962757
                //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
                fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_5__U40__1073962957,2,fzM_36);
                //   51: Pop
                //   52: Current
                //   53: Call to ref codepoint.utf8.@1073962957
                //   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__1073962957);
                //   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 = 973;
                fzM_38->fields = fzM_37;
                //   59: Current
                //   60: Assign to ref codepoint.utf8.@1073962807
                fzCur.fzF_2__U40__1073962807 = (fzT__RSequence_l_u8_g*)fzM_38;
                break;
              }
              case 0/* FALSE */:
              {
                //    0: Call to Types
                fzC_Types();
                //    1: Call to Types.get<codepoint>
                fzC_Types__get_l_codepoint_g();
                //    2: Call to codepoint.#type<codepoint<>>.utf8_encoded_in_four_bytes
                fzT_1u32__1infix_woo fzM_39;
                fzM_39 = fzC__L4723codepoint___r_u_bytes();
                //    3: Current
                //    4: Call to ref codepoint.utf8.@1073962757
                //    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__1073962757->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.internal_array<u8>
                    fzT__L1394fuzion__sy__ay_l_u8_g fzM_41;
                    fzM_41 = fzC__L1394fuzion__sy__ay_l_u8_g(4);
                    //    4: Current
                    //    5: Assign to ref codepoint.utf8.@1073963007
                    fzCur.fzF_6__U40__1073963007 = fzM_41;
                    //    6: Current
                    //    7: Call to ref codepoint.utf8.@1073963007
                    //    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.@1073962757
                    //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
                    fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_6__U40__1073963007,0,fzM_46);
                    //   21: Pop
                    //   22: Current
                    //   23: Call to ref codepoint.utf8.@1073963007
                    //   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.@1073962757
                    //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
                    fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_6__U40__1073963007,1,fzM_51);
                    //   37: Pop
                    //   38: Current
                    //   39: Call to ref codepoint.utf8.@1073963007
                    //   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.@1073962757
                    //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
                    fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_6__U40__1073963007,2,fzM_56);
                    //   53: Pop
                    //   54: Current
                    //   55: Call to ref codepoint.utf8.@1073963007
                    //   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.@1073962757
                    //   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__1073962757->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.internal_array<u8>.set_no_pre_condition
                    fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_6__U40__1073963007,3,fzM_60);
                    //   67: Pop
                    //   68: Current
                    //   69: Call to ref codepoint.utf8.@1073963007
                    //   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__1073963007);
                    //   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 = 973;
                    fzM_62->fields = fzM_61;
                    //   75: Current
                    //   76: Assign to ref codepoint.utf8.@1073962807
                    fzCur.fzF_2__U40__1073962807 = (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 = 1165;
                    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.@1073962757
                    //    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__RAny*)fzCur.fzF_1__U40__1073962757);
                    //    7: Const
                    fzT__R1conststring* fzM_65;
                    fzM_65 = malloc(sizeof(fzT__R1conststring));
                    fzM_65->clazzId = 1165;
                    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__L890String_oHt___1infix_wp((fzT__L4700String_oHt__074893663*)fzM_64,(fzT__RAny*)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.@1073962807
    //   12: Current
    //   13: Assign to ref codepoint.utf8.result
    fzCur.fzF_0_result = (fzT__RSequence_l_u8_g*)fzCur.fzF_2__U40__1073962807;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1169 ref conststring.as_string:
fzT__RString* fzC__R1conststring__as_u_string(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__as_u_string fzCur;

  start:
  {
    fzCur.fzF_1__U40__1073976917 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.as_string.@1073976917
    //    2: Box ref conststring => ref conststring
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Assign to ref conststring.as_string.result
    fzCur.fzF_0_result = (fzT__RString*)fzCur.fzF_1__U40__1073976917;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1175 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__1073977407 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.utf8.@1073977407
    //    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__1073977407;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1178 debug:
fzT_bool fzC_debug()
{
  return (fzT_bool){1};
}
// code for clazz#1182 io.out.default:
void fzC_io__3out__default(fzT_io__3out* fzouter)
{
  if (!fzThrd_effectsEnvironment->fzEnvInstalled_1713)
  {
    fzThrd_effectsEnvironment->fzEnv_1713 = *fzouter;
    fzThrd_effectsEnvironment->fzEnvInstalled_1713 = true;
  }
}
// code for clazz#1191 io.out.replace:
void fzC_io__3out__replace(fzT_io__3out* fzouter)
{
  fzThrd_effectsEnvironment->fzEnv_1713 = *fzouter;
}
// code for clazz#1250 effects:
void fzC_effects()
{
  // instance may escape, so we need malloc here
  fzT_effects* fzCur;
  fzCur = malloc(sizeof(fzT_effects));

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

  start:
  {
  }
}
// code for clazz#1290 infix ≤<i32>:
fzT_bool fzC_2infix_wU2264_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance does not escape, put it on stack
  fzT_2infix_wU2264_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_0_a = arg0;
    fzCur.fzF_1_b = arg1;
    //    0: Current
    //    1: Call to infix ≤<i32>.a
    //    2: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Call to infix ≤<i32>.b
    //    5: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    6: Call to lteq<i32>
    fzT_bool fzM_0;
    fzM_0 = fzC_2lteq_l_i32_g(fzCur.fzF_0_a,fzCur.fzF_1_b);
    //    7: Current
    //    8: Assign to infix ≤<i32>.result
    fzCur.fzF_2_result = fzM_0;
    return fzCur.fzF_2_result;
  }
}
// code for clazz#1291 infix ≤<u32>:
fzT_bool fzC_2infix_wU2264_l_u32_g(fzT_1u32 arg0, fzT_1u32 arg1)
{
  // instance does not escape, put it on stack
  fzT_2infix_wU2264_l_u32_g fzCur;

  start:
  {
    fzCur.fzF_0_a = arg0;
    fzCur.fzF_1_b = arg1;
    //    0: Current
    //    1: Call to infix ≤<u32>.a
    //    2: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Call to infix ≤<u32>.b
    //    5: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    6: Call to lteq<u32>
    fzT_bool fzM_0;
    fzM_0 = fzC_2lteq_l_u32_g(fzCur.fzF_0_a,fzCur.fzF_1_b);
    //    7: Current
    //    8: Assign to infix ≤<u32>.result
    fzCur.fzF_2_result = fzM_0;
    return fzCur.fzF_2_result;
  }
}
// code for clazz#1302 infix ≥<i32>:
fzT_bool fzC_2infix_wU2265_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance does not escape, put it on stack
  fzT_2infix_wU2265_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_0_a = arg0;
    fzCur.fzF_1_b = arg1;
    //    0: Current
    //    1: Call to infix ≥<i32>.b
    //    2: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Call to infix ≥<i32>.a
    //    5: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    6: Call to lteq<i32>
    fzT_bool fzM_0;
    fzM_0 = fzC_2lteq_l_i32_g(fzCur.fzF_1_b,fzCur.fzF_0_a);
    //    7: Current
    //    8: Assign to infix ≥<i32>.result
    fzCur.fzF_2_result = fzM_0;
    return fzCur.fzF_2_result;
  }
}
// code for clazz#1310 infix ⩼<i32>:
fzT_bool fzC_2infix_wU2a7c_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance does not escape, put it on stack
  fzT_2infix_wU2a7c_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_0_a = arg0;
    fzCur.fzF_1_b = arg1;
    //    0: Current
    //    1: Call to infix ⩼<i32>.a
    //    2: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Call to infix ⩼<i32>.b
    //    5: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    6: Call to lteq<i32>
    fzT_bool fzM_0;
    fzM_0 = fzC_2lteq_l_i32_g(fzCur.fzF_0_a,fzCur.fzF_1_b);
    //    7: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to infix ⩼<i32>.@1074060923
        fzCur.fzF_3__U40__1074060923 = (fzT_bool){0};
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to infix ⩼<i32>.@1074060923
        fzCur.fzF_3__U40__1074060923 = (fzT_bool){1};
        break;
      }
    }
    //   10: Current
    //   11: Call to infix ⩼<i32>.@1074060923
    //   12: Current
    //   13: Assign to infix ⩼<i32>.result
    fzCur.fzF_2_result = fzCur.fzF_3__U40__1074060923;
    return fzCur.fzF_2_result;
  }
}
// code for clazz#1325 infix ⩻<i32>:
fzT_bool fzC_2infix_wU2a7b_l_i32_g(fzT_1i32 arg0, fzT_1i32 arg1)
{
  // instance does not escape, put it on stack
  fzT_2infix_wU2a7b_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_0_a = arg0;
    fzCur.fzF_1_b = arg1;
    //    0: Current
    //    1: Call to infix ⩻<i32>.b
    //    2: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    3: Current
    //    4: Call to infix ⩻<i32>.a
    //    5: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    6: Call to lteq<i32>
    fzT_bool fzM_0;
    fzM_0 = fzC_2lteq_l_i32_g(fzCur.fzF_1_b,fzCur.fzF_0_a);
    //    7: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to infix ⩻<i32>.@1074061509
        fzCur.fzF_3__U40__1074061509 = (fzT_bool){0};
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to infix ⩻<i32>.@1074061509
        fzCur.fzF_3__U40__1074061509 = (fzT_bool){1};
        break;
      }
    }
    //   10: Current
    //   11: Call to infix ⩻<i32>.@1074061509
    //   12: Current
    //   13: Assign to infix ⩻<i32>.result
    fzCur.fzF_2_result = fzCur.fzF_3__U40__1074061509;
    return fzCur.fzF_2_result;
  }
}
// code for clazz#1355 fuzion:
void fzC_fuzion()
{
  // instance may escape, so we need malloc here
  fzT_fuzion* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion));

  start:
  {
  }
}
// code for clazz#1356 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#1357 fuzion.std.exit:
void fzC_fuzion__std__1exit(fzT_1i32 arg0)
{
  exit(arg0);
}
// code for clazz#1360 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: Call to fuzion
    fzC_fuzion();
    //    1: Call to fuzion.sys
    fzC_fuzion__sys();
    //    2: Call to fuzion.sys.err
    fzC_fuzion__sys__err();
    //    3: Const
    fzT__R1conststring* fzM_0;
    fzM_0 = malloc(sizeof(fzT__R1conststring));
    fzM_0->clazzId = 1165;
    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__RAny*)fzCur.fzF_0_msg);
    //    7: Const
    fzT__R1conststring* fzM_2;
    fzM_2 = malloc(sizeof(fzT__R1conststring));
    fzM_2->clazzId = 1165;
    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__L890String_oHt___1infix_wp((fzT__L4700String_oHt__074893663*)fzM_1,(fzT__RAny*)fzM_2);
    //    9: Call to fuzion.sys.err.println
    fzC_fuzion__sys__err__1println((fzT__RAny*)fzM_3);
    //   10: Pop
    //   11: Current
    //   12: Call to fuzion.std.panic.@1074130024
    // access to Call to fuzion.std.panic.@1074130024 eliminated
    //   13: Const
    //   14: Call to fuzion.std.exit
    fzC_fuzion__std__1exit(1);
  }
}
// code for clazz#1364 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#1365 fuzion.sys.err:
void fzC_fuzion__sys__err()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__sys__err* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__sys__err));

  start:
  {
  }
}
// code for clazz#1366 fuzion.sys.err.println:
void fzC_fuzion__sys__err__1println(fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__sys__err__1println fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RAny*)arg0;
    //    0: Current
    //    1: Call to fuzion.sys.err.println.@1074132167
    // access to Call to fuzion.sys.err.println.@1074132167 eliminated
    //    2: Current
    //    3: Call to fuzion.sys.err.println.s
    //    4: Call to ref Any.as_string
    fzT__RString* fzM_0;
    fzM_0 = fzC__L858String_oHt__s_u_string((fzT__L4700String_oHt__074893663*)fzCur.fzF_0_s);
    //    5: Call to ref String.utf8
    fzT__RSequence_l_u8_g* fzM_1;
    fzM_1 = fzC__L4704String_oHt__663__utf8((fzT__L4700String_oHt__074893663*)fzM_0);
    //    6: Call to fuzion
    fzC_fuzion();
    //    7: Call to fuzion.sys
    fzC_fuzion__sys();
    //    8: Const
    //    9: Call to fuzion.sys.internal_array<u8>
    fzT__L1394fuzion__sy__ay_l_u8_g fzM_2;
    fzM_2 = fzC__L1394fuzion__sy__ay_l_u8_g(1);
    //   10: Current
    //   11: Assign to fuzion.sys.err.println.@1074132217
    fzCur.fzF_3__U40__1074132217 = fzM_2;
    //   12: Current
    //   13: Call to fuzion.sys.err.println.@1074132217
    //   14: Const
    //   15: Current
    //   16: Call to fuzion.sys.err.println.@1074132167
    // access to Call to fuzion.sys.err.println.@1074132167 eliminated
    //   17: Call to fuzion.sys.err.ascii
    fzC_fuzion__sys__err__ascii();
    //   18: Call to fuzion.sys.err.ascii.lf
    fzT_1u8 fzM_3;
    fzM_3 = fzC_fuzion__sys__err__ascii__lf();
    //   19: Call to fuzion.sys.internal_array<u8>.set_no_pre_condition
    fzC__L1476fuzion__sy__condition((fzT__L1394fuzion__sy__ay_l_u8_g*)&fzCur.fzF_3__U40__1074132217,0,fzM_3);
    //   20: Pop
    //   21: Current
    //   22: Call to fuzion.sys.err.println.@1074132217
    //   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__1074132217);
    //   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 = 973;
    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>.as_array
    fzT_4array_l_u8_g fzM_7;
    fzM_7 = fzC_list_l_u8_g__as_u_array((fzT_list_l_u8_g*)fzH_heapClone(&fzM_6,sizeof fzM_6));
    //   30: Call to fuzion.sys.err.write
    fzC_fuzion__sys__err__1write(fzM_7);
    //   31: Current
    //   32: Assign to fuzion.sys.err.println.result
    // access to Assign to fuzion.sys.err.println.result eliminated
  }
}
// code for clazz#1371 fuzion.sys.err.write:
void fzC_fuzion__sys__err__1write(fzT_4array_l_u8_g arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__sys__err__1write fzCur;

  start:
  {
    fzCur.fzF_0_arr = arg0;
    //    0: Current
    //    1: Call to fuzion.sys.err.write.@1074132594
    // access to Call to fuzion.sys.err.write.@1074132594 eliminated
    //    2: Current
    //    3: Call to fuzion.sys.err.write.arr
    //    4: Call to array<u8>.internalArray
    //    5: Call to fuzion.sys.internal_array<u8>.data
    //    6: Current
    //    7: Call to fuzion.sys.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.sys.err.write
    fzC_fuzion__sys__err__2write((fzT__RAny*)fzCur.fzF_0_arr.fzF_0_internalArray.fzF_1_data,fzM_0);
    //   10: Current
    //   11: Assign to fuzion.sys.err.write.result
    // access to Assign to fuzion.sys.err.write.result eliminated
  }
}
// code for clazz#1375 fuzion.sys.err.write:
void fzC_fuzion__sys__err__2write(fzT__RAny* arg0, fzT_1i32 arg1)
{
  fwrite((void *)arg0,sizeof(char),arg1,stderr);
}
// code for clazz#1379 fuzion.sys.out:
void fzC_fuzion__sys__out()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__sys__out* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__sys__out));

  start:
  {
  }
}
// code for clazz#1380 fuzion.sys.out.print:
void fzC_fuzion__sys__out__1print(fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__sys__out__1print fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RAny*)arg0;
    //    0: Current
    //    1: Call to fuzion.sys.out.print.@1074136184
    // access to Call to fuzion.sys.out.print.@1074136184 eliminated
    //    2: Current
    //    3: Call to fuzion.sys.out.print.s
    //    4: Call to ref Any.as_string
    // Dynamic access of ref Any.as_string
    fzT__RAny* fzM_0 = (fzT__RAny*)fzCur.fzF_0_s;
    fzT__RString* fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1149:
      {
        // Call calls ref codepoint.as_string target: ref codepoint:
        fzT__RString* fzM_2;
        fzM_2 = fzC__R1codepoint__as_u_string((fzT__R1codepoint*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 1165:
      {
        // Call calls ref conststring.as_string target: ref conststring:
        fzT__RString* fzM_3;
        fzM_3 = fzC__R1conststring__as_u_string((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 Any.as_string","fuzion.sys.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 1149:
      {
        // 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 1165:
      {
        // 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.sys.out.print");
        exit(1);
      }
    }
    //    6: Call to ref Sequence<u8>.as_array
    // Dynamic access of ref Sequence<u8>.as_array
    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 973:
      {
        // Call calls ref array<u8>.as_array target: ref array<u8>:
        fzT_4array_l_u8_g fzM_10;
        fzM_10 = fzC__R4array_l_u8_g__as_u_array((fzT__R4array_l_u8_g*)fzM_8);
        fzM_9 = fzM_10;
        break;
      }
      case 1165:
      {
        // Call calls ref conststring.as_array target: ref conststring:
        fzT_4array_l_u8_g fzM_11;
        fzM_11 = fzC__R1conststring__as_u_array((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>.as_array","fuzion.sys.out.print");
        exit(1);
      }
    }
    //    7: Call to fuzion.sys.out.write
    fzC_fuzion__sys__out__1write(fzM_9);
    //    8: Current
    //    9: Assign to fuzion.sys.out.print.result
    // access to Assign to fuzion.sys.out.print.result eliminated
  }
}
// code for clazz#1384 fuzion.sys.out.write:
void fzC_fuzion__sys__out__1write(fzT_4array_l_u8_g arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__sys__out__1write fzCur;

  start:
  {
    fzCur.fzF_0_arr = arg0;
    //    0: Current
    //    1: Call to fuzion.sys.out.write.@1074137837
    // access to Call to fuzion.sys.out.write.@1074137837 eliminated
    //    2: Current
    //    3: Call to fuzion.sys.out.write.arr
    //    4: Call to array<u8>.internalArray
    //    5: Call to fuzion.sys.internal_array<u8>.data
    //    6: Current
    //    7: Call to fuzion.sys.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.sys.out.write
    fzC_fuzion__sys__out__2write((fzT__RAny*)fzCur.fzF_0_arr.fzF_0_internalArray.fzF_1_data,fzM_0);
    //   10: Current
    //   11: Assign to fuzion.sys.out.write.result
    // access to Assign to fuzion.sys.out.write.result eliminated
  }
}
// code for clazz#1388 fuzion.sys.out.write:
void fzC_fuzion__sys__out__2write(fzT__RAny* arg0, fzT_1i32 arg1)
{
  fwrite((void *)arg0,sizeof(char),arg1,stdout);
}
// code for clazz#1400 fuzion.sys.internal_array<u8>.index [ ]:
fzT_1u8 fzC__L1400fuzion__sy__U5b_wU5d_(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L1400fuzion__sy__U5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__1074158071 = fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to fuzion.sys.internal_array<u8>.index [ ].@1074158071
    //    2: Current
    //    3: Call to fuzion.sys.internal_array<u8>.index [ ].@1074158071
    //    4: Call to fuzion.sys.internal_array<u8>.data
    //    5: Current
    //    6: Call to fuzion.sys.internal_array<u8>.index [ ].i
    //    7: Call to fuzion.sys.internal_array<u8>.get<u8>
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L1418fuzion__sy__et_l_u8_g((fzT__L1394fuzion__sy__ay_l_u8_g*)fzCur.fzF_2__U40__1074158071,(fzT__RAny*)fzCur.fzF_2__U40__1074158071->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.internal_array<u8>.index [ ].result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1400 precondition of fuzion.sys.internal_array<u8>.index [ ]:
void fzP__L1400fuzion__sy__U5b_wU5d_(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__L1400fuzion__sy__U5b_wU5d_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__1074158071 = fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__1074158071 = 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.internal_array<u8>.index [ ].i
        //    3: Call to infix ≤<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2264_l_i32_g(0,fzCur.fzF_0_i);
        //    4: Current
        //    5: Assign to fuzion.sys.internal_array<u8>.index [ ].@1074158121
        fzCur.fzF_3__U40__1074158121 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to fuzion.sys.internal_array<u8>.index [ ].@1074158121
        // access to Assign to fuzion.sys.internal_array<u8>.index [ ].@1074158121 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to fuzion.sys.internal_array<u8>.index [ ].@1074158121
    if (!fzCur.fzF_3__U40__1074158121.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","fuzion.sys.internal_array<u8>.index [ ]");
      exit(1);
    }
    //    0: Call to safety
    fzT_bool fzM_2;
    fzM_2 = fzC_safety();
    //    1: Match
    switch (fzM_2.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to fuzion.sys.internal_array<u8>.index [ ].i
        //    2: Current
        //    3: Call to fuzion.sys.internal_array<u8>.index [ ].@1074158071
        //    4: Call to fuzion.sys.internal_array<u8>.length
        //    5: Call to infix ⩻<i32>
        fzT_bool fzM_3;
        fzM_3 = fzC_2infix_wU2a7b_l_i32_g(fzCur.fzF_0_i,fzCur.fzF_2__U40__1074158071->fzF_0_length);
        //    6: Current
        //    7: Assign to fuzion.sys.internal_array<u8>.index [ ].@1074158171
        fzCur.fzF_4__U40__1074158171 = fzM_3;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to fuzion.sys.internal_array<u8>.index [ ].@1074158171
        // access to Assign to fuzion.sys.internal_array<u8>.index [ ].@1074158171 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to fuzion.sys.internal_array<u8>.index [ ].@1074158171
    if (!fzCur.fzF_4__U40__1074158171.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","fuzion.sys.internal_array<u8>.index [ ]");
      exit(1);
    }
  }
}
// code for clazz#1418 fuzion.sys.internal_array<u8>.get<u8>:
fzT_1u8 fzC__L1418fuzion__sy__et_l_u8_g(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT__RAny* arg0, fzT_1i32 arg1)
{
  return ((fzT_1u8*)arg0)[arg1];
}
// code for clazz#1433 fuzion.sys.internal_array<u8>.index [ ] := :
void fzC__L1433fuzion__sy__d_wU3a_ew(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1)
{
  // instance does not escape, put it on stack
  fzT__L1433fuzion__sy__d_wU3a_ew fzCur;

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

  start:
  {
    fzCur.fzF_3__U40__1074159677 = fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_1_o = arg1;
    fzCur.fzF_3__U40__1074159677 = 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.internal_array<u8>.index [ ] := .i
        //    3: Call to infix ≤<i32>
        fzT_bool fzM_1;
        fzM_1 = fzC_2infix_wU2264_l_i32_g(0,fzCur.fzF_0_i);
        //    4: Current
        //    5: Assign to fuzion.sys.internal_array<u8>.index [ ] := .@1074159727
        fzCur.fzF_4__U40__1074159727 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to fuzion.sys.internal_array<u8>.index [ ] := .@1074159727
        // access to Assign to fuzion.sys.internal_array<u8>.index [ ] := .@1074159727 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to fuzion.sys.internal_array<u8>.index [ ] := .@1074159727
    if (!fzCur.fzF_4__U40__1074159727.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","fuzion.sys.internal_array<u8>.index [ ] := ");
      exit(1);
    }
    //    0: Call to safety
    fzT_bool fzM_2;
    fzM_2 = fzC_safety();
    //    1: Match
    switch (fzM_2.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to fuzion.sys.internal_array<u8>.index [ ] := .i
        //    2: Current
        //    3: Call to fuzion.sys.internal_array<u8>.index [ ] := .@1074159677
        //    4: Call to fuzion.sys.internal_array<u8>.length
        //    5: Call to infix ⩻<i32>
        fzT_bool fzM_3;
        fzM_3 = fzC_2infix_wU2a7b_l_i32_g(fzCur.fzF_0_i,fzCur.fzF_3__U40__1074159677->fzF_0_length);
        //    6: Current
        //    7: Assign to fuzion.sys.internal_array<u8>.index [ ] := .@1074159777
        fzCur.fzF_5__U40__1074159777 = fzM_3;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to fuzion.sys.internal_array<u8>.index [ ] := .@1074159777
        // access to Assign to fuzion.sys.internal_array<u8>.index [ ] := .@1074159777 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to fuzion.sys.internal_array<u8>.index [ ] := .@1074159777
    if (!fzCur.fzF_5__U40__1074159777.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","fuzion.sys.internal_array<u8>.index [ ] := ");
      exit(1);
    }
  }
}
// code for clazz#1454 fuzion.sys.internal_array<u8>.alloc<u8>:
fzT__RAny* fzC__L1454fuzion__sy__oc_l_u8_g(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0)
{
  return malloc(sizeof(fzT_1u8)*arg0);
}
// code for clazz#1463 fuzion.sys.internal_array<u8>.setel<u8>:
void fzC__L1463fuzion__sy__el_l_u8_g(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT__RAny* arg0, fzT_1i32 arg1, fzT_1u8 arg2)
{
  ((fzT_1u8*)arg0)[arg1] = arg2;
}
// code for clazz#1476 fuzion.sys.internal_array<u8>.set_no_pre_condition:
void fzC__L1476fuzion__sy__condition(fzT__L1394fuzion__sy__ay_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1)
{
  // instance does not escape, put it on stack
  fzT__L1476fuzion__sy__condition fzCur;

  start:
  {
    fzCur.fzF_3__U40__1074160917 = fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_1_o = arg1;
    //    0: Current
    //    1: Call to fuzion.sys.internal_array<u8>.set_no_pre_condition.@1074160917
    //    2: Current
    //    3: Call to fuzion.sys.internal_array<u8>.set_no_pre_condition.@1074160917
    //    4: Call to fuzion.sys.internal_array<u8>.data
    //    5: Current
    //    6: Call to fuzion.sys.internal_array<u8>.set_no_pre_condition.i
    //    7: Current
    //    8: Call to fuzion.sys.internal_array<u8>.set_no_pre_condition.o
    //    9: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //   10: Call to fuzion.sys.internal_array<u8>.setel<u8>
    fzC__L1463fuzion__sy__el_l_u8_g((fzT__L1394fuzion__sy__ay_l_u8_g*)fzCur.fzF_3__U40__1074160917,(fzT__RAny*)fzCur.fzF_3__U40__1074160917->fzF_1_data,fzCur.fzF_0_i,fzCur.fzF_1_o);
    //   11: Current
    //   12: Assign to fuzion.sys.internal_array<u8>.set_no_pre_condition.result
    // access to Assign to fuzion.sys.internal_array<u8>.set_no_pre_condition.result eliminated
  }
}
// code for clazz#1487 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__1074183345 = fzouter;
    fzCur->fzF_0_upper = arg0;
    return *fzCur;
  }
}
// code for clazz#1492 i32.infix ...ref as_stream:
fzT__L14921i32__1inf___u_stream* fzC__L14921i32__1inf___u_stream(fzT_1i32__1infix_woo* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L14921i32__1inf___u_stream* fzCur;
  fzCur = malloc(sizeof(fzT__L14921i32__1inf___u_stream));
  fzCur->clazzId = 1492;

  start:
  {
    fzCur->fields.fzF_0__U40__1074186170 = 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__L2599option_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 ...as_stream.as_list0
    // access to Assign to i32.infix ...as_stream.as_list0 eliminated
    //    4: Current
    //    5: Call to i32.infix ...ref as_stream.@1074186170
    //    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__1074186170);
    //    7: Tag
    // Tag a value to be of choice type num_option<i32> static value type i32
    fzT_num_u_option_l_i32_g fzM_2;
    fzM_2.fzTag = 0;
    fzM_2.fzChoice.v0 = fzM_1;
    //    8: Call to num_option<i32>
    fzT_num_u_option_l_i32_g fzM_3;
    fzM_3 = fzC_1num_u_option_l_i32_g(fzM_2);
    //    9: Current
    //   10: Assign to i32.infix ...as_stream.x
    fzCur->fields.fzF_1_x = fzM_3;
    return fzCur;
  }
}
// code for clazz#1498 i32.infix ...ref as_stream.has_next:
fzT_bool fzC__L14981i32__1inf__as_u_next(fzT__L14921i32__1inf___u_stream* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L14981i32__1inf__as_u_next fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074186691 = (fzT__L14921i32__1inf___u_stream*)fzouter;
    //    0: Current
    //    1: Call to i32.infix ...ref as_stream.has_next.@1074186691
    //    2: Call to i32.infix ...ref as_stream.x
    //    3: Call to num_option<i32>.exists
    fzT_bool fzM_0;
    fzM_0 = fzC__L2463num_u_opti__g__exists((fzT_num_u_option_l_i32_g*)&fzCur.fzF_1__U40__1074186691->fields.fzF_1_x);
    //    4: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.infix ...ref as_stream.has_next.@1074186691
        //    2: Call to i32.infix ...ref as_stream.x
        //    3: Call to num_option<i32>.val
        fzP_num_u_option_l_i32_g__val((fzT_num_u_option_l_i32_g*)&fzCur.fzF_1__U40__1074186691->fields.fzF_1_x);
        fzT_1i32 fzM_1;
        fzM_1 = fzC_num_u_option_l_i32_g__val((fzT_num_u_option_l_i32_g*)&fzCur.fzF_1__U40__1074186691->fields.fzF_1_x);
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Current
        //    6: Call to i32.infix ...ref as_stream.has_next.@1074186691
        //    7: Call to i32.infix ...ref as_stream.@1074186170
        //    8: Call to i32.infix ...upper
        //    9: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //   10: Call to infix ≤<i32>
        fzT_bool fzM_2;
        fzM_2 = fzC_2infix_wU2264_l_i32_g(fzM_1,fzCur.fzF_1__U40__1074186691->fields.fzF_0__U40__1074186170->fzF_0_upper);
        //   11: Current
        //   12: Assign to i32.infix ...ref as_stream.has_next.@1074186741
        fzCur.fzF_2__U40__1074186741 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix ...ref as_stream.has_next.@1074186741
        fzCur.fzF_2__U40__1074186741 = (fzT_bool){0};
        break;
      }
    }
    //    7: Current
    //    8: Call to i32.infix ...ref as_stream.has_next.@1074186741
    //    9: Current
    //   10: Assign to i32.infix ...ref as_stream.has_next.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__1074186741;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1502 i32.infix ...ref as_stream.next:
fzT_1i32 fzC__L15021i32__1inf__eam__next(fzT__L14921i32__1inf___u_stream* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L15021i32__1inf__eam__next fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074187171 = (fzT__L14921i32__1inf___u_stream*)fzouter;
    //    0: Current
    //    1: Call to i32.infix ...ref as_stream.next.@1074187171
    //    2: Call to i32.infix ...ref as_stream.x
    //    3: Call to num_option<i32>.val
    fzP_num_u_option_l_i32_g__val((fzT_num_u_option_l_i32_g*)&fzCur.fzF_1__U40__1074187171->fields.fzF_1_x);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_num_u_option_l_i32_g__val((fzT_num_u_option_l_i32_g*)&fzCur.fzF_1__U40__1074187171->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 as_stream.next.res
    fzCur.fzF_2_res = fzM_0;
    //    7: Current
    //    8: Call to i32.infix ...ref as_stream.next.@1074187171
    //    9: Call to i32.infix ...ref as_stream.x
    //   10: Current
    //   11: Call to i32.infix ...ref as_stream.next.@1074187171
    //   12: Call to i32.infix ...ref as_stream.@1074186170
    //   13: Call to i32.infix ...@1074183345
    //   14: Call to i32.one
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__one();
    //   15: Tag
    // Tag a value to be of choice type num_option<i32> static value type i32
    fzT_num_u_option_l_i32_g fzM_2;
    fzM_2.fzTag = 0;
    fzM_2.fzChoice.v0 = fzM_1;
    //   16: Call to num_option<i32>.infix +?
    fzT_num_u_option_l_i32_g fzM_3;
    fzM_3 = fzC__L2480num_u_opti__infix_wpQ((fzT_num_u_option_l_i32_g*)&fzCur.fzF_1__U40__1074187171->fields.fzF_1_x,fzM_2);
    //   17: Current
    //   18: Call to i32.infix ...ref as_stream.next.@1074187171
    //   19: Assign to i32.infix ...as_stream.x
    fzCur.fzF_1__U40__1074187171->fields.fzF_1_x = fzM_3;
    //   20: Current
    //   21: Call to i32.infix ...ref as_stream.next.res
    //   22: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   23: Current
    //   24: Assign to i32.infix ...ref as_stream.next.result
    fzCur.fzF_0_result = fzCur.fzF_2_res;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1506 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__1074188997 = fzouter;
    fzCur.fzF_0_e = arg0;
    //    0: Current
    //    1: Call to u32.infix ...contains.@1074188997
    //    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__1074188997);
    //    3: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    4: Current
    //    5: Call to u32.infix ...contains.e
    //    6: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //    7: Current
    //    8: Assign to u32.infix ...contains.@1074189047
    fzCur.fzF_3__U40__1074189047 = fzCur.fzF_0_e;
    //    9: Current
    //   10: Call to u32.infix ...contains.@1074189047
    //   11: Box u32 => u32
    // Box is a NOP, clazz is already a ref
    //   12: Call to infix ≤<u32>
    fzT_bool fzM_1;
    fzM_1 = fzC_2infix_wU2264_l_u32_g(fzM_0,fzCur.fzF_3__U40__1074189047);
    //   13: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to u32.infix ...contains.@1074189047
        //    2: Box u32 => u32
        // Box is a NOP, clazz is already a ref
        //    3: Current
        //    4: Call to u32.infix ...contains.@1074188997
        //    5: Call to u32.infix ...upper
        //    6: Box u32 => u32
        // Box is a NOP, clazz is already a ref
        //    7: Call to infix ≤<u32>
        fzT_bool fzM_2;
        fzM_2 = fzC_2infix_wU2264_l_u32_g(fzCur.fzF_3__U40__1074189047,fzCur.fzF_2__U40__1074188997->fzF_0_upper);
        //    8: Current
        //    9: Assign to u32.infix ...contains.@1074189097
        fzCur.fzF_4__U40__1074189097 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to u32.infix ...contains.@1074189097
        fzCur.fzF_4__U40__1074189097 = (fzT_bool){0};
        break;
      }
    }
    //   16: Current
    //   17: Call to u32.infix ...contains.@1074189097
    //   18: Current
    //   19: Assign to u32.infix ...contains.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__1074189097;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1512 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__1074196317 = fzouter;
    //    0: Current
    //    1: Call to i32.infix ...lower.@1074196317
    //    2: Call to i32.infix ...@1074183345
    //    3: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_1__U40__1074196317->fzF_1__U40__1074183345);
    //    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#1513 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__1074196317 = fzouter;
    //    0: Current
    //    1: Call to u32.infix ...lower.@1074196317
    //    2: Call to u32.infix ...@1074183345
    //    3: Call to u32.thiz
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1u32__thiz(fzCur.fzF_1__U40__1074196317->fzF_1__U40__1074183345);
    //    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#1530 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__1074226873 = fzouter;
    //    0: Current
    //    1: Call to i32.thiz.@1074226873
    //    2: Call to i32.val
    //    3: Current
    //    4: Assign to i32.thiz.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__1074226873;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1547 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#1552 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__1074229954 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.overflowOnAdd.@1074229954
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074229954);
    //    3: Const
    //    4: Call to infix ⩼<i32>
    fzT_bool fzM_1;
    fzM_1 = fzC_2infix_wU2a7c_l_i32_g(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.overflowOnAdd.@1074229954
        //    2: Call to i32.max
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__max();
        //    3: Current
        //    4: Call to i32.overflowOnAdd.@1074229954
        //    5: Call to i32.thiz
        fzT_1i32 fzM_3;
        fzM_3 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074229954);
        //    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 infix ⩻<i32>
        fzT_bool fzM_5;
        fzM_5 = fzC_2infix_wU2a7b_l_i32_g(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.overflowOnAdd.@1074230004
        fzCur.fzF_3__U40__1074230004 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.overflowOnAdd.@1074230004
        fzCur.fzF_3__U40__1074230004 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.overflowOnAdd.@1074230004
    //   10: Current
    //   11: Assign to i32.overflowOnAdd.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1074230004;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1557 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__1074230548 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.underflowOnAdd.@1074230548
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074230548);
    //    3: Const
    //    4: Call to infix ⩻<i32>
    fzT_bool fzM_1;
    fzM_1 = fzC_2infix_wU2a7b_l_i32_g(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.underflowOnAdd.@1074230548
        //    2: Call to i32.min
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__min();
        //    3: Current
        //    4: Call to i32.underflowOnAdd.@1074230548
        //    5: Call to i32.thiz
        fzT_1i32 fzM_3;
        fzM_3 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074230548);
        //    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 infix ⩼<i32>
        fzT_bool fzM_5;
        fzM_5 = fzC_2infix_wU2a7c_l_i32_g(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.underflowOnAdd.@1074230598
        fzCur.fzF_3__U40__1074230598 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.underflowOnAdd.@1074230598
        fzCur.fzF_3__U40__1074230598 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.underflowOnAdd.@1074230598
    //   10: Current
    //   11: Assign to i32.underflowOnAdd.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1074230598;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1562 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__1074231141 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.overflowOnSub.@1074231141
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074231141);
    //    3: Const
    //    4: Call to infix ⩼<i32>
    fzT_bool fzM_1;
    fzM_1 = fzC_2infix_wU2a7c_l_i32_g(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.overflowOnSub.@1074231141
        //    2: Call to i32.thiz
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074231141);
        //    3: Current
        //    4: Call to i32.overflowOnSub.@1074231141
        //    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 infix ⩼<i32>
        fzT_bool fzM_5;
        fzM_5 = fzC_2infix_wU2a7c_l_i32_g(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.overflowOnSub.@1074231191
        fzCur.fzF_3__U40__1074231191 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.overflowOnSub.@1074231191
        fzCur.fzF_3__U40__1074231191 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.overflowOnSub.@1074231191
    //   10: Current
    //   11: Assign to i32.overflowOnSub.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1074231191;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1567 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__1074231735 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.underflowOnSub.@1074231735
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074231735);
    //    3: Const
    //    4: Call to infix ⩻<i32>
    fzT_bool fzM_1;
    fzM_1 = fzC_2infix_wU2a7b_l_i32_g(fzM_0,0);
    //    5: Match
    switch (fzM_1.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.underflowOnSub.@1074231735
        //    2: Call to i32.thiz
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074231735);
        //    3: Current
        //    4: Call to i32.underflowOnSub.@1074231735
        //    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 infix ⩻<i32>
        fzT_bool fzM_5;
        fzM_5 = fzC_2infix_wU2a7b_l_i32_g(fzM_4,fzCur.fzF_0_other);
        //   10: Current
        //   11: Assign to i32.underflowOnSub.@1074231785
        fzCur.fzF_3__U40__1074231785 = fzM_5;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.underflowOnSub.@1074231785
        fzCur.fzF_3__U40__1074231785 = (fzT_bool){0};
        break;
      }
    }
    //    8: Current
    //    9: Call to i32.underflowOnSub.@1074231785
    //   10: Current
    //   11: Assign to i32.underflowOnSub.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1074231785;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1582 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#1585 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#1612 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#1614 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#1709 io:
void fzC_io()
{
  // instance may escape, so we need malloc here
  fzT_io* fzCur;
  fzCur = malloc(sizeof(fzT_io));

  start:
  {
  }
}
// code for clazz#1713 io.out:
fzT_io__3out fzC_io__3out(fzT_io_RCan_u_Print* 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_RCan_u_Print*)arg0;
    fzCur->fzF_2_r = arg1;
    // unit type assignment to /* UNIT VALUE */
    //    0: Current
    //    1: Call to io.out.@1074340153
    // access to Call to io.out.@1074340153 eliminated
    //    2: Current
    //    3: Call to io.out.p
    //    4: Current
    //    5: Assign to io.out.p
    fzCur->fzF_1_p = (fzT_io_RCan_u_Print*)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 0/* effectMode.plain */:
      {
        break;
      }
      case 5/* effectMode.inst */:
      {
        fzCur->fzF_0_i = fzCur->fzF_2_r.fzChoice.v5;
        //    0: Current
        //    1: Current
        //    2: Call to io.out.i
        fprintf(stderr,"*** %s:%d: no targets for access of %s within %s\012",__FILE__,__LINE__,"io.out.i","io.out");
        exit(1);
        break;
      }
      case 1/* effectMode.repl */:
      {
        //    0: Current
        //    1: Call to io.out.replace
        // access to Call to io.out.replace eliminated
        break;
      }
      case 2/* effectMode.abort */:
      {
        //    0: Call to fuzion
        // access to Call to fuzion eliminated
        //    1: Call to fuzion.std
        // access to Call to fuzion.std eliminated
        //    2: Const
        fzT__R1conststring* fzM_0;
        fzM_0 = malloc(sizeof(fzT__R1conststring));
        fzM_0->clazzId = 1165;
        fzM_0->fields.fzF_0_internalArray.fzF_1_data = (void *)"abort";
        fzM_0->fields.fzF_0_internalArray.fzF_0_length = 5;
        //    3: Call to fuzion.std.panic
        fprintf(stderr,"*** %s:%d: no targets for access of %s within %s\012",__FILE__,__LINE__,"fuzion.std.panic","io.out");
        exit(1);
        break;
      }
      case 3/* effectMode.default */:
      {
        //    0: Current
        //    1: Call to io.out.default
        fzC_io__3out__default((fzT_io__3out*)fzCur);
        break;
      }
      case 4/* effectMode.new */:
      {
        break;
      }
    }
    return *fzCur;
  }
}
// code for clazz#1710 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.@1074338997
    // access to Call to io.out.@1074338997 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_1713)
    {
      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_1713;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1719 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.@1074340315
    // access to Call to io.defaultPrintToOut.@1074340315 eliminated
  }
}
// code for clazz#1722 io.ref defaultPrintToOut.print:
void fzC__L1722io_Rdefaul__t__1print(fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT__L1722io_Rdefaul__t__1print fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RAny*)arg0;
    //    0: Call to stdout
    fzC_stdout();
    //    1: Current
    //    2: Call to io.ref defaultPrintToOut.print.s
    //    3: Call to fuzion.sys.out.print
    fzC_fuzion__sys__out__1print((fzT__RAny*)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#1725 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#1727 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__L1251effects__e__o_o_out_g();
    //    2: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to io.outs.installDefault.@1074341466
        fzCur.fzF_2__U40__1074341466 = (fzT_bool){0};
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to io.outs.installDefault.@1074341466
        fzCur.fzF_2__U40__1074341466 = (fzT_bool){1};
        break;
      }
    }
    //    5: Current
    //    6: Call to io.outs.installDefault.@1074341466
    //    7: Match
    switch (fzCur.fzF_2__U40__1074341466.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to io.outs.installDefault.@1074341366
        // access to Call to io.outs.installDefault.@1074341366 eliminated
        //    2: Call to io.outs.@1074340739
        // access to Call to io.outs.@1074340739 eliminated
        //    3: Current
        //    4: Call to io.outs.installDefault.@1074341366
        // access to Call to io.outs.installDefault.@1074341366 eliminated
        //    5: Call to io.outs.@1074340739
        // access to Call to io.outs.@1074340739 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 = 1718;
        // 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_RCan_u_Print*)fzM_1,fzM_2);
        //   13: Current
        //   14: Assign to -- no clazz --
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Call to unit
        fzC_unit();
        //    1: Current
        //    2: Assign to io.outs.installDefault.@1074341516
        // access to Assign to io.outs.installDefault.@1074341516 eliminated
        break;
      }
    }
    //   10: Current
    //   11: Call to io.outs.installDefault.@1074341516
    // access to Call to io.outs.installDefault.@1074341516 eliminated
    //   12: Current
    //   13: Assign to io.outs.installDefault.result
    // access to Assign to io.outs.installDefault.result eliminated
  }
}
// code for clazz#1736 io.out.println:
void fzC_io__3out__1println(fzT_io__3out* fzouter, fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT_io__3out__1println fzCur;

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

  start:
  {
    fzCur.fzF_1__U40__1074343383 = (fzT_io_RdefaultPrintToOut*)fzouter;
    //    0: Current
    //    1: Call to io.ref defaultPrintToOut.println.@1074343383
    //    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 = 1149;
    fzM_1->fields = fzM_0;
    //    5: Call to io.ref defaultPrintToOut.print
    fzC__L1722io_Rdefaul__t__1print((fzT__RAny*)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#1750 io.ref defaultPrintToOut.println:
void fzC__L1750io_Rdefaul___1println(fzT_io_RdefaultPrintToOut* fzouter, fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT__L1750io_Rdefaul___1println fzCur;

  start:
  {
    fzCur.fzF_2__U40__1074343713 = (fzT_io_RdefaultPrintToOut*)fzouter;
    fzCur.fzF_0_s = (fzT__RAny*)arg0;
    //    0: Current
    //    1: Call to io.ref defaultPrintToOut.println.@1074343713
    //    2: Current
    //    3: Call to io.ref defaultPrintToOut.println.s
    //    4: Call to io.ref defaultPrintToOut.print
    fzC__L1722io_Rdefaul__t__1print((fzT__RAny*)fzCur.fzF_0_s);
    //    5: Pop
    //    6: Current
    //    7: Call to io.ref defaultPrintToOut.println.@1074343713
    //    8: Call to io.ref defaultPrintToOut.println
    fzC__L1744io_Rdefaul____println(fzCur.fzF_2__U40__1074343713);
    //    9: Current
    //   10: Assign to io.ref defaultPrintToOut.println.result
    // access to Assign to io.ref defaultPrintToOut.println.result eliminated
  }
}
// code for clazz#1814 list<u8>.head:
fzT_option_l_u8_g fzC_list_l_u8_g__head(fzT_list_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__head fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074359877 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.head.@1074359877
    //    2: Match
    fzT__RAny* fzM_0 = fzCur.fzF_1__U40__1074359877->fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Call to nil
        fzC_nil();
        //    1: Tag
        // Tag a value to be of choice type option<u8> static value type nil
        fzT_option_l_u8_g fzM_1;
        fzM_1.fzTag = 1;
        // unit type assignment to fzM_1.fzChoice.v1
        //    2: Current
        //    3: Assign to list<u8>.head.@1074359978
        fzCur.fzF_3__U40__1074359978 = 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>.head.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 1075:
          {
            // Call calls ref array<u8>.ref arrayCons.head target: ref array<u8>.ref arrayCons:
            fzT_1u8 fzM_4;
            fzM_4 = fzC__L1090_R4array_l__ons__head((fzT__R4array_l_u8_g_R2arrayCons*)fzM_2);
            fzM_3 = fzM_4;
            break;
          }
          case 2097:
          {
            // Call calls list<u8>.concat.ref @1074376939.head target: list<u8>.concat.ref @1074376939:
            fzT_1u8 fzM_5;
            fzM_5 = fzC__L2121list_l_u8___939__head((fzT__L2097list_l_u8___074376939*)fzM_2);
            fzM_3 = fzM_5;
            break;
          }
          case 2100:
          {
            // Call calls ref list<u8>.concat.ref @1074376939.head target: ref list<u8>.concat.ref @1074376939:
            fzT_1u8 fzM_6;
            fzM_6 = fzC__L2124_Rlist_l_u__939__head((fzT__L2100_Rlist_l_u__074376939*)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>.head");
            exit(1);
          }
        }
        //    3: Tag
        // Tag a value to be of choice type option<u8> static value type u8
        fzT_option_l_u8_g fzM_7;
        fzM_7.fzTag = 0;
        fzM_7.fzChoice.v0 = fzM_3;
        //    4: Current
        //    5: Assign to list<u8>.head.@1074359978
        fzCur.fzF_3__U40__1074359978 = fzM_7;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.head.@1074359978
    //    7: Current
    //    8: Assign to list<u8>.head.result
    fzCur.fzF_0_result = fzCur.fzF_3__U40__1074359978;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1844 ref list<u8>.as_list:
fzT_list_l_u8_g fzC__Rlist_l_u8_g__as_u_list(fzT__Rlist_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__Rlist_l_u8_g__as_u_list fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074360648 = (fzT__Rlist_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref list<u8>.as_list.@1074360648
    //    2: Unbox
    //    3: Current
    //    4: Assign to ref list<u8>.as_list.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__1074360648->fields;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1853 list<u8>.ref as_stream:
fzT_list_l_u8_g_Ras_u_stream* fzC_list_l_u8_g_Ras_u_stream(fzT_list_l_u8_g* fzouter)
{
  // instance may escape, so we need malloc here
  fzT_list_l_u8_g_Ras_u_stream* fzCur;
  fzCur = malloc(sizeof(fzT_list_l_u8_g_Ras_u_stream));
  fzCur->clazzId = 1853;

  start:
  {
    fzCur->fields.fzF_0__U40__1074360841 = 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__L2600option_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>.as_stream.as_list0
    // access to Assign to list<u8>.as_stream.as_list0 eliminated
    //    4: Current
    //    5: Call to list<u8>.ref as_stream.@1074360841
    //    6: Unbox
    //    7: Current
    //    8: Assign to list<u8>.as_stream.cur
    fzCur->fields.fzF_1_cur = *fzCur->fields.fzF_0__U40__1074360841;
    return fzCur;
  }
}
// code for clazz#1901 list<u8>.ref as_stream.next:
fzT_1u8 fzC__L1901list_l_u8___eam__next(fzT_list_l_u8_g_Ras_u_stream* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1901list_l_u8___eam__next fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074361596 = (fzT_list_l_u8_g_Ras_u_stream*)fzouter;
    //    0: Current
    //    1: Call to list<u8>.ref as_stream.next.@1074361596
    //    2: Call to list<u8>.ref as_stream.cur
    //    3: Call to list<u8>.head
    fzT_option_l_u8_g fzM_0;
    fzM_0 = fzC_list_l_u8_g__head((fzT_list_l_u8_g*)&fzCur.fzF_1__U40__1074361596->fields.fzF_1_cur);
    //    4: Call to option<u8>.get
    fzP_option_l_u8_g__get((fzT_option_l_u8_g*)fzH_heapClone(&fzM_0,sizeof fzM_0));
    fzT_1u8 fzM_1;
    fzM_1 = fzC_option_l_u8_g__get((fzT_option_l_u8_g*)fzH_heapClone(&fzM_0,sizeof fzM_0));
    //    5: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    6: Current
    //    7: Assign to list<u8>.ref as_stream.next.res
    fzCur.fzF_2_res = fzM_1;
    //    8: Current
    //    9: Call to list<u8>.ref as_stream.next.@1074361596
    //   10: Call to list<u8>.ref as_stream.cur
    //   11: Call to list<u8>.force_tail
    fzP_list_l_u8_g__force_u_tail((fzT_list_l_u8_g*)&fzCur.fzF_1__U40__1074361596->fields.fzF_1_cur);
    fzT_list_l_u8_g fzM_2;
    fzM_2 = fzC_list_l_u8_g__force_u_tail((fzT_list_l_u8_g*)&fzCur.fzF_1__U40__1074361596->fields.fzF_1_cur);
    //   12: Current
    //   13: Call to list<u8>.ref as_stream.next.@1074361596
    //   14: Assign to list<u8>.as_stream.cur
    fzCur.fzF_1__U40__1074361596->fields.fzF_1_cur = fzM_2;
    //   15: Current
    //   16: Call to list<u8>.ref as_stream.next.res
    //   17: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //   18: Current
    //   19: Assign to list<u8>.ref as_stream.next.result
    fzCur.fzF_0_result = fzCur.fzF_2_res;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1937 list<u8>.is_empty:
fzT_bool fzC_list_l_u8_g__is_u_empty(fzT_list_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__is_u_empty fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074362034 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.is_empty.@1074362034
    //    2: Match
    fzT__RAny* fzM_0 = fzCur.fzF_1__U40__1074362034->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>.is_empty.@1074362084
        fzCur.fzF_2__U40__1074362084 = fzM_1;
        break;
      }
      default:
      {
        //    0: Call to false
        fzT_bool fzM_2;
        fzM_2 = fzC_false();
        //    1: Current
        //    2: Assign to list<u8>.is_empty.@1074362084
        fzCur.fzF_2__U40__1074362084 = fzM_2;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.is_empty.@1074362084
    //    7: Current
    //    8: Assign to list<u8>.is_empty.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__1074362084;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1959 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__1074362346 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.count.@1074362346
    //    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__1074362346,0);
    //    4: Current
    //    5: Assign to list<u8>.count.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1973 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__1074362806 = fzouter;
    fzCur.fzF_0_n = arg0;
    //    0: Current
    //    1: Call to list<u8>.count.@1074362806
    //    2: Match
    fzT__RAny* fzM_0 = fzCur.fzF_2__U40__1074362806->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.@1074362907
        fzCur.fzF_4__U40__1074362907 = 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 1075:
          {
            // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
            fzT_list_l_u8_g fzM_3;
            fzM_3 = fzC__L1093_R4array_l__ons__tail((fzT__R4array_l_u8_g_R2arrayCons*)fzM_1);
            fzM_2 = fzM_3;
            break;
          }
          case 2097:
          {
            // Call calls list<u8>.concat.ref @1074376939.tail target: list<u8>.concat.ref @1074376939:
            fzT_list_l_u8_g fzM_4;
            fzM_4 = fzC__L2139list_l_u8___939__tail((fzT__L2097list_l_u8___074376939*)fzM_1);
            fzM_2 = fzM_4;
            break;
          }
          case 2100:
          {
            // Call calls ref list<u8>.concat.ref @1074376939.tail target: ref list<u8>.concat.ref @1074376939:
            fzT_list_l_u8_g fzM_5;
            fzM_5 = fzC__L2142_Rlist_l_u__939__tail((fzT__L2100_Rlist_l_u__074376939*)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.@1074362907
    //    7: Current
    //    8: Assign to list<u8>.count.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__1074362907;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2021 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__1074370579 = fzouter;
    fzCur.fzF_0_t = (fzT__RSequence_l_u8_g*)arg0;
    //    0: Current
    //    1: Call to list<u8>.infix ++.@1074370579
    //    2: Current
    //    3: Call to list<u8>.infix ++.t
    //    4: Call to ref Sequence<u8>.as_list
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__Rlist_l_u8_g__as_u_list((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__1074370579,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#2024 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__1074370579 = (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 ++.@1074370579
    //    2: Current
    //    3: Call to ref list<u8>.infix ++.t
    //    4: Call to ref Sequence<u8>.as_list
    // Dynamic access of ref Sequence<u8>.as_list
    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 973:
      {
        // Call calls ref array<u8>.as_list target: ref array<u8>:
        fzT_list_l_u8_g fzM_2;
        fzM_2 = fzC__R4array_l_u8_g__as_u_list((fzT__R4array_l_u8_g*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 1165:
      {
        // Call calls ref conststring.as_list target: ref conststring:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R1conststring__as_u_list((fzT__R1conststring*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 1762:
      {
        // Call calls ref list<u8>.as_list target: ref list<u8>:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__Rlist_l_u8_g__as_u_list((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>.as_list","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__1074370579,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#2067 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__1074376736 = fzouter;
    fzCur->fzF_0_t = arg0;
    //    0: Current
    //    1: Call to list<u8>.concat.@1074376736
    //    2: Match
    fzT__RAny* fzM_0 = fzCur->fzF_2__U40__1074376736->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.@1074377698
        fzCur->fzF_4__U40__1074377698 = 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__RAny* fzM_1 = fzCur->fzF_0_t.fzChoice.vref;
        switch ((int64_t)fzM_1)
        {
          case 0/* nil */:
          {
            //    0: Current
            //    1: Call to list<u8>.concat.@1074376736
            //    2: Unbox
            //    3: Current
            //    4: Assign to list<u8>.concat.@1074377698
            fzCur->fzF_4__U40__1074377698 = *fzCur->fzF_2__U40__1074376736;
            break;
          }
          default:
          {
            //    0: Current
            //    1: Call to list<u8>.concat.ref @1074376939
            fzT__L2097list_l_u8___074376939* fzM_2;
            fzM_2 = fzC__L2097list_l_u8___074376939((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 @1074376939
            fzT_list_l_u8_g fzM_3;
            fzM_3.fzChoice.vref = (fzT__RAny*)fzM_2;
            //    3: Current
            //    4: Assign to list<u8>.concat.@1074377698
            fzCur->fzF_4__U40__1074377698 = fzM_3;
            break;
          }
        }
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.concat.@1074377698
    //    7: Current
    //    8: Assign to list<u8>.concat.result
    fzCur->fzF_1_result = fzCur->fzF_4__U40__1074377698;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2070 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__1074376736 = (fzT__Rlist_l_u8_g*)fzouter;
    fzCur->fzF_0_t = arg0;
    //    0: Current
    //    1: Call to ref list<u8>.concat.@1074376736
    //    2: Match
    fzT__RAny* fzM_0 = fzCur->fzF_2__U40__1074376736->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.@1074377698
        fzCur->fzF_4__U40__1074377698 = 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__RAny* 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.@1074376736
            //    2: Unbox
            //    3: Current
            //    4: Assign to ref list<u8>.concat.@1074377698
            fzCur->fzF_4__U40__1074377698 = fzCur->fzF_2__U40__1074376736->fields;
            break;
          }
          default:
          {
            //    0: Current
            //    1: Call to ref list<u8>.concat.ref @1074376939
            fzT__L2100_Rlist_l_u__074376939* fzM_2;
            fzM_2 = fzC__L2100_Rlist_l_u__074376939((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 @1074376939
            fzT_list_l_u8_g fzM_3;
            fzM_3.fzChoice.vref = (fzT__RAny*)fzM_2;
            //    3: Current
            //    4: Assign to ref list<u8>.concat.@1074377698
            fzCur->fzF_4__U40__1074377698 = fzM_3;
            break;
          }
        }
        break;
      }
    }
    //    5: Current
    //    6: Call to ref list<u8>.concat.@1074377698
    //    7: Current
    //    8: Assign to ref list<u8>.concat.result
    fzCur->fzF_1_result = fzCur->fzF_4__U40__1074377698;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2097 list<u8>.concat.ref @1074376939:
fzT__L2097list_l_u8___074376939* fzC__L2097list_l_u8___074376939(fzT_list_l_u8_g__1concat* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2097list_l_u8___074376939* fzCur;
  fzCur = malloc(sizeof(fzT__L2097list_l_u8___074376939));
  fzCur->clazzId = 2097;

  start:
  {
    fzCur->fields.fzF_0__U40__1074377026 = fzouter;
    return fzCur;
  }
}
// code for clazz#2100 ref list<u8>.concat.ref @1074376939:
fzT__L2100_Rlist_l_u__074376939* fzC__L2100_Rlist_l_u__074376939(fzT__Rlist_l_u8_g__1concat* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2100_Rlist_l_u__074376939* fzCur;
  fzCur = malloc(sizeof(fzT__L2100_Rlist_l_u__074376939));
  fzCur->clazzId = 2100;

  start:
  {
    fzCur->fields.fzF_0__U40__1074377026 = fzouter;
    return fzCur;
  }
}
// code for clazz#2121 list<u8>.concat.ref @1074376939.head:
fzT_1u8 fzC__L2121list_l_u8___939__head(fzT__L2097list_l_u8___074376939* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2121list_l_u8___939__head fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074377311 = (fzT__L2097list_l_u8___074376939*)fzouter;
    //    0: Current
    //    1: Call to list<u8>.concat.ref @1074376939.head.@1074377311
    //    2: Call to list<u8>.concat.ref @1074376939.@1074377026
    //    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__1074377311->fields.fzF_0__U40__1074377026->fzF_3_c;
    fzT_1u8 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1075:
      {
        // Call calls ref array<u8>.ref arrayCons.head target: ref array<u8>.ref arrayCons:
        fzT_1u8 fzM_2;
        fzM_2 = fzC__L1090_R4array_l__ons__head((fzT__R4array_l_u8_g_R2arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2097:
      {
        // Call calls list<u8>.concat.ref @1074376939.head target: list<u8>.concat.ref @1074376939:
        fzT_1u8 fzM_3;
        fzM_3 = fzC__L2121list_l_u8___939__head((fzT__L2097list_l_u8___074376939*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2100:
      {
        // Call calls ref list<u8>.concat.ref @1074376939.head target: ref list<u8>.concat.ref @1074376939:
        fzT_1u8 fzM_4;
        fzM_4 = fzC__L2124_Rlist_l_u__939__head((fzT__L2100_Rlist_l_u__074376939*)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 @1074376939.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 @1074376939.head.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2124 ref list<u8>.concat.ref @1074376939.head:
fzT_1u8 fzC__L2124_Rlist_l_u__939__head(fzT__L2100_Rlist_l_u__074376939* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2124_Rlist_l_u__939__head fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074377311 = (fzT__L2100_Rlist_l_u__074376939*)fzouter;
    //    0: Current
    //    1: Call to ref list<u8>.concat.ref @1074376939.head.@1074377311
    //    2: Call to ref list<u8>.concat.ref @1074376939.@1074377026
    //    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__1074377311->fields.fzF_0__U40__1074377026->fzF_3_c;
    fzT_1u8 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1075:
      {
        // Call calls ref array<u8>.ref arrayCons.head target: ref array<u8>.ref arrayCons:
        fzT_1u8 fzM_2;
        fzM_2 = fzC__L1090_R4array_l__ons__head((fzT__R4array_l_u8_g_R2arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2097:
      {
        // Call calls list<u8>.concat.ref @1074376939.head target: list<u8>.concat.ref @1074376939:
        fzT_1u8 fzM_3;
        fzM_3 = fzC__L2121list_l_u8___939__head((fzT__L2097list_l_u8___074376939*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2100:
      {
        // Call calls ref list<u8>.concat.ref @1074376939.head target: ref list<u8>.concat.ref @1074376939:
        fzT_1u8 fzM_4;
        fzM_4 = fzC__L2124_Rlist_l_u__939__head((fzT__L2100_Rlist_l_u__074376939*)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 @1074376939.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 @1074376939.head.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2139 list<u8>.concat.ref @1074376939.tail:
fzT_list_l_u8_g fzC__L2139list_l_u8___939__tail(fzT__L2097list_l_u8___074376939* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2139list_l_u8___939__tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074377648 = (fzT__L2097list_l_u8___074376939*)fzouter;
    //    0: Current
    //    1: Call to list<u8>.concat.ref @1074376939.tail.@1074377648
    //    2: Call to list<u8>.concat.ref @1074376939.@1074377026
    //    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__1074377648->fields.fzF_0__U40__1074377026->fzF_3_c;
    fzT_list_l_u8_g fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1075:
      {
        // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
        fzT_list_l_u8_g fzM_2;
        fzM_2 = fzC__L1093_R4array_l__ons__tail((fzT__R4array_l_u8_g_R2arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2097:
      {
        // Call calls list<u8>.concat.ref @1074376939.tail target: list<u8>.concat.ref @1074376939:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__L2139list_l_u8___939__tail((fzT__L2097list_l_u8___074376939*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2100:
      {
        // Call calls ref list<u8>.concat.ref @1074376939.tail target: ref list<u8>.concat.ref @1074376939:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__L2142_Rlist_l_u__939__tail((fzT__L2100_Rlist_l_u__074376939*)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 @1074376939.tail");
        exit(1);
      }
    }
    //    5: Current
    //    6: Call to list<u8>.concat.ref @1074376939.tail.@1074377648
    //    7: Call to list<u8>.concat.ref @1074376939.@1074377026
    //    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__1074377648->fields.fzF_0__U40__1074377026->fzF_0_t);
    //   10: Current
    //   11: Assign to list<u8>.concat.ref @1074376939.tail.result
    fzCur.fzF_0_result = fzM_5;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2142 ref list<u8>.concat.ref @1074376939.tail:
fzT_list_l_u8_g fzC__L2142_Rlist_l_u__939__tail(fzT__L2100_Rlist_l_u__074376939* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2142_Rlist_l_u__939__tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074377648 = (fzT__L2100_Rlist_l_u__074376939*)fzouter;
    //    0: Current
    //    1: Call to ref list<u8>.concat.ref @1074376939.tail.@1074377648
    //    2: Call to ref list<u8>.concat.ref @1074376939.@1074377026
    //    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__1074377648->fields.fzF_0__U40__1074377026->fzF_3_c;
    fzT_list_l_u8_g fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1075:
      {
        // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
        fzT_list_l_u8_g fzM_2;
        fzM_2 = fzC__L1093_R4array_l__ons__tail((fzT__R4array_l_u8_g_R2arrayCons*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 2097:
      {
        // Call calls list<u8>.concat.ref @1074376939.tail target: list<u8>.concat.ref @1074376939:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__L2139list_l_u8___939__tail((fzT__L2097list_l_u8___074376939*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      case 2100:
      {
        // Call calls ref list<u8>.concat.ref @1074376939.tail target: ref list<u8>.concat.ref @1074376939:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__L2142_Rlist_l_u__939__tail((fzT__L2100_Rlist_l_u__074376939*)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 @1074376939.tail");
        exit(1);
      }
    }
    //    5: Current
    //    6: Call to ref list<u8>.concat.ref @1074376939.tail.@1074377648
    //    7: Call to ref list<u8>.concat.ref @1074376939.@1074377026
    //    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__1074377648->fields.fzF_0__U40__1074377026->fzF_0_t);
    //   10: Current
    //   11: Assign to ref list<u8>.concat.ref @1074376939.tail.result
    fzCur.fzF_0_result = fzM_5;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2307 list<u8>.force_tail:
fzT_list_l_u8_g fzC_list_l_u8_g__force_u_tail(fzT_list_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g__force_u_tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074380851 = fzouter;
    //    0: Current
    //    1: Call to list<u8>.force_tail.@1074380851
    //    2: Match
    fzT__RAny* fzM_0 = fzCur.fzF_1__U40__1074380851->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 = 1165;
        fzM_1->fields.fzF_0_internalArray.fzF_1_data = (void *)"list.force_tail called on empty list";
        fzM_1->fields.fzF_0_internalArray.fzF_0_length = 36;
        //    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>.force_tail.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 1075:
          {
            // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
            fzT_list_l_u8_g fzM_4;
            fzM_4 = fzC__L1093_R4array_l__ons__tail((fzT__R4array_l_u8_g_R2arrayCons*)fzM_2);
            fzM_3 = fzM_4;
            break;
          }
          case 2097:
          {
            // Call calls list<u8>.concat.ref @1074376939.tail target: list<u8>.concat.ref @1074376939:
            fzT_list_l_u8_g fzM_5;
            fzM_5 = fzC__L2139list_l_u8___939__tail((fzT__L2097list_l_u8___074376939*)fzM_2);
            fzM_3 = fzM_5;
            break;
          }
          case 2100:
          {
            // Call calls ref list<u8>.concat.ref @1074376939.tail target: ref list<u8>.concat.ref @1074376939:
            fzT_list_l_u8_g fzM_6;
            fzM_6 = fzC__L2142_Rlist_l_u__939__tail((fzT__L2100_Rlist_l_u__074376939*)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>.force_tail");
            exit(1);
          }
        }
        //    3: Current
        //    4: Assign to list<u8>.force_tail.@1074380952
        fzCur.fzF_3__U40__1074380952 = fzM_3;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.force_tail.@1074380952
    //    7: Current
    //    8: Assign to list<u8>.force_tail.result
    fzCur.fzF_0_result = fzCur.fzF_3__U40__1074380952;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2307 precondition of list<u8>.force_tail:
void fzP_list_l_u8_g__force_u_tail(fzT_list_l_u8_g* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_list_l_u8_g__force_u_tail fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074380851 = fzouter;
    fzCur.fzF_1__U40__1074380851 = 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>.force_tail.@1074380851
        //    2: Call to list<u8>.is_empty
        fzT_bool fzM_1;
        fzM_1 = fzC_list_l_u8_g__is_u_empty((fzT_list_l_u8_g*)fzCur.fzF_1__U40__1074380851);
        //    3: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to list<u8>.force_tail.@1074381002
            fzCur.fzF_4__U40__1074381002 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to list<u8>.force_tail.@1074381002
            fzCur.fzF_4__U40__1074381002 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to list<u8>.force_tail.@1074381002
        // access to Assign to list<u8>.force_tail.@1074381002 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to list<u8>.force_tail.@1074381002
    if (!fzCur.fzF_4__U40__1074381002.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","list<u8>.force_tail");
      exit(1);
    }
  }
}
// code for clazz#2457 num_option<i32>.val:
fzT_1i32 fzC_num_u_option_l_i32_g__val(fzT_num_u_option_l_i32_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_num_u_option_l_i32_g__val fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074431068 = fzouter;
    //    0: Current
    //    1: Call to num_option<i32>.val.@1074431068
    //    2: Match
    switch (fzCur.fzF_1__U40__1074431068->fzTag)
    {
      case 0/* i32 */:
      {
        fzCur.fzF_2_v = fzCur.fzF_1__U40__1074431068->fzChoice.v0;
        //    0: Current
        //    1: Call to num_option<i32>.val.v
        //    2: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    3: Current
        //    4: Assign to num_option<i32>.val.@1074431169
        fzCur.fzF_3__U40__1074431169 = 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 = 1165;
        fzM_0->fields.fzF_0_internalArray.fzF_1_data = (void *)"num_option.val called on nil";
        fzM_0->fields.fzF_0_internalArray.fzF_0_length = 28;
        //    3: Call to fuzion.std.panic
        fzC_fuzion__std__1panic((fzT__RString*)fzM_0);
        break;
      }
    }
    //    5: Current
    //    6: Call to num_option<i32>.val.@1074431169
    //    7: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    8: Current
    //    9: Assign to num_option<i32>.val.result
    fzCur.fzF_0_result = fzCur.fzF_3__U40__1074431169;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2457 precondition of num_option<i32>.val:
void fzP_num_u_option_l_i32_g__val(fzT_num_u_option_l_i32_g* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_num_u_option_l_i32_g__val fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074431068 = fzouter;
    fzCur.fzF_1__U40__1074431068 = 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 num_option<i32>.val.@1074431068
        //    2: Call to num_option<i32>.postfix ??
        fzT_bool fzM_1;
        fzM_1 = fzC__L2477num_u_opti__stfix_wQQ((fzT_num_u_option_l_i32_g*)fzCur.fzF_1__U40__1074431068);
        //    3: Current
        //    4: Assign to num_option<i32>.val.@1074431219
        fzCur.fzF_4__U40__1074431219 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to num_option<i32>.val.@1074431219
        // access to Assign to num_option<i32>.val.@1074431219 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to num_option<i32>.val.@1074431219
    if (!fzCur.fzF_4__U40__1074431219.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","num_option<i32>.val");
      exit(1);
    }
  }
}
// code for clazz#2463 num_option<i32>.exists:
fzT_bool fzC__L2463num_u_opti__g__exists(fzT_num_u_option_l_i32_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2463num_u_opti__g__exists fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074431545 = fzouter;
    //    0: Current
    //    1: Call to num_option<i32>.exists.@1074431545
    //    2: Match
    switch (fzCur.fzF_1__U40__1074431545->fzTag)
    {
      case 0/* i32 */:
      {
        //    0: Call to true
        fzT_bool fzM_0;
        fzM_0 = fzC_true();
        //    1: Current
        //    2: Assign to num_option<i32>.exists.@1074431595
        fzCur.fzF_2__U40__1074431595 = fzM_0;
        break;
      }
      case 1/* nil */:
      {
        //    0: Call to false
        fzT_bool fzM_1;
        fzM_1 = fzC_false();
        //    1: Current
        //    2: Assign to num_option<i32>.exists.@1074431595
        fzCur.fzF_2__U40__1074431595 = fzM_1;
        break;
      }
    }
    //    5: Current
    //    6: Call to num_option<i32>.exists.@1074431595
    //    7: Current
    //    8: Assign to num_option<i32>.exists.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__1074431595;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2467 num_option<i32>.infix >>=:
fzT_num_u_option_l_i32_g fzC__L2467num_u_opti__nfix_wgge(fzT_num_u_option_l_i32_g* fzouter, fzT__L246_RFunction__2_gk_i32_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__L2467num_u_opti__nfix_wgge fzCur;

  start:
  {
    fzCur.fzF_2__U40__1074431938 = fzouter;
    fzCur.fzF_0_f = (fzT__L246_RFunction__2_gk_i32_g*)arg0;
    //    0: Current
    //    1: Call to num_option<i32>.infix >>=.@1074431938
    //    2: Current
    //    3: Call to num_option<i32>.infix >>=.f
    //    4: Call to num_option<i32>.bind<i32>
    fzT_num_u_option_l_i32_g fzM_0;
    fzM_0 = fzC__L2471num_u_opti__d_l_i32_g((fzT_num_u_option_l_i32_g*)fzCur.fzF_2__U40__1074431938,(fzT__L246_RFunction__2_gk_i32_g*)fzCur.fzF_0_f);
    //    5: Current
    //    6: Assign to num_option<i32>.infix >>=.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2471 num_option<i32>.bind<i32>:
fzT_num_u_option_l_i32_g fzC__L2471num_u_opti__d_l_i32_g(fzT_num_u_option_l_i32_g* fzouter, fzT__L246_RFunction__2_gk_i32_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__L2471num_u_opti__d_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_2__U40__1074432511 = fzouter;
    fzCur.fzF_0_f = (fzT__L246_RFunction__2_gk_i32_g*)arg0;
    //    0: Current
    //    1: Call to num_option<i32>.bind<i32>.@1074432511
    //    2: Match
    switch (fzCur.fzF_2__U40__1074432511->fzTag)
    {
      case 0/* i32 */:
      {
        fzCur.fzF_3_v = fzCur.fzF_2__U40__1074432511->fzChoice.v0;
        //    0: Current
        //    1: Call to num_option<i32>.bind<i32>.f
        //    2: Current
        //    3: Call to num_option<i32>.bind<i32>.v
        //    4: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    5: Call to ref Function<num_option<i32>, i32>.call
        // Dynamic access of ref Function<num_option<i32>, i32>.call
        fzT__L246_RFunction__2_gk_i32_g* fzM_0 = (fzT__L246_RFunction__2_gk_i32_g*)fzCur.fzF_0_f;
        fzT_num_u_option_l_i32_g fzM_1;
        switch (fzM_0->clazzId)
        {
          case 2484:
          {
            // Call calls num_option<i32>.infix +?.ref @1074437627.call target: num_option<i32>.infix +?.ref @1074437627:
            fzT_num_u_option_l_i32_g fzM_2;
            fzM_2 = fzC__L2488num_u_opti__27__1call((fzT__L2484num_u_opti__074437627*)fzM_0,fzCur.fzF_3_v);
            fzM_1 = fzM_2;
            break;
          }
          case 2492:
          {
            // Call calls num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143.call target: num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143:
            fzT_num_u_option_l_i32_g fzM_3;
            fzM_3 = fzC__L2496num_u_opti__43__1call((fzT__L2492num_u_opti__074438143*)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<num_option<i32>, i32>.call","num_option<i32>.bind<i32>");
            exit(1);
          }
        }
        //    6: Current
        //    7: Assign to num_option<i32>.bind<i32>.@1074432612
        fzCur.fzF_4__U40__1074432612 = fzM_1;
        break;
      }
      case 1/* nil */:
      {
        //    0: Call to nil
        fzC_nil();
        //    1: Tag
        // Tag a value to be of choice type num_option<i32> static value type nil
        fzT_num_u_option_l_i32_g fzM_4;
        fzM_4.fzTag = 1;
        // unit type assignment to fzM_4.fzChoice.v1
        //    2: Current
        //    3: Assign to num_option<i32>.bind<i32>.@1074432612
        fzCur.fzF_4__U40__1074432612 = fzM_4;
        break;
      }
    }
    //    5: Current
    //    6: Call to num_option<i32>.bind<i32>.@1074432612
    //    7: Current
    //    8: Assign to num_option<i32>.bind<i32>.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__1074432612;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2477 num_option<i32>.postfix ??:
fzT_bool fzC__L2477num_u_opti__stfix_wQQ(fzT_num_u_option_l_i32_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L2477num_u_opti__stfix_wQQ fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074434650 = fzouter;
    //    0: Current
    //    1: Call to num_option<i32>.postfix ??.@1074434650
    //    2: Call to num_option<i32>.exists
    fzT_bool fzM_0;
    fzM_0 = fzC__L2463num_u_opti__g__exists((fzT_num_u_option_l_i32_g*)fzCur.fzF_1__U40__1074434650);
    //    3: Current
    //    4: Assign to num_option<i32>.postfix ??.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2480 num_option<i32>.infix +?:
fzT_num_u_option_l_i32_g fzC__L2480num_u_opti__infix_wpQ(fzT_num_u_option_l_i32_g* fzouter, fzT_num_u_option_l_i32_g arg0)
{
  // instance may escape, so we need malloc here
  fzT__L2480num_u_opti__infix_wpQ* fzCur;
  fzCur = malloc(sizeof(fzT__L2480num_u_opti__infix_wpQ));

  start:
  {
    fzCur->fzF_2__U40__1074437577 = fzouter;
    fzCur->fzF_0_other = arg0;
    //    0: Current
    //    1: Call to num_option<i32>.infix +?.@1074437577
    //    2: Current
    //    3: Call to num_option<i32>.infix +?.ref @1074437627
    fzT__L2484num_u_opti__074437627* fzM_0;
    fzM_0 = fzC__L2484num_u_opti__074437627((fzT__L2480num_u_opti__infix_wpQ*)fzCur);
    //    4: Call to num_option<i32>.infix >>=
    fzT_num_u_option_l_i32_g fzM_1;
    fzM_1 = fzC__L2467num_u_opti__nfix_wgge((fzT_num_u_option_l_i32_g*)fzCur->fzF_2__U40__1074437577,(fzT__L246_RFunction__2_gk_i32_g*)fzM_0);
    //    5: Current
    //    6: Assign to num_option<i32>.infix +?.result
    fzCur->fzF_1_result = fzM_1;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2484 num_option<i32>.infix +?.ref @1074437627:
fzT__L2484num_u_opti__074437627* fzC__L2484num_u_opti__074437627(fzT__L2480num_u_opti__infix_wpQ* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2484num_u_opti__074437627* fzCur;
  fzCur = malloc(sizeof(fzT__L2484num_u_opti__074437627));
  fzCur->clazzId = 2484;

  start:
  {
    fzCur->fields.fzF_0__U40__1074437718 = fzouter;
    return fzCur;
  }
}
// code for clazz#2488 num_option<i32>.infix +?.ref @1074437627.call:
fzT_num_u_option_l_i32_g fzC__L2488num_u_opti__27__1call(fzT__L2484num_u_opti__074437627* fzouter, fzT_1i32 arg0)
{
  // instance may escape, so we need malloc here
  fzT__L2488num_u_opti__27__1call* fzCur;
  fzCur = malloc(sizeof(fzT__L2488num_u_opti__27__1call));

  start:
  {
    fzCur->fzF_2__U40__1074438093 = (fzT__L2484num_u_opti__074437627*)fzouter;
    fzCur->fzF_0_v = arg0;
    //    0: Current
    //    1: Call to num_option<i32>.infix +?.ref @1074437627.call.@1074438093
    //    2: Call to num_option<i32>.infix +?.ref @1074437627.@1074437718
    //    3: Call to num_option<i32>.infix +?.other
    //    4: Current
    //    5: Call to num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143
    fzT__L2492num_u_opti__074438143* fzM_0;
    fzM_0 = fzC__L2492num_u_opti__074438143((fzT__L2488num_u_opti__27__1call*)fzCur);
    //    6: Call to num_option<i32>.infix >>=
    fzT_num_u_option_l_i32_g fzM_1;
    fzM_1 = fzC__L2467num_u_opti__nfix_wgge((fzT_num_u_option_l_i32_g*)&fzCur->fzF_2__U40__1074438093->fields.fzF_0__U40__1074437718->fzF_0_other,(fzT__L246_RFunction__2_gk_i32_g*)fzM_0);
    //    7: Current
    //    8: Assign to num_option<i32>.infix +?.ref @1074437627.call.result
    fzCur->fzF_1_result = fzM_1;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#2492 num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143:
fzT__L2492num_u_opti__074438143* fzC__L2492num_u_opti__074438143(fzT__L2488num_u_opti__27__1call* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L2492num_u_opti__074438143* fzCur;
  fzCur = malloc(sizeof(fzT__L2492num_u_opti__074438143));
  fzCur->clazzId = 2492;

  start:
  {
    fzCur->fields.fzF_0__U40__1074438234 = fzouter;
    return fzCur;
  }
}
// code for clazz#2496 num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143.call:
fzT_num_u_option_l_i32_g fzC__L2496num_u_opti__43__1call(fzT__L2492num_u_opti__074438143* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L2496num_u_opti__43__1call fzCur;

  start:
  {
    fzCur.fzF_2__U40__1074438588 = (fzT__L2492num_u_opti__074438143*)fzouter;
    fzCur.fzF_0_w = arg0;
    //    0: Current
    //    1: Call to num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143.call.@1074438588
    //    2: Call to num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143.@1074438234
    //    3: Call to num_option<i32>.infix +?.ref @1074437627.call.v
    //    4: Current
    //    5: Call to num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143.call.w
    //    6: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    7: Call to i32.infix +?
    fzT_num_u_option_l_i32_g fzM_0;
    fzM_0 = fzC_1i32__1infix_wpQ(fzCur.fzF_2__U40__1074438588->fields.fzF_0__U40__1074438234->fzF_0_v,fzCur.fzF_0_w);
    //    8: Current
    //    9: Assign to num_option<i32>.infix +?.ref @1074437627.call.ref @1074438143.call.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2500 num_option<i32>:
fzT_num_u_option_l_i32_g fzC_1num_u_option_l_i32_g(fzT_num_u_option_l_i32_g arg0)
{
  // instance does not escape, put it on stack
  fzT_1num_u_option_l_i32_g fzCur;

  start:
  {
    fzCur.fzF_0_o = arg0;
    //    0: Current
    //    1: Call to num_option<i32>.o
    //    2: Current
    //    3: Assign to num_option<i32>.result
    fzCur.fzF_1_result = fzCur.fzF_0_o;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#2614 option<u8>.get:
fzT_1u8 fzC_option_l_u8_g__get(fzT_option_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_option_l_u8_g__get fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074488213 = fzouter;
    //    0: Current
    //    1: Call to option<u8>.get.@1074488213
    //    2: Match
    switch (fzCur.fzF_1__U40__1074488213->fzTag)
    {
      case 0/* u8 */:
      {
        fzCur.fzF_2_v = fzCur.fzF_1__U40__1074488213->fzChoice.v0;
        //    0: Current
        //    1: Call to option<u8>.get.v
        //    2: Box u8 => u8
        // Box is a NOP, clazz is already a ref
        //    3: Current
        //    4: Assign to option<u8>.get.@1074488314
        fzCur.fzF_3__U40__1074488314 = 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 = 1165;
        fzM_0->fields.fzF_0_internalArray.fzF_1_data = (void *)"option.get called on nil";
        fzM_0->fields.fzF_0_internalArray.fzF_0_length = 24;
        //    3: Call to fuzion.std.panic
        fzC_fuzion__std__1panic((fzT__RString*)fzM_0);
        break;
      }
    }
    //    5: Current
    //    6: Call to option<u8>.get.@1074488314
    //    7: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    8: Current
    //    9: Assign to option<u8>.get.result
    fzCur.fzF_0_result = fzCur.fzF_3__U40__1074488314;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2614 precondition of option<u8>.get:
void fzP_option_l_u8_g__get(fzT_option_l_u8_g* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_option_l_u8_g__get fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074488213 = fzouter;
    fzCur.fzF_1__U40__1074488213 = 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 option<u8>.get.@1074488213
        //    2: Call to option<u8>.postfix ??
        fzT_bool fzM_1;
        fzM_1 = fzC_option_l_u8_g__postfix_wQQ((fzT_option_l_u8_g*)fzCur.fzF_1__U40__1074488213);
        //    3: Current
        //    4: Assign to option<u8>.get.@1074488364
        fzCur.fzF_4__U40__1074488364 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to option<u8>.get.@1074488364
        // access to Assign to option<u8>.get.@1074488364 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to option<u8>.get.@1074488364
    if (!fzCur.fzF_4__U40__1074488364.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","option<u8>.get");
      exit(1);
    }
  }
}
// code for clazz#2650 option<u8>.exists:
fzT_bool fzC_option_l_u8_g__exists(fzT_option_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_option_l_u8_g__exists fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074489850 = fzouter;
    //    0: Current
    //    1: Call to option<u8>.exists.@1074489850
    //    2: Match
    switch (fzCur.fzF_1__U40__1074489850->fzTag)
    {
      case 0/* u8 */:
      {
        //    0: Call to true
        fzT_bool fzM_0;
        fzM_0 = fzC_true();
        //    1: Current
        //    2: Assign to option<u8>.exists.@1074489900
        fzCur.fzF_2__U40__1074489900 = fzM_0;
        break;
      }
      case 1/* nil */:
      {
        //    0: Call to false
        fzT_bool fzM_1;
        fzM_1 = fzC_false();
        //    1: Current
        //    2: Assign to option<u8>.exists.@1074489900
        fzCur.fzF_2__U40__1074489900 = fzM_1;
        break;
      }
    }
    //    5: Current
    //    6: Call to option<u8>.exists.@1074489900
    //    7: Current
    //    8: Assign to option<u8>.exists.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__1074489900;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2674 option<u8>.postfix ??:
fzT_bool fzC_option_l_u8_g__postfix_wQQ(fzT_option_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT_option_l_u8_g__postfix_wQQ fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074491155 = fzouter;
    //    0: Current
    //    1: Call to option<u8>.postfix ??.@1074491155
    //    2: Call to option<u8>.exists
    fzT_bool fzM_0;
    fzM_0 = fzC_option_l_u8_g__exists((fzT_option_l_u8_g*)fzCur.fzF_1__U40__1074491155);
    //    3: Current
    //    4: Assign to option<u8>.postfix ??.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#2687 safety:
fzT_bool fzC_safety()
{
  return (fzT_bool){1};
}
// code for clazz#2688 say:
void fzC_1say(fzT__RAny* arg0)
{
  // instance does not escape, put it on stack
  fzT_1say fzCur;

  start:
  {
    fzCur.fzF_0_s = (fzT__RAny*)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__RAny*)fzCur.fzF_0_s);
    //    5: Current
    //    6: Assign to say.result
    // access to Assign to say.result eliminated
  }
}
// code for clazz#2697 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.sys
    fzC_fuzion__sys();
    //    2: Call to fuzion.sys.out
    fzC_fuzion__sys__out();
    //    3: Current
    //    4: Assign to stdout.result
    // access to Assign to stdout.result eliminated
  }
}
// code for clazz#4425 u32.infix |:
fzT_1u32 fzC_1u32__1infix_wU7c_(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  return fzouter|arg0;
}
// code for clazz#4428 u32.infix &:
fzT_1u32 fzC_1u32__1infix_wU26_(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  return fzouter&arg0;
}
// code for clazz#4431 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__1074744523 = fzouter;
    //    0: Current
    //    1: Call to u32.thiz.@1074744523
    //    2: Call to u32.val
    //    3: Current
    //    4: Assign to u32.thiz.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__1074744523;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4456 u32.infix >>:
fzT_1u32 fzC_1u32__1infix_wgg(fzT_1u32 fzouter, fzT_1u32 arg0)
{
  return fzouter>>arg0;
}
// code for clazz#4463 u32.low8bits:
fzT_1u8 fzC_1u32__low8bits(fzT_1u32 fzouter)
{
  return (fzT_1u8)(fzouter&255U);
}
// code for clazz#4559 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__1074854592 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix +.@1074854592
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074854592);
    //    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#4559 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__1074854592 = fzouter;
    fzCur.fzF_0_other = arg0;
    fzCur.fzF_2__U40__1074854592 = 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 +.@1074854592
        //    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__1074854592,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1074854642
            fzCur.fzF_3__U40__1074854642 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1074854642
            fzCur.fzF_3__U40__1074854642 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix +.@1074854642
        // access to Assign to i32.infix +.@1074854642 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix +.@1074854642
    if (!fzCur.fzF_3__U40__1074854642.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 +.@1074854592
        //    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__1074854592,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_3.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1074854692
            fzCur.fzF_4__U40__1074854692 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix +.@1074854692
            fzCur.fzF_4__U40__1074854692 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix +.@1074854692
        // access to Assign to i32.infix +.@1074854692 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix +.@1074854692
    if (!fzCur.fzF_4__U40__1074854692.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix +");
      exit(1);
    }
  }
}
// code for clazz#4589 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__1074856466 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix -.@1074856466
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074856466);
    //    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#4589 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__1074856466 = fzouter;
    fzCur.fzF_0_other = arg0;
    fzCur.fzF_2__U40__1074856466 = 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 -.@1074856466
        //    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__1074856466,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1074856516
            fzCur.fzF_3__U40__1074856516 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1074856516
            fzCur.fzF_3__U40__1074856516 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix -.@1074856516
        // access to Assign to i32.infix -.@1074856516 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix -.@1074856516
    if (!fzCur.fzF_3__U40__1074856516.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 -.@1074856466
        //    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__1074856466,fzCur.fzF_0_other);
        //    6: Match
        switch (fzM_3.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1074856566
            fzCur.fzF_4__U40__1074856566 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.infix -.@1074856566
            fzCur.fzF_4__U40__1074856566 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix -.@1074856566
        // access to Assign to i32.infix -.@1074856566 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix -.@1074856566
    if (!fzCur.fzF_4__U40__1074856566.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix -");
      exit(1);
    }
  }
}
// code for clazz#4623 i32.infix +?:
fzT_num_u_option_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__1074867763 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix +?.@1074867763
    //    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__1074867763,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 num_option<i32> static value type nil
        fzT_num_u_option_l_i32_g fzM_1;
        fzM_1.fzTag = 1;
        // unit type assignment to fzM_1.fzChoice.v1
        //    2: Current
        //    3: Assign to i32.infix +?.@1074867813
        fzCur.fzF_3__U40__1074867813 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to i32.infix +?.@1074867763
        //    2: Call to i32.thiz
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__thiz(fzCur.fzF_2__U40__1074867763);
        //    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 num_option<i32> static value type i32
        fzT_num_u_option_l_i32_g fzM_4;
        fzM_4.fzTag = 0;
        fzM_4.fzChoice.v0 = fzM_3;
        //    8: Current
        //    9: Assign to i32.infix +?.@1074867813
        fzCur.fzF_3__U40__1074867813 = fzM_4;
        break;
      }
    }
    //    9: Current
    //   10: Call to i32.infix +?.@1074867813
    //   11: Current
    //   12: Assign to i32.infix +?.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1074867813;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4638 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__1074872159 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.wrappedOnAdd.@1074872159
    //    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__1074872159,fzCur.fzF_0_other);
    //    6: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.wrappedOnAdd.@1074872209
        fzCur.fzF_3__U40__1074872209 = (fzT_bool){1};
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to i32.wrappedOnAdd.@1074872159
        //    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__1074872159,fzCur.fzF_0_other);
        //    6: Current
        //    7: Assign to i32.wrappedOnAdd.@1074872209
        fzCur.fzF_3__U40__1074872209 = fzM_1;
        break;
      }
    }
    //    9: Current
    //   10: Call to i32.wrappedOnAdd.@1074872209
    //   11: Current
    //   12: Assign to i32.wrappedOnAdd.result
    fzCur.fzF_1_result = fzCur.fzF_3__U40__1074872209;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#4696 String.#type<String>.concat:
fzT__RString* fzC__L4696String_oHt____2concat(fzT__RString* arg0, fzT__RString* arg1)
{
  // instance may escape, so we need malloc here
  fzT__L4696String_oHt____2concat* fzCur;
  fzCur = malloc(sizeof(fzT__L4696String_oHt____2concat));

  start:
  {
    fzCur->fzF_0_a = (fzT__RString*)arg0;
    fzCur->fzF_1_b = (fzT__RString*)arg1;
    //    0: Current
    //    1: Call to String.#type<String>.concat.ref @1074893663
    fzT__L4700String_oHt__074893663* fzM_0;
    fzM_0 = fzC__L4700String_oHt__074893663((fzT__L4696String_oHt____2concat*)fzCur);
    //    2: Current
    //    3: Assign to String.#type<String>.concat.result
    fzCur->fzF_2_result = (fzT__RString*)fzM_0;
    return fzCur->fzF_2_result;
  }
}
// code for clazz#4700 String.#type<String>.concat.ref @1074893663:
fzT__L4700String_oHt__074893663* fzC__L4700String_oHt__074893663(fzT__L4696String_oHt____2concat* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L4700String_oHt__074893663* fzCur;
  fzCur = malloc(sizeof(fzT__L4700String_oHt__074893663));
  fzCur->clazzId = 4700;

  start:
  {
    fzCur->fields.fzF_0__U40__1074893730 = fzouter;
    return fzCur;
  }
}
// code for clazz#4704 String.#type<String>.concat.ref @1074893663.utf8:
fzT__RSequence_l_u8_g* fzC__L4704String_oHt__663__utf8(fzT__L4700String_oHt__074893663* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L4704String_oHt__663__utf8 fzCur;

  start:
  {
    fzCur.fzF_1__U40__1074894103 = (fzT__L4700String_oHt__074893663*)fzouter;
    //    0: Current
    //    1: Call to String.#type<String>.concat.ref @1074893663.utf8.@1074894103
    //    2: Call to String.#type<String>.concat.ref @1074893663.@1074893730
    //    3: Call to String.#type<String>.concat.a
    //    4: Call to ref String.utf8
    // Dynamic access of ref String.utf8
    fzT__RString* fzM_0 = (fzT__RString*)fzCur.fzF_1__U40__1074894103->fields.fzF_0__U40__1074893730->fzF_0_a;
    fzT__RSequence_l_u8_g* fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1165:
      {
        // 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 4700:
      {
        // Call calls String.#type<String>.concat.ref @1074893663.utf8 target: String.#type<String>.concat.ref @1074893663:
        fzT__RSequence_l_u8_g* fzM_3;
        fzM_3 = fzC__L4704String_oHt__663__utf8((fzT__L4700String_oHt__074893663*)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","String.#type<String>.concat.ref @1074893663.utf8");
        exit(1);
      }
    }
    //    5: Current
    //    6: Call to String.#type<String>.concat.ref @1074893663.utf8.@1074894103
    //    7: Call to String.#type<String>.concat.ref @1074893663.@1074893730
    //    8: Call to String.#type<String>.concat.b
    //    9: Call to ref String.utf8
    // Dynamic access of ref String.utf8
    fzT__RString* fzM_4 = (fzT__RString*)fzCur.fzF_1__U40__1074894103->fields.fzF_0__U40__1074893730->fzF_1_b;
    fzT__RSequence_l_u8_g* fzM_5;
    switch (fzM_4->clazzId)
    {
      case 1149:
      {
        // 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 1165:
      {
        // 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 4700:
      {
        // Call calls String.#type<String>.concat.ref @1074893663.utf8 target: String.#type<String>.concat.ref @1074893663:
        fzT__RSequence_l_u8_g* fzM_8;
        fzM_8 = fzC__L4704String_oHt__663__utf8((fzT__L4700String_oHt__074893663*)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","String.#type<String>.concat.ref @1074893663.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 1165:
      {
        // 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 1762:
      {
        // 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 ++","String.#type<String>.concat.ref @1074893663.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 = 1762;
    fzM_13->fields = fzM_10;
    //   12: Current
    //   13: Assign to String.#type<String>.concat.ref @1074893663.utf8.result
    fzCur.fzF_0_result = (fzT__RSequence_l_u8_g*)fzM_13;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4712 codepoint.#type<codepoint<>>.range:
fzT_1u32__1infix_woo fzC__L4712codepoint___gg__range()
{
  // instance does not escape, put it on stack
  fzT__L4712codepoint___gg__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.#type<codepoint<>>.range.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4714 codepoint.#type<codepoint<>>.ascii:
fzT_1u32__1infix_woo fzC__L4714codepoint___gg__ascii()
{
  // instance does not escape, put it on stack
  fzT__L4714codepoint___gg__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 codepoint.#type<codepoint<>>.ascii.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4716 codepoint.#type<codepoint<>>.utf8_encoded_in_one_byte:
fzT_1u32__1infix_woo fzC__L4716codepoint___ne_u_byte()
{
  // instance does not escape, put it on stack
  fzT__L4716codepoint___ne_u_byte fzCur;

  start:
  {
    //    0: Current
    //    1: Call to codepoint.#type<codepoint<>>.utf8_encoded_in_one_byte.@1074921192
    // access to Call to codepoint.#type<codepoint<>>.utf8_encoded_in_one_byte.@1074921192 eliminated
    //    2: Call to codepoint.#type<codepoint<>>.ascii
    fzT_1u32__1infix_woo fzM_0;
    fzM_0 = fzC__L4714codepoint___gg__ascii();
    //    3: Current
    //    4: Assign to codepoint.#type<codepoint<>>.utf8_encoded_in_one_byte.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4719 codepoint.#type<codepoint<>>.utf8_encoded_in_two_bytes:
fzT_1u32__1infix_woo fzC__L4719codepoint___o_u_bytes()
{
  // instance does not escape, put it on stack
  fzT__L4719codepoint___o_u_bytes 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 codepoint.#type<codepoint<>>.utf8_encoded_in_two_bytes.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4721 codepoint.#type<codepoint<>>.utf8_encoded_in_three_bytes:
fzT_1u32__1infix_woo fzC__L4721codepoint___e_u_bytes()
{
  // instance does not escape, put it on stack
  fzT__L4721codepoint___e_u_bytes 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 codepoint.#type<codepoint<>>.utf8_encoded_in_three_bytes.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4723 codepoint.#type<codepoint<>>.utf8_encoded_in_four_bytes:
fzT_1u32__1infix_woo fzC__L4723codepoint___r_u_bytes()
{
  // instance does not escape, put it on stack
  fzT__L4723codepoint___r_u_bytes 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 codepoint.#type<codepoint<>>.utf8_encoded_in_four_bytes.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4725 codepoint.#type<codepoint<>>.utf16_surrogate:
fzT_1u32__1infix_woo fzC__L4725codepoint___surrogate()
{
  // instance does not escape, put it on stack
  fzT__L4725codepoint___surrogate 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.#type<codepoint<>>.utf16_surrogate.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#4757 i32.#type<i32<>>.lteq:
fzT_bool fzC_i32_oHtype_l_i32_lgg__2lteq(fzT_1i32 arg0, fzT_1i32 arg1)
{
  return arg0<=arg1?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#4773 u32.#type<u32>.lteq:
fzT_bool fzC_u32_oHtype_l_u32_g__2lteq(fzT_1u32 arg0, fzT_1u32 arg1)
{
  return arg0<=arg1?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#4788 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 = 1165;
    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__RAny*)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) { 
#if _WIN32
 _setmode( _fileno( stdout ), _O_BINARY ); // reopen stdout in binary mode
 _setmode( _fileno( stderr ), _O_BINARY ); // reopen stderr in binary mode
#endif
struct fzThrd_effectsEnvironment tmp0;
memset(&tmp0,0,sizeof(struct fzThrd_effectsEnvironment));
fzThrd_effectsEnvironment = &tmp0;
fzG_argc = argc;
fzG_argv = argv;
fzC_HelloWorld();
}