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

c_man_or_boy/man_or_boy.c


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

int fzG_argc;
char ** fzG_argv;
// helper to clone a (stack) instance to the heap
void * fzH_heapClone(void * of, size_t sz)
{
  void * r = malloc(sz);
  memcpy(r,of,sz);
  return r;
}
struct fzThrd_startRoutineArg
{
  void * fzThrd_startRoutineArgFun;
  void * fzThrd_startRoutineArgArg;
};
static void * fzThrd_startRoutine(void * arg0);
typedef struct fzT_Cons_l_i32_k_list_l_i32_gg fzT_Cons_l_i32_k_list_l_i32_gg;
typedef struct fzT__L0_RCons_l_i__ist_l_i32_gg fzT__L0_RCons_l_i__ist_l_i32_gg;
typedef struct fzT__L3Cons_l_str___l_string_gg fzT__L3Cons_l_str___l_string_gg;
typedef struct fzT__L2_RCons_l_s___l_string_gg fzT__L2_RCons_l_s___l_string_gg;
typedef struct fzT_Cons_l_u8_k_list_l_u8_gg fzT_Cons_l_u8_k_list_l_u8_gg;
typedef struct fzT__RCons_l_u8_k_list_l_u8_gg fzT__RCons_l_u8_k_list_l_u8_gg;
typedef struct fzT_Function_l_i32_g fzT_Function_l_i32_g;
typedef struct fzT__RFunction_l_i32_g fzT__RFunction_l_i32_g;
typedef struct fzT_Function_l_unit_g fzT_Function_l_unit_g;
typedef struct fzT__RFunction_l_unit_g fzT__RFunction_l_unit_g;
typedef struct fzT_Function_l_i32_k_i32_g fzT_Function_l_i32_k_i32_g;
typedef struct fzT__RFunction_l_i32_k_i32_g fzT__RFunction_l_i32_k_i32_g;
typedef struct fzT_Function_l_i32_k_string_g fzT_Function_l_i32_k_string_g;
typedef struct fzT__RFunction_l_i32_k_string_g fzT__RFunction_l_i32_k_string_g;
typedef struct fzT_Function_l_i32_k_u8_g fzT_Function_l_i32_k_u8_g;
typedef struct fzT__RFunction_l_i32_k_u8_g fzT__RFunction_l_i32_k_u8_g;
typedef struct fzT__L23Function_l__32_gk_i32_g fzT__L23Function_l__32_gk_i32_g;
typedef struct fzT__L22_RFunction__32_gk_i32_g fzT__L22_RFunction__32_gk_i32_g;
typedef struct fzT_Function_l_string_k_i32_g fzT_Function_l_string_k_i32_g;
typedef struct fzT__RFunction_l_string_k_i32_g fzT__RFunction_l_string_k_i32_g;
typedef struct fzT__L27Function_l___k_string_g fzT__L27Function_l___k_string_g;
typedef struct fzT__L26_RFunction___k_string_g fzT__L26_RFunction___k_string_g;
typedef struct fzT_Function_l_string_k_u8_g fzT_Function_l_string_k_u8_g;
typedef struct fzT__RFunction_l_string_k_u8_g fzT__RFunction_l_string_k_u8_g;
typedef struct fzT_Function_l_u8_k_i32_g fzT_Function_l_u8_k_i32_g;
typedef struct fzT__RFunction_l_u8_k_i32_g fzT__RFunction_l_u8_k_i32_g;
typedef struct fzT_Function_l_unit_k_i32_g fzT_Function_l_unit_k_i32_g;
typedef struct fzT__RFunction_l_unit_k_i32_g fzT__RFunction_l_unit_k_i32_g;
typedef struct fzT_Function_l_unit_k_unit_g fzT_Function_l_unit_k_unit_g;
typedef struct fzT__RFunction_l_unit_k_unit_g fzT__RFunction_l_unit_k_unit_g;
typedef int32_t fzT_1i32;
typedef uint8_t fzT_1u8;
typedef struct fzT_unit fzT_unit;
typedef struct fzT_Monoid_l_i32_g fzT_Monoid_l_i32_g;
typedef struct fzT__RMonoid_l_i32_g fzT__RMonoid_l_i32_g;
typedef struct fzT_Monoid_l_string_g fzT_Monoid_l_string_g;
typedef struct fzT__RMonoid_l_string_g fzT__RMonoid_l_string_g;
typedef struct fzT_Monoid_l_u8_g fzT_Monoid_l_u8_g;
typedef struct fzT__RMonoid_l_u8_g fzT__RMonoid_l_u8_g;
typedef struct fzT__RMonoid_l_i32_g__2op fzT__RMonoid_l_i32_g__2op;
typedef struct fzT__RMonoid_l_string_g__2op fzT__RMonoid_l_string_g__2op;
typedef struct fzT__RMonoid_l_u8_g__2op fzT__RMonoid_l_u8_g__2op;
typedef struct fzT_i32s_Rsum__2op fzT_i32s_Rsum__2op;
typedef struct fzT_strings_R1concat__2op fzT_strings_R1concat__2op;
typedef struct fzT_Object fzT_Object;
typedef struct fzT__RObject fzT__RObject;
typedef struct fzT_Sequence_l_i32_g fzT_Sequence_l_i32_g;
typedef struct fzT__RSequence_l_i32_g fzT__RSequence_l_i32_g;
typedef struct fzT_Sequence_l_string_g fzT_Sequence_l_string_g;
typedef struct fzT__RSequence_l_string_g fzT__RSequence_l_string_g;
typedef struct fzT_Sequence_l_u32_g fzT_Sequence_l_u32_g;
typedef struct fzT__RSequence_l_u32_g fzT__RSequence_l_u32_g;
typedef struct fzT_Sequence_l_u8_g fzT_Sequence_l_u8_g;
typedef struct fzT__RSequence_l_u8_g fzT__RSequence_l_u8_g;
typedef struct fzT__R4array_l_u8_g__asString fzT__R4array_l_u8_g__asString;
typedef struct fzT__L3421i32__1asS____asString fzT__L3421i32__1asS____asString;
typedef struct fzT__L3431u8__1asSt____asString fzT__L3431u8__1asSt____asString;
typedef struct fzT__L344_R1i32__1a____asString fzT__L344_R1i32__1a____asString;
typedef struct fzT_nil fzT_nil;
typedef struct fzT_list_l_i32_g fzT_list_l_i32_g;
typedef struct fzT__RSequence_l_i32_g__asList fzT__RSequence_l_i32_g__asList;
typedef struct fzT_list_l_string_g fzT_list_l_string_g;
typedef struct fzT__L354_RSequence___g__asList fzT__L354_RSequence___g__asList;
typedef struct fzT_list_l_u8_g fzT_list_l_u8_g;
typedef struct fzT__RSequence_l_u8_g__asList fzT__RSequence_l_u8_g__asList;
typedef struct fzT__L3561i32__1asS__f8__asList fzT__L3561i32__1asS__f8__asList;
typedef struct fzT__L3571u8__1asSt__f8__asList fzT__L3571u8__1asSt__f8__asList;
typedef struct fzT__L358_R1i32__1a__f8__asList fzT__L358_R1i32__1a__f8__asList;
typedef struct fzT__L371_RSequence____asStream fzT__L371_RSequence____asStream;
typedef struct fzT__L372_RSequence____asStream fzT__L372_RSequence____asStream;
typedef struct fzT__RSequence_l_u8_g__asStream fzT__RSequence_l_u8_g__asStream;
typedef struct fzT_FALSE fzT_FALSE;
typedef struct fzT_TRUE fzT_TRUE;
typedef struct fzT_bool fzT_bool;
typedef struct fzT__RSequence_l_u8_g__isEmpty fzT__RSequence_l_u8_g__isEmpty;
typedef struct fzT__R4array_l_u8_g__isEmpty fzT__R4array_l_u8_g__isEmpty;
typedef struct fzT__L382_R4array_l__m__isEmpty fzT__L382_R4array_l__m__isEmpty;
typedef struct fzT__L3831i32__1inf__m__isEmpty fzT__L3831i32__1inf__m__isEmpty;
typedef struct fzT__L3841i32__1asS__8__isEmpty fzT__L3841i32__1asS__8__isEmpty;
typedef struct fzT__L3851u8__1asSt__8__isEmpty fzT__L3851u8__1asSt__8__isEmpty;
typedef struct fzT__L386_R1i32__1a__8__isEmpty fzT__L386_R1i32__1a__8__isEmpty;
typedef struct fzT__L3871i32__1asS__2__isEmpty fzT__L3871i32__1asS__2__isEmpty;
typedef struct fzT__L3881u8__1asSt__2__isEmpty fzT__L3881u8__1asSt__2__isEmpty;
typedef struct fzT__L389_R1i32__1a__2__isEmpty fzT__L389_R1i32__1a__2__isEmpty;
typedef struct fzT__L390list_l_i32__m__isEmpty fzT__L390list_l_i32__m__isEmpty;
typedef struct fzT__L391list_l_str__m__isEmpty fzT__L391list_l_str__m__isEmpty;
typedef struct fzT__L392list_l_u8___m__isEmpty fzT__L392list_l_u8___m__isEmpty;
typedef struct fzT__L393_Rlist_l_i__m__isEmpty fzT__L393_Rlist_l_i__m__isEmpty;
typedef struct fzT__L394_Rlist_l_s__m__isEmpty fzT__L394_Rlist_l_s__m__isEmpty;
typedef struct fzT__L395_Rlist_l_u__m__isEmpty fzT__L395_Rlist_l_u__m__isEmpty;
typedef struct fzT__L396_R4array_l__7__isEmpty fzT__L396_R4array_l__7__isEmpty;
typedef struct fzT__L3971i32__1inf__7__isEmpty fzT__L3971i32__1inf__7__isEmpty;
typedef struct fzT__L3981i32__1asS__7__isEmpty fzT__L3981i32__1asS__7__isEmpty;
typedef struct fzT__L3991u8__1asSt__7__isEmpty fzT__L3991u8__1asSt__7__isEmpty;
typedef struct fzT__L400_R1i32__1a__7__isEmpty fzT__L400_R1i32__1a__7__isEmpty;
typedef struct fzT__L401list_l_i32__7__isEmpty fzT__L401list_l_i32__7__isEmpty;
typedef struct fzT__L402list_l_str__7__isEmpty fzT__L402list_l_str__7__isEmpty;
typedef struct fzT__L403list_l_u8___7__isEmpty fzT__L403list_l_u8___7__isEmpty;
typedef struct fzT__L404_Rlist_l_i__7__isEmpty fzT__L404_Rlist_l_i__7__isEmpty;
typedef struct fzT__L405_Rlist_l_s__7__isEmpty fzT__L405_Rlist_l_s__7__isEmpty;
typedef struct fzT__L406_Rlist_l_u__7__isEmpty fzT__L406_Rlist_l_u__7__isEmpty;
typedef struct fzT__L407_Rstream_l__7__isEmpty fzT__L407_Rstream_l__7__isEmpty;
typedef struct fzT__RSequence_l_u8_g__count fzT__RSequence_l_u8_g__count;
typedef struct fzT__R4array_l_u8_g__count fzT__R4array_l_u8_g__count;
typedef struct fzT__R1conststring__count fzT__R1conststring__count;
typedef struct fzT__L4671i32__1asS__tf8__count fzT__L4671i32__1asS__tf8__count;
typedef struct fzT__L4681u8__1asSt__tf8__count fzT__L4681u8__1asSt__tf8__count;
typedef struct fzT__L469_R1i32__1a__tf8__count fzT__L469_R1i32__1a__tf8__count;
typedef struct fzT__L488_RSequence___U40__6883 fzT__L488_RSequence___U40__6883;
typedef struct fzT__L482_RSequence___U40__6883 fzT__L482_RSequence___U40__6883;
typedef struct fzT__L489_R4array_l___U40__6883 fzT__L489_R4array_l___U40__6883;
typedef struct fzT__L483_R4array_l___U40__6883 fzT__L483_R4array_l___U40__6883;
typedef struct fzT__L490_R1constst___U40__6883 fzT__L490_R1constst___U40__6883;
typedef struct fzT__L484_R1constst___U40__6883 fzT__L484_R1constst___U40__6883;
typedef struct fzT__L4911i32__1asS___U40__6883 fzT__L4911i32__1asS___U40__6883;
typedef struct fzT__L4851i32__1asS___U40__6883 fzT__L4851i32__1asS___U40__6883;
typedef struct fzT__L4921u8__1asSt___U40__6883 fzT__L4921u8__1asSt___U40__6883;
typedef struct fzT__L4861u8__1asSt___U40__6883 fzT__L4861u8__1asSt___U40__6883;
typedef struct fzT__L493_R1i32__1a___U40__6883 fzT__L493_R1i32__1a___U40__6883;
typedef struct fzT__L487_R1i32__1a___U40__6883 fzT__L487_R1i32__1a___U40__6883;
typedef struct fzT__L494_RSequence__883__1call fzT__L494_RSequence__883__1call;
typedef struct fzT__L495_R4array_l__883__1call fzT__L495_R4array_l__883__1call;
typedef struct fzT__L496_R1constst__883__1call fzT__L496_R1constst__883__1call;
typedef struct fzT__L4971i32__1asS__883__1call fzT__L4971i32__1asS__883__1call;
typedef struct fzT__L4981u8__1asSt__883__1call fzT__L4981u8__1asSt__883__1call;
typedef struct fzT__L499_R1i32__1a__883__1call fzT__L499_R1i32__1a__883__1call;
typedef struct fzT__RSequence_l_u8_g__first fzT__RSequence_l_u8_g__first;
typedef struct fzT__R4array_l_u8_g__first fzT__R4array_l_u8_g__first;
typedef struct fzT__L514_R4array_l__eam__first fzT__L514_R4array_l__eam__first;
typedef struct fzT__R1conststring__first fzT__R1conststring__first;
typedef struct fzT__L5161i32__1inf__eam__first fzT__L5161i32__1inf__eam__first;
typedef struct fzT__L5171i32__1asS__tf8__first fzT__L5171i32__1asS__tf8__first;
typedef struct fzT__L5181u8__1asSt__tf8__first fzT__L5181u8__1asSt__tf8__first;
typedef struct fzT__L519_R1i32__1a__tf8__first fzT__L519_R1i32__1a__tf8__first;
typedef struct fzT__L5201i32__1asS__222__first fzT__L5201i32__1asS__222__first;
typedef struct fzT__L5211u8__1asSt__222__first fzT__L5211u8__1asSt__222__first;
typedef struct fzT__L522_R1i32__1a__222__first fzT__L522_R1i32__1a__222__first;
typedef struct fzT__L523list_l_i32__eam__first fzT__L523list_l_i32__eam__first;
typedef struct fzT__L524list_l_str__eam__first fzT__L524list_l_str__eam__first;
typedef struct fzT__L525list_l_u8___eam__first fzT__L525list_l_u8___eam__first;
typedef struct fzT__L526_Rlist_l_i__eam__first fzT__L526_Rlist_l_i__eam__first;
typedef struct fzT__L527_Rlist_l_s__eam__first fzT__L527_Rlist_l_s__eam__first;
typedef struct fzT__L528_Rlist_l_u__eam__first fzT__L528_Rlist_l_u__eam__first;
typedef struct fzT__L529_R4array_l__307__first fzT__L529_R4array_l__307__first;
typedef struct fzT__L5301i32__1inf__307__first fzT__L5301i32__1inf__307__first;
typedef struct fzT__L5311i32__1asS__307__first fzT__L5311i32__1asS__307__first;
typedef struct fzT__L5321u8__1asSt__307__first fzT__L5321u8__1asSt__307__first;
typedef struct fzT__L533_R1i32__1a__307__first fzT__L533_R1i32__1a__307__first;
typedef struct fzT__L534list_l_i32__307__first fzT__L534list_l_i32__307__first;
typedef struct fzT__L535list_l_str__307__first fzT__L535list_l_str__307__first;
typedef struct fzT__L536list_l_u8___307__first fzT__L536list_l_u8___307__first;
typedef struct fzT__L537_Rlist_l_i__307__first fzT__L537_Rlist_l_i__307__first;
typedef struct fzT__L538_Rlist_l_s__307__first fzT__L538_Rlist_l_s__307__first;
typedef struct fzT__L539_Rlist_l_u__307__first fzT__L539_Rlist_l_u__307__first;
typedef struct fzT__L540_Rstream_l__307__first fzT__L540_Rstream_l__307__first;
typedef struct fzT_fuzion__sys__1array_l_u8_g fzT_fuzion__sys__1array_l_u8_g;
typedef struct fzT_4array_l_u8_g fzT_4array_l_u8_g;
typedef struct fzT_list_l_u8_g__asArray fzT_list_l_u8_g__asArray;
typedef struct fzT__RSequence_l_u8_g__asArray fzT__RSequence_l_u8_g__asArray;
typedef struct fzT__L6301i32__1asS__8__asArray fzT__L6301i32__1asS__8__asArray;
typedef struct fzT__L6311u8__1asSt__8__asArray fzT__L6311u8__1asSt__8__asArray;
typedef struct fzT__L632_R1i32__1a__8__asArray fzT__L632_R1i32__1a__8__asArray;
typedef struct fzT_fuzion__sys__1array_l_i32_g fzT_fuzion__sys__1array_l_i32_g;
typedef struct fzT_4array_l_i32_g fzT_4array_l_i32_g;
typedef struct fzT__Rlist_l_i32_g__asArray fzT__Rlist_l_i32_g__asArray;
typedef struct fzT__L1262fuzion__sy___string_g fzT__L1262fuzion__sy___string_g;
typedef struct fzT_4array_l_string_g fzT_4array_l_string_g;
typedef struct fzT__Rlist_l_string_g__asArray fzT__Rlist_l_string_g__asArray;
typedef struct fzT__Rlist_l_u8_g__asArray fzT__Rlist_l_u8_g__asArray;
typedef struct fzT__L668list_l_u8____U40__9594 fzT__L668list_l_u8____U40__9594;
typedef struct fzT__L660list_l_u8____U40__9594 fzT__L660list_l_u8____U40__9594;
typedef struct fzT__L669_RSequence___U40__9594 fzT__L669_RSequence___U40__9594;
typedef struct fzT__L661_RSequence___U40__9594 fzT__L661_RSequence___U40__9594;
typedef struct fzT__L6701i32__1asS___U40__9594 fzT__L6701i32__1asS___U40__9594;
typedef struct fzT__L6621i32__1asS___U40__9594 fzT__L6621i32__1asS___U40__9594;
typedef struct fzT__L6711u8__1asSt___U40__9594 fzT__L6711u8__1asSt___U40__9594;
typedef struct fzT__L6631u8__1asSt___U40__9594 fzT__L6631u8__1asSt___U40__9594;
typedef struct fzT__L672_R1i32__1a___U40__9594 fzT__L672_R1i32__1a___U40__9594;
typedef struct fzT__L664_R1i32__1a___U40__9594 fzT__L664_R1i32__1a___U40__9594;
typedef struct fzT__L673_Rlist_l_i___U40__9594 fzT__L673_Rlist_l_i___U40__9594;
typedef struct fzT__L665_Rlist_l_i___U40__9594 fzT__L665_Rlist_l_i___U40__9594;
typedef struct fzT__L674_Rlist_l_s___U40__9594 fzT__L674_Rlist_l_s___U40__9594;
typedef struct fzT__L666_Rlist_l_s___U40__9594 fzT__L666_Rlist_l_s___U40__9594;
typedef struct fzT__L675_Rlist_l_u___U40__9594 fzT__L675_Rlist_l_u___U40__9594;
typedef struct fzT__L667_Rlist_l_u___U40__9594 fzT__L667_Rlist_l_u___U40__9594;
typedef struct fzT__L692list_l_u8___594__1call fzT__L692list_l_u8___594__1call;
typedef struct fzT__L693_RSequence__594__1call fzT__L693_RSequence__594__1call;
typedef struct fzT__L6941i32__1asS__594__1call fzT__L6941i32__1asS__594__1call;
typedef struct fzT__L6951u8__1asSt__594__1call fzT__L6951u8__1asSt__594__1call;
typedef struct fzT__L696_R1i32__1a__594__1call fzT__L696_R1i32__1a__594__1call;
typedef struct fzT__L697_Rlist_l_i__594__1call fzT__L697_Rlist_l_i__594__1call;
typedef struct fzT__L698_Rlist_l_s__594__1call fzT__L698_Rlist_l_s__594__1call;
typedef struct fzT__L699_Rlist_l_u__594__1call fzT__L699_Rlist_l_u__594__1call;
typedef struct fzT__L7241i32__1inf__nfix_wU7c_ fzT__L7241i32__1inf__nfix_wU7c_;
typedef struct fzT__L728_RSequence__1infix_wpp fzT__L728_RSequence__1infix_wpp;
typedef struct fzT__R4array_l_u8_g__1infix_wpp fzT__R4array_l_u8_g__1infix_wpp;
typedef struct fzT__L730_R4array_l__1infix_wpp fzT__L730_R4array_l__1infix_wpp;
typedef struct fzT__R1conststring__1infix_wpp fzT__R1conststring__1infix_wpp;
typedef struct fzT__L7321i32__1inf__1infix_wpp fzT__L7321i32__1inf__1infix_wpp;
typedef struct fzT__L7331i32__1asS__1infix_wpp fzT__L7331i32__1asS__1infix_wpp;
typedef struct fzT__L7341u8__1asSt__1infix_wpp fzT__L7341u8__1asSt__1infix_wpp;
typedef struct fzT__L735_R1i32__1a__1infix_wpp fzT__L735_R1i32__1a__1infix_wpp;
typedef struct fzT__L7361i32__1asS__1infix_wpp fzT__L7361i32__1asS__1infix_wpp;
typedef struct fzT__L7371u8__1asSt__1infix_wpp fzT__L7371u8__1asSt__1infix_wpp;
typedef struct fzT__L738_R1i32__1a__1infix_wpp fzT__L738_R1i32__1a__1infix_wpp;
typedef struct fzT__L739list_l_i32__1infix_wpp fzT__L739list_l_i32__1infix_wpp;
typedef struct fzT__L740list_l_str__1infix_wpp fzT__L740list_l_str__1infix_wpp;
typedef struct fzT__L741list_l_u8___1infix_wpp fzT__L741list_l_u8___1infix_wpp;
typedef struct fzT__L742_Rlist_l_i__1infix_wpp fzT__L742_Rlist_l_i__1infix_wpp;
typedef struct fzT__L743_Rlist_l_s__1infix_wpp fzT__L743_Rlist_l_s__1infix_wpp;
typedef struct fzT__L744_Rlist_l_u__1infix_wpp fzT__L744_Rlist_l_u__1infix_wpp;
typedef struct fzT__L745_R4array_l__1infix_wpp fzT__L745_R4array_l__1infix_wpp;
typedef struct fzT__L7461i32__1inf__1infix_wpp fzT__L7461i32__1inf__1infix_wpp;
typedef struct fzT__L7471i32__1asS__1infix_wpp fzT__L7471i32__1asS__1infix_wpp;
typedef struct fzT__L7481u8__1asSt__1infix_wpp fzT__L7481u8__1asSt__1infix_wpp;
typedef struct fzT__L749_R1i32__1a__1infix_wpp fzT__L749_R1i32__1a__1infix_wpp;
typedef struct fzT__L750list_l_i32__1infix_wpp fzT__L750list_l_i32__1infix_wpp;
typedef struct fzT__L751list_l_str__1infix_wpp fzT__L751list_l_str__1infix_wpp;
typedef struct fzT__L752list_l_u8___1infix_wpp fzT__L752list_l_u8___1infix_wpp;
typedef struct fzT__L753_Rlist_l_i__1infix_wpp fzT__L753_Rlist_l_i__1infix_wpp;
typedef struct fzT__L754_Rlist_l_s__1infix_wpp fzT__L754_Rlist_l_s__1infix_wpp;
typedef struct fzT__L755_Rlist_l_u__1infix_wpp fzT__L755_Rlist_l_u__1infix_wpp;
typedef struct fzT__L756_Rstream_l__1infix_wpp fzT__L756_Rstream_l__1infix_wpp;
typedef struct fzT__L844_RSequence__ce_l_i32_g fzT__L844_RSequence__ce_l_i32_g;
typedef struct fzT__L845_R4array_l__ce_l_i32_g fzT__L845_R4array_l__ce_l_i32_g;
typedef struct fzT__L846_R1constst__ce_l_i32_g fzT__L846_R1constst__ce_l_i32_g;
typedef struct fzT__L8471i32__1asS__ce_l_i32_g fzT__L8471i32__1asS__ce_l_i32_g;
typedef struct fzT__L8481u8__1asSt__ce_l_i32_g fzT__L8481u8__1asSt__ce_l_i32_g;
typedef struct fzT__L849_R1i32__1a__ce_l_i32_g fzT__L849_R1i32__1a__ce_l_i32_g;
typedef struct fzT_Set_l_i32_g fzT_Set_l_i32_g;
typedef struct fzT__RSet_l_i32_g fzT__RSet_l_i32_g;
typedef struct fzT_Set_l_u32_g fzT_Set_l_u32_g;
typedef struct fzT__RSet_l_u32_g fzT__RSet_l_u32_g;
typedef struct fzT_2array_l_i32_g fzT_2array_l_i32_g;
typedef struct fzT_2array_l_string_g fzT_2array_l_string_g;
typedef struct fzT_2array_l_u8_g fzT_2array_l_u8_g;
typedef struct fzT_1i32__1infix_woo fzT_1i32__1infix_woo;
typedef struct fzT_2array_l_i32_g__indices fzT_2array_l_i32_g__indices;
typedef struct fzT_2array_l_string_g__indices fzT_2array_l_string_g__indices;
typedef struct fzT_2array_l_u8_g__indices fzT_2array_l_u8_g__indices;
typedef struct fzT__L9022array_l_i__U40__43139 fzT__L9022array_l_i__U40__43139;
typedef struct fzT__L9032array_l_s__U40__43139 fzT__L9032array_l_s__U40__43139;
typedef struct fzT_2array_l_u8_g__1_U40__43139 fzT_2array_l_u8_g__1_U40__43139;
typedef struct fzT__R4array_l_u8_g fzT__R4array_l_u8_g;
typedef struct fzT__R4array_l_u8_g__asList fzT__R4array_l_u8_g__asList;
typedef struct fzT__R1conststring__asList fzT__R1conststring__asList;
typedef struct fzT__R4array_l_u8_g__1asList fzT__R4array_l_u8_g__1asList;
typedef struct fzT__R1conststring__1asList fzT__R1conststring__1asList;
typedef struct fzT_1some_l_list_l_u8_gg fzT_1some_l_list_l_u8_gg;
typedef struct fzT__L2569option_l_s___l_u8_ggg fzT__L2569option_l_s___l_u8_ggg;
typedef struct fzT__R4array_l_u8_g__asStream fzT__R4array_l_u8_g__asStream;
typedef struct fzT__R4array_l_u8_g_RasStream fzT__R4array_l_u8_g_RasStream;
typedef struct fzT__L977_R4array_l__m__hasNext fzT__L977_R4array_l__m__hasNext;
typedef struct fzT__L980_R4array_l__ream__next fzT__L980_R4array_l__ream__next;
typedef struct fzT__R4array_l_u8_g__asArray fzT__R4array_l_u8_g__asArray;
typedef struct fzT__R1conststring__asArray fzT__R1conststring__asArray;
typedef struct fzT__L989_R4array_l__wU5b_wU5d_ fzT__L989_R4array_l__wU5b_wU5d_;
typedef struct fzT__L990_R1constst__wU5b_wU5d_ fzT__L990_R1constst__wU5b_wU5d_;
typedef struct fzT_4array_l_u8_g__length fzT_4array_l_u8_g__length;
typedef struct fzT__R4array_l_u8_g__length fzT__R4array_l_u8_g__length;
typedef struct fzT__R1conststring__length fzT__R1conststring__length;
typedef struct fzT_4array_l_u8_g__1arrayCons fzT_4array_l_u8_g__1arrayCons;
typedef struct fzT_4array_l_u8_g_R1arrayCons fzT_4array_l_u8_g_R1arrayCons;
typedef struct fzT__R4array_l_u8_g__1arrayCons fzT__R4array_l_u8_g__1arrayCons;
typedef struct fzT__R4array_l_u8_g_R1arrayCons fzT__R4array_l_u8_g_R1arrayCons;
typedef struct fzT__L1022_R4array_l__ons__head fzT__L1022_R4array_l__ons__head;
typedef struct fzT__L1025_R4array_l__ons__tail fzT__L1025_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__std__err__ascii fzT_fuzion__std__err__ascii;
typedef struct fzT_1i32__1asString__ascii fzT_1i32__1asString__ascii;
typedef struct fzT_1u8__1asString__ascii fzT_1u8__1asString__ascii;
typedef struct fzT__R1i32__1asString__ascii fzT__R1i32__1asString__ascii;
typedef struct fzT_fuzion__std__err__ascii__lf fzT_fuzion__std__err__ascii__lf;
typedef struct fzT_1i32__1asString__ascii__lf fzT_1i32__1asString__ascii__lf;
typedef struct fzT_1u8__1asString__ascii__lf fzT_1u8__1asString__ascii__lf;
typedef struct fzT__L1052_R1i32__1a__ascii__lf fzT__L1052_R1i32__1a__ascii__lf;
typedef struct fzT_choice_l_FALSE_k_TRUE_g fzT_choice_l_FALSE_k_TRUE_g;
typedef struct fzT_choice_l_i32_k_nil_g fzT_choice_l_i32_k_nil_g;
typedef struct fzT__L1060choice_l_n__l_i32_ggg fzT__L1060choice_l_n__l_i32_ggg;
typedef struct fzT__L1059_Rchoice_l__l_i32_ggg fzT__L1059_Rchoice_l__l_i32_ggg;
typedef struct fzT__L1062choice_l_n__tring_ggg fzT__L1062choice_l_n__tring_ggg;
typedef struct fzT__L1061_Rchoice_l__tring_ggg fzT__L1061_Rchoice_l__tring_ggg;
typedef struct fzT__L1064choice_l_n___l_u8_ggg fzT__L1064choice_l_n___l_u8_ggg;
typedef struct fzT__L1063_Rchoice_l___l_u8_ggg fzT__L1063_Rchoice_l___l_u8_ggg;
typedef struct fzT_1some_l_list_l_i32_gg fzT_1some_l_list_l_i32_gg;
typedef struct fzT__L1065choice_l_s__ggk_nil_g fzT__L1065choice_l_s__ggk_nil_g;
typedef struct fzT_1some_l_list_l_string_gg fzT_1some_l_list_l_string_gg;
typedef struct fzT__L1066choice_l_s__ggk_nil_g fzT__L1066choice_l_s__ggk_nil_g;
typedef struct fzT__L1067choice_l_s__ggk_nil_g fzT__L1067choice_l_s__ggk_nil_g;
typedef struct fzT_choice_l_u8_k_nil_g fzT_choice_l_u8_k_nil_g;
typedef struct fzT_choice_l_unit_k_nil_g fzT_choice_l_unit_k_nil_g;
typedef struct fzT_effectMode__default fzT_effectMode__default;
typedef struct fzT__L1070choice_l_e___o_inst_g fzT__L1070choice_l_e___o_inst_g;
typedef uint32_t fzT_1u32;
typedef struct fzT_1codepoint fzT_1codepoint;
typedef struct fzT__R1codepoint fzT__R1codepoint;
typedef struct fzT__R1codepoint__utf8 fzT__R1codepoint__utf8;
typedef struct fzT_codepoints fzT_codepoints;
typedef struct fzT__Rcodepoints fzT__Rcodepoints;
typedef struct fzT_1u32__1infix_woo fzT_1u32__1infix_woo;
typedef struct fzT_1codepoint__range fzT_1codepoint__range;
typedef struct fzT__R1codepoint__range fzT__R1codepoint__range;
typedef struct fzT__R1codepoint__ascii fzT__R1codepoint__ascii;
typedef struct fzT__L1103_R1codepoi__InOneByte fzT__L1103_R1codepoi__InOneByte;
typedef struct fzT__L1106_R1codepoi__nTwoBytes fzT__L1106_R1codepoi__nTwoBytes;
typedef struct fzT__L1108_R1codepoi__hreeBytes fzT__L1108_R1codepoi__hreeBytes;
typedef struct fzT__L1110_R1codepoi__FourBytes fzT__L1110_R1codepoi__FourBytes;
typedef struct fzT_1codepoint__utf16Surrogate fzT_1codepoint__utf16Surrogate;
typedef struct fzT__L1113_R1codepoi__Surrogate fzT__L1113_R1codepoi__Surrogate;
typedef struct fzT_void fzT_void;
typedef struct fzT_1conststring fzT_1conststring;
typedef struct fzT__R1conststring fzT__R1conststring;
typedef struct fzT__R1conststring__asString fzT__R1conststring__asString;
typedef struct fzT__R1conststring__isEmpty fzT__R1conststring__isEmpty;
typedef struct fzT__R1conststring__utf8 fzT__R1conststring__utf8;
typedef struct fzT_effectMode__val fzT_effectMode__val;
typedef struct fzT_effectMode__1inst fzT_effectMode__1inst;
typedef struct fzT_1effect fzT_1effect;
typedef struct fzT_1effect__2run_l_unit_g fzT_1effect__2run_l_unit_g;
typedef struct fzT_io__3out__2run_l_unit_g fzT_io__3out__2run_l_unit_g;
typedef struct fzT__L1158io__2print___l_unit_g fzT__L1158io__2print___l_unit_g;
typedef struct fzT_1effect___U40__227454 fzT_1effect___U40__227454;
typedef struct fzT_1effect_R_U40__227454 fzT_1effect_R_U40__227454;
typedef struct fzT_io__3out___U40__227454 fzT_io__3out___U40__227454;
typedef struct fzT_io__3out_R_U40__227454 fzT_io__3out_R_U40__227454;
typedef struct fzT__L1188io__2print__0__227454 fzT__L1188io__2print__0__227454;
typedef struct fzT__L1185io__2print__0__227454 fzT__L1185io__2print__0__227454;
typedef struct fzT__L1189io__3out_R__54__1call fzT__L1189io__3out_R__54__1call;
typedef struct fzT_option_l_unit_g fzT_option_l_unit_g;
typedef struct fzT_1effect_u_call_l_unit_g fzT_1effect_u_call_l_unit_g;
typedef struct fzT__R1effect_u_call_l_unit_g fzT__R1effect_u_call_l_unit_g;
typedef struct fzT__L1196_R1effect___t_g__call fzT__L1196_R1effect___t_g__call;
typedef struct fzT_effects fzT_effects;
typedef struct fzT_effectMode fzT_effectMode;
typedef struct fzT_effectMode__abort fzT_effectMode__abort;
typedef struct fzT_effectMode__plain fzT_effectMode__plain;
typedef struct fzT_effectMode__repl fzT_effectMode__repl;
typedef struct fzT_effectMode__new fzT_effectMode__new;
typedef float fzT_1f32;
typedef struct fzT_f32s fzT_f32s;
typedef double fzT_1f64;
typedef struct fzT_f64s fzT_f64s;
typedef struct fzT_float_l_f32_g fzT_float_l_f32_g;
typedef struct fzT_float_l_f64_g fzT_float_l_f64_g;
typedef struct fzT_floats_l_f32_g fzT_floats_l_f32_g;
typedef struct fzT_floats_l_f64_g fzT_floats_l_f64_g;
typedef struct fzT_fuzion fzT_fuzion;
typedef struct fzT_fuzion__std fzT_fuzion__std;
typedef struct fzT_fuzion__std__err fzT_fuzion__std__err;
typedef struct fzT_fuzion__std__err__1println fzT_fuzion__std__err__1println;
typedef struct fzT_fuzion__std__err__1write fzT_fuzion__std__err__1write;
typedef struct fzT_fuzion__std__1panic fzT_fuzion__std__1panic;
typedef struct fzT_fuzion__std__out fzT_fuzion__std__out;
typedef struct fzT_fuzion__std__out__1print fzT_fuzion__std__out__1print;
typedef struct fzT_fuzion__std__out__1write fzT_fuzion__std__out__1write;
typedef struct fzT_fuzion__sys fzT_fuzion__sys;
typedef struct fzT__L1267fuzion__sy__U5b_wU5d_ fzT__L1267fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1268fuzion__sy__U5b_wU5d_ fzT__L1268fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1269fuzion__sy__U5b_wU5d_ fzT__L1269fuzion__sy__U5b_wU5d_;
typedef struct fzT__L1300fuzion__sy__b_wU5d_we fzT__L1300fuzion__sy__b_wU5d_we;
typedef struct fzT__L1301fuzion__sy__b_wU5d_we fzT__L1301fuzion__sy__b_wU5d_we;
typedef struct fzT__L1302fuzion__sy__b_wU5d_we fzT__L1302fuzion__sy__b_wU5d_we;
typedef struct fzT_hasEquals_l_bool_g fzT_hasEquals_l_bool_g;
typedef struct fzT_hasEquals_l_f32_g fzT_hasEquals_l_f32_g;
typedef struct fzT_hasEquals_l_f64_g fzT_hasEquals_l_f64_g;
typedef struct fzT_hasEquals_l_i32_g fzT_hasEquals_l_i32_g;
typedef struct fzT__RhasEquals_l_i32_g fzT__RhasEquals_l_i32_g;
typedef struct fzT_hasEquals_l_i64_g fzT_hasEquals_l_i64_g;
typedef struct fzT_hasEquals_l_string_g fzT_hasEquals_l_string_g;
typedef struct fzT__RhasEquals_l_string_g fzT__RhasEquals_l_string_g;
typedef struct fzT_hasEquals_l_u32_g fzT_hasEquals_l_u32_g;
typedef struct fzT_hasEquals_l_u64_g fzT_hasEquals_l_u64_g;
typedef struct fzT_hasEquals_l_u8_g fzT_hasEquals_l_u8_g;
typedef struct fzT_hasHash_l_f32_g fzT_hasHash_l_f32_g;
typedef struct fzT_hasHash_l_f64_g fzT_hasHash_l_f64_g;
typedef struct fzT_hasHash_l_i32_g fzT_hasHash_l_i32_g;
typedef struct fzT__RhasHash_l_i32_g fzT__RhasHash_l_i32_g;
typedef struct fzT_hasHash_l_i64_g fzT_hasHash_l_i64_g;
typedef struct fzT_hasHash_l_string_g fzT_hasHash_l_string_g;
typedef struct fzT__RhasHash_l_string_g fzT__RhasHash_l_string_g;
typedef struct fzT_hasHash_l_u32_g fzT_hasHash_l_u32_g;
typedef struct fzT_hasHash_l_u64_g fzT_hasHash_l_u64_g;
typedef struct fzT_hasHash_l_u8_g fzT_hasHash_l_u8_g;
typedef struct fzT_hasInterval_l_i32_g fzT_hasInterval_l_i32_g;
typedef struct fzT__RhasInterval_l_i32_g fzT__RhasInterval_l_i32_g;
typedef struct fzT_hasInterval_l_i64_g fzT_hasInterval_l_i64_g;
typedef struct fzT_hasInterval_l_u32_g fzT_hasInterval_l_u32_g;
typedef struct fzT_hasInterval_l_u64_g fzT_hasInterval_l_u64_g;
typedef struct fzT_hasInterval_l_u8_g fzT_hasInterval_l_u8_g;
typedef struct fzT_numOption_l_i32_g fzT_numOption_l_i32_g;
typedef struct fzT__L2567option_l_s__l_i32_ggg fzT__L2567option_l_s__l_i32_ggg;
typedef struct fzT_1i32__1infix_woo__asStream fzT_1i32__1infix_woo__asStream;
typedef struct fzT_1i32__1infix_woo_RasStream fzT_1i32__1infix_woo_RasStream;
typedef struct fzT__L13841i32__1inf____hasNext fzT__L13841i32__1inf____hasNext;
typedef struct fzT__L13881i32__1inf__eam__next fzT__L13881i32__1inf__eam__next;
typedef struct fzT_1i32__1infix_woo__1forAll fzT_1i32__1infix_woo__1forAll;
typedef struct fzT__L13971i32__1inf__0__352350 fzT__L13971i32__1inf__0__352350;
typedef struct fzT_1u32__1infix_woo__1contains fzT_1u32__1infix_woo__1contains;
typedef struct fzT_1i32__1infix_woo__lower fzT_1i32__1infix_woo__lower;
typedef struct fzT_1u32__1infix_woo__lower fzT_1u32__1infix_woo__lower;
typedef struct fzT_i32s fzT_i32s;
typedef struct fzT_i32 fzT_i32;
typedef struct fzT__R1i32 fzT__R1i32;
typedef struct fzT_1i32__thiz fzT_1i32__thiz;
typedef struct fzT__R1i32__thiz fzT__R1i32__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__Ri32s fzT__Ri32s;
typedef struct fzT_1i32__zero fzT_1i32__zero;
typedef struct fzT_i32s__zero fzT_i32s__zero;
typedef struct fzT__R1i32__zero fzT__R1i32__zero;
typedef struct fzT_1i32__one fzT_1i32__one;
typedef struct fzT__R1i32__one fzT__R1i32__one;
typedef struct fzT_1i32__min fzT_1i32__min;
typedef int64_t fzT_1i64;
typedef struct fzT_i64s fzT_i64s;
typedef struct fzT_integer_l_i32_g fzT_integer_l_i32_g;
typedef struct fzT__Rinteger_l_i32_g fzT__Rinteger_l_i32_g;
typedef struct fzT_integer_l_i64_g fzT_integer_l_i64_g;
typedef struct fzT_integer_l_u32_g fzT_integer_l_u32_g;
typedef struct fzT_integer_l_u64_g fzT_integer_l_u64_g;
typedef struct fzT_integer_l_u8_g fzT_integer_l_u8_g;
typedef struct fzT_1i32__asString fzT_1i32__asString;
typedef struct fzT_1u8__asString fzT_1u8__asString;
typedef struct fzT__R1i32__asString fzT__R1i32__asString;
typedef struct fzT_1i32__1asString fzT_1i32__1asString;
typedef struct fzT_1u8__1asString fzT_1u8__1asString;
typedef struct fzT__R1i32__1asString fzT__R1i32__1asString;
typedef struct fzT__L15751i32__1asS__0__452350 fzT__L15751i32__1asS__0__452350;
typedef struct fzT__L15721i32__1asS__0__452350 fzT__L15721i32__1asS__0__452350;
typedef struct fzT__L15761u8__1asSt__0__452350 fzT__L15761u8__1asSt__0__452350;
typedef struct fzT__L15731u8__1asSt__0__452350 fzT__L15731u8__1asSt__0__452350;
typedef struct fzT__L1577_R1i32__1a__0__452350 fzT__L1577_R1i32__1a__0__452350;
typedef struct fzT__L1574_R1i32__1a__0__452350 fzT__L1574_R1i32__1a__0__452350;
typedef struct fzT__L15871i32__1asS__350__utf8 fzT__L15871i32__1asS__350__utf8;
typedef struct fzT__L15841i32__1asS__350_Rutf8 fzT__L15841i32__1asS__350_Rutf8;
typedef struct fzT__L15881u8__1asSt__350__utf8 fzT__L15881u8__1asSt__350__utf8;
typedef struct fzT__L15851u8__1asSt__350_Rutf8 fzT__L15851u8__1asSt__350_Rutf8;
typedef struct fzT__L1589_R1i32__1a__350__utf8 fzT__L1589_R1i32__1a__350__utf8;
typedef struct fzT__L1586_R1i32__1a__350_Rutf8 fzT__L1586_R1i32__1a__350_Rutf8;
typedef struct fzT__L15961i32__1asS___asStream fzT__L15961i32__1asS___asStream;
typedef struct fzT_numOption_l_u8_g fzT_numOption_l_u8_g;
typedef struct fzT__L15971u8__1asSt___asStream fzT__L15971u8__1asSt___asStream;
typedef struct fzT__L1598_R1i32__1a___asStream fzT__L1598_R1i32__1a___asStream;
typedef struct fzT__L16171i32__1asS__0__454222 fzT__L16171i32__1asS__0__454222;
typedef struct fzT__L16141i32__1asS__0__454222 fzT__L16141i32__1asS__0__454222;
typedef struct fzT__L16181u8__1asSt__0__454222 fzT__L16181u8__1asSt__0__454222;
typedef struct fzT__L16151u8__1asSt__0__454222 fzT__L16151u8__1asSt__0__454222;
typedef struct fzT__L1619_R1i32__1a__0__454222 fzT__L1619_R1i32__1a__0__454222;
typedef struct fzT__L1616_R1i32__1a__0__454222 fzT__L1616_R1i32__1a__0__454222;
typedef struct fzT__L16321i32__1asS____hasNext fzT__L16321i32__1asS____hasNext;
typedef struct fzT__L16331u8__1asSt____hasNext fzT__L16331u8__1asSt____hasNext;
typedef struct fzT__L1634_R1i32__1a____hasNext fzT__L1634_R1i32__1a____hasNext;
typedef struct fzT__L16411i32__1asS__222__next fzT__L16411i32__1asS__222__next;
typedef struct fzT__L16421u8__1asSt__222__next fzT__L16421u8__1asSt__222__next;
typedef struct fzT__L1643_R1i32__1a__222__next fzT__L1643_R1i32__1a__222__next;
typedef struct fzT_io fzT_io;
typedef struct fzT_io__3out fzT_io__3out;
typedef struct fzT_io__out fzT_io__out;
typedef struct fzT_io__defaultPrintToOut fzT_io__defaultPrintToOut;
typedef struct fzT_io_RdefaultPrintToOut fzT_io_RdefaultPrintToOut;
typedef struct fzT__L1681io_Rdefaul__t__1print fzT__L1681io_Rdefaul__t__1print;
typedef struct fzT_io__outs fzT_io__outs;
typedef struct fzT_io__outs__installDefault fzT_io__outs__installDefault;
typedef struct fzT_io__2printEffect fzT_io__2printEffect;
typedef struct fzT_io__3out__1println fzT_io__3out__1println;
typedef struct fzT_io__canPrint fzT_io__canPrint;
typedef struct fzT_io_RcanPrint fzT_io_RcanPrint;
typedef struct fzT__L1703io_Rdefaul____println fzT__L1703io_Rdefaul____println;
typedef struct fzT_io_RcanPrint__println fzT_io_RcanPrint__println;
typedef struct fzT__L1709io_Rdefaul___1println fzT__L1709io_Rdefaul___1println;
typedef struct fzT_io_RcanPrint__1println fzT_io_RcanPrint__1println;
typedef struct fzT__Rlist_l_i32_g fzT__Rlist_l_i32_g;
typedef struct fzT__Rlist_l_string_g fzT__Rlist_l_string_g;
typedef struct fzT__Rlist_l_u8_g fzT__Rlist_l_u8_g;
typedef struct fzT_list_l_u8_g__asString fzT_list_l_u8_g__asString;
typedef struct fzT__Rlist_l_i32_g__asString fzT__Rlist_l_i32_g__asString;
typedef struct fzT__Rlist_l_string_g__asString fzT__Rlist_l_string_g__asString;
typedef struct fzT__Rlist_l_u8_g__asString fzT__Rlist_l_u8_g__asString;
typedef struct fzT_list_l_u8_g__1asString fzT_list_l_u8_g__1asString;
typedef struct fzT__Rlist_l_i32_g__1asString fzT__Rlist_l_i32_g__1asString;
typedef struct fzT__L1737_Rlist_l_s__1asString fzT__L1737_Rlist_l_s__1asString;
typedef struct fzT__Rlist_l_u8_g__1asString fzT__Rlist_l_u8_g__1asString;
typedef struct fzT__L1755list_l_u8___0__500003 fzT__L1755list_l_u8___0__500003;
typedef struct fzT__L1751list_l_u8___0__500003 fzT__L1751list_l_u8___0__500003;
typedef struct fzT__L1756_Rlist_l_i__0__500003 fzT__L1756_Rlist_l_i__0__500003;
typedef struct fzT__L1752_Rlist_l_i__0__500003 fzT__L1752_Rlist_l_i__0__500003;
typedef struct fzT__L1757_Rlist_l_s__0__500003 fzT__L1757_Rlist_l_s__0__500003;
typedef struct fzT__L1753_Rlist_l_s__0__500003 fzT__L1753_Rlist_l_s__0__500003;
typedef struct fzT__L1758_Rlist_l_u__0__500003 fzT__L1758_Rlist_l_u__0__500003;
typedef struct fzT__L1754_Rlist_l_u__0__500003 fzT__L1754_Rlist_l_u__0__500003;
typedef struct fzT__L1759list_l_u8___03__1call fzT__L1759list_l_u8___03__1call;
typedef struct fzT__L1760_Rlist_l_i__03__1call fzT__L1760_Rlist_l_i__03__1call;
typedef struct fzT__L1761_Rlist_l_s__03__1call fzT__L1761_Rlist_l_s__03__1call;
typedef struct fzT__L1762_Rlist_l_u__03__1call fzT__L1762_Rlist_l_u__03__1call;
typedef struct fzT__Rlist_l_i32_g__asList fzT__Rlist_l_i32_g__asList;
typedef struct fzT__Rlist_l_string_g__asList fzT__Rlist_l_string_g__asList;
typedef struct fzT__Rlist_l_u8_g__asList fzT__Rlist_l_u8_g__asList;
typedef struct fzT_list_l_i32_g__asStream fzT_list_l_i32_g__asStream;
typedef struct fzT_list_l_i32_g_RasStream fzT_list_l_i32_g_RasStream;
typedef struct fzT__L2568option_l_s__tring_ggg fzT__L2568option_l_s__tring_ggg;
typedef struct fzT_list_l_string_g__asStream fzT_list_l_string_g__asStream;
typedef struct fzT_list_l_string_g_RasStream fzT_list_l_string_g_RasStream;
typedef struct fzT_list_l_u8_g__asStream fzT_list_l_u8_g__asStream;
typedef struct fzT_list_l_u8_g_RasStream fzT_list_l_u8_g_RasStream;
typedef struct fzT__Rlist_l_i32_g__asStream fzT__Rlist_l_i32_g__asStream;
typedef struct fzT__Rlist_l_i32_g_RasStream fzT__Rlist_l_i32_g_RasStream;
typedef struct fzT__Rlist_l_string_g__asStream fzT__Rlist_l_string_g__asStream;
typedef struct fzT__Rlist_l_string_g_RasStream fzT__Rlist_l_string_g_RasStream;
typedef struct fzT__Rlist_l_u8_g__asStream fzT__Rlist_l_u8_g__asStream;
typedef struct fzT__Rlist_l_u8_g_RasStream fzT__Rlist_l_u8_g_RasStream;
typedef struct fzT__L1804list_l_i32____hasNext fzT__L1804list_l_i32____hasNext;
typedef struct fzT__L1805list_l_str____hasNext fzT__L1805list_l_str____hasNext;
typedef struct fzT__L1806list_l_u8_____hasNext fzT__L1806list_l_u8_____hasNext;
typedef struct fzT__L1807_Rlist_l_i____hasNext fzT__L1807_Rlist_l_i____hasNext;
typedef struct fzT__L1808_Rlist_l_s____hasNext fzT__L1808_Rlist_l_s____hasNext;
typedef struct fzT__L1809_Rlist_l_u____hasNext fzT__L1809_Rlist_l_u____hasNext;
typedef struct fzT__L1828list_l_i32__eam__next fzT__L1828list_l_i32__eam__next;
typedef struct fzT__L1829list_l_str__eam__next fzT__L1829list_l_str__eam__next;
typedef struct fzT_list_l_u8_g_RasStream__next fzT_list_l_u8_g_RasStream__next;
typedef struct fzT__L1831_Rlist_l_i__eam__next fzT__L1831_Rlist_l_i__eam__next;
typedef struct fzT__L1832_Rlist_l_s__eam__next fzT__L1832_Rlist_l_s__eam__next;
typedef struct fzT__L1833_Rlist_l_u__eam__next fzT__L1833_Rlist_l_u__eam__next;
typedef struct fzT_list_l_i32_g__isEmpty fzT_list_l_i32_g__isEmpty;
typedef struct fzT_list_l_string_g__isEmpty fzT_list_l_string_g__isEmpty;
typedef struct fzT_list_l_u8_g__isEmpty fzT_list_l_u8_g__isEmpty;
typedef struct fzT__Rlist_l_i32_g__isEmpty fzT__Rlist_l_i32_g__isEmpty;
typedef struct fzT__Rlist_l_string_g__isEmpty fzT__Rlist_l_string_g__isEmpty;
typedef struct fzT__Rlist_l_u8_g__isEmpty fzT__Rlist_l_u8_g__isEmpty;
typedef struct fzT_list_l_u8_g__count fzT_list_l_u8_g__count;
typedef struct fzT__Rlist_l_i32_g__count fzT__Rlist_l_i32_g__count;
typedef struct fzT__Rlist_l_string_g__count fzT__Rlist_l_string_g__count;
typedef struct fzT__Rlist_l_u8_g__count fzT__Rlist_l_u8_g__count;
typedef struct fzT_list_l_i32_g__1count fzT_list_l_i32_g__1count;
typedef struct fzT_list_l_string_g__1count fzT_list_l_string_g__1count;
typedef struct fzT_list_l_u8_g__1count fzT_list_l_u8_g__1count;
typedef struct fzT__Rlist_l_i32_g__1count fzT__Rlist_l_i32_g__1count;
typedef struct fzT__Rlist_l_string_g__1count fzT__Rlist_l_string_g__1count;
typedef struct fzT__Rlist_l_u8_g__1count fzT__Rlist_l_u8_g__1count;
typedef struct fzT__Rlist_l_i32_g__first fzT__Rlist_l_i32_g__first;
typedef struct fzT__Rlist_l_string_g__first fzT__Rlist_l_string_g__first;
typedef struct fzT__Rlist_l_u8_g__first fzT__Rlist_l_u8_g__first;
typedef struct fzT_list_l_i32_g__1infix_wpp fzT_list_l_i32_g__1infix_wpp;
typedef struct fzT_list_l_string_g__1infix_wpp fzT_list_l_string_g__1infix_wpp;
typedef struct fzT_list_l_u8_g__1infix_wpp fzT_list_l_u8_g__1infix_wpp;
typedef struct fzT__Rlist_l_i32_g__1infix_wpp fzT__Rlist_l_i32_g__1infix_wpp;
typedef struct fzT__L1952_Rlist_l_s__infix_wpp fzT__L1952_Rlist_l_s__infix_wpp;
typedef struct fzT__Rlist_l_u8_g__1infix_wpp fzT__Rlist_l_u8_g__1infix_wpp;
typedef struct fzT_list_l_i32_g__1fold fzT_list_l_i32_g__1fold;
typedef struct fzT_list_l_string_g__1fold fzT_list_l_string_g__1fold;
typedef struct fzT_list_l_i32_g__2fold fzT_list_l_i32_g__2fold;
typedef struct fzT_list_l_string_g__2fold fzT_list_l_string_g__2fold;
typedef struct fzT_list_l_i32_g__1map_l_i32_g fzT_list_l_i32_g__1map_l_i32_g;
typedef struct fzT__L1995list_l_str__p_l_i32_g fzT__L1995list_l_str__p_l_i32_g;
typedef struct fzT_list_l_u8_g__1map_l_i32_g fzT_list_l_u8_g__1map_l_i32_g;
typedef struct fzT__L1997list_l_i32___string_g fzT__L1997list_l_i32___string_g;
typedef struct fzT__L1998list_l_str___string_g fzT__L1998list_l_str___string_g;
typedef struct fzT__L1999list_l_u8____string_g fzT__L1999list_l_u8____string_g;
typedef struct fzT__L2000_Rlist_l_i___string_g fzT__L2000_Rlist_l_i___string_g;
typedef struct fzT__L2001_Rlist_l_s___string_g fzT__L2001_Rlist_l_s___string_g;
typedef struct fzT__L2002_Rlist_l_u___string_g fzT__L2002_Rlist_l_u___string_g;
typedef struct fzT__L2048list_l_i32__0__514403 fzT__L2048list_l_i32__0__514403;
typedef struct fzT__L2039list_l_i32__0__514403 fzT__L2039list_l_i32__0__514403;
typedef struct fzT__L2049list_l_str__0__514403 fzT__L2049list_l_str__0__514403;
typedef struct fzT__L2040list_l_str__0__514403 fzT__L2040list_l_str__0__514403;
typedef struct fzT__L2050list_l_u8___0__514403 fzT__L2050list_l_u8___0__514403;
typedef struct fzT__L2041list_l_u8___0__514403 fzT__L2041list_l_u8___0__514403;
typedef struct fzT__L2051list_l_i32__0__514403 fzT__L2051list_l_i32__0__514403;
typedef struct fzT__L2042list_l_i32__0__514403 fzT__L2042list_l_i32__0__514403;
typedef struct fzT__L2052list_l_str__0__514403 fzT__L2052list_l_str__0__514403;
typedef struct fzT__L2043list_l_str__0__514403 fzT__L2043list_l_str__0__514403;
typedef struct fzT__L2053list_l_u8___0__514403 fzT__L2053list_l_u8___0__514403;
typedef struct fzT__L2044list_l_u8___0__514403 fzT__L2044list_l_u8___0__514403;
typedef struct fzT__L2054_Rlist_l_i__0__514403 fzT__L2054_Rlist_l_i__0__514403;
typedef struct fzT__L2045_Rlist_l_i__0__514403 fzT__L2045_Rlist_l_i__0__514403;
typedef struct fzT__L2055_Rlist_l_s__0__514403 fzT__L2055_Rlist_l_s__0__514403;
typedef struct fzT__L2046_Rlist_l_s__0__514403 fzT__L2046_Rlist_l_s__0__514403;
typedef struct fzT__L2056_Rlist_l_u__0__514403 fzT__L2056_Rlist_l_u__0__514403;
typedef struct fzT__L2047_Rlist_l_u__0__514403 fzT__L2047_Rlist_l_u__0__514403;
typedef struct fzT__L2075list_l_i32__403__head fzT__L2075list_l_i32__403__head;
typedef struct fzT__L2076list_l_str__403__head fzT__L2076list_l_str__403__head;
typedef struct fzT__L2077list_l_u8___403__head fzT__L2077list_l_u8___403__head;
typedef struct fzT__L2078list_l_i32__403__head fzT__L2078list_l_i32__403__head;
typedef struct fzT__L2079list_l_str__403__head fzT__L2079list_l_str__403__head;
typedef struct fzT__L2080list_l_u8___403__head fzT__L2080list_l_u8___403__head;
typedef struct fzT__L2081_Rlist_l_i__403__head fzT__L2081_Rlist_l_i__403__head;
typedef struct fzT__L2082_Rlist_l_s__403__head fzT__L2082_Rlist_l_s__403__head;
typedef struct fzT__L2083_Rlist_l_u__403__head fzT__L2083_Rlist_l_u__403__head;
typedef struct fzT__L2102list_l_i32__403__tail fzT__L2102list_l_i32__403__tail;
typedef struct fzT__L2103list_l_str__403__tail fzT__L2103list_l_str__403__tail;
typedef struct fzT__L2104list_l_u8___403__tail fzT__L2104list_l_u8___403__tail;
typedef struct fzT__L2105list_l_i32__403__tail fzT__L2105list_l_i32__403__tail;
typedef struct fzT__L2106list_l_str__403__tail fzT__L2106list_l_str__403__tail;
typedef struct fzT__L2107list_l_u8___403__tail fzT__L2107list_l_u8___403__tail;
typedef struct fzT__L2108_Rlist_l_i__403__tail fzT__L2108_Rlist_l_i__403__tail;
typedef struct fzT__L2109_Rlist_l_s__403__tail fzT__L2109_Rlist_l_s__403__tail;
typedef struct fzT__L2110_Rlist_l_u__403__tail fzT__L2110_Rlist_l_u__403__tail;
typedef struct fzT_list_l_i32_g__forceHead fzT_list_l_i32_g__forceHead;
typedef struct fzT_list_l_string_g__forceHead fzT_list_l_string_g__forceHead;
typedef struct fzT_list_l_u8_g__forceHead fzT_list_l_u8_g__forceHead;
typedef struct fzT__Rlist_l_i32_g__forceHead fzT__Rlist_l_i32_g__forceHead;
typedef struct fzT__L2142_Rlist_l_s__forceHead fzT__L2142_Rlist_l_s__forceHead;
typedef struct fzT__Rlist_l_u8_g__forceHead fzT__Rlist_l_u8_g__forceHead;
typedef struct fzT_list_l_i32_g__forceTail fzT_list_l_i32_g__forceTail;
typedef struct fzT_list_l_string_g__forceTail fzT_list_l_string_g__forceTail;
typedef struct fzT_list_l_u8_g__forceTail fzT_list_l_u8_g__forceTail;
typedef struct fzT_list_l_i32_g__1concat fzT_list_l_i32_g__1concat;
typedef struct fzT_list_l_string_g__1concat fzT_list_l_string_g__1concat;
typedef struct fzT_list_l_u8_g__1concat fzT_list_l_u8_g__1concat;
typedef struct fzT__Rlist_l_i32_g__1concat fzT__Rlist_l_i32_g__1concat;
typedef struct fzT__Rlist_l_string_g__1concat fzT__Rlist_l_string_g__1concat;
typedef struct fzT__Rlist_l_u8_g__1concat fzT__Rlist_l_u8_g__1concat;
typedef struct fzT__L2228list_l_i32__0__520727 fzT__L2228list_l_i32__0__520727;
typedef struct fzT__L2222list_l_i32__0__520727 fzT__L2222list_l_i32__0__520727;
typedef struct fzT__L2229list_l_str__0__520727 fzT__L2229list_l_str__0__520727;
typedef struct fzT__L2223list_l_str__0__520727 fzT__L2223list_l_str__0__520727;
typedef struct fzT__L2230list_l_u8___0__520727 fzT__L2230list_l_u8___0__520727;
typedef struct fzT__L2224list_l_u8___0__520727 fzT__L2224list_l_u8___0__520727;
typedef struct fzT__L2231_Rlist_l_i__0__520727 fzT__L2231_Rlist_l_i__0__520727;
typedef struct fzT__L2225_Rlist_l_i__0__520727 fzT__L2225_Rlist_l_i__0__520727;
typedef struct fzT__L2232_Rlist_l_s__0__520727 fzT__L2232_Rlist_l_s__0__520727;
typedef struct fzT__L2226_Rlist_l_s__0__520727 fzT__L2226_Rlist_l_s__0__520727;
typedef struct fzT__L2233_Rlist_l_u__0__520727 fzT__L2233_Rlist_l_u__0__520727;
typedef struct fzT__L2227_Rlist_l_u__0__520727 fzT__L2227_Rlist_l_u__0__520727;
typedef struct fzT__L2246list_l_i32__727__head fzT__L2246list_l_i32__727__head;
typedef struct fzT__L2247list_l_str__727__head fzT__L2247list_l_str__727__head;
typedef struct fzT__L2248list_l_u8___727__head fzT__L2248list_l_u8___727__head;
typedef struct fzT__L2249_Rlist_l_i__727__head fzT__L2249_Rlist_l_i__727__head;
typedef struct fzT__L2250_Rlist_l_s__727__head fzT__L2250_Rlist_l_s__727__head;
typedef struct fzT__L2251_Rlist_l_u__727__head fzT__L2251_Rlist_l_u__727__head;
typedef struct fzT__L2264list_l_i32__727__tail fzT__L2264list_l_i32__727__tail;
typedef struct fzT__L2265list_l_str__727__tail fzT__L2265list_l_str__727__tail;
typedef struct fzT__L2266list_l_u8___727__tail fzT__L2266list_l_u8___727__tail;
typedef struct fzT__L2267_Rlist_l_i__727__tail fzT__L2267_Rlist_l_i__727__tail;
typedef struct fzT__L2268_Rlist_l_s__727__tail fzT__L2268_Rlist_l_s__727__tail;
typedef struct fzT__L2269_Rlist_l_u__727__tail fzT__L2269_Rlist_l_u__727__tail;
typedef struct fzT_2marray_l_i32_g fzT_2marray_l_i32_g;
typedef struct fzT_2marray_l_string_g fzT_2marray_l_string_g;
typedef struct fzT_2marray_l_u8_g fzT_2marray_l_u8_g;
typedef struct fzT__L22972marray_l___U5b_wU5d_ fzT__L22972marray_l___U5b_wU5d_;
typedef struct fzT__L22982marray_l___U5b_wU5d_ fzT__L22982marray_l___U5b_wU5d_;
typedef struct fzT__L22992marray_l___U5b_wU5d_ fzT__L22992marray_l___U5b_wU5d_;
typedef struct fzT_2marray_l_i32_g__1add fzT_2marray_l_i32_g__1add;
typedef struct fzT_2marray_l_string_g__1add fzT_2marray_l_string_g__1add;
typedef struct fzT_2marray_l_u8_g__1add fzT_2marray_l_u8_g__1add;
typedef struct fzT__L23392marray_l___0__536173 fzT__L23392marray_l___0__536173;
typedef struct fzT__L23402marray_l___0__536173 fzT__L23402marray_l___0__536173;
typedef struct fzT__L23412marray_l___0__536173 fzT__L23412marray_l___0__536173;
typedef struct fzT_2marray_l_i32_g__indices fzT_2marray_l_i32_g__indices;
typedef struct fzT_2marray_l_string_g__indices fzT_2marray_l_string_g__indices;
typedef struct fzT_2marray_l_u8_g__indices fzT_2marray_l_u8_g__indices;
typedef struct fzT_2marray_l_i32_g__as_u_array fzT_2marray_l_i32_g__as_u_array;
typedef struct fzT__L23732marray_l___s_u_array fzT__L23732marray_l___s_u_array;
typedef struct fzT_2marray_l_u8_g__as_u_array fzT_2marray_l_u8_g__as_u_array;
typedef struct fzT__L23842marray_l___0__539752 fzT__L23842marray_l___0__539752;
typedef struct fzT__L23812marray_l___0__539752 fzT__L23812marray_l___0__539752;
typedef struct fzT__L23852marray_l___0__539752 fzT__L23852marray_l___0__539752;
typedef struct fzT__L23822marray_l___0__539752 fzT__L23822marray_l___0__539752;
typedef struct fzT__L23862marray_l___0__539752 fzT__L23862marray_l___0__539752;
typedef struct fzT__L23832marray_l___0__539752 fzT__L23832marray_l___0__539752;
typedef struct fzT__L23932marray_l___52__1call fzT__L23932marray_l___52__1call;
typedef struct fzT__L23942marray_l___52__1call fzT__L23942marray_l___52__1call;
typedef struct fzT__L23952marray_l___52__1call fzT__L23952marray_l___52__1call;
typedef struct fzT__L2408monad_l_i3___l_i32_gg fzT__L2408monad_l_i3___l_i32_gg;
typedef struct fzT__L2409monad_l_so___i32_gggg fzT__L2409monad_l_so___i32_gggg;
typedef struct fzT__L2410monad_l_so__ring_gggg fzT__L2410monad_l_so__ring_gggg;
typedef struct fzT__L2411monad_l_so__l_u8_gggg fzT__L2411monad_l_so__l_u8_gggg;
typedef struct fzT__L2412monad_l_u8__n_l_u8_gg fzT__L2412monad_l_u8__n_l_u8_gg;
typedef struct fzT__L2413monad_l_un__l_unit_gg fzT__L2413monad_l_un__l_unit_gg;
typedef struct fzT_numOption_l_i32_g__val fzT_numOption_l_i32_g__val;
typedef struct fzT_numOption_l_i32_g__exists fzT_numOption_l_i32_g__exists;
typedef struct fzT__L2429numOption___nfix_wgge fzT__L2429numOption___nfix_wgge;
typedef struct fzT__L2433numOption___d_l_i32_g fzT__L2433numOption___d_l_i32_g;
typedef struct fzT__L2439numOption___stfix_wQQ fzT__L2439numOption___stfix_wQQ;
typedef struct fzT__L2442numOption___infix_wpQ fzT__L2442numOption___infix_wpQ;
typedef struct fzT__L2447numOption___0__568736 fzT__L2447numOption___0__568736;
typedef struct fzT__L2446numOption___0__568736 fzT__L2446numOption___0__568736;
typedef struct fzT__L2450numOption___36__1call fzT__L2450numOption___36__1call;
typedef struct fzT__L2455numOption___0__569212 fzT__L2455numOption___0__569212;
typedef struct fzT__L2454numOption___0__569212 fzT__L2454numOption___0__569212;
typedef struct fzT__L2458numOption___12__1call fzT__L2458numOption___12__1call;
typedef struct fzT_1numOption_l_i32_g fzT_1numOption_l_i32_g;
typedef struct fzT_numeric_l_f32_g fzT_numeric_l_f32_g;
typedef struct fzT_numeric_l_f64_g fzT_numeric_l_f64_g;
typedef struct fzT_numeric_l_i32_g fzT_numeric_l_i32_g;
typedef struct fzT__Rnumeric_l_i32_g fzT__Rnumeric_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__L24831i32__1hig__0__586773 fzT__L24831i32__1hig__0__586773;
typedef struct fzT__L24841u8__1high__0__586773 fzT__L24841u8__1high__0__586773;
typedef struct fzT_1i32__1infix_we fzT_1i32__1infix_we;
typedef struct fzT_1i32__1max fzT_1i32__1max;
typedef struct fzT_1i32__sign fzT_1i32__sign;
typedef struct fzT_1u8__sign fzT_1u8__sign;
typedef struct fzT_1u8__isZero fzT_1u8__isZero;
typedef struct fzT_1i32__to_u_u32 fzT_1i32__to_u_u32;
typedef struct fzT_1u8__to_u_u32 fzT_1u8__to_u_u32;
typedef struct fzT_numerics_l_f32_g fzT_numerics_l_f32_g;
typedef struct fzT_numerics_l_f64_g fzT_numerics_l_f64_g;
typedef struct fzT_numerics_l_i32_g fzT_numerics_l_i32_g;
typedef struct fzT__Rnumerics_l_i32_g fzT__Rnumerics_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__R1i32__1from_u_u32 fzT__R1i32__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__L2575option_l_s___ggg__get fzT__L2575option_l_s___ggg__get;
typedef struct fzT__L2576option_l_s___ggg__get fzT__L2576option_l_s___ggg__get;
typedef struct fzT__L2577option_l_s___ggg__get fzT__L2577option_l_s___ggg__get;
typedef struct fzT__L2593option_l_s__g__exists fzT__L2593option_l_s__g__exists;
typedef struct fzT__L2594option_l_s__g__exists fzT__L2594option_l_s__g__exists;
typedef struct fzT__L2595option_l_s__g__exists fzT__L2595option_l_s__g__exists;
typedef struct fzT__L2605option_l_s__stfix_wQQ fzT__L2605option_l_s__stfix_wQQ;
typedef struct fzT__L2606option_l_s__stfix_wQQ fzT__L2606option_l_s__stfix_wQQ;
typedef struct fzT__L2607option_l_s__stfix_wQQ fzT__L2607option_l_s__stfix_wQQ;
typedef struct fzT_ordered_l_f32_g fzT_ordered_l_f32_g;
typedef struct fzT_ordered_l_f64_g fzT_ordered_l_f64_g;
typedef struct fzT_ordered_l_i32_g fzT_ordered_l_i32_g;
typedef struct fzT__Rordered_l_i32_g fzT__Rordered_l_i32_g;
typedef struct fzT_ordered_l_i64_g fzT_ordered_l_i64_g;
typedef struct fzT_ordered_l_string_g fzT_ordered_l_string_g;
typedef struct fzT__Rordered_l_string_g fzT__Rordered_l_string_g;
typedef struct fzT_ordered_l_u32_g fzT_ordered_l_u32_g;
typedef struct fzT_ordered_l_u64_g fzT_ordered_l_u64_g;
typedef struct fzT_ordered_l_u8_g fzT_ordered_l_u8_g;
typedef struct fzT_partiallyOrdered_l_f32_g fzT_partiallyOrdered_l_f32_g;
typedef struct fzT_partiallyOrdered_l_f64_g fzT_partiallyOrdered_l_f64_g;
typedef struct fzT_partiallyOrdered_l_i32_g fzT_partiallyOrdered_l_i32_g;
typedef struct fzT__RpartiallyOrdered_l_i32_g fzT__RpartiallyOrdered_l_i32_g;
typedef struct fzT_partiallyOrdered_l_i64_g fzT_partiallyOrdered_l_i64_g;
typedef struct fzT_partiallyOrdered_l_string_g fzT_partiallyOrdered_l_string_g;
typedef struct fzT__L2629_Rpartiall___string_g fzT__L2629_Rpartiall___string_g;
typedef struct fzT_partiallyOrdered_l_u32_g fzT_partiallyOrdered_l_u32_g;
typedef struct fzT_partiallyOrdered_l_u64_g fzT_partiallyOrdered_l_u64_g;
typedef struct fzT_partiallyOrdered_l_u8_g fzT_partiallyOrdered_l_u8_g;
typedef struct fzT_1say fzT_1say;
typedef struct fzT_stdout fzT_stdout;
typedef struct fzT_stream_l_i32_g fzT_stream_l_i32_g;
typedef struct fzT__Rstream_l_i32_g fzT__Rstream_l_i32_g;
typedef struct fzT_stream_l_string_g fzT_stream_l_string_g;
typedef struct fzT__Rstream_l_string_g fzT__Rstream_l_string_g;
typedef struct fzT_stream_l_u8_g fzT_stream_l_u8_g;
typedef struct fzT__Rstream_l_u8_g fzT__Rstream_l_u8_g;
typedef struct fzT__L2652_R4array_l___asString fzT__L2652_R4array_l___asString;
typedef struct fzT__L26531i32__1inf___asString fzT__L26531i32__1inf___asString;
typedef struct fzT__L26541i32__1asS___asString fzT__L26541i32__1asS___asString;
typedef struct fzT__L26551u8__1asSt___asString fzT__L26551u8__1asSt___asString;
typedef struct fzT__L2656_R1i32__1a___asString fzT__L2656_R1i32__1a___asString;
typedef struct fzT__L2657list_l_i32___asString fzT__L2657list_l_i32___asString;
typedef struct fzT__L2658list_l_str___asString fzT__L2658list_l_str___asString;
typedef struct fzT__L2659list_l_u8____asString fzT__L2659list_l_u8____asString;
typedef struct fzT__L2660_Rlist_l_i___asString fzT__L2660_Rlist_l_i___asString;
typedef struct fzT__L2661_Rlist_l_s___asString fzT__L2661_Rlist_l_s___asString;
typedef struct fzT__L2662_Rlist_l_u___asString fzT__L2662_Rlist_l_u___asString;
typedef struct fzT__L2663_R4array_l___asString fzT__L2663_R4array_l___asString;
typedef struct fzT__L26641i32__1inf___asString fzT__L26641i32__1inf___asString;
typedef struct fzT__L26651i32__1asS___asString fzT__L26651i32__1asS___asString;
typedef struct fzT__L26661u8__1asSt___asString fzT__L26661u8__1asSt___asString;
typedef struct fzT__L2667_R1i32__1a___asString fzT__L2667_R1i32__1a___asString;
typedef struct fzT__L2668list_l_i32___asString fzT__L2668list_l_i32___asString;
typedef struct fzT__L2669list_l_str___asString fzT__L2669list_l_str___asString;
typedef struct fzT__L2670list_l_u8____asString fzT__L2670list_l_u8____asString;
typedef struct fzT__L2671_Rlist_l_i___asString fzT__L2671_Rlist_l_i___asString;
typedef struct fzT__L2672_Rlist_l_s___asString fzT__L2672_Rlist_l_s___asString;
typedef struct fzT__L2673_Rlist_l_u___asString fzT__L2673_Rlist_l_u___asString;
typedef struct fzT__L2674_Rstream_l___asString fzT__L2674_Rstream_l___asString;
typedef struct fzT__L2744_R4array_l__0__753233 fzT__L2744_R4array_l__0__753233;
typedef struct fzT__L2721_R4array_l__0__753233 fzT__L2721_R4array_l__0__753233;
typedef struct fzT__L27451i32__1inf__0__753233 fzT__L27451i32__1inf__0__753233;
typedef struct fzT__L27221i32__1inf__0__753233 fzT__L27221i32__1inf__0__753233;
typedef struct fzT__L27461i32__1asS__0__753233 fzT__L27461i32__1asS__0__753233;
typedef struct fzT__L27231i32__1asS__0__753233 fzT__L27231i32__1asS__0__753233;
typedef struct fzT__L27471u8__1asSt__0__753233 fzT__L27471u8__1asSt__0__753233;
typedef struct fzT__L27241u8__1asSt__0__753233 fzT__L27241u8__1asSt__0__753233;
typedef struct fzT__L2748_R1i32__1a__0__753233 fzT__L2748_R1i32__1a__0__753233;
typedef struct fzT__L2725_R1i32__1a__0__753233 fzT__L2725_R1i32__1a__0__753233;
typedef struct fzT__L2749list_l_i32__0__753233 fzT__L2749list_l_i32__0__753233;
typedef struct fzT__L2726list_l_i32__0__753233 fzT__L2726list_l_i32__0__753233;
typedef struct fzT__L2750list_l_str__0__753233 fzT__L2750list_l_str__0__753233;
typedef struct fzT__L2727list_l_str__0__753233 fzT__L2727list_l_str__0__753233;
typedef struct fzT__L2751list_l_u8___0__753233 fzT__L2751list_l_u8___0__753233;
typedef struct fzT__L2728list_l_u8___0__753233 fzT__L2728list_l_u8___0__753233;
typedef struct fzT__L2752_Rlist_l_i__0__753233 fzT__L2752_Rlist_l_i__0__753233;
typedef struct fzT__L2729_Rlist_l_i__0__753233 fzT__L2729_Rlist_l_i__0__753233;
typedef struct fzT__L2753_Rlist_l_s__0__753233 fzT__L2753_Rlist_l_s__0__753233;
typedef struct fzT__L2730_Rlist_l_s__0__753233 fzT__L2730_Rlist_l_s__0__753233;
typedef struct fzT__L2754_Rlist_l_u__0__753233 fzT__L2754_Rlist_l_u__0__753233;
typedef struct fzT__L2731_Rlist_l_u__0__753233 fzT__L2731_Rlist_l_u__0__753233;
typedef struct fzT__L2755_R4array_l__0__753233 fzT__L2755_R4array_l__0__753233;
typedef struct fzT__L2732_R4array_l__0__753233 fzT__L2732_R4array_l__0__753233;
typedef struct fzT__L27561i32__1inf__0__753233 fzT__L27561i32__1inf__0__753233;
typedef struct fzT__L27331i32__1inf__0__753233 fzT__L27331i32__1inf__0__753233;
typedef struct fzT__L27571i32__1asS__0__753233 fzT__L27571i32__1asS__0__753233;
typedef struct fzT__L27341i32__1asS__0__753233 fzT__L27341i32__1asS__0__753233;
typedef struct fzT__L27581u8__1asSt__0__753233 fzT__L27581u8__1asSt__0__753233;
typedef struct fzT__L27351u8__1asSt__0__753233 fzT__L27351u8__1asSt__0__753233;
typedef struct fzT__L2759_R1i32__1a__0__753233 fzT__L2759_R1i32__1a__0__753233;
typedef struct fzT__L2736_R1i32__1a__0__753233 fzT__L2736_R1i32__1a__0__753233;
typedef struct fzT__L2760list_l_i32__0__753233 fzT__L2760list_l_i32__0__753233;
typedef struct fzT__L2737list_l_i32__0__753233 fzT__L2737list_l_i32__0__753233;
typedef struct fzT__L2761list_l_str__0__753233 fzT__L2761list_l_str__0__753233;
typedef struct fzT__L2738list_l_str__0__753233 fzT__L2738list_l_str__0__753233;
typedef struct fzT__L2762list_l_u8___0__753233 fzT__L2762list_l_u8___0__753233;
typedef struct fzT__L2739list_l_u8___0__753233 fzT__L2739list_l_u8___0__753233;
typedef struct fzT__L2763_Rlist_l_i__0__753233 fzT__L2763_Rlist_l_i__0__753233;
typedef struct fzT__L2740_Rlist_l_i__0__753233 fzT__L2740_Rlist_l_i__0__753233;
typedef struct fzT__L2764_Rlist_l_s__0__753233 fzT__L2764_Rlist_l_s__0__753233;
typedef struct fzT__L2741_Rlist_l_s__0__753233 fzT__L2741_Rlist_l_s__0__753233;
typedef struct fzT__L2765_Rlist_l_u__0__753233 fzT__L2765_Rlist_l_u__0__753233;
typedef struct fzT__L2742_Rlist_l_u__0__753233 fzT__L2742_Rlist_l_u__0__753233;
typedef struct fzT__L2766_Rstream_l__0__753233 fzT__L2766_Rstream_l__0__753233;
typedef struct fzT__L2743_Rstream_l__0__753233 fzT__L2743_Rstream_l__0__753233;
typedef struct fzT__L2767_R4array_l__33__1call fzT__L2767_R4array_l__33__1call;
typedef struct fzT__L27681i32__1inf__33__1call fzT__L27681i32__1inf__33__1call;
typedef struct fzT__L27691i32__1asS__33__1call fzT__L27691i32__1asS__33__1call;
typedef struct fzT__L27701u8__1asSt__33__1call fzT__L27701u8__1asSt__33__1call;
typedef struct fzT__L2771_R1i32__1a__33__1call fzT__L2771_R1i32__1a__33__1call;
typedef struct fzT__L2772list_l_i32__33__1call fzT__L2772list_l_i32__33__1call;
typedef struct fzT__L2773list_l_str__33__1call fzT__L2773list_l_str__33__1call;
typedef struct fzT__L2774list_l_u8___33__1call fzT__L2774list_l_u8___33__1call;
typedef struct fzT__L2775_Rlist_l_i__33__1call fzT__L2775_Rlist_l_i__33__1call;
typedef struct fzT__L2776_Rlist_l_s__33__1call fzT__L2776_Rlist_l_s__33__1call;
typedef struct fzT__L2777_Rlist_l_u__33__1call fzT__L2777_Rlist_l_u__33__1call;
typedef struct fzT__L2778_R4array_l__33__1call fzT__L2778_R4array_l__33__1call;
typedef struct fzT__L27791i32__1inf__33__1call fzT__L27791i32__1inf__33__1call;
typedef struct fzT__L27801i32__1asS__33__1call fzT__L27801i32__1asS__33__1call;
typedef struct fzT__L27811u8__1asSt__33__1call fzT__L27811u8__1asSt__33__1call;
typedef struct fzT__L2782_R1i32__1a__33__1call fzT__L2782_R1i32__1a__33__1call;
typedef struct fzT__L2783list_l_i32__33__1call fzT__L2783list_l_i32__33__1call;
typedef struct fzT__L2784list_l_str__33__1call fzT__L2784list_l_str__33__1call;
typedef struct fzT__L2785list_l_u8___33__1call fzT__L2785list_l_u8___33__1call;
typedef struct fzT__L2786_Rlist_l_i__33__1call fzT__L2786_Rlist_l_i__33__1call;
typedef struct fzT__L2787_Rlist_l_s__33__1call fzT__L2787_Rlist_l_s__33__1call;
typedef struct fzT__L2788_Rlist_l_u__33__1call fzT__L2788_Rlist_l_u__33__1call;
typedef struct fzT__L2789_Rstream_l__33__1call fzT__L2789_Rstream_l__33__1call;
typedef struct fzT__L2836_R4array_l__m__asList fzT__L2836_R4array_l__m__asList;
typedef struct fzT__L28371i32__1inf__m__asList fzT__L28371i32__1inf__m__asList;
typedef struct fzT__L28381i32__1asS__2__asList fzT__L28381i32__1asS__2__asList;
typedef struct fzT__L28391u8__1asSt__2__asList fzT__L28391u8__1asSt__2__asList;
typedef struct fzT__L2840_R1i32__1a__2__asList fzT__L2840_R1i32__1a__2__asList;
typedef struct fzT__L2841list_l_i32__m__asList fzT__L2841list_l_i32__m__asList;
typedef struct fzT__L2842list_l_str__m__asList fzT__L2842list_l_str__m__asList;
typedef struct fzT__L2843list_l_u8___m__asList fzT__L2843list_l_u8___m__asList;
typedef struct fzT__L2844_Rlist_l_i__m__asList fzT__L2844_Rlist_l_i__m__asList;
typedef struct fzT__L2845_Rlist_l_s__m__asList fzT__L2845_Rlist_l_s__m__asList;
typedef struct fzT__L2846_Rlist_l_u__m__asList fzT__L2846_Rlist_l_u__m__asList;
typedef struct fzT__Rstream_l_i32_g__asList fzT__Rstream_l_i32_g__asList;
typedef struct fzT__Rstream_l_string_g__asList fzT__Rstream_l_string_g__asList;
typedef struct fzT__Rstream_l_u8_g__asList fzT__Rstream_l_u8_g__asList;
typedef struct fzT__L2850_R4array_l__7__asList fzT__L2850_R4array_l__7__asList;
typedef struct fzT__L28511i32__1inf__7__asList fzT__L28511i32__1inf__7__asList;
typedef struct fzT__L28521i32__1asS__7__asList fzT__L28521i32__1asS__7__asList;
typedef struct fzT__L28531u8__1asSt__7__asList fzT__L28531u8__1asSt__7__asList;
typedef struct fzT__L2854_R1i32__1a__7__asList fzT__L2854_R1i32__1a__7__asList;
typedef struct fzT__L2855list_l_i32__7__asList fzT__L2855list_l_i32__7__asList;
typedef struct fzT__L2856list_l_str__7__asList fzT__L2856list_l_str__7__asList;
typedef struct fzT__L2857list_l_u8___7__asList fzT__L2857list_l_u8___7__asList;
typedef struct fzT__L2858_Rlist_l_i__7__asList fzT__L2858_Rlist_l_i__7__asList;
typedef struct fzT__L2859_Rlist_l_s__7__asList fzT__L2859_Rlist_l_s__7__asList;
typedef struct fzT__L2860_Rlist_l_u__7__asList fzT__L2860_Rlist_l_u__7__asList;
typedef struct fzT__L2861_Rstream_l__7__asList fzT__L2861_Rstream_l__7__asList;
typedef struct fzT__L2940_R4array_l___asStream fzT__L2940_R4array_l___asStream;
typedef struct fzT__L29411i32__1inf___asStream fzT__L29411i32__1inf___asStream;
typedef struct fzT__L29421i32__1asS___asStream fzT__L29421i32__1asS___asStream;
typedef struct fzT__L29431u8__1asSt___asStream fzT__L29431u8__1asSt___asStream;
typedef struct fzT__L2944_R1i32__1a___asStream fzT__L2944_R1i32__1a___asStream;
typedef struct fzT__L2945list_l_i32___asStream fzT__L2945list_l_i32___asStream;
typedef struct fzT__L2946list_l_str___asStream fzT__L2946list_l_str___asStream;
typedef struct fzT__L2947list_l_u8____asStream fzT__L2947list_l_u8____asStream;
typedef struct fzT__L2948_Rlist_l_i___asStream fzT__L2948_Rlist_l_i___asStream;
typedef struct fzT__L2949_Rlist_l_s___asStream fzT__L2949_Rlist_l_s___asStream;
typedef struct fzT__L2950_Rlist_l_u___asStream fzT__L2950_Rlist_l_u___asStream;
typedef struct fzT__L2951_R4array_l___asStream fzT__L2951_R4array_l___asStream;
typedef struct fzT__L29521i32__1inf___asStream fzT__L29521i32__1inf___asStream;
typedef struct fzT__L29531i32__1asS___asStream fzT__L29531i32__1asS___asStream;
typedef struct fzT__L29541u8__1asSt___asStream fzT__L29541u8__1asSt___asStream;
typedef struct fzT__L2955_R1i32__1a___asStream fzT__L2955_R1i32__1a___asStream;
typedef struct fzT__L2956list_l_i32___asStream fzT__L2956list_l_i32___asStream;
typedef struct fzT__L2957list_l_str___asStream fzT__L2957list_l_str___asStream;
typedef struct fzT__L2958list_l_u8____asStream fzT__L2958list_l_u8____asStream;
typedef struct fzT__L2959_Rlist_l_i___asStream fzT__L2959_Rlist_l_i___asStream;
typedef struct fzT__L2960_Rlist_l_s___asStream fzT__L2960_Rlist_l_s___asStream;
typedef struct fzT__L2961_Rlist_l_u___asStream fzT__L2961_Rlist_l_u___asStream;
typedef struct fzT__L2962_Rstream_l___asStream fzT__L2962_Rstream_l___asStream;
typedef struct fzT__L3009_R4array_l__am__count fzT__L3009_R4array_l__am__count;
typedef struct fzT__L30101i32__1inf__am__count fzT__L30101i32__1inf__am__count;
typedef struct fzT__L30111i32__1asS__22__count fzT__L30111i32__1asS__22__count;
typedef struct fzT__L30121u8__1asSt__22__count fzT__L30121u8__1asSt__22__count;
typedef struct fzT__L3013_R1i32__1a__22__count fzT__L3013_R1i32__1a__22__count;
typedef struct fzT__L3014list_l_i32__am__count fzT__L3014list_l_i32__am__count;
typedef struct fzT__L3015list_l_str__am__count fzT__L3015list_l_str__am__count;
typedef struct fzT__L3016list_l_u8___am__count fzT__L3016list_l_u8___am__count;
typedef struct fzT__L3017_Rlist_l_i__am__count fzT__L3017_Rlist_l_i__am__count;
typedef struct fzT__L3018_Rlist_l_s__am__count fzT__L3018_Rlist_l_s__am__count;
typedef struct fzT__L3019_Rlist_l_u__am__count fzT__L3019_Rlist_l_u__am__count;
typedef struct fzT__L3020_R4array_l__07__count fzT__L3020_R4array_l__07__count;
typedef struct fzT__L30211i32__1inf__07__count fzT__L30211i32__1inf__07__count;
typedef struct fzT__L30221i32__1asS__07__count fzT__L30221i32__1asS__07__count;
typedef struct fzT__L30231u8__1asSt__07__count fzT__L30231u8__1asSt__07__count;
typedef struct fzT__L3024_R1i32__1a__07__count fzT__L3024_R1i32__1a__07__count;
typedef struct fzT__L3025list_l_i32__07__count fzT__L3025list_l_i32__07__count;
typedef struct fzT__L3026list_l_str__07__count fzT__L3026list_l_str__07__count;
typedef struct fzT__L3027list_l_u8___07__count fzT__L3027list_l_u8___07__count;
typedef struct fzT__L3028_Rlist_l_i__07__count fzT__L3028_Rlist_l_i__07__count;
typedef struct fzT__L3029_Rlist_l_s__07__count fzT__L3029_Rlist_l_s__07__count;
typedef struct fzT__L3030_Rlist_l_u__07__count fzT__L3030_Rlist_l_u__07__count;
typedef struct fzT__L3031_Rstream_l__07__count fzT__L3031_Rstream_l__07__count;
typedef struct fzT__L3101_R4array_l__0__755116 fzT__L3101_R4array_l__0__755116;
typedef struct fzT__L3078_R4array_l__0__755116 fzT__L3078_R4array_l__0__755116;
typedef struct fzT__L31021i32__1inf__0__755116 fzT__L31021i32__1inf__0__755116;
typedef struct fzT__L30791i32__1inf__0__755116 fzT__L30791i32__1inf__0__755116;
typedef struct fzT__L31031i32__1asS__0__755116 fzT__L31031i32__1asS__0__755116;
typedef struct fzT__L30801i32__1asS__0__755116 fzT__L30801i32__1asS__0__755116;
typedef struct fzT__L31041u8__1asSt__0__755116 fzT__L31041u8__1asSt__0__755116;
typedef struct fzT__L30811u8__1asSt__0__755116 fzT__L30811u8__1asSt__0__755116;
typedef struct fzT__L3105_R1i32__1a__0__755116 fzT__L3105_R1i32__1a__0__755116;
typedef struct fzT__L3082_R1i32__1a__0__755116 fzT__L3082_R1i32__1a__0__755116;
typedef struct fzT__L3106list_l_i32__0__755116 fzT__L3106list_l_i32__0__755116;
typedef struct fzT__L3083list_l_i32__0__755116 fzT__L3083list_l_i32__0__755116;
typedef struct fzT__L3107list_l_str__0__755116 fzT__L3107list_l_str__0__755116;
typedef struct fzT__L3084list_l_str__0__755116 fzT__L3084list_l_str__0__755116;
typedef struct fzT__L3108list_l_u8___0__755116 fzT__L3108list_l_u8___0__755116;
typedef struct fzT__L3085list_l_u8___0__755116 fzT__L3085list_l_u8___0__755116;
typedef struct fzT__L3109_Rlist_l_i__0__755116 fzT__L3109_Rlist_l_i__0__755116;
typedef struct fzT__L3086_Rlist_l_i__0__755116 fzT__L3086_Rlist_l_i__0__755116;
typedef struct fzT__L3110_Rlist_l_s__0__755116 fzT__L3110_Rlist_l_s__0__755116;
typedef struct fzT__L3087_Rlist_l_s__0__755116 fzT__L3087_Rlist_l_s__0__755116;
typedef struct fzT__L3111_Rlist_l_u__0__755116 fzT__L3111_Rlist_l_u__0__755116;
typedef struct fzT__L3088_Rlist_l_u__0__755116 fzT__L3088_Rlist_l_u__0__755116;
typedef struct fzT__L3112_R4array_l__0__755116 fzT__L3112_R4array_l__0__755116;
typedef struct fzT__L3089_R4array_l__0__755116 fzT__L3089_R4array_l__0__755116;
typedef struct fzT__L31131i32__1inf__0__755116 fzT__L31131i32__1inf__0__755116;
typedef struct fzT__L30901i32__1inf__0__755116 fzT__L30901i32__1inf__0__755116;
typedef struct fzT__L31141i32__1asS__0__755116 fzT__L31141i32__1asS__0__755116;
typedef struct fzT__L30911i32__1asS__0__755116 fzT__L30911i32__1asS__0__755116;
typedef struct fzT__L31151u8__1asSt__0__755116 fzT__L31151u8__1asSt__0__755116;
typedef struct fzT__L30921u8__1asSt__0__755116 fzT__L30921u8__1asSt__0__755116;
typedef struct fzT__L3116_R1i32__1a__0__755116 fzT__L3116_R1i32__1a__0__755116;
typedef struct fzT__L3093_R1i32__1a__0__755116 fzT__L3093_R1i32__1a__0__755116;
typedef struct fzT__L3117list_l_i32__0__755116 fzT__L3117list_l_i32__0__755116;
typedef struct fzT__L3094list_l_i32__0__755116 fzT__L3094list_l_i32__0__755116;
typedef struct fzT__L3118list_l_str__0__755116 fzT__L3118list_l_str__0__755116;
typedef struct fzT__L3095list_l_str__0__755116 fzT__L3095list_l_str__0__755116;
typedef struct fzT__L3119list_l_u8___0__755116 fzT__L3119list_l_u8___0__755116;
typedef struct fzT__L3096list_l_u8___0__755116 fzT__L3096list_l_u8___0__755116;
typedef struct fzT__L3120_Rlist_l_i__0__755116 fzT__L3120_Rlist_l_i__0__755116;
typedef struct fzT__L3097_Rlist_l_i__0__755116 fzT__L3097_Rlist_l_i__0__755116;
typedef struct fzT__L3121_Rlist_l_s__0__755116 fzT__L3121_Rlist_l_s__0__755116;
typedef struct fzT__L3098_Rlist_l_s__0__755116 fzT__L3098_Rlist_l_s__0__755116;
typedef struct fzT__L3122_Rlist_l_u__0__755116 fzT__L3122_Rlist_l_u__0__755116;
typedef struct fzT__L3099_Rlist_l_u__0__755116 fzT__L3099_Rlist_l_u__0__755116;
typedef struct fzT__L3123_Rstream_l__0__755116 fzT__L3123_Rstream_l__0__755116;
typedef struct fzT__L3100_Rstream_l__0__755116 fzT__L3100_Rstream_l__0__755116;
typedef struct fzT__L3124_R4array_l__16__1call fzT__L3124_R4array_l__16__1call;
typedef struct fzT__L31251i32__1inf__16__1call fzT__L31251i32__1inf__16__1call;
typedef struct fzT__L31261i32__1asS__16__1call fzT__L31261i32__1asS__16__1call;
typedef struct fzT__L31271u8__1asSt__16__1call fzT__L31271u8__1asSt__16__1call;
typedef struct fzT__L3128_R1i32__1a__16__1call fzT__L3128_R1i32__1a__16__1call;
typedef struct fzT__L3129list_l_i32__16__1call fzT__L3129list_l_i32__16__1call;
typedef struct fzT__L3130list_l_str__16__1call fzT__L3130list_l_str__16__1call;
typedef struct fzT__L3131list_l_u8___16__1call fzT__L3131list_l_u8___16__1call;
typedef struct fzT__L3132_Rlist_l_i__16__1call fzT__L3132_Rlist_l_i__16__1call;
typedef struct fzT__L3133_Rlist_l_s__16__1call fzT__L3133_Rlist_l_s__16__1call;
typedef struct fzT__L3134_Rlist_l_u__16__1call fzT__L3134_Rlist_l_u__16__1call;
typedef struct fzT__L3135_R4array_l__16__1call fzT__L3135_R4array_l__16__1call;
typedef struct fzT__L31361i32__1inf__16__1call fzT__L31361i32__1inf__16__1call;
typedef struct fzT__L31371i32__1asS__16__1call fzT__L31371i32__1asS__16__1call;
typedef struct fzT__L31381u8__1asSt__16__1call fzT__L31381u8__1asSt__16__1call;
typedef struct fzT__L3139_R1i32__1a__16__1call fzT__L3139_R1i32__1a__16__1call;
typedef struct fzT__L3140list_l_i32__16__1call fzT__L3140list_l_i32__16__1call;
typedef struct fzT__L3141list_l_str__16__1call fzT__L3141list_l_str__16__1call;
typedef struct fzT__L3142list_l_u8___16__1call fzT__L3142list_l_u8___16__1call;
typedef struct fzT__L3143_Rlist_l_i__16__1call fzT__L3143_Rlist_l_i__16__1call;
typedef struct fzT__L3144_Rlist_l_s__16__1call fzT__L3144_Rlist_l_s__16__1call;
typedef struct fzT__L3145_Rlist_l_u__16__1call fzT__L3145_Rlist_l_u__16__1call;
typedef struct fzT__L3146_Rstream_l__16__1call fzT__L3146_Rstream_l__16__1call;
typedef struct fzT__L3193_R4array_l____asArray fzT__L3193_R4array_l____asArray;
typedef struct fzT__L31941i32__1inf____asArray fzT__L31941i32__1inf____asArray;
typedef struct fzT__L31951i32__1asS____asArray fzT__L31951i32__1asS____asArray;
typedef struct fzT__L31961u8__1asSt____asArray fzT__L31961u8__1asSt____asArray;
typedef struct fzT__L3197_R1i32__1a____asArray fzT__L3197_R1i32__1a____asArray;
typedef struct fzT__L3198list_l_i32____asArray fzT__L3198list_l_i32____asArray;
typedef struct fzT__L3199list_l_str____asArray fzT__L3199list_l_str____asArray;
typedef struct fzT__L3200list_l_u8_____asArray fzT__L3200list_l_u8_____asArray;
typedef struct fzT__L3201_Rlist_l_i____asArray fzT__L3201_Rlist_l_i____asArray;
typedef struct fzT__L3202_Rlist_l_s____asArray fzT__L3202_Rlist_l_s____asArray;
typedef struct fzT__L3203_Rlist_l_u____asArray fzT__L3203_Rlist_l_u____asArray;
typedef struct fzT__L3204_R4array_l____asArray fzT__L3204_R4array_l____asArray;
typedef struct fzT__L32051i32__1inf____asArray fzT__L32051i32__1inf____asArray;
typedef struct fzT__L32061i32__1asS____asArray fzT__L32061i32__1asS____asArray;
typedef struct fzT__L32071u8__1asSt____asArray fzT__L32071u8__1asSt____asArray;
typedef struct fzT__L3208_R1i32__1a____asArray fzT__L3208_R1i32__1a____asArray;
typedef struct fzT__L3209list_l_i32____asArray fzT__L3209list_l_i32____asArray;
typedef struct fzT__L3210list_l_str____asArray fzT__L3210list_l_str____asArray;
typedef struct fzT__L3211list_l_u8_____asArray fzT__L3211list_l_u8_____asArray;
typedef struct fzT__L3212_Rlist_l_i____asArray fzT__L3212_Rlist_l_i____asArray;
typedef struct fzT__L3213_Rlist_l_s____asArray fzT__L3213_Rlist_l_s____asArray;
typedef struct fzT__L3214_Rlist_l_u____asArray fzT__L3214_Rlist_l_u____asArray;
typedef struct fzT__L3215_Rstream_l____asArray fzT__L3215_Rstream_l____asArray;
typedef struct fzT__L3285_R4array_l__0__755995 fzT__L3285_R4array_l__0__755995;
typedef struct fzT__L32861i32__1inf__0__755995 fzT__L32861i32__1inf__0__755995;
typedef struct fzT__L32871i32__1asS__0__755995 fzT__L32871i32__1asS__0__755995;
typedef struct fzT__L32881u8__1asSt__0__755995 fzT__L32881u8__1asSt__0__755995;
typedef struct fzT__L3289_R1i32__1a__0__755995 fzT__L3289_R1i32__1a__0__755995;
typedef struct fzT__L3290list_l_i32__0__755995 fzT__L3290list_l_i32__0__755995;
typedef struct fzT__L3291list_l_str__0__755995 fzT__L3291list_l_str__0__755995;
typedef struct fzT__L3292list_l_u8___0__755995 fzT__L3292list_l_u8___0__755995;
typedef struct fzT__L3293_Rlist_l_i__0__755995 fzT__L3293_Rlist_l_i__0__755995;
typedef struct fzT__L3294_Rlist_l_s__0__755995 fzT__L3294_Rlist_l_s__0__755995;
typedef struct fzT__L3295_Rlist_l_u__0__755995 fzT__L3295_Rlist_l_u__0__755995;
typedef struct fzT__L3296_R4array_l__0__755995 fzT__L3296_R4array_l__0__755995;
typedef struct fzT__L32971i32__1inf__0__755995 fzT__L32971i32__1inf__0__755995;
typedef struct fzT__L32981i32__1asS__0__755995 fzT__L32981i32__1asS__0__755995;
typedef struct fzT__L32991u8__1asSt__0__755995 fzT__L32991u8__1asSt__0__755995;
typedef struct fzT__L3300_R1i32__1a__0__755995 fzT__L3300_R1i32__1a__0__755995;
typedef struct fzT__L3301list_l_i32__0__755995 fzT__L3301list_l_i32__0__755995;
typedef struct fzT__L3302list_l_str__0__755995 fzT__L3302list_l_str__0__755995;
typedef struct fzT__L3303list_l_u8___0__755995 fzT__L3303list_l_u8___0__755995;
typedef struct fzT__L3304_Rlist_l_i__0__755995 fzT__L3304_Rlist_l_i__0__755995;
typedef struct fzT__L3305_Rlist_l_s__0__755995 fzT__L3305_Rlist_l_s__0__755995;
typedef struct fzT__L3306_Rlist_l_u__0__755995 fzT__L3306_Rlist_l_u__0__755995;
typedef struct fzT__L3307_Rstream_l__0__755995 fzT__L3307_Rstream_l__0__755995;
typedef struct fzT__L3446_R4array_l__am__1fold fzT__L3446_R4array_l__am__1fold;
typedef struct fzT__L34471i32__1inf__am__1fold fzT__L34471i32__1inf__am__1fold;
typedef struct fzT__L34481i32__1asS__22__1fold fzT__L34481i32__1asS__22__1fold;
typedef struct fzT__L34491u8__1asSt__22__1fold fzT__L34491u8__1asSt__22__1fold;
typedef struct fzT__L3450_R1i32__1a__22__1fold fzT__L3450_R1i32__1a__22__1fold;
typedef struct fzT__L3451list_l_i32__am__1fold fzT__L3451list_l_i32__am__1fold;
typedef struct fzT__L3452list_l_str__am__1fold fzT__L3452list_l_str__am__1fold;
typedef struct fzT__L3453list_l_u8___am__1fold fzT__L3453list_l_u8___am__1fold;
typedef struct fzT__L3454_Rlist_l_i__am__1fold fzT__L3454_Rlist_l_i__am__1fold;
typedef struct fzT__L3455_Rlist_l_s__am__1fold fzT__L3455_Rlist_l_s__am__1fold;
typedef struct fzT__L3456_Rlist_l_u__am__1fold fzT__L3456_Rlist_l_u__am__1fold;
typedef struct fzT__Rstream_l_string_g__1fold fzT__Rstream_l_string_g__1fold;
typedef struct fzT__L3458_R4array_l__07__1fold fzT__L3458_R4array_l__07__1fold;
typedef struct fzT__L34591i32__1inf__07__1fold fzT__L34591i32__1inf__07__1fold;
typedef struct fzT__L34601i32__1asS__07__1fold fzT__L34601i32__1asS__07__1fold;
typedef struct fzT__L34611u8__1asSt__07__1fold fzT__L34611u8__1asSt__07__1fold;
typedef struct fzT__L3462_R1i32__1a__07__1fold fzT__L3462_R1i32__1a__07__1fold;
typedef struct fzT__L3463list_l_i32__07__1fold fzT__L3463list_l_i32__07__1fold;
typedef struct fzT__L3464list_l_str__07__1fold fzT__L3464list_l_str__07__1fold;
typedef struct fzT__L3465list_l_u8___07__1fold fzT__L3465list_l_u8___07__1fold;
typedef struct fzT__L3466_Rlist_l_i__07__1fold fzT__L3466_Rlist_l_i__07__1fold;
typedef struct fzT__L3467_Rlist_l_s__07__1fold fzT__L3467_Rlist_l_s__07__1fold;
typedef struct fzT__L3468_Rlist_l_u__07__1fold fzT__L3468_Rlist_l_u__07__1fold;
typedef struct fzT__L3469_Rstream_l__07__1fold fzT__L3469_Rstream_l__07__1fold;
typedef struct fzT__L3542_R4array_l__am__2fold fzT__L3542_R4array_l__am__2fold;
typedef struct fzT__L35431i32__1inf__am__2fold fzT__L35431i32__1inf__am__2fold;
typedef struct fzT__L35441i32__1asS__22__2fold fzT__L35441i32__1asS__22__2fold;
typedef struct fzT__L35451u8__1asSt__22__2fold fzT__L35451u8__1asSt__22__2fold;
typedef struct fzT__L3546_R1i32__1a__22__2fold fzT__L3546_R1i32__1a__22__2fold;
typedef struct fzT__L3547list_l_i32__am__2fold fzT__L3547list_l_i32__am__2fold;
typedef struct fzT__L3548list_l_str__am__2fold fzT__L3548list_l_str__am__2fold;
typedef struct fzT__L3549list_l_u8___am__2fold fzT__L3549list_l_u8___am__2fold;
typedef struct fzT__L3550_Rlist_l_i__am__2fold fzT__L3550_Rlist_l_i__am__2fold;
typedef struct fzT__L3551_Rlist_l_s__am__2fold fzT__L3551_Rlist_l_s__am__2fold;
typedef struct fzT__L3552_Rlist_l_u__am__2fold fzT__L3552_Rlist_l_u__am__2fold;
typedef struct fzT__Rstream_l_string_g__2fold fzT__Rstream_l_string_g__2fold;
typedef struct fzT__L3554_R4array_l__07__2fold fzT__L3554_R4array_l__07__2fold;
typedef struct fzT__L35551i32__1inf__07__2fold fzT__L35551i32__1inf__07__2fold;
typedef struct fzT__L35561i32__1asS__07__2fold fzT__L35561i32__1asS__07__2fold;
typedef struct fzT__L35571u8__1asSt__07__2fold fzT__L35571u8__1asSt__07__2fold;
typedef struct fzT__L3558_R1i32__1a__07__2fold fzT__L3558_R1i32__1a__07__2fold;
typedef struct fzT__L3559list_l_i32__07__2fold fzT__L3559list_l_i32__07__2fold;
typedef struct fzT__L3560list_l_str__07__2fold fzT__L3560list_l_str__07__2fold;
typedef struct fzT__L3561list_l_u8___07__2fold fzT__L3561list_l_u8___07__2fold;
typedef struct fzT__L3562_Rlist_l_i__07__2fold fzT__L3562_Rlist_l_i__07__2fold;
typedef struct fzT__L3563_Rlist_l_s__07__2fold fzT__L3563_Rlist_l_s__07__2fold;
typedef struct fzT__L3564_Rlist_l_u__07__2fold fzT__L3564_Rlist_l_u__07__2fold;
typedef struct fzT__L3565_Rstream_l__07__2fold fzT__L3565_Rstream_l__07__2fold;
typedef struct fzT__L3686_R4array_l__0__764966 fzT__L3686_R4array_l__0__764966;
typedef struct fzT__L36871i32__1inf__0__764966 fzT__L36871i32__1inf__0__764966;
typedef struct fzT__L36881i32__1asS__0__764966 fzT__L36881i32__1asS__0__764966;
typedef struct fzT__L36891u8__1asSt__0__764966 fzT__L36891u8__1asSt__0__764966;
typedef struct fzT__L3690_R1i32__1a__0__764966 fzT__L3690_R1i32__1a__0__764966;
typedef struct fzT__L3691list_l_i32__0__764966 fzT__L3691list_l_i32__0__764966;
typedef struct fzT__L3692list_l_str__0__764966 fzT__L3692list_l_str__0__764966;
typedef struct fzT__L3693list_l_u8___0__764966 fzT__L3693list_l_u8___0__764966;
typedef struct fzT__L3694_Rlist_l_i__0__764966 fzT__L3694_Rlist_l_i__0__764966;
typedef struct fzT__L3695_Rlist_l_s__0__764966 fzT__L3695_Rlist_l_s__0__764966;
typedef struct fzT__L3696_Rlist_l_u__0__764966 fzT__L3696_Rlist_l_u__0__764966;
typedef struct fzT__L3697_Rstream_l__0__764966 fzT__L3697_Rstream_l__0__764966;
typedef struct fzT__L3698_R4array_l__0__764966 fzT__L3698_R4array_l__0__764966;
typedef struct fzT__L36991i32__1inf__0__764966 fzT__L36991i32__1inf__0__764966;
typedef struct fzT__L37001i32__1asS__0__764966 fzT__L37001i32__1asS__0__764966;
typedef struct fzT__L37011u8__1asSt__0__764966 fzT__L37011u8__1asSt__0__764966;
typedef struct fzT__L3702_R1i32__1a__0__764966 fzT__L3702_R1i32__1a__0__764966;
typedef struct fzT__L3703list_l_i32__0__764966 fzT__L3703list_l_i32__0__764966;
typedef struct fzT__L3704list_l_str__0__764966 fzT__L3704list_l_str__0__764966;
typedef struct fzT__L3705list_l_u8___0__764966 fzT__L3705list_l_u8___0__764966;
typedef struct fzT__L3706_Rlist_l_i__0__764966 fzT__L3706_Rlist_l_i__0__764966;
typedef struct fzT__L3707_Rlist_l_s__0__764966 fzT__L3707_Rlist_l_s__0__764966;
typedef struct fzT__L3708_Rlist_l_u__0__764966 fzT__L3708_Rlist_l_u__0__764966;
typedef struct fzT__L3709_Rstream_l__0__764966 fzT__L3709_Rstream_l__0__764966;
typedef struct fzT__L3836_R4array_l___string_g fzT__L3836_R4array_l___string_g;
typedef struct fzT__L38371i32__1inf___string_g fzT__L38371i32__1inf___string_g;
typedef struct fzT__L38381i32__1asS___string_g fzT__L38381i32__1asS___string_g;
typedef struct fzT__L38391u8__1asSt___string_g fzT__L38391u8__1asSt___string_g;
typedef struct fzT__L3840_R1i32__1a___string_g fzT__L3840_R1i32__1a___string_g;
typedef struct fzT__L3841list_l_i32___string_g fzT__L3841list_l_i32___string_g;
typedef struct fzT__L3842list_l_str___string_g fzT__L3842list_l_str___string_g;
typedef struct fzT__L3843list_l_u8____string_g fzT__L3843list_l_u8____string_g;
typedef struct fzT__L3844_Rlist_l_i___string_g fzT__L3844_Rlist_l_i___string_g;
typedef struct fzT__L3845_Rlist_l_s___string_g fzT__L3845_Rlist_l_s___string_g;
typedef struct fzT__L3846_Rlist_l_u___string_g fzT__L3846_Rlist_l_u___string_g;
typedef struct fzT__L3847_Rstream_l___string_g fzT__L3847_Rstream_l___string_g;
typedef struct fzT__L3896_R4array_l__0__766307 fzT__L3896_R4array_l__0__766307;
typedef struct fzT__L3884_R4array_l__0__766307 fzT__L3884_R4array_l__0__766307;
typedef struct fzT__L38971i32__1inf__0__766307 fzT__L38971i32__1inf__0__766307;
typedef struct fzT__L38851i32__1inf__0__766307 fzT__L38851i32__1inf__0__766307;
typedef struct fzT__L38981i32__1asS__0__766307 fzT__L38981i32__1asS__0__766307;
typedef struct fzT__L38861i32__1asS__0__766307 fzT__L38861i32__1asS__0__766307;
typedef struct fzT__L38991u8__1asSt__0__766307 fzT__L38991u8__1asSt__0__766307;
typedef struct fzT__L38871u8__1asSt__0__766307 fzT__L38871u8__1asSt__0__766307;
typedef struct fzT__L3900_R1i32__1a__0__766307 fzT__L3900_R1i32__1a__0__766307;
typedef struct fzT__L3888_R1i32__1a__0__766307 fzT__L3888_R1i32__1a__0__766307;
typedef struct fzT__L3901list_l_i32__0__766307 fzT__L3901list_l_i32__0__766307;
typedef struct fzT__L3889list_l_i32__0__766307 fzT__L3889list_l_i32__0__766307;
typedef struct fzT__L3902list_l_str__0__766307 fzT__L3902list_l_str__0__766307;
typedef struct fzT__L3890list_l_str__0__766307 fzT__L3890list_l_str__0__766307;
typedef struct fzT__L3903list_l_u8___0__766307 fzT__L3903list_l_u8___0__766307;
typedef struct fzT__L3891list_l_u8___0__766307 fzT__L3891list_l_u8___0__766307;
typedef struct fzT__L3904_Rlist_l_i__0__766307 fzT__L3904_Rlist_l_i__0__766307;
typedef struct fzT__L3892_Rlist_l_i__0__766307 fzT__L3892_Rlist_l_i__0__766307;
typedef struct fzT__L3905_Rlist_l_s__0__766307 fzT__L3905_Rlist_l_s__0__766307;
typedef struct fzT__L3893_Rlist_l_s__0__766307 fzT__L3893_Rlist_l_s__0__766307;
typedef struct fzT__L3906_Rlist_l_u__0__766307 fzT__L3906_Rlist_l_u__0__766307;
typedef struct fzT__L3894_Rlist_l_u__0__766307 fzT__L3894_Rlist_l_u__0__766307;
typedef struct fzT__L3907_Rstream_l__0__766307 fzT__L3907_Rstream_l__0__766307;
typedef struct fzT__L3895_Rstream_l__0__766307 fzT__L3895_Rstream_l__0__766307;
typedef struct fzT__L3932_R4array_l____hasNext fzT__L3932_R4array_l____hasNext;
typedef struct fzT__L39331i32__1inf____hasNext fzT__L39331i32__1inf____hasNext;
typedef struct fzT__L39341i32__1asS____hasNext fzT__L39341i32__1asS____hasNext;
typedef struct fzT__L39351u8__1asSt____hasNext fzT__L39351u8__1asSt____hasNext;
typedef struct fzT__L3936_R1i32__1a____hasNext fzT__L3936_R1i32__1a____hasNext;
typedef struct fzT__L3937list_l_i32____hasNext fzT__L3937list_l_i32____hasNext;
typedef struct fzT__L3938list_l_str____hasNext fzT__L3938list_l_str____hasNext;
typedef struct fzT__L3939list_l_u8_____hasNext fzT__L3939list_l_u8_____hasNext;
typedef struct fzT__L3940_Rlist_l_i____hasNext fzT__L3940_Rlist_l_i____hasNext;
typedef struct fzT__L3941_Rlist_l_s____hasNext fzT__L3941_Rlist_l_s____hasNext;
typedef struct fzT__L3942_Rlist_l_u____hasNext fzT__L3942_Rlist_l_u____hasNext;
typedef struct fzT__L3943_Rstream_l____hasNext fzT__L3943_Rstream_l____hasNext;
typedef struct fzT__L3968_R4array_l__307__next fzT__L3968_R4array_l__307__next;
typedef struct fzT__L39691i32__1inf__307__next fzT__L39691i32__1inf__307__next;
typedef struct fzT__L39701i32__1asS__307__next fzT__L39701i32__1asS__307__next;
typedef struct fzT__L39711u8__1asSt__307__next fzT__L39711u8__1asSt__307__next;
typedef struct fzT__L3972_R1i32__1a__307__next fzT__L3972_R1i32__1a__307__next;
typedef struct fzT__L3973list_l_i32__307__next fzT__L3973list_l_i32__307__next;
typedef struct fzT__L3974list_l_str__307__next fzT__L3974list_l_str__307__next;
typedef struct fzT__L3975list_l_u8___307__next fzT__L3975list_l_u8___307__next;
typedef struct fzT__L3976_Rlist_l_i__307__next fzT__L3976_Rlist_l_i__307__next;
typedef struct fzT__L3977_Rlist_l_s__307__next fzT__L3977_Rlist_l_s__307__next;
typedef struct fzT__L3978_Rlist_l_u__307__next fzT__L3978_Rlist_l_u__307__next;
typedef struct fzT__L3979_Rstream_l__307__next fzT__L3979_Rstream_l__307__next;
typedef struct fzT__L4056_R4array_l__romStream fzT__L4056_R4array_l__romStream;
typedef struct fzT__L40571i32__1inf__romStream fzT__L40571i32__1inf__romStream;
typedef struct fzT__L40581i32__1asS__romStream fzT__L40581i32__1asS__romStream;
typedef struct fzT__L40591u8__1asSt__romStream fzT__L40591u8__1asSt__romStream;
typedef struct fzT__L4060_R1i32__1a__romStream fzT__L4060_R1i32__1a__romStream;
typedef struct fzT__L4061list_l_i32__romStream fzT__L4061list_l_i32__romStream;
typedef struct fzT__L4062list_l_str__romStream fzT__L4062list_l_str__romStream;
typedef struct fzT__L4063list_l_u8___romStream fzT__L4063list_l_u8___romStream;
typedef struct fzT__L4064_Rlist_l_i__romStream fzT__L4064_Rlist_l_i__romStream;
typedef struct fzT__L4065_Rlist_l_s__romStream fzT__L4065_Rlist_l_s__romStream;
typedef struct fzT__L4066_Rlist_l_u__romStream fzT__L4066_Rlist_l_u__romStream;
typedef struct fzT__L4067_Rstream_l__romStream fzT__L4067_Rstream_l__romStream;
typedef struct fzT__L4068_Rstream_l__romStream fzT__L4068_Rstream_l__romStream;
typedef struct fzT__Rstream_l_u8_g__fromStream fzT__Rstream_l_u8_g__fromStream;
typedef struct fzT__L4070_R4array_l__romStream fzT__L4070_R4array_l__romStream;
typedef struct fzT__L40711i32__1inf__romStream fzT__L40711i32__1inf__romStream;
typedef struct fzT__L40721i32__1asS__romStream fzT__L40721i32__1asS__romStream;
typedef struct fzT__L40731u8__1asSt__romStream fzT__L40731u8__1asSt__romStream;
typedef struct fzT__L4074_R1i32__1a__romStream fzT__L4074_R1i32__1a__romStream;
typedef struct fzT__L4075list_l_i32__romStream fzT__L4075list_l_i32__romStream;
typedef struct fzT__L4076list_l_str__romStream fzT__L4076list_l_str__romStream;
typedef struct fzT__L4077list_l_u8___romStream fzT__L4077list_l_u8___romStream;
typedef struct fzT__L4078_Rlist_l_i__romStream fzT__L4078_Rlist_l_i__romStream;
typedef struct fzT__L4079_Rlist_l_s__romStream fzT__L4079_Rlist_l_s__romStream;
typedef struct fzT__L4080_Rlist_l_u__romStream fzT__L4080_Rlist_l_u__romStream;
typedef struct fzT__L4081_Rstream_l__romStream fzT__L4081_Rstream_l__romStream;
typedef struct fzT__L4186_R4array_l__0__767531 fzT__L4186_R4array_l__0__767531;
typedef struct fzT__L4160_R4array_l__0__767531 fzT__L4160_R4array_l__0__767531;
typedef struct fzT__L41871i32__1inf__0__767531 fzT__L41871i32__1inf__0__767531;
typedef struct fzT__L41611i32__1inf__0__767531 fzT__L41611i32__1inf__0__767531;
typedef struct fzT__L41881i32__1asS__0__767531 fzT__L41881i32__1asS__0__767531;
typedef struct fzT__L41621i32__1asS__0__767531 fzT__L41621i32__1asS__0__767531;
typedef struct fzT__L41891u8__1asSt__0__767531 fzT__L41891u8__1asSt__0__767531;
typedef struct fzT__L41631u8__1asSt__0__767531 fzT__L41631u8__1asSt__0__767531;
typedef struct fzT__L4190_R1i32__1a__0__767531 fzT__L4190_R1i32__1a__0__767531;
typedef struct fzT__L4164_R1i32__1a__0__767531 fzT__L4164_R1i32__1a__0__767531;
typedef struct fzT__L4191list_l_i32__0__767531 fzT__L4191list_l_i32__0__767531;
typedef struct fzT__L4165list_l_i32__0__767531 fzT__L4165list_l_i32__0__767531;
typedef struct fzT__L4192list_l_str__0__767531 fzT__L4192list_l_str__0__767531;
typedef struct fzT__L4166list_l_str__0__767531 fzT__L4166list_l_str__0__767531;
typedef struct fzT__L4193list_l_u8___0__767531 fzT__L4193list_l_u8___0__767531;
typedef struct fzT__L4167list_l_u8___0__767531 fzT__L4167list_l_u8___0__767531;
typedef struct fzT__L4194_Rlist_l_i__0__767531 fzT__L4194_Rlist_l_i__0__767531;
typedef struct fzT__L4168_Rlist_l_i__0__767531 fzT__L4168_Rlist_l_i__0__767531;
typedef struct fzT__L4195_Rlist_l_s__0__767531 fzT__L4195_Rlist_l_s__0__767531;
typedef struct fzT__L4169_Rlist_l_s__0__767531 fzT__L4169_Rlist_l_s__0__767531;
typedef struct fzT__L4196_Rlist_l_u__0__767531 fzT__L4196_Rlist_l_u__0__767531;
typedef struct fzT__L4170_Rlist_l_u__0__767531 fzT__L4170_Rlist_l_u__0__767531;
typedef struct fzT__L4197_Rstream_l__0__767531 fzT__L4197_Rstream_l__0__767531;
typedef struct fzT__L4171_Rstream_l__0__767531 fzT__L4171_Rstream_l__0__767531;
typedef struct fzT__L4198_Rstream_l__0__767531 fzT__L4198_Rstream_l__0__767531;
typedef struct fzT__L4172_Rstream_l__0__767531 fzT__L4172_Rstream_l__0__767531;
typedef struct fzT__L4199_Rstream_l__0__767531 fzT__L4199_Rstream_l__0__767531;
typedef struct fzT__L4173_Rstream_l__0__767531 fzT__L4173_Rstream_l__0__767531;
typedef struct fzT__L4200_R4array_l__0__767531 fzT__L4200_R4array_l__0__767531;
typedef struct fzT__L4174_R4array_l__0__767531 fzT__L4174_R4array_l__0__767531;
typedef struct fzT__L42011i32__1inf__0__767531 fzT__L42011i32__1inf__0__767531;
typedef struct fzT__L41751i32__1inf__0__767531 fzT__L41751i32__1inf__0__767531;
typedef struct fzT__L42021i32__1asS__0__767531 fzT__L42021i32__1asS__0__767531;
typedef struct fzT__L41761i32__1asS__0__767531 fzT__L41761i32__1asS__0__767531;
typedef struct fzT__L42031u8__1asSt__0__767531 fzT__L42031u8__1asSt__0__767531;
typedef struct fzT__L41771u8__1asSt__0__767531 fzT__L41771u8__1asSt__0__767531;
typedef struct fzT__L4204_R1i32__1a__0__767531 fzT__L4204_R1i32__1a__0__767531;
typedef struct fzT__L4178_R1i32__1a__0__767531 fzT__L4178_R1i32__1a__0__767531;
typedef struct fzT__L4205list_l_i32__0__767531 fzT__L4205list_l_i32__0__767531;
typedef struct fzT__L4179list_l_i32__0__767531 fzT__L4179list_l_i32__0__767531;
typedef struct fzT__L4206list_l_str__0__767531 fzT__L4206list_l_str__0__767531;
typedef struct fzT__L4180list_l_str__0__767531 fzT__L4180list_l_str__0__767531;
typedef struct fzT__L4207list_l_u8___0__767531 fzT__L4207list_l_u8___0__767531;
typedef struct fzT__L4181list_l_u8___0__767531 fzT__L4181list_l_u8___0__767531;
typedef struct fzT__L4208_Rlist_l_i__0__767531 fzT__L4208_Rlist_l_i__0__767531;
typedef struct fzT__L4182_Rlist_l_i__0__767531 fzT__L4182_Rlist_l_i__0__767531;
typedef struct fzT__L4209_Rlist_l_s__0__767531 fzT__L4209_Rlist_l_s__0__767531;
typedef struct fzT__L4183_Rlist_l_s__0__767531 fzT__L4183_Rlist_l_s__0__767531;
typedef struct fzT__L4210_Rlist_l_u__0__767531 fzT__L4210_Rlist_l_u__0__767531;
typedef struct fzT__L4184_Rlist_l_u__0__767531 fzT__L4184_Rlist_l_u__0__767531;
typedef struct fzT__L4211_Rstream_l__0__767531 fzT__L4211_Rstream_l__0__767531;
typedef struct fzT__L4185_Rstream_l__0__767531 fzT__L4185_Rstream_l__0__767531;
typedef struct fzT__L4264_R4array_l__531__head fzT__L4264_R4array_l__531__head;
typedef struct fzT__L42651i32__1inf__531__head fzT__L42651i32__1inf__531__head;
typedef struct fzT__L42661i32__1asS__531__head fzT__L42661i32__1asS__531__head;
typedef struct fzT__L42671u8__1asSt__531__head fzT__L42671u8__1asSt__531__head;
typedef struct fzT__L4268_R1i32__1a__531__head fzT__L4268_R1i32__1a__531__head;
typedef struct fzT__L4269list_l_i32__531__head fzT__L4269list_l_i32__531__head;
typedef struct fzT__L4270list_l_str__531__head fzT__L4270list_l_str__531__head;
typedef struct fzT__L4271list_l_u8___531__head fzT__L4271list_l_u8___531__head;
typedef struct fzT__L4272_Rlist_l_i__531__head fzT__L4272_Rlist_l_i__531__head;
typedef struct fzT__L4273_Rlist_l_s__531__head fzT__L4273_Rlist_l_s__531__head;
typedef struct fzT__L4274_Rlist_l_u__531__head fzT__L4274_Rlist_l_u__531__head;
typedef struct fzT__L4275_Rstream_l__531__head fzT__L4275_Rstream_l__531__head;
typedef struct fzT__L4276_Rstream_l__531__head fzT__L4276_Rstream_l__531__head;
typedef struct fzT__L4277_Rstream_l__531__head fzT__L4277_Rstream_l__531__head;
typedef struct fzT__L4278_R4array_l__531__head fzT__L4278_R4array_l__531__head;
typedef struct fzT__L42791i32__1inf__531__head fzT__L42791i32__1inf__531__head;
typedef struct fzT__L42801i32__1asS__531__head fzT__L42801i32__1asS__531__head;
typedef struct fzT__L42811u8__1asSt__531__head fzT__L42811u8__1asSt__531__head;
typedef struct fzT__L4282_R1i32__1a__531__head fzT__L4282_R1i32__1a__531__head;
typedef struct fzT__L4283list_l_i32__531__head fzT__L4283list_l_i32__531__head;
typedef struct fzT__L4284list_l_str__531__head fzT__L4284list_l_str__531__head;
typedef struct fzT__L4285list_l_u8___531__head fzT__L4285list_l_u8___531__head;
typedef struct fzT__L4286_Rlist_l_i__531__head fzT__L4286_Rlist_l_i__531__head;
typedef struct fzT__L4287_Rlist_l_s__531__head fzT__L4287_Rlist_l_s__531__head;
typedef struct fzT__L4288_Rlist_l_u__531__head fzT__L4288_Rlist_l_u__531__head;
typedef struct fzT__L4289_Rstream_l__531__head fzT__L4289_Rstream_l__531__head;
typedef struct fzT__L4342_R4array_l__531__tail fzT__L4342_R4array_l__531__tail;
typedef struct fzT__L43431i32__1inf__531__tail fzT__L43431i32__1inf__531__tail;
typedef struct fzT__L43441i32__1asS__531__tail fzT__L43441i32__1asS__531__tail;
typedef struct fzT__L43451u8__1asSt__531__tail fzT__L43451u8__1asSt__531__tail;
typedef struct fzT__L4346_R1i32__1a__531__tail fzT__L4346_R1i32__1a__531__tail;
typedef struct fzT__L4347list_l_i32__531__tail fzT__L4347list_l_i32__531__tail;
typedef struct fzT__L4348list_l_str__531__tail fzT__L4348list_l_str__531__tail;
typedef struct fzT__L4349list_l_u8___531__tail fzT__L4349list_l_u8___531__tail;
typedef struct fzT__L4350_Rlist_l_i__531__tail fzT__L4350_Rlist_l_i__531__tail;
typedef struct fzT__L4351_Rlist_l_s__531__tail fzT__L4351_Rlist_l_s__531__tail;
typedef struct fzT__L4352_Rlist_l_u__531__tail fzT__L4352_Rlist_l_u__531__tail;
typedef struct fzT__L4353_Rstream_l__531__tail fzT__L4353_Rstream_l__531__tail;
typedef struct fzT__L4354_Rstream_l__531__tail fzT__L4354_Rstream_l__531__tail;
typedef struct fzT__L4355_Rstream_l__531__tail fzT__L4355_Rstream_l__531__tail;
typedef struct fzT__L4356_R4array_l__531__tail fzT__L4356_R4array_l__531__tail;
typedef struct fzT__L43571i32__1inf__531__tail fzT__L43571i32__1inf__531__tail;
typedef struct fzT__L43581i32__1asS__531__tail fzT__L43581i32__1asS__531__tail;
typedef struct fzT__L43591u8__1asSt__531__tail fzT__L43591u8__1asSt__531__tail;
typedef struct fzT__L4360_R1i32__1a__531__tail fzT__L4360_R1i32__1a__531__tail;
typedef struct fzT__L4361list_l_i32__531__tail fzT__L4361list_l_i32__531__tail;
typedef struct fzT__L4362list_l_str__531__tail fzT__L4362list_l_str__531__tail;
typedef struct fzT__L4363list_l_u8___531__tail fzT__L4363list_l_u8___531__tail;
typedef struct fzT__L4364_Rlist_l_i__531__tail fzT__L4364_Rlist_l_i__531__tail;
typedef struct fzT__L4365_Rlist_l_s__531__tail fzT__L4365_Rlist_l_s__531__tail;
typedef struct fzT__L4366_Rlist_l_u__531__tail fzT__L4366_Rlist_l_u__531__tail;
typedef struct fzT__L4367_Rstream_l__531__tail fzT__L4367_Rstream_l__531__tail;
typedef struct fzT_string fzT_string;
typedef struct fzT__Rstring fzT__Rstring;
typedef struct fzT__R1codepoint__asString fzT__R1codepoint__asString;
typedef struct fzT__L45271i32__1asS___asString fzT__L45271i32__1asS___asString;
typedef struct fzT__L45281u8__1asSt___asString fzT__L45281u8__1asSt___asString;
typedef struct fzT__L4529_R1i32__1a___asString fzT__L4529_R1i32__1a___asString;
typedef struct fzT__Rstring__asString fzT__Rstring__asString;
typedef struct fzT__L4531strings__2___asString fzT__L4531strings__2___asString;
typedef struct fzT__R1codepoint__isEmpty fzT__R1codepoint__isEmpty;
typedef struct fzT__L45451i32__1asS____isEmpty fzT__L45451i32__1asS____isEmpty;
typedef struct fzT__L45461u8__1asSt____isEmpty fzT__L45461u8__1asSt____isEmpty;
typedef struct fzT__L4547_R1i32__1a____isEmpty fzT__L4547_R1i32__1a____isEmpty;
typedef struct fzT__Rstring__isEmpty fzT__Rstring__isEmpty;
typedef struct fzT__L4549strings__2____isEmpty fzT__L4549strings__2____isEmpty;
typedef struct fzT__R1codepoint__1infix_wp fzT__R1codepoint__1infix_wp;
typedef struct fzT__R1conststring__1infix_wp fzT__R1conststring__1infix_wp;
typedef struct fzT__L45651i32__1asS__1infix_wp fzT__L45651i32__1asS__1infix_wp;
typedef struct fzT__L45661u8__1asSt__1infix_wp fzT__L45661u8__1asSt__1infix_wp;
typedef struct fzT__L4567_R1i32__1a__1infix_wp fzT__L4567_R1i32__1a__1infix_wp;
typedef struct fzT__Rstring__1infix_wp fzT__Rstring__1infix_wp;
typedef struct fzT__L4569strings__2__1infix_wp fzT__L4569strings__2__1infix_wp;
typedef struct fzT_strings fzT_strings;
typedef struct fzT__Rstrings fzT__Rstrings;
typedef struct fzT_strings__1concat fzT_strings__1concat;
typedef struct fzT_strings_R1concat fzT_strings_R1concat;
typedef struct fzT__L4597strings_R1__x_wU2219_ fzT__L4597strings_R1__x_wU2219_;
typedef struct fzT_strings_R1concat__e fzT_strings_R1concat__e;
typedef struct fzT_strings__2concat fzT_strings__2concat;
typedef struct fzT__L4611strings__2__0__834261 fzT__L4611strings__2__0__834261;
typedef struct fzT__L4610strings__2__0__834261 fzT__L4610strings__2__0__834261;
typedef struct fzT__L4614strings__2__261__utf8 fzT__L4614strings__2__261__utf8;
typedef struct fzT_strings__zeroChar fzT_strings__zeroChar;
typedef struct fzT_strings__aChar fzT_strings__aChar;
typedef struct fzT_1u32__thiz fzT_1u32__thiz;
typedef struct fzT_1u32__max fzT_1u32__max;
typedef struct fzT_1u32__1overflowOnAdd fzT_1u32__1overflowOnAdd;
typedef struct fzT_1u32__1underflowOnAdd fzT_1u32__1underflowOnAdd;
typedef struct fzT_1u32__1overflowOnSub fzT_1u32__1overflowOnSub;
typedef struct fzT_1u32__1underflowOnSub fzT_1u32__1underflowOnSub;
typedef struct fzT_1u32__as_u_u8 fzT_1u32__as_u_u8;
typedef struct fzT_u32s fzT_u32s;
typedef uint64_t fzT_1u64;
typedef struct fzT_u64s fzT_u64s;
typedef struct fzT_u8s fzT_u8s;
typedef struct fzT_u8 fzT_u8;
typedef struct fzT_1u8__thiz fzT_1u8__thiz;
typedef struct fzT_1u8__1infix_wd fzT_1u8__1infix_wd;
typedef struct fzT_1u8__1infix_wP fzT_1u8__1infix_wP;
typedef struct fzT_1u8__max fzT_1u8__max;
typedef struct fzT_1u8__wrappedOnNeg fzT_1u8__wrappedOnNeg;
typedef struct fzT_1u8__1overflowOnAdd fzT_1u8__1overflowOnAdd;
typedef struct fzT_1u8__1underflowOnAdd fzT_1u8__1underflowOnAdd;
typedef struct fzT_1u8__1overflowOnSub fzT_1u8__1overflowOnSub;
typedef struct fzT_1u8__1underflowOnSub fzT_1u8__1underflowOnSub;
typedef struct fzT_1u8__1overflowOnMul fzT_1u8__1overflowOnMul;
typedef struct fzT_1u8__1underflowOnMul fzT_1u8__1underflowOnMul;
typedef struct fzT_1u8__as_u_u32 fzT_1u8__as_u_u32;
typedef struct fzT_1u8__zero fzT_1u8__zero;
typedef struct fzT_u8s__zero fzT_u8s__zero;
typedef struct fzT_1u8__one fzT_1u8__one;
typedef struct fzT_u8s__max fzT_u8s__max;
typedef struct fzT_1u8__min fzT_1u8__min;
typedef struct fzT_u8s__min fzT_u8s__min;
typedef struct fzT_wrappingInteger_l_i32_g fzT_wrappingInteger_l_i32_g;
typedef struct fzT__RwrappingInteger_l_i32_g fzT__RwrappingInteger_l_i32_g;
typedef struct fzT_wrappingInteger_l_i64_g fzT_wrappingInteger_l_i64_g;
typedef struct fzT_wrappingInteger_l_u32_g fzT_wrappingInteger_l_u32_g;
typedef struct fzT_wrappingInteger_l_u64_g fzT_wrappingInteger_l_u64_g;
typedef struct fzT_wrappingInteger_l_u8_g fzT_wrappingInteger_l_u8_g;
typedef struct fzT_1i32__1infix_wp fzT_1i32__1infix_wp;
typedef struct fzT_1u32__1infix_wp fzT_1u32__1infix_wp;
typedef struct fzT_1u8__1infix_wp fzT_1u8__1infix_wp;
typedef struct fzT_1i32__1infix_wm fzT_1i32__1infix_wm;
typedef struct fzT_1u32__1infix_wm fzT_1u32__1infix_wm;
typedef struct fzT_1u8__1infix_wm fzT_1u8__1infix_wm;
typedef struct fzT_1i32__1infix_wt fzT_1i32__1infix_wt;
typedef struct fzT_1u8__1infix_wt fzT_1u8__1infix_wt;
typedef struct fzT_1i32__prefix_wm fzT_1i32__prefix_wm;
typedef struct fzT_1u8__prefix_wm fzT_1u8__prefix_wm;
typedef struct fzT_1i32__prefix_wmQ fzT_1i32__prefix_wmQ;
typedef struct fzT_1u8__prefix_wmQ fzT_1u8__prefix_wmQ;
typedef struct fzT_1i32__1infix_wpQ fzT_1i32__1infix_wpQ;
typedef struct fzT_1i32__1infix_wpc fzT_1i32__1infix_wpc;
typedef struct fzT_1u8__1infix_wpc fzT_1u8__1infix_wpc;
typedef struct fzT_1i32__1wrappedOnAdd fzT_1i32__1wrappedOnAdd;
typedef struct fzT_1i32__isMin fzT_1i32__isMin;
typedef struct fzT_wrappingIntegers_l_i32_g fzT_wrappingIntegers_l_i32_g;
typedef struct fzT__RwrappingIntegers_l_i32_g fzT__RwrappingIntegers_l_i32_g;
typedef struct fzT_wrappingIntegers_l_i64_g fzT_wrappingIntegers_l_i64_g;
typedef struct fzT_wrappingIntegers_l_u32_g fzT_wrappingIntegers_l_u32_g;
typedef struct fzT_wrappingIntegers_l_u64_g fzT_wrappingIntegers_l_u64_g;
typedef struct fzT_wrappingIntegers_l_u8_g fzT_wrappingIntegers_l_u8_g;
typedef struct fzT__Huniverse fzT__Huniverse;
typedef struct fzT_man_u_or_u_boy__6a__b fzT_man_u_or_u_boy__6a__b;
typedef struct fzT_man_u_or_u_boy__6a fzT_man_u_or_u_boy__6a;
typedef struct fzT_man_u_or_u_boy__1K fzT_man_u_or_u_boy__1K;
typedef struct fzT__L4897man_u_or_u___1_Hloop0 fzT__L4897man_u_or_u___1_Hloop0;
typedef struct fzT_man_u_or_u_boy__3test fzT_man_u_or_u_boy__3test;
typedef struct fzT_man_u_or_u_boy fzT_man_u_or_u_boy;
typedef struct fzT__L4911man_u_or_u__n0__1call fzT__L4911man_u_or_u__n0__1call;
typedef struct fzT__L4913man_u_or_u__0___Hfun0 fzT__L4913man_u_or_u__0___Hfun0;
typedef struct fzT__L4912man_u_or_u__0_R_Hfun0 fzT__L4912man_u_or_u__0_R_Hfun0;
typedef struct fzT__L4920man_u_or_u__un1__call fzT__L4920man_u_or_u__un1__call;
typedef struct fzT_man_u_or_u_boy__6a___Hfun1 fzT_man_u_or_u_boy__6a___Hfun1;
typedef struct fzT_man_u_or_u_boy__6a_R_Hfun1 fzT_man_u_or_u_boy__6a_R_Hfun1;
typedef struct fzT__L4927man_u_or_u__un2__call fzT__L4927man_u_or_u__un2__call;
typedef struct fzT_man_u_or_u_boy__1K___Hfun2 fzT_man_u_or_u_boy__1K___Hfun2;
typedef struct fzT_man_u_or_u_boy__1K_R_Hfun2 fzT_man_u_or_u_boy__1K_R_Hfun2;

// for Cons<i32, list<i32>>
struct fzT_Cons_l_i32_k_list_l_i32_gg
{
};
// for ref Cons<i32, list<i32>>
struct fzT__L0_RCons_l_i__ist_l_i32_gg
{
  uint32_t clazzId;
  fzT_Cons_l_i32_k_list_l_i32_gg fields;
};
// for Cons<string, list<string>>
struct fzT__L3Cons_l_str___l_string_gg
{
};
// for ref Cons<string, list<string>>
struct fzT__L2_RCons_l_s___l_string_gg
{
  uint32_t clazzId;
  fzT__L3Cons_l_str___l_string_gg fields;
};
// for Cons<u8, list<u8>>
struct fzT_Cons_l_u8_k_list_l_u8_gg
{
};
// for ref Cons<u8, list<u8>>
struct fzT__RCons_l_u8_k_list_l_u8_gg
{
  uint32_t clazzId;
  fzT_Cons_l_u8_k_list_l_u8_gg fields;
};
// for Function<i32>
struct fzT_Function_l_i32_g
{
};
// for ref Function<i32>
struct fzT__RFunction_l_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_i32_g fields;
};
// for Function<unit>
struct fzT_Function_l_unit_g
{
};
// for ref Function<unit>
struct fzT__RFunction_l_unit_g
{
  uint32_t clazzId;
  fzT_Function_l_unit_g fields;
};
// for Function<i32, i32>
struct fzT_Function_l_i32_k_i32_g
{
};
// for ref Function<i32, i32>
struct fzT__RFunction_l_i32_k_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_i32_k_i32_g fields;
};
// for Function<i32, string>
struct fzT_Function_l_i32_k_string_g
{
};
// for ref Function<i32, string>
struct fzT__RFunction_l_i32_k_string_g
{
  uint32_t clazzId;
  fzT_Function_l_i32_k_string_g fields;
};
// for Function<i32, u8>
struct fzT_Function_l_i32_k_u8_g
{
};
// for ref Function<i32, u8>
struct fzT__RFunction_l_i32_k_u8_g
{
  uint32_t clazzId;
  fzT_Function_l_i32_k_u8_g fields;
};
// for Function<numOption<i32>, i32>
struct fzT__L23Function_l__32_gk_i32_g
{
};
// for ref Function<numOption<i32>, i32>
struct fzT__L22_RFunction__32_gk_i32_g
{
  uint32_t clazzId;
  fzT__L23Function_l__32_gk_i32_g fields;
};
// for Function<string, i32>
struct fzT_Function_l_string_k_i32_g
{
};
// for ref Function<string, i32>
struct fzT__RFunction_l_string_k_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_string_k_i32_g fields;
};
// for Function<string, string>
struct fzT__L27Function_l___k_string_g
{
};
// for ref Function<string, string>
struct fzT__L26_RFunction___k_string_g
{
  uint32_t clazzId;
  fzT__L27Function_l___k_string_g fields;
};
// for Function<string, u8>
struct fzT_Function_l_string_k_u8_g
{
};
// for ref Function<string, u8>
struct fzT__RFunction_l_string_k_u8_g
{
  uint32_t clazzId;
  fzT_Function_l_string_k_u8_g fields;
};
// for Function<u8, i32>
struct fzT_Function_l_u8_k_i32_g
{
};
// for ref Function<u8, i32>
struct fzT__RFunction_l_u8_k_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_u8_k_i32_g fields;
};
// for Function<unit, i32>
struct fzT_Function_l_unit_k_i32_g
{
};
// for ref Function<unit, i32>
struct fzT__RFunction_l_unit_k_i32_g
{
  uint32_t clazzId;
  fzT_Function_l_unit_k_i32_g fields;
};
// for Function<unit, unit>
struct fzT_Function_l_unit_k_unit_g
{
};
// for ref Function<unit, unit>
struct fzT__RFunction_l_unit_k_unit_g
{
  uint32_t clazzId;
  fzT_Function_l_unit_k_unit_g fields;
};
// for i32
struct fzT_1i32
{
  fzT_1i32 fzF_0_val;
};
// for u8
struct fzT_1u8
{
  fzT_1u8 fzF_0_val;
};
// for unit
struct fzT_unit
{
};
// for Monoid<i32>
struct fzT_Monoid_l_i32_g
{
};
// for ref Monoid<i32>
struct fzT__RMonoid_l_i32_g
{
  uint32_t clazzId;
  fzT_Monoid_l_i32_g fields;
};
// for Monoid<string>
struct fzT_Monoid_l_string_g
{
};
// for ref Monoid<string>
struct fzT__RMonoid_l_string_g
{
  uint32_t clazzId;
  fzT_Monoid_l_string_g fields;
};
// for Monoid<u8>
struct fzT_Monoid_l_u8_g
{
};
// for ref Monoid<u8>
struct fzT__RMonoid_l_u8_g
{
  uint32_t clazzId;
  fzT_Monoid_l_u8_g fields;
};
// for ref Monoid<i32>.op
struct fzT__RMonoid_l_i32_g__2op
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_1i32 fzF_2_result;
  fzT__RMonoid_l_i32_g* fzF_3__U40__4065;
};
// for ref Monoid<string>.op
struct fzT__RMonoid_l_string_g__2op
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
  fzT__RMonoid_l_string_g* fzF_3__U40__4065;
};
// for ref Monoid<u8>.op
struct fzT__RMonoid_l_u8_g__2op
{
  fzT_1u8 fzF_0_a;
  fzT_1u8 fzF_1_b;
  fzT_1u8 fzF_2_result;
  fzT__RMonoid_l_u8_g* fzF_3__U40__4065;
};
// for i32s.ref sum.op
struct fzT_i32s_Rsum__2op
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_1i32 fzF_2_result;
  fzT_i32s_Rsum* fzF_3__U40__4065;
};
// for strings.ref concat.op
struct fzT_strings_R1concat__2op
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
  fzT_strings_R1concat* fzF_3__U40__4065;
};
// for Object
struct fzT_Object
{
};
// for ref Object
struct fzT__RObject
{
  uint32_t clazzId;
  fzT_Object fields;
};
// for Sequence<i32>
struct fzT_Sequence_l_i32_g
{
};
// for ref Sequence<i32>
struct fzT__RSequence_l_i32_g
{
  uint32_t clazzId;
  fzT_Sequence_l_i32_g fields;
};
// for Sequence<string>
struct fzT_Sequence_l_string_g
{
};
// for ref Sequence<string>
struct fzT__RSequence_l_string_g
{
  uint32_t clazzId;
  fzT_Sequence_l_string_g fields;
};
// for Sequence<u32>
struct fzT_Sequence_l_u32_g
{
};
// for ref Sequence<u32>
struct fzT__RSequence_l_u32_g
{
  uint32_t clazzId;
  fzT_Sequence_l_u32_g fields;
};
// for Sequence<u8>
struct fzT_Sequence_l_u8_g
{
};
// for ref Sequence<u8>
struct fzT__RSequence_l_u8_g
{
  uint32_t clazzId;
  fzT_Sequence_l_u8_g fields;
};
// for ref array<u8>.asString
struct fzT__R4array_l_u8_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__5438;
};
// for i32.asString.ref @452350.ref utf8.asString
struct fzT__L3421i32__1asS____asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_1__U40__5438;
};
// for u8.asString.ref @452350.ref utf8.asString
struct fzT__L3431u8__1asSt____asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_1__U40__5438;
};
// for ref i32.asString.ref @452350.ref utf8.asString
struct fzT__L344_R1i32__1a____asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_1__U40__5438;
};
// for nil
struct fzT_nil
{
};
// for list<i32>
struct fzT_list_l_i32_g
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref Sequence<i32>.asList
struct fzT__RSequence_l_i32_g__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__RSequence_l_i32_g* fzF_1__U40__5999;
};
// for list<string>
struct fzT_list_l_string_g
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref Sequence<string>.asList
struct fzT__L354_RSequence___g__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__RSequence_l_string_g* fzF_1__U40__5999;
};
// for list<u8>
struct fzT_list_l_u8_g
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref Sequence<u8>.asList
struct fzT__RSequence_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__5999;
};
// for i32.asString.ref @452350.ref utf8.asList
struct fzT__L3561i32__1asS__f8__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_1__U40__5999;
};
// for u8.asString.ref @452350.ref utf8.asList
struct fzT__L3571u8__1asSt__f8__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_1__U40__5999;
};
// for ref i32.asString.ref @452350.ref utf8.asList
struct fzT__L358_R1i32__1a__f8__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_1__U40__5999;
};
// for ref Sequence<i32>.asStream
struct fzT__L371_RSequence____asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT__RSequence_l_i32_g* fzF_1__U40__6248;
};
// for ref Sequence<string>.asStream
struct fzT__L372_RSequence____asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__RSequence_l_string_g* fzF_1__U40__6248;
};
// for ref Sequence<u8>.asStream
struct fzT__RSequence_l_u8_g__asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__6248;
};
// for FALSE
struct fzT_FALSE
{
};
// for TRUE
struct fzT_TRUE
{
};
// for bool
struct fzT_bool
{
  fzT_1i32 fzTag;
  union
  {
    fzT_FALSE v0;
    fzT_TRUE v1;
  }fzChoice;
};
// for ref Sequence<u8>.isEmpty
struct fzT__RSequence_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__6487;
};
// for ref array<u8>.isEmpty
struct fzT__R4array_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__6487;
};
// for ref array<u8>.ref asStream.isEmpty
struct fzT__L382_R4array_l__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__6487;
};
// for i32.infix ...ref asStream.isEmpty
struct fzT__L3831i32__1inf__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__6487;
};
// for i32.asString.ref @452350.ref utf8.isEmpty
struct fzT__L3841i32__1asS__8__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_1__U40__6487;
};
// for u8.asString.ref @452350.ref utf8.isEmpty
struct fzT__L3851u8__1asSt__8__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_1__U40__6487;
};
// for ref i32.asString.ref @452350.ref utf8.isEmpty
struct fzT__L386_R1i32__1a__8__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_1__U40__6487;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.isEmpty
struct fzT__L3871i32__1asS__2__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__6487;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.isEmpty
struct fzT__L3881u8__1asSt__2__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__6487;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.isEmpty
struct fzT__L389_R1i32__1a__2__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__6487;
};
// for list<i32>.ref asStream.isEmpty
struct fzT__L390list_l_i32__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__6487;
};
// for list<string>.ref asStream.isEmpty
struct fzT__L391list_l_str__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__6487;
};
// for list<u8>.ref asStream.isEmpty
struct fzT__L392list_l_u8___m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__6487;
};
// for ref list<i32>.ref asStream.isEmpty
struct fzT__L393_Rlist_l_i__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__6487;
};
// for ref list<string>.ref asStream.isEmpty
struct fzT__L394_Rlist_l_s__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__6487;
};
// for ref list<u8>.ref asStream.isEmpty
struct fzT__L395_Rlist_l_u__m__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__6487;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L396_R4array_l__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__6487;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L3971i32__1inf__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__6487;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.isEmpty
struct fzT__L3981i32__1asS__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__6487;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.isEmpty
struct fzT__L3991u8__1asSt__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__6487;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.isEmpty
struct fzT__L400_R1i32__1a__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__6487;
};
// for list<i32>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L401list_l_i32__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__6487;
};
// for list<string>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L402list_l_str__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__6487;
};
// for list<u8>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L403list_l_u8___7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__6487;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L404_Rlist_l_i__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__6487;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L405_Rlist_l_s__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__6487;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.isEmpty
struct fzT__L406_Rlist_l_u__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__6487;
};
// for ref stream<string>.map<string>.ref @766307.isEmpty
struct fzT__L407_Rstream_l__7__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__6487;
};
// for ref Sequence<u8>.count
struct fzT__RSequence_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__6834;
};
// for ref array<u8>.count
struct fzT__R4array_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__6834;
};
// for ref conststring.count
struct fzT__R1conststring__count
{
  fzT_1i32 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__6834;
};
// for i32.asString.ref @452350.ref utf8.count
struct fzT__L4671i32__1asS__tf8__count
{
  fzT_1i32 fzF_0_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_1__U40__6834;
};
// for u8.asString.ref @452350.ref utf8.count
struct fzT__L4681u8__1asSt__tf8__count
{
  fzT_1i32 fzF_0_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_1__U40__6834;
};
// for ref i32.asString.ref @452350.ref utf8.count
struct fzT__L469_R1i32__1a__tf8__count
{
  fzT_1i32 fzF_0_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_1__U40__6834;
};
// for ref Sequence<u8>.count.@6883
struct fzT__L488_RSequence___U40__6883
{
};
// for ref Sequence<u8>.count.ref @6883
struct fzT__L482_RSequence___U40__6883
{
  uint32_t clazzId;
  fzT__L488_RSequence___U40__6883 fields;
};
// for ref array<u8>.count.@6883
struct fzT__L489_R4array_l___U40__6883
{
};
// for ref array<u8>.count.ref @6883
struct fzT__L483_R4array_l___U40__6883
{
  uint32_t clazzId;
  fzT__L489_R4array_l___U40__6883 fields;
};
// for ref conststring.count.@6883
struct fzT__L490_R1constst___U40__6883
{
};
// for ref conststring.count.ref @6883
struct fzT__L484_R1constst___U40__6883
{
  uint32_t clazzId;
  fzT__L490_R1constst___U40__6883 fields;
};
// for i32.asString.ref @452350.ref utf8.count.@6883
struct fzT__L4911i32__1asS___U40__6883
{
};
// for i32.asString.ref @452350.ref utf8.count.ref @6883
struct fzT__L4851i32__1asS___U40__6883
{
  uint32_t clazzId;
  fzT__L4911i32__1asS___U40__6883 fields;
};
// for u8.asString.ref @452350.ref utf8.count.@6883
struct fzT__L4921u8__1asSt___U40__6883
{
};
// for u8.asString.ref @452350.ref utf8.count.ref @6883
struct fzT__L4861u8__1asSt___U40__6883
{
  uint32_t clazzId;
  fzT__L4921u8__1asSt___U40__6883 fields;
};
// for ref i32.asString.ref @452350.ref utf8.count.@6883
struct fzT__L493_R1i32__1a___U40__6883
{
};
// for ref i32.asString.ref @452350.ref utf8.count.ref @6883
struct fzT__L487_R1i32__1a___U40__6883
{
  uint32_t clazzId;
  fzT__L493_R1i32__1a___U40__6883 fields;
};
// for ref Sequence<u8>.count.ref @6883.call
struct fzT__L494_RSequence__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.count.ref @6883.call
struct fzT__L495_R4array_l__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for ref conststring.count.ref @6883.call
struct fzT__L496_R1constst__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.count.ref @6883.call
struct fzT__L4971i32__1asS__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.count.ref @6883.call
struct fzT__L4981u8__1asSt__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for ref i32.asString.ref @452350.ref utf8.count.ref @6883.call
struct fzT__L499_R1i32__1a__883__1call
{
  fzT_1u8 fzF_0__U40__7144;
  fzT_1i32 fzF_1_result;
};
// for ref Sequence<u8>.first
struct fzT__RSequence_l_u8_g__first
{
  fzT_1u8 fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref array<u8>.first
struct fzT__R4array_l_u8_g__first
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref array<u8>.ref asStream.first
struct fzT__L514_R4array_l__eam__first
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref conststring.first
struct fzT__R1conststring__first
{
  fzT_1u8 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.infix ...ref asStream.first
struct fzT__L5161i32__1inf__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.asString.ref @452350.ref utf8.first
struct fzT__L5171i32__1asS__tf8__first
{
  fzT_1u8 fzF_0_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for u8.asString.ref @452350.ref utf8.first
struct fzT__L5181u8__1asSt__tf8__first
{
  fzT_1u8 fzF_0_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref i32.asString.ref @452350.ref utf8.first
struct fzT__L519_R1i32__1a__tf8__first
{
  fzT_1u8 fzF_0_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.first
struct fzT__L5201i32__1asS__222__first
{
  fzT_1u8 fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.first
struct fzT__L5211u8__1asSt__222__first
{
  fzT_1u8 fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.first
struct fzT__L522_R1i32__1a__222__first
{
  fzT_1u8 fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<i32>.ref asStream.first
struct fzT__L523list_l_i32__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<string>.ref asStream.first
struct fzT__L524list_l_str__eam__first
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<u8>.ref asStream.first
struct fzT__L525list_l_u8___eam__first
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<i32>.ref asStream.first
struct fzT__L526_Rlist_l_i__eam__first
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<string>.ref asStream.first
struct fzT__L527_Rlist_l_s__eam__first
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<u8>.ref asStream.first
struct fzT__L528_Rlist_l_u__eam__first
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.first
struct fzT__L529_R4array_l__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.first
struct fzT__L5301i32__1inf__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.first
struct fzT__L5311i32__1asS__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.first
struct fzT__L5321u8__1asSt__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.first
struct fzT__L533_R1i32__1a__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<i32>.ref asStream.map<string>.ref @766307.first
struct fzT__L534list_l_i32__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<string>.ref asStream.map<string>.ref @766307.first
struct fzT__L535list_l_str__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for list<u8>.ref asStream.map<string>.ref @766307.first
struct fzT__L536list_l_u8___307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.first
struct fzT__L537_Rlist_l_i__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.first
struct fzT__L538_Rlist_l_s__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.first
struct fzT__L539_Rlist_l_u__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for ref stream<string>.map<string>.ref @766307.first
struct fzT__L540_Rstream_l__307__first
{
  fzT__Rstring* fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__7716;
  fzT_bool fzF_2__U40__7765;
};
// for fuzion.sys.array<u8>
struct fzT_fuzion__sys__1array_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT__RObject* fzF_1_data;
};
// for array<u8>
struct fzT_4array_l_u8_g
{
  fzT_fuzion__sys__1array_l_u8_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
};
// for list<u8>.asArray
struct fzT_list_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for ref Sequence<u8>.asArray
struct fzT__RSequence_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__RSequence_l_u8_g* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for i32.asString.ref @452350.ref utf8.asArray
struct fzT__L6301i32__1asS__8__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for u8.asString.ref @452350.ref utf8.asArray
struct fzT__L6311u8__1asSt__8__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for ref i32.asString.ref @452350.ref utf8.asArray
struct fzT__L632_R1i32__1a__8__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for fuzion.sys.array<i32>
struct fzT_fuzion__sys__1array_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT__RObject* fzF_1_data;
};
// for array<i32>
struct fzT_4array_l_i32_g
{
  fzT_fuzion__sys__1array_l_i32_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
};
// for ref list<i32>.asArray
struct fzT__Rlist_l_i32_g__asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__9495;
  fzT__Rstream_l_i32_g* fzF_2_s;
};
// for fuzion.sys.array<string>
struct fzT__L1262fuzion__sy___string_g
{
  fzT_1i32 fzF_0_length;
  fzT__RObject* fzF_1_data;
};
// for array<string>
struct fzT_4array_l_string_g
{
  fzT__L1262fuzion__sy___string_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
};
// for ref list<string>.asArray
struct fzT__Rlist_l_string_g__asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__9495;
  fzT__Rstream_l_string_g* fzF_2_s;
};
// for ref list<u8>.asArray
struct fzT__Rlist_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__9495;
  fzT__Rstream_l_u8_g* fzF_2_s;
};
// for list<u8>.asArray.@9594
struct fzT__L668list_l_u8____U40__9594
{
  fzT_list_l_u8_g__asArray* fzF_0__U40__9701;
};
// for list<u8>.asArray.ref @9594
struct fzT__L660list_l_u8____U40__9594
{
  uint32_t clazzId;
  fzT__L668list_l_u8____U40__9594 fields;
};
// for ref Sequence<u8>.asArray.@9594
struct fzT__L669_RSequence___U40__9594
{
  fzT__RSequence_l_u8_g__asArray* fzF_0__U40__9701;
};
// for ref Sequence<u8>.asArray.ref @9594
struct fzT__L661_RSequence___U40__9594
{
  uint32_t clazzId;
  fzT__L669_RSequence___U40__9594 fields;
};
// for i32.asString.ref @452350.ref utf8.asArray.@9594
struct fzT__L6701i32__1asS___U40__9594
{
  fzT__L6301i32__1asS__8__asArray* fzF_0__U40__9701;
};
// for i32.asString.ref @452350.ref utf8.asArray.ref @9594
struct fzT__L6621i32__1asS___U40__9594
{
  uint32_t clazzId;
  fzT__L6701i32__1asS___U40__9594 fields;
};
// for u8.asString.ref @452350.ref utf8.asArray.@9594
struct fzT__L6711u8__1asSt___U40__9594
{
  fzT__L6311u8__1asSt__8__asArray* fzF_0__U40__9701;
};
// for u8.asString.ref @452350.ref utf8.asArray.ref @9594
struct fzT__L6631u8__1asSt___U40__9594
{
  uint32_t clazzId;
  fzT__L6711u8__1asSt___U40__9594 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asArray.@9594
struct fzT__L672_R1i32__1a___U40__9594
{
  fzT__L632_R1i32__1a__8__asArray* fzF_0__U40__9701;
};
// for ref i32.asString.ref @452350.ref utf8.asArray.ref @9594
struct fzT__L664_R1i32__1a___U40__9594
{
  uint32_t clazzId;
  fzT__L672_R1i32__1a___U40__9594 fields;
};
// for ref list<i32>.asArray.@9594
struct fzT__L673_Rlist_l_i___U40__9594
{
  fzT__Rlist_l_i32_g__asArray* fzF_0__U40__9701;
};
// for ref list<i32>.asArray.ref @9594
struct fzT__L665_Rlist_l_i___U40__9594
{
  uint32_t clazzId;
  fzT__L673_Rlist_l_i___U40__9594 fields;
};
// for ref list<string>.asArray.@9594
struct fzT__L674_Rlist_l_s___U40__9594
{
  fzT__Rlist_l_string_g__asArray* fzF_0__U40__9701;
};
// for ref list<string>.asArray.ref @9594
struct fzT__L666_Rlist_l_s___U40__9594
{
  uint32_t clazzId;
  fzT__L674_Rlist_l_s___U40__9594 fields;
};
// for ref list<u8>.asArray.@9594
struct fzT__L675_Rlist_l_u___U40__9594
{
  fzT__Rlist_l_u8_g__asArray* fzF_0__U40__9701;
};
// for ref list<u8>.asArray.ref @9594
struct fzT__L667_Rlist_l_u___U40__9594
{
  uint32_t clazzId;
  fzT__L675_Rlist_l_u___U40__9594 fields;
};
// for list<u8>.asArray.ref @9594.call
struct fzT__L692list_l_u8___594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L660list_l_u8____U40__9594* fzF_2__U40__10007;
};
// for ref Sequence<u8>.asArray.ref @9594.call
struct fzT__L693_RSequence__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L661_RSequence___U40__9594* fzF_2__U40__10007;
};
// for i32.asString.ref @452350.ref utf8.asArray.ref @9594.call
struct fzT__L6941i32__1asS__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L6621i32__1asS___U40__9594* fzF_2__U40__10007;
};
// for u8.asString.ref @452350.ref utf8.asArray.ref @9594.call
struct fzT__L6951u8__1asSt__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L6631u8__1asSt___U40__9594* fzF_2__U40__10007;
};
// for ref i32.asString.ref @452350.ref utf8.asArray.ref @9594.call
struct fzT__L696_R1i32__1a__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L664_R1i32__1a___U40__9594* fzF_2__U40__10007;
};
// for ref list<i32>.asArray.ref @9594.call
struct fzT__L697_Rlist_l_i__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT__L665_Rlist_l_i___U40__9594* fzF_2__U40__10007;
};
// for ref list<string>.asArray.ref @9594.call
struct fzT__L698_Rlist_l_s__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT__L666_Rlist_l_s___U40__9594* fzF_2__U40__10007;
};
// for ref list<u8>.asArray.ref @9594.call
struct fzT__L699_Rlist_l_u__594__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L667_Rlist_l_u___U40__9594* fzF_2__U40__10007;
};
// for i32.infix ...infix |
struct fzT__L7241i32__1inf__nfix_wU7c_
{
  fzT__RFunction_l_unit_k_i32_g* fzF_0_f;
  fzT_unit fzF_1_result;
  fzT_1i32__1infix_woo* fzF_2__U40__10633;
};
// for ref Sequence<u8>.infix ++
struct fzT__L728_RSequence__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__RSequence_l_u8_g* fzF_2__U40__15716;
};
// for ref array<u8>.infix ++
struct fzT__R4array_l_u8_g__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__15716;
};
// for ref array<u8>.ref asStream.infix ++
struct fzT__L730_R4array_l__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R4array_l_u8_g_RasStream* fzF_2__U40__15716;
};
// for ref conststring.infix ++
struct fzT__R1conststring__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R1conststring* fzF_2__U40__15716;
};
// for i32.infix ...ref asStream.infix ++
struct fzT__L7321i32__1inf__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_s;
  fzT_list_l_i32_g fzF_1_result;
  fzT_1i32__1infix_woo_RasStream* fzF_2__U40__15716;
};
// for i32.asString.ref @452350.ref utf8.infix ++
struct fzT__L7331i32__1asS__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_2__U40__15716;
};
// for u8.asString.ref @452350.ref utf8.infix ++
struct fzT__L7341u8__1asSt__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_2__U40__15716;
};
// for ref i32.asString.ref @452350.ref utf8.infix ++
struct fzT__L735_R1i32__1a__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_2__U40__15716;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.infix ++
struct fzT__L7361i32__1asS__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L16141i32__1asS__0__454222* fzF_2__U40__15716;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.infix ++
struct fzT__L7371u8__1asSt__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L16151u8__1asSt__0__454222* fzF_2__U40__15716;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.infix ++
struct fzT__L738_R1i32__1a__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_2__U40__15716;
};
// for list<i32>.ref asStream.infix ++
struct fzT__L739list_l_i32__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_s;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g_RasStream* fzF_2__U40__15716;
};
// for list<string>.ref asStream.infix ++
struct fzT__L740list_l_str__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g_RasStream* fzF_2__U40__15716;
};
// for list<u8>.ref asStream.infix ++
struct fzT__L741list_l_u8___1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT_list_l_u8_g_RasStream* fzF_2__U40__15716;
};
// for ref list<i32>.ref asStream.infix ++
struct fzT__L742_Rlist_l_i__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_s;
  fzT_list_l_i32_g fzF_1_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_2__U40__15716;
};
// for ref list<string>.ref asStream.infix ++
struct fzT__L743_Rlist_l_s__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g_RasStream* fzF_2__U40__15716;
};
// for ref list<u8>.ref asStream.infix ++
struct fzT__L744_Rlist_l_u__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_s;
  fzT_list_l_u8_g fzF_1_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_2__U40__15716;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L745_R4array_l__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3884_R4array_l__0__766307* fzF_2__U40__15716;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.infix ++
struct fzT__L7461i32__1inf__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L38851i32__1inf__0__766307* fzF_2__U40__15716;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.infix ++
struct fzT__L7471i32__1asS__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L38861i32__1asS__0__766307* fzF_2__U40__15716;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.infix ++
struct fzT__L7481u8__1asSt__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L38871u8__1asSt__0__766307* fzF_2__U40__15716;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.infix ++
struct fzT__L749_R1i32__1a__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_2__U40__15716;
};
// for list<i32>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L750list_l_i32__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3889list_l_i32__0__766307* fzF_2__U40__15716;
};
// for list<string>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L751list_l_str__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3890list_l_str__0__766307* fzF_2__U40__15716;
};
// for list<u8>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L752list_l_u8___1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3891list_l_u8___0__766307* fzF_2__U40__15716;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L753_Rlist_l_i__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_2__U40__15716;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L754_Rlist_l_s__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_2__U40__15716;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.infix ++
struct fzT__L755_Rlist_l_u__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_2__U40__15716;
};
// for ref stream<string>.map<string>.ref @766307.infix ++
struct fzT__L756_Rstream_l__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_s;
  fzT_list_l_string_g fzF_1_result;
  fzT__L3895_Rstream_l__0__766307* fzF_2__U40__15716;
};
// for ref Sequence<u8>.mapSequence<i32>
struct fzT__L844_RSequence__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__RSequence_l_u8_g* fzF_2__U40__17387;
};
// for ref array<u8>.mapSequence<i32>
struct fzT__L845_R4array_l__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__17387;
};
// for ref conststring.mapSequence<i32>
struct fzT__L846_R1constst__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__R1conststring* fzF_2__U40__17387;
};
// for i32.asString.ref @452350.ref utf8.mapSequence<i32>
struct fzT__L8471i32__1asS__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_2__U40__17387;
};
// for u8.asString.ref @452350.ref utf8.mapSequence<i32>
struct fzT__L8481u8__1asSt__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_2__U40__17387;
};
// for ref i32.asString.ref @452350.ref utf8.mapSequence<i32>
struct fzT__L849_R1i32__1a__ce_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_2__U40__17387;
};
// for Set<i32>
struct fzT_Set_l_i32_g
{
};
// for ref Set<i32>
struct fzT__RSet_l_i32_g
{
  uint32_t clazzId;
  fzT_Set_l_i32_g fields;
};
// for Set<u32>
struct fzT_Set_l_u32_g
{
};
// for ref Set<u32>
struct fzT__RSet_l_u32_g
{
  uint32_t clazzId;
  fzT_Set_l_u32_g fields;
};
// for array<i32>
struct fzT_2array_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT__RFunction_l_i32_k_i32_g* fzF_1_init;
  fzT_4array_l_i32_g fzF_2_result;
  fzT_1i32 fzF_3_x;
  fzT_fuzion__sys__1array_l_i32_g fzF_4_internal;
  fzT_1i32__1infix_woo_RasStream* fzF_5__U40__43090;
  fzT_bool fzF_6__U40__43859;
};
// for array<string>
struct fzT_2array_l_string_g
{
  fzT_1i32 fzF_0_length;
  fzT__RFunction_l_string_k_i32_g* fzF_1_init;
  fzT_4array_l_string_g fzF_2_result;
  fzT_1i32 fzF_3_x;
  fzT__L1262fuzion__sy___string_g fzF_4_internal;
  fzT_1i32__1infix_woo_RasStream* fzF_5__U40__43090;
  fzT_bool fzF_6__U40__43859;
};
// for array<u8>
struct fzT_2array_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT__RFunction_l_u8_k_i32_g* fzF_1_init;
  fzT_4array_l_u8_g fzF_2_result;
  fzT_1i32 fzF_3_x;
  fzT_fuzion__sys__1array_l_u8_g fzF_4_internal;
  fzT_1i32__1infix_woo_RasStream* fzF_5__U40__43090;
  fzT_bool fzF_6__U40__43859;
};
// for i32.infix ..
struct fzT_1i32__1infix_woo
{
  fzT_1i32 fzF_0_upper;
  fzT_1i32 fzF_1__U40__348886;
};
// for array<i32>.indices
struct fzT_2array_l_i32_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2array_l_i32_g* fzF_1__U40__42988;
};
// for array<string>.indices
struct fzT_2array_l_string_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2array_l_string_g* fzF_1__U40__42988;
};
// for array<u8>.indices
struct fzT_2array_l_u8_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2array_l_u8_g* fzF_1__U40__42988;
};
// for array<i32>.@43139
struct fzT__L9022array_l_i__U40__43139
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__43645;
  fzT_2array_l_i32_g* fzF_2__U40__43694;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__43810;
};
// for array<string>.@43139
struct fzT__L9032array_l_s__U40__43139
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__43645;
  fzT_2array_l_string_g* fzF_2__U40__43694;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__43810;
};
// for array<u8>.@43139
struct fzT_2array_l_u8_g__1_U40__43139
{
  fzT_1i32 fzF_0_x;
  fzT_unit fzF_1__U40__43645;
  fzT_2array_l_u8_g* fzF_2__U40__43694;
  fzT_1i32 fzF_3_x;
  fzT_unit fzF_4__U40__43810;
};
// for ref array<u8>
struct fzT__R4array_l_u8_g
{
  uint32_t clazzId;
  fzT_4array_l_u8_g fields;
};
// for ref array<u8>.asList
struct fzT__R4array_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__44583;
};
// for ref conststring.asList
struct fzT__R1conststring__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R1conststring* fzF_1__U40__44583;
};
// for ref array<u8>.asList
struct fzT__R4array_l_u8_g__1asList
{
  fzT_1i32 fzF_0_i;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__45224;
  fzT_list_l_u8_g fzF_3__U40__45269;
  fzT_bool fzF_4__U40__45318;
};
// for ref conststring.asList
struct fzT__R1conststring__1asList
{
  fzT_1i32 fzF_0_i;
  fzT_list_l_u8_g fzF_1_result;
  fzT__R1conststring* fzF_2__U40__45224;
  fzT_list_l_u8_g fzF_3__U40__45269;
  fzT_bool fzF_4__U40__45318;
};
// for some<list<u8>>
struct fzT_1some_l_list_l_u8_gg
{
  fzT_list_l_u8_g fzF_0_val;
};
// for option<some<list<u8>>>
struct fzT__L2569option_l_s___l_u8_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_u8_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for ref array<u8>.asStream
struct fzT__R4array_l_u8_g__asStream
{
  fzT__R4array_l_u8_g* fzF_0__U40__45532;
  fzT_1i32 fzF_1_x;
  fzT__R4array_l_u8_g* fzF_2_array_u_this;
  fzT__L2569option_l_s___l_u8_ggg fzF_3_asList0;
};
// for ref array<u8>.ref asStream
struct fzT__R4array_l_u8_g_RasStream
{
  uint32_t clazzId;
  fzT__R4array_l_u8_g__asStream fields;
};
// for ref array<u8>.ref asStream.hasNext
struct fzT__L977_R4array_l__m__hasNext
{
  fzT_bool fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__45950;
};
// for ref array<u8>.ref asStream.next
struct fzT__L980_R4array_l__ream__next
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__46352;
};
// for ref array<u8>.asArray
struct fzT__R4array_l_u8_g__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__46660;
};
// for ref conststring.asArray
struct fzT__R1conststring__asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R1conststring* fzF_1__U40__46660;
};
// for ref array<u8>.index [ ]
struct fzT__L989_R4array_l__wU5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__R4array_l_u8_g* fzF_2__U40__51028;
  fzT_1i32 fzF_3__U40__51073;
  fzT_bool fzF_4__U40__51122;
};
// for ref conststring.index [ ]
struct fzT__L990_R1constst__wU5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__R1conststring* fzF_2__U40__51028;
  fzT_1i32 fzF_3__U40__51073;
  fzT_bool fzF_4__U40__51122;
};
// for array<u8>.length
struct fzT_4array_l_u8_g__length
{
  fzT_1i32 fzF_0_result;
  fzT_4array_l_u8_g* fzF_1__U40__51366;
};
// for ref array<u8>.length
struct fzT__R4array_l_u8_g__length
{
  fzT_1i32 fzF_0_result;
  fzT__R4array_l_u8_g* fzF_1__U40__51366;
};
// for ref conststring.length
struct fzT__R1conststring__length
{
  fzT_1i32 fzF_0_result;
  fzT__R1conststring* fzF_1__U40__51366;
};
// for array<u8>.arrayCons
struct fzT_4array_l_u8_g__1arrayCons
{
  fzT_1i32 fzF_0_i;
  fzT_4array_l_u8_g* fzF_1__U40__55447;
  fzT_1i32 fzF_2__U40__56101;
  fzT_bool fzF_3__U40__56150;
};
// for array<u8>.ref arrayCons
struct fzT_4array_l_u8_g_R1arrayCons
{
  uint32_t clazzId;
  fzT_4array_l_u8_g__1arrayCons fields;
};
// for ref array<u8>.arrayCons
struct fzT__R4array_l_u8_g__1arrayCons
{
  fzT_1i32 fzF_0_i;
  fzT__R4array_l_u8_g* fzF_1__U40__55447;
  fzT_1i32 fzF_2__U40__56101;
  fzT_bool fzF_3__U40__56150;
};
// for ref array<u8>.ref arrayCons
struct fzT__R4array_l_u8_g_R1arrayCons
{
  uint32_t clazzId;
  fzT__R4array_l_u8_g__1arrayCons fields;
};
// for ref array<u8>.ref arrayCons.head
struct fzT__L1022_R4array_l__ons__head
{
  fzT_1u8 fzF_0_result;
  fzT__R4array_l_u8_g_R1arrayCons* fzF_1__U40__55733;
};
// for ref array<u8>.ref arrayCons.tail
struct fzT__L1025_R4array_l__ons__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_R1arrayCons* fzF_1__U40__56056;
};
// for false
struct fzT_false
{
  fzT_bool fzF_0_result;
};
// for true
struct fzT_true
{
  fzT_bool fzF_0_result;
};
// for character_encodings
struct fzT_character_u_encodings
{
};
// for fuzion.std.err.ascii
struct fzT_fuzion__std__err__ascii
{
};
// for i32.asString.ascii
struct fzT_1i32__1asString__ascii
{
};
// for u8.asString.ascii
struct fzT_1u8__1asString__ascii
{
};
// for ref i32.asString.ascii
struct fzT__R1i32__1asString__ascii
{
};
// for fuzion.std.err.ascii.lf
struct fzT_fuzion__std__err__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for i32.asString.ascii.lf
struct fzT_1i32__1asString__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for u8.asString.ascii.lf
struct fzT_1u8__1asString__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for ref i32.asString.ascii.lf
struct fzT__L1052_R1i32__1a__ascii__lf
{
  fzT_1u8 fzF_0_result;
};
// for choice<FALSE, TRUE>
struct fzT_choice_l_FALSE_k_TRUE_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_FALSE v0;
    fzT_TRUE v1;
  }fzChoice;
};
// for choice<i32, nil>
struct fzT_choice_l_i32_k_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1i32 v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<nil, Cons<i32, list<i32>>>
struct fzT__L1060choice_l_n__l_i32_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<i32, list<i32>>>
struct fzT__L1059_Rchoice_l__l_i32_ggg
{
  uint32_t clazzId;
  fzT__L1060choice_l_n__l_i32_ggg fields;
};
// for choice<nil, Cons<string, list<string>>>
struct fzT__L1062choice_l_n__tring_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<string, list<string>>>
struct fzT__L1061_Rchoice_l__tring_ggg
{
  uint32_t clazzId;
  fzT__L1062choice_l_n__tring_ggg fields;
};
// for choice<nil, Cons<u8, list<u8>>>
struct fzT__L1064choice_l_n___l_u8_ggg
{
  union
  {
    fzT_nil v0;
    fzT__RObject* vref;
  }fzChoice;
};
// for ref choice<nil, Cons<u8, list<u8>>>
struct fzT__L1063_Rchoice_l___l_u8_ggg
{
  uint32_t clazzId;
  fzT__L1064choice_l_n___l_u8_ggg fields;
};
// for some<list<i32>>
struct fzT_1some_l_list_l_i32_gg
{
  fzT_list_l_i32_g fzF_0_val;
};
// for choice<some<list<i32>>, nil>
struct fzT__L1065choice_l_s__ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_i32_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for some<list<string>>
struct fzT_1some_l_list_l_string_gg
{
  fzT_list_l_string_g fzF_0_val;
};
// for choice<some<list<string>>, nil>
struct fzT__L1066choice_l_s__ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_string_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<some<list<u8>>, nil>
struct fzT__L1067choice_l_s__ggk_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_u8_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<u8, nil>
struct fzT_choice_l_u8_k_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1u8 v0;
    fzT_nil v1;
  }fzChoice;
};
// for choice<unit, nil>
struct fzT_choice_l_unit_k_nil_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_unit v0;
    fzT_nil v1;
  }fzChoice;
};
// for effectMode.default
struct fzT_effectMode__default
{
};
// for choice<effectMode.plain, effectMode.repl, effectMode.abort, effectMode.default, effectMode.new, effectMode.inst>
struct fzT__L1070choice_l_e___o_inst_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_effectMode__default v3;
  }fzChoice;
};
// for u32
struct fzT_1u32
{
  fzT_1u32 fzF_0_val;
};
// for codepoint
struct fzT_1codepoint
{
  fzT_1u32 fzF_0_val;
  fzT_bool fzF_1__U40__143199;
  fzT_bool fzF_2__U40__143248;
};
// for ref codepoint
struct fzT__R1codepoint
{
  uint32_t clazzId;
  fzT_1codepoint fields;
};
// for ref codepoint.utf8
struct fzT__R1codepoint__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__142631;
  fzT__RSequence_l_u8_g* fzF_2__U40__142676;
  fzT_fuzion__sys__1array_l_u8_g fzF_3__U40__142725;
  fzT_fuzion__sys__1array_l_u8_g fzF_4__U40__142774;
  fzT_fuzion__sys__1array_l_u8_g fzF_5__U40__142823;
  fzT_fuzion__sys__1array_l_u8_g fzF_6__U40__142872;
};
// for codepoints
struct fzT_codepoints
{
};
// for ref codepoints
struct fzT__Rcodepoints
{
  uint32_t clazzId;
  fzT_codepoints fields;
};
// for u32.infix ..
struct fzT_1u32__1infix_woo
{
  fzT_1u32 fzF_0_upper;
  fzT_1u32 fzF_1__U40__348886;
};
// for codepoint.range
struct fzT_1codepoint__range
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.range
struct fzT__R1codepoint__range
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.ascii
struct fzT__R1codepoint__ascii
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf8EncodedInOneByte
struct fzT__L1103_R1codepoi__InOneByte
{
  fzT_1u32__1infix_woo fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__145181;
};
// for ref codepoint.utf8EncodedInTwoBytes
struct fzT__L1106_R1codepoi__nTwoBytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf8EncodedInThreeBytes
struct fzT__L1108_R1codepoi__hreeBytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf8EncodedInFourBytes
struct fzT__L1110_R1codepoi__FourBytes
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for codepoint.utf16Surrogate
struct fzT_1codepoint__utf16Surrogate
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for ref codepoint.utf16Surrogate
struct fzT__L1113_R1codepoi__Surrogate
{
  fzT_1u32__1infix_woo fzF_0_result;
};
// for void
struct fzT_void
{
};
// for conststring
struct fzT_1conststring
{
  fzT_fuzion__sys__1array_l_u8_g fzF_0_internalArray;
  fzT_unit fzF_1__U40__44203;
  fzT_unit fzF_2__U40__44252;
  fzT_unit fzF_3__U40__44301;
  struct { } fzF_4_cannotBeCalled;
};
// for ref conststring
struct fzT__R1conststring
{
  uint32_t clazzId;
  fzT_1conststring fields;
};
// for ref conststring.asString
struct fzT__R1conststring__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R1conststring* fzF_1__U40__163461;
};
// for ref conststring.isEmpty
struct fzT__R1conststring__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R1conststring* fzF_1__U40__163725;
};
// for ref conststring.utf8
struct fzT__R1conststring__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__R1conststring* fzF_1__U40__163936;
};
// for effectMode.val
struct fzT_effectMode__val
{
  fzT_1i32 fzTag;
  union
  {
    fzT_effectMode__default v3;
  }fzChoice;
};
// for effectMode.inst
struct fzT_effectMode__1inst
{
  fzT__RFunction_l_unit_g* fzF_0_f;
};
// for effect
struct fzT_1effect
{
  fzT_effectMode__val fzF_0_r;
  fzT_effectMode__1inst fzF_1_i;
};
// for effect.run<unit>
struct fzT_1effect__2run_l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT__RFunction_l_unit_k_unit_g* fzF_1_def;
  fzT_unit fzF_2_result;
  fzT_1effect* fzF_3__U40__226487;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__226685;
};
// for io.out.run<unit>
struct fzT_io__3out__2run_l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT__RFunction_l_unit_k_unit_g* fzF_1_def;
  fzT_unit fzF_2_result;
  fzT_io__3out* fzF_3__U40__226487;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__226685;
};
// for io.printEffect.run<unit>
struct fzT__L1158io__2print___l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT__RFunction_l_unit_k_unit_g* fzF_1_def;
  fzT_unit fzF_2_result;
  fzT_io__2printEffect* fzF_3__U40__226487;
  fzT_unit fzF_4_x;
  fzT__R1effect_u_call_l_unit_g* fzF_5_cf;
  fzT_unit fzF_6__U40__226685;
};
// for effect.@227454
struct fzT_1effect___U40__227454
{
};
// for effect.ref @227454
struct fzT_1effect_R_U40__227454
{
  uint32_t clazzId;
  fzT_1effect___U40__227454 fields;
};
// for io.out.@227454
struct fzT_io__3out___U40__227454
{
};
// for io.out.ref @227454
struct fzT_io__3out_R_U40__227454
{
  uint32_t clazzId;
  fzT_io__3out___U40__227454 fields;
};
// for io.printEffect.@227454
struct fzT__L1188io__2print__0__227454
{
};
// for io.printEffect.ref @227454
struct fzT__L1185io__2print__0__227454
{
  uint32_t clazzId;
  fzT__L1188io__2print__0__227454 fields;
};
// for io.out.ref @227454.call
struct fzT__L1189io__3out_R__54__1call
{
  fzT_unit fzF_0__U40__227711;
  fzT_unit fzF_1_result;
};
// for option<unit>
struct fzT_option_l_unit_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_unit v0;
    fzT_nil v1;
  }fzChoice;
};
// for effect_call<unit>
struct fzT_1effect_u_call_l_unit_g
{
  fzT__RFunction_l_unit_g* fzF_0_f;
  fzT_option_l_unit_g fzF_1_res;
};
// for ref effect_call<unit>
struct fzT__R1effect_u_call_l_unit_g
{
  uint32_t clazzId;
  fzT_1effect_u_call_l_unit_g fields;
};
// for ref effect_call<unit>.call
struct fzT__L1196_R1effect___t_g__call
{
  fzT_unit fzF_0_result;
  fzT__R1effect_u_call_l_unit_g* fzF_1__U40__228430;
};
// for effects
struct fzT_effects
{
};
// for effectMode
struct fzT_effectMode
{
};
// for effectMode.abort
struct fzT_effectMode__abort
{
};
// for effectMode.plain
struct fzT_effectMode__plain
{
};
// for effectMode.repl
struct fzT_effectMode__repl
{
};
// for effectMode.new
struct fzT_effectMode__new
{
};
// for f32
struct fzT_1f32
{
  fzT_1f32 fzF_0_val;
};
// for f32s
struct fzT_f32s
{
};
// for f64
struct fzT_1f64
{
  fzT_1f64 fzF_0_val;
};
// for f64s
struct fzT_f64s
{
};
// for float<f32>
struct fzT_float_l_f32_g
{
};
// for float<f64>
struct fzT_float_l_f64_g
{
};
// for floats<f32>
struct fzT_floats_l_f32_g
{
};
// for floats<f64>
struct fzT_floats_l_f64_g
{
};
// for fuzion
struct fzT_fuzion
{
};
// for fuzion.std
struct fzT_fuzion__std
{
};
// for fuzion.std.err
struct fzT_fuzion__std__err
{
};
// for fuzion.std.err.println
struct fzT_fuzion__std__err__1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__err* fzF_2__U40__304419;
  fzT_fuzion__sys__1array_l_u8_g fzF_3__U40__304464;
};
// for fuzion.std.err.write
struct fzT_fuzion__std__err__1write
{
  fzT_4array_l_u8_g fzF_0_arr;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__err* fzF_2__U40__304833;
};
// for fuzion.std.panic
struct fzT_fuzion__std__1panic
{
  fzT__Rstring* fzF_0_msg;
  struct { } fzF_1_result;
  fzT_fuzion__std* fzF_2__U40__305629;
};
// for fuzion.std.out
struct fzT_fuzion__std__out
{
};
// for fuzion.std.out.print
struct fzT_fuzion__std__out__1print
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__out* fzF_2__U40__307392;
};
// for fuzion.std.out.write
struct fzT_fuzion__std__out__1write
{
  fzT_4array_l_u8_g fzF_0_arr;
  fzT_unit fzF_1_result;
  fzT_fuzion__std__out* fzF_2__U40__308991;
};
// for fuzion.sys
struct fzT_fuzion__sys
{
};
// for fuzion.sys.array<i32>.index [ ]
struct fzT__L1267fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT_fuzion__sys__1array_l_i32_g* fzF_2__U40__319685;
  fzT_1i32 fzF_3__U40__319730;
  fzT_bool fzF_4__U40__319779;
};
// for fuzion.sys.array<string>.index [ ]
struct fzT__L1268fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT__L1262fuzion__sy___string_g* fzF_2__U40__319685;
  fzT_1i32 fzF_3__U40__319730;
  fzT_bool fzF_4__U40__319779;
};
// for fuzion.sys.array<u8>.index [ ]
struct fzT__L1269fuzion__sy__U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT_fuzion__sys__1array_l_u8_g* fzF_2__U40__319685;
  fzT_1i32 fzF_3__U40__319730;
  fzT_bool fzF_4__U40__319779;
};
// for fuzion.sys.array<i32>.index [ ] =
struct fzT__L1300fuzion__sy__b_wU5d_we
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_o;
  fzT_unit fzF_2_result;
  fzT_fuzion__sys__1array_l_i32_g* fzF_3__U40__321207;
  fzT_1i32 fzF_4__U40__321252;
  fzT_bool fzF_5__U40__321301;
};
// for fuzion.sys.array<string>.index [ ] =
struct fzT__L1301fuzion__sy__b_wU5d_we
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_o;
  fzT_unit fzF_2_result;
  fzT__L1262fuzion__sy___string_g* fzF_3__U40__321207;
  fzT_1i32 fzF_4__U40__321252;
  fzT_bool fzF_5__U40__321301;
};
// for fuzion.sys.array<u8>.index [ ] =
struct fzT__L1302fuzion__sy__b_wU5d_we
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_o;
  fzT_unit fzF_2_result;
  fzT_fuzion__sys__1array_l_u8_g* fzF_3__U40__321207;
  fzT_1i32 fzF_4__U40__321252;
  fzT_bool fzF_5__U40__321301;
};
// for hasEquals<bool>
struct fzT_hasEquals_l_bool_g
{
};
// for hasEquals<f32>
struct fzT_hasEquals_l_f32_g
{
};
// for hasEquals<f64>
struct fzT_hasEquals_l_f64_g
{
};
// for hasEquals<i32>
struct fzT_hasEquals_l_i32_g
{
};
// for ref hasEquals<i32>
struct fzT__RhasEquals_l_i32_g
{
  uint32_t clazzId;
  fzT_hasEquals_l_i32_g fields;
};
// for hasEquals<i64>
struct fzT_hasEquals_l_i64_g
{
};
// for hasEquals<string>
struct fzT_hasEquals_l_string_g
{
};
// for ref hasEquals<string>
struct fzT__RhasEquals_l_string_g
{
  uint32_t clazzId;
  fzT_hasEquals_l_string_g fields;
};
// for hasEquals<u32>
struct fzT_hasEquals_l_u32_g
{
};
// for hasEquals<u64>
struct fzT_hasEquals_l_u64_g
{
};
// for hasEquals<u8>
struct fzT_hasEquals_l_u8_g
{
};
// for hasHash<f32>
struct fzT_hasHash_l_f32_g
{
};
// for hasHash<f64>
struct fzT_hasHash_l_f64_g
{
};
// for hasHash<i32>
struct fzT_hasHash_l_i32_g
{
};
// for ref hasHash<i32>
struct fzT__RhasHash_l_i32_g
{
  uint32_t clazzId;
  fzT_hasHash_l_i32_g fields;
};
// for hasHash<i64>
struct fzT_hasHash_l_i64_g
{
};
// for hasHash<string>
struct fzT_hasHash_l_string_g
{
};
// for ref hasHash<string>
struct fzT__RhasHash_l_string_g
{
  uint32_t clazzId;
  fzT_hasHash_l_string_g fields;
};
// for hasHash<u32>
struct fzT_hasHash_l_u32_g
{
};
// for hasHash<u64>
struct fzT_hasHash_l_u64_g
{
};
// for hasHash<u8>
struct fzT_hasHash_l_u8_g
{
};
// for hasInterval<i32>
struct fzT_hasInterval_l_i32_g
{
};
// for ref hasInterval<i32>
struct fzT__RhasInterval_l_i32_g
{
  uint32_t clazzId;
  fzT_hasInterval_l_i32_g fields;
};
// for hasInterval<i64>
struct fzT_hasInterval_l_i64_g
{
};
// for hasInterval<u32>
struct fzT_hasInterval_l_u32_g
{
};
// for hasInterval<u64>
struct fzT_hasInterval_l_u64_g
{
};
// for hasInterval<u8>
struct fzT_hasInterval_l_u8_g
{
};
// for numOption<i32>
struct fzT_numOption_l_i32_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1i32 v0;
    fzT_nil v1;
  }fzChoice;
};
// for option<some<list<i32>>>
struct fzT__L2567option_l_s__l_i32_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_i32_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for i32.infix ...asStream
struct fzT_1i32__1infix_woo__asStream
{
  fzT_1i32__1infix_woo* fzF_0__U40__350880;
  fzT_numOption_l_i32_g fzF_1_x;
  fzT__L2567option_l_s__l_i32_ggg fzF_2_asList0;
};
// for i32.infix ...ref asStream
struct fzT_1i32__1infix_woo_RasStream
{
  uint32_t clazzId;
  fzT_1i32__1infix_woo__asStream fields;
};
// for i32.infix ...ref asStream.hasNext
struct fzT__L13841i32__1inf____hasNext
{
  fzT_bool fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__351379;
  fzT_bool fzF_2__U40__351428;
};
// for i32.infix ...ref asStream.next
struct fzT__L13881i32__1inf__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__351847;
  fzT_1i32 fzF_2_res;
};
// for i32.infix ...forAll
struct fzT_1i32__1infix_woo__1forAll
{
  fzT__RFunction_l_unit_k_i32_g* fzF_0_f;
  fzT_unit fzF_1_result;
  fzT_1i32__1infix_woo* fzF_2__U40__352255;
  fzT_1i32 fzF_3_x;
};
// for i32.infix ...forAll.@352350
struct fzT__L13971i32__1inf__0__352350
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1__U40__352925;
  fzT_1i32__1infix_woo__1forAll* fzF_2__U40__352974;
  fzT_1i32 fzF_3_x;
  fzT_1i32 fzF_4__U40__353069;
};
// for u32.infix ...contains
struct fzT_1u32__1infix_woo__1contains
{
  fzT_1u32 fzF_0_e;
  fzT_bool fzF_1_result;
  fzT_1u32__1infix_woo* fzF_2__U40__353571;
  fzT_1u32 fzF_3__U40__353616;
  fzT_bool fzF_4__U40__353665;
};
// for i32.infix ...lower
struct fzT_1i32__1infix_woo__lower
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo* fzF_1__U40__361051;
};
// for u32.infix ...lower
struct fzT_1u32__1infix_woo__lower
{
  fzT_1u32 fzF_0_result;
  fzT_1u32__1infix_woo* fzF_1__U40__361051;
};
// for i32s
struct fzT_i32s
{
};
// for i32
struct fzT_i32
{
  fzT_i32s fzF_0_result;
};
// for ref i32
struct fzT__R1i32
{
  uint32_t clazzId;
  fzT_1i32 fields;
};
// for i32.thiz
struct fzT_1i32__thiz
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__390840;
};
// for ref i32.thiz
struct fzT__R1i32__thiz
{
  fzT_1i32 fzF_0_result;
  fzT__R1i32* fzF_1__U40__390840;
};
// for i32.infix /
struct fzT_1i32__1infix_wd
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__391538;
  fzT_bool fzF_3__U40__391587;
};
// for i32.infix %
struct fzT_1i32__1infix_wP
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__393214;
  fzT_bool fzF_3__U40__393263;
};
// for i32.max
struct fzT_1i32__max
{
  fzT_1i32 fzF_0_result;
};
// for i32.wrappedOnNeg
struct fzT_1i32__wrappedOnNeg
{
  fzT_bool fzF_0_result;
  fzT_1i32 fzF_1__U40__394565;
};
// for i32.overflowOnAdd
struct fzT_1i32__1overflowOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__395088;
  fzT_bool fzF_3__U40__395137;
};
// for i32.underflowOnAdd
struct fzT_1i32__1underflowOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__395661;
  fzT_bool fzF_3__U40__395710;
};
// for i32.overflowOnSub
struct fzT_1i32__1overflowOnSub
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__396233;
  fzT_bool fzF_3__U40__396282;
};
// for i32.underflowOnSub
struct fzT_1i32__1underflowOnSub
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__396806;
  fzT_bool fzF_3__U40__396855;
};
// for i32.overflowOnMul
struct fzT_1i32__1overflowOnMul
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__397258;
};
// for i32.underflowOnMul
struct fzT_1i32__1underflowOnMul
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__397662;
};
// for i32.as_u8
struct fzT_1i32__as_u_u8
{
  fzT_1u8 fzF_0_result;
  fzT_1i32 fzF_1__U40__399944;
};
// for i32.as_u32
struct fzT_1i32__as_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1i32 fzF_1__U40__400772;
  fzT_bool fzF_2__U40__400821;
};
// for i32.low8bits
struct fzT_1i32__low8bits
{
  fzT_1u8 fzF_0_result;
  fzT_1i32 fzF_1__U40__402266;
};
// for ref i32s
struct fzT__Ri32s
{
  uint32_t clazzId;
  fzT_i32s fields;
};
// 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 ref i32.zero
struct fzT__R1i32__zero
{
  fzT_1i32 fzF_0_result;
};
// for i32.one
struct fzT_1i32__one
{
  fzT_1i32 fzF_0_result;
};
// for ref i32.one
struct fzT__R1i32__one
{
  fzT_1i32 fzF_0_result;
};
// for i32.min
struct fzT_1i32__min
{
  fzT_1i32 fzF_0_result;
};
// for i64
struct fzT_1i64
{
  fzT_1i64 fzF_0_val;
};
// for i64s
struct fzT_i64s
{
};
// for integer<i32>
struct fzT_integer_l_i32_g
{
};
// for ref integer<i32>
struct fzT__Rinteger_l_i32_g
{
  uint32_t clazzId;
  fzT_integer_l_i32_g fields;
};
// for integer<i64>
struct fzT_integer_l_i64_g
{
};
// for integer<u32>
struct fzT_integer_l_u32_g
{
};
// for integer<u64>
struct fzT_integer_l_u64_g
{
};
// for integer<u8>
struct fzT_integer_l_u8_g
{
};
// for i32.asString
struct fzT_1i32__asString
{
  fzT__Rstring* fzF_0_result;
  fzT_1i32 fzF_1__U40__451704;
};
// for u8.asString
struct fzT_1u8__asString
{
  fzT__Rstring* fzF_0_result;
  fzT_1u8 fzF_1__U40__451704;
};
// for ref i32.asString
struct fzT__R1i32__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R1i32* fzF_1__U40__451704;
};
// for i32.asString
struct fzT_1i32__1asString
{
  fzT_1u32 fzF_0_base;
  fzT__Rstring* fzF_1_result;
  fzT_1i32 fzF_2__U40__452305;
  fzT_1u32 fzF_3__U40__456100;
  fzT_bool fzF_4__U40__456149;
};
// for u8.asString
struct fzT_1u8__1asString
{
  fzT_1u32 fzF_0_base;
  fzT__Rstring* fzF_1_result;
  fzT_1u8 fzF_2__U40__452305;
  fzT_1u32 fzF_3__U40__456100;
  fzT_bool fzF_4__U40__456149;
};
// for ref i32.asString
struct fzT__R1i32__1asString
{
  fzT_1u32 fzF_0_base;
  fzT__Rstring* fzF_1_result;
  fzT__R1i32* fzF_2__U40__452305;
  fzT_1u32 fzF_3__U40__456100;
  fzT_bool fzF_4__U40__456149;
};
// for i32.asString.@452350
struct fzT__L15751i32__1asS__0__452350
{
  fzT_1i32__1asString* fzF_0__U40__452416;
};
// for i32.asString.ref @452350
struct fzT__L15721i32__1asS__0__452350
{
  uint32_t clazzId;
  fzT__L15751i32__1asS__0__452350 fields;
};
// for u8.asString.@452350
struct fzT__L15761u8__1asSt__0__452350
{
  fzT_1u8__1asString* fzF_0__U40__452416;
};
// for u8.asString.ref @452350
struct fzT__L15731u8__1asSt__0__452350
{
  uint32_t clazzId;
  fzT__L15761u8__1asSt__0__452350 fields;
};
// for ref i32.asString.@452350
struct fzT__L1577_R1i32__1a__0__452350
{
  fzT__R1i32__1asString* fzF_0__U40__452416;
};
// for ref i32.asString.ref @452350
struct fzT__L1574_R1i32__1a__0__452350
{
  uint32_t clazzId;
  fzT__L1577_R1i32__1a__0__452350 fields;
};
// for i32.asString.ref @452350.utf8
struct fzT__L15871i32__1asS__350__utf8
{
  fzT__L15721i32__1asS__0__452350* fzF_0__U40__452543;
};
// for i32.asString.ref @452350.ref utf8
struct fzT__L15841i32__1asS__350_Rutf8
{
  uint32_t clazzId;
  fzT__L15871i32__1asS__350__utf8 fields;
};
// for u8.asString.ref @452350.utf8
struct fzT__L15881u8__1asSt__350__utf8
{
  fzT__L15731u8__1asSt__0__452350* fzF_0__U40__452543;
};
// for u8.asString.ref @452350.ref utf8
struct fzT__L15851u8__1asSt__350_Rutf8
{
  uint32_t clazzId;
  fzT__L15881u8__1asSt__350__utf8 fields;
};
// for ref i32.asString.ref @452350.utf8
struct fzT__L1589_R1i32__1a__350__utf8
{
  fzT__L1574_R1i32__1a__0__452350* fzF_0__U40__452543;
};
// for ref i32.asString.ref @452350.ref utf8
struct fzT__L1586_R1i32__1a__350_Rutf8
{
  uint32_t clazzId;
  fzT__L1589_R1i32__1a__350__utf8 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream
struct fzT__L15961i32__1asS___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L15841i32__1asS__350_Rutf8* fzF_1__U40__454023;
  fzT_1i32 fzF_2_b;
  fzT_numOption_l_i32_g fzF_3_p;
  fzT_1i32 fzF_4_v;
  fzT__Rstream_l_u8_g* fzF_5__U40__456051;
};
// for numOption<u8>
struct fzT_numOption_l_u8_g
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1u8 v0;
    fzT_nil v1;
  }fzChoice;
};
// for u8.asString.ref @452350.ref utf8.asStream
struct fzT__L15971u8__1asSt___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L15851u8__1asSt__350_Rutf8* fzF_1__U40__454023;
  fzT_1u8 fzF_2_b;
  fzT_numOption_l_u8_g fzF_3_p;
  fzT_1u8 fzF_4_v;
  fzT__Rstream_l_u8_g* fzF_5__U40__456051;
};
// for ref i32.asString.ref @452350.ref utf8.asStream
struct fzT__L1598_R1i32__1a___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L1586_R1i32__1a__350_Rutf8* fzF_1__U40__454023;
  fzT_1i32 fzF_2_b;
  fzT_numOption_l_i32_g fzF_3_p;
  fzT_1i32 fzF_4_v;
  fzT__Rstream_l_u8_g* fzF_5__U40__456051;
};
// for i32.asString.ref @452350.ref utf8.asStream.@454222
struct fzT__L16171i32__1asS__0__454222
{
  fzT__L15961i32__1asS___asStream* fzF_0__U40__454463;
  fzT_1i32 fzF_1_p;
  fzT__L2569option_l_s___l_u8_ggg fzF_2_asList0;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222
struct fzT__L16141i32__1asS__0__454222
{
  uint32_t clazzId;
  fzT__L16171i32__1asS__0__454222 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.@454222
struct fzT__L16181u8__1asSt__0__454222
{
  fzT__L15971u8__1asSt___asStream* fzF_0__U40__454463;
  fzT_1u8 fzF_1_p;
  fzT__L2569option_l_s___l_u8_ggg fzF_2_asList0;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222
struct fzT__L16151u8__1asSt__0__454222
{
  uint32_t clazzId;
  fzT__L16181u8__1asSt__0__454222 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.@454222
struct fzT__L1619_R1i32__1a__0__454222
{
  fzT__L1598_R1i32__1a___asStream* fzF_0__U40__454463;
  fzT_1i32 fzF_1_p;
  fzT__L2569option_l_s___l_u8_ggg fzF_2_asList0;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222
struct fzT__L1616_R1i32__1a__0__454222
{
  uint32_t clazzId;
  fzT__L1619_R1i32__1a__0__454222 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext
struct fzT__L16321i32__1asS____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__454790;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext
struct fzT__L16331u8__1asSt____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__454790;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext
struct fzT__L1634_R1i32__1a____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__454790;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.next
struct fzT__L16411i32__1asS__222__next
{
  fzT_1u8 fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__455804;
  fzT_1u8 fzF_2_r;
  fzT_1u8 fzF_3_d;
  fzT_1u8 fzF_4__U40__455953;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.next
struct fzT__L16421u8__1asSt__222__next
{
  fzT_1u8 fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__455804;
  fzT_1u8 fzF_2_r;
  fzT_1u8 fzF_3_d;
  fzT_1u8 fzF_4__U40__455953;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next
struct fzT__L1643_R1i32__1a__222__next
{
  fzT_1u8 fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__455804;
  fzT_1u8 fzF_2_r;
  fzT_1u8 fzF_3_d;
  fzT_1u8 fzF_4__U40__455953;
};
// for io
struct fzT_io
{
};
// for io.out
struct fzT_io__3out
{
  fzT_effectMode__1inst fzF_0_i;
  fzT_io_RcanPrint* fzF_1_p;
  fzT_effectMode__val fzF_2_r;
  fzT_unit fzF_3__U40__467299;
  fzT_io* fzF_4__U40__467348;
};
// for io.out
struct fzT_io__out
{
  fzT_io__3out fzF_0_result;
  fzT_io* fzF_1__U40__466234;
};
// for io.defaultPrintToOut
struct fzT_io__defaultPrintToOut
{
  fzT_io* fzF_0__U40__482843;
};
// for io.ref defaultPrintToOut
struct fzT_io_RdefaultPrintToOut
{
  uint32_t clazzId;
  fzT_io__defaultPrintToOut fields;
};
// for io.ref defaultPrintToOut.print
struct fzT__L1681io_Rdefaul__t__1print
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
};
// for io.outs
struct fzT_io__outs
{
  fzT_io* fzF_0__U40__483249;
};
// for io.outs.installDefault
struct fzT_io__outs__installDefault
{
  fzT_unit fzF_0_result;
  fzT_io__outs* fzF_1__U40__483830;
  fzT_bool fzF_2__U40__483924;
  fzT_unit fzF_3__U40__483973;
};
// for io.printEffect
struct fzT_io__2printEffect
{
  fzT_effectMode__1inst fzF_0_i;
  fzT_io_RcanPrint* fzF_1_p;
  fzT_effectMode__val fzF_2_r;
};
// for io.out.println
struct fzT_io__3out__1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io__3out* fzF_2__U40__485196;
};
// for io.canPrint
struct fzT_io__canPrint
{
};
// for io.ref canPrint
struct fzT_io_RcanPrint
{
  uint32_t clazzId;
  fzT_io__canPrint fields;
};
// for io.ref defaultPrintToOut.println
struct fzT__L1703io_Rdefaul____println
{
  fzT_unit fzF_0_result;
  fzT_io_RdefaultPrintToOut* fzF_1__U40__485750;
};
// for io.ref canPrint.println
struct fzT_io_RcanPrint__println
{
  fzT_unit fzF_0_result;
  fzT_io_RcanPrint* fzF_1__U40__485750;
};
// for io.ref defaultPrintToOut.println
struct fzT__L1709io_Rdefaul___1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io_RdefaultPrintToOut* fzF_2__U40__486076;
};
// for io.ref canPrint.println
struct fzT_io_RcanPrint__1println
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
  fzT_io_RcanPrint* fzF_2__U40__486076;
};
// for ref list<i32>
struct fzT__Rlist_l_i32_g
{
  uint32_t clazzId;
  fzT_list_l_i32_g fields;
};
// for ref list<string>
struct fzT__Rlist_l_string_g
{
  uint32_t clazzId;
  fzT_list_l_string_g fields;
};
// for ref list<u8>
struct fzT__Rlist_l_u8_g
{
  uint32_t clazzId;
  fzT_list_l_u8_g fields;
};
// for list<u8>.asString
struct fzT_list_l_u8_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__499495;
};
// for ref list<i32>.asString
struct fzT__Rlist_l_i32_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__499495;
};
// for ref list<string>.asString
struct fzT__Rlist_l_string_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__499495;
};
// for ref list<u8>.asString
struct fzT__Rlist_l_u8_g__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__499495;
};
// for list<u8>.asString
struct fzT_list_l_u8_g__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__499958;
};
// for ref list<i32>.asString
struct fzT__Rlist_l_i32_g__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__499958;
};
// for ref list<string>.asString
struct fzT__L1737_Rlist_l_s__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__499958;
};
// for ref list<u8>.asString
struct fzT__Rlist_l_u8_g__1asString
{
  fzT__Rstring* fzF_0_sep;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__499958;
};
// for list<u8>.asString.@500003
struct fzT__L1755list_l_u8___0__500003
{
};
// for list<u8>.asString.ref @500003
struct fzT__L1751list_l_u8___0__500003
{
  uint32_t clazzId;
  fzT__L1755list_l_u8___0__500003 fields;
};
// for ref list<i32>.asString.@500003
struct fzT__L1756_Rlist_l_i__0__500003
{
};
// for ref list<i32>.asString.ref @500003
struct fzT__L1752_Rlist_l_i__0__500003
{
  uint32_t clazzId;
  fzT__L1756_Rlist_l_i__0__500003 fields;
};
// for ref list<string>.asString.@500003
struct fzT__L1757_Rlist_l_s__0__500003
{
};
// for ref list<string>.asString.ref @500003
struct fzT__L1753_Rlist_l_s__0__500003
{
  uint32_t clazzId;
  fzT__L1757_Rlist_l_s__0__500003 fields;
};
// for ref list<u8>.asString.@500003
struct fzT__L1758_Rlist_l_u__0__500003
{
};
// for ref list<u8>.asString.ref @500003
struct fzT__L1754_Rlist_l_u__0__500003
{
  uint32_t clazzId;
  fzT__L1758_Rlist_l_u__0__500003 fields;
};
// for list<u8>.asString.ref @500003.call
struct fzT__L1759list_l_u8___03__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.asString.ref @500003.call
struct fzT__L1760_Rlist_l_i__03__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<string>.asString.ref @500003.call
struct fzT__L1761_Rlist_l_s__03__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<u8>.asString.ref @500003.call
struct fzT__L1762_Rlist_l_u__03__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.asList
struct fzT__Rlist_l_i32_g__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__500601;
};
// for ref list<string>.asList
struct fzT__Rlist_l_string_g__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__500601;
};
// for ref list<u8>.asList
struct fzT__Rlist_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__500601;
};
// for list<i32>.asStream
struct fzT_list_l_i32_g__asStream
{
  fzT_list_l_i32_g* fzF_0__U40__500779;
  fzT_list_l_i32_g fzF_1_cur;
  fzT__L2567option_l_s__l_i32_ggg fzF_2_asList0;
};
// for list<i32>.ref asStream
struct fzT_list_l_i32_g_RasStream
{
  uint32_t clazzId;
  fzT_list_l_i32_g__asStream fields;
};
// for option<some<list<string>>>
struct fzT__L2568option_l_s__tring_ggg
{
  fzT_1i32 fzTag;
  union
  {
    fzT_1some_l_list_l_string_gg v0;
    fzT_nil v1;
  }fzChoice;
};
// for list<string>.asStream
struct fzT_list_l_string_g__asStream
{
  fzT_list_l_string_g* fzF_0__U40__500779;
  fzT_list_l_string_g fzF_1_cur;
  fzT__L2568option_l_s__tring_ggg fzF_2_asList0;
};
// for list<string>.ref asStream
struct fzT_list_l_string_g_RasStream
{
  uint32_t clazzId;
  fzT_list_l_string_g__asStream fields;
};
// for list<u8>.asStream
struct fzT_list_l_u8_g__asStream
{
  fzT_list_l_u8_g* fzF_0__U40__500779;
  fzT_list_l_u8_g fzF_1_cur;
  fzT__L2569option_l_s___l_u8_ggg fzF_2_asList0;
};
// for list<u8>.ref asStream
struct fzT_list_l_u8_g_RasStream
{
  uint32_t clazzId;
  fzT_list_l_u8_g__asStream fields;
};
// for ref list<i32>.asStream
struct fzT__Rlist_l_i32_g__asStream
{
  fzT__Rlist_l_i32_g* fzF_0__U40__500779;
  fzT_list_l_i32_g fzF_1_cur;
  fzT__L2567option_l_s__l_i32_ggg fzF_2_asList0;
};
// for ref list<i32>.ref asStream
struct fzT__Rlist_l_i32_g_RasStream
{
  uint32_t clazzId;
  fzT__Rlist_l_i32_g__asStream fields;
};
// for ref list<string>.asStream
struct fzT__Rlist_l_string_g__asStream
{
  fzT__Rlist_l_string_g* fzF_0__U40__500779;
  fzT_list_l_string_g fzF_1_cur;
  fzT__L2568option_l_s__tring_ggg fzF_2_asList0;
};
// for ref list<string>.ref asStream
struct fzT__Rlist_l_string_g_RasStream
{
  uint32_t clazzId;
  fzT__Rlist_l_string_g__asStream fields;
};
// for ref list<u8>.asStream
struct fzT__Rlist_l_u8_g__asStream
{
  fzT__Rlist_l_u8_g* fzF_0__U40__500779;
  fzT_list_l_u8_g fzF_1_cur;
  fzT__L2569option_l_s___l_u8_ggg fzF_2_asList0;
};
// for ref list<u8>.ref asStream
struct fzT__Rlist_l_u8_g_RasStream
{
  uint32_t clazzId;
  fzT__Rlist_l_u8_g__asStream fields;
};
// for list<i32>.ref asStream.hasNext
struct fzT__L1804list_l_i32____hasNext
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for list<string>.ref asStream.hasNext
struct fzT__L1805list_l_str____hasNext
{
  fzT_bool fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for list<u8>.ref asStream.hasNext
struct fzT__L1806list_l_u8_____hasNext
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for ref list<i32>.ref asStream.hasNext
struct fzT__L1807_Rlist_l_i____hasNext
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for ref list<string>.ref asStream.hasNext
struct fzT__L1808_Rlist_l_s____hasNext
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for ref list<u8>.ref asStream.hasNext
struct fzT__L1809_Rlist_l_u____hasNext
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__501111;
  fzT_bool fzF_2__U40__501160;
};
// for list<i32>.ref asStream.next
struct fzT__L1828list_l_i32__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__501501;
  fzT_1i32 fzF_2_res;
};
// for list<string>.ref asStream.next
struct fzT__L1829list_l_str__eam__next
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__501501;
  fzT__Rstring* fzF_2_res;
};
// for list<u8>.ref asStream.next
struct fzT_list_l_u8_g_RasStream__next
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__501501;
  fzT_1u8 fzF_2_res;
};
// for ref list<i32>.ref asStream.next
struct fzT__L1831_Rlist_l_i__eam__next
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__501501;
  fzT_1i32 fzF_2_res;
};
// for ref list<string>.ref asStream.next
struct fzT__L1832_Rlist_l_s__eam__next
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__501501;
  fzT__Rstring* fzF_2_res;
};
// for ref list<u8>.ref asStream.next
struct fzT__L1833_Rlist_l_u__eam__next
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__501501;
  fzT_1u8 fzF_2_res;
};
// for list<i32>.isEmpty
struct fzT_list_l_i32_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for list<string>.isEmpty
struct fzT_list_l_string_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_string_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for list<u8>.isEmpty
struct fzT_list_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for ref list<i32>.isEmpty
struct fzT__Rlist_l_i32_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for ref list<string>.isEmpty
struct fzT__Rlist_l_string_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for ref list<u8>.isEmpty
struct fzT__Rlist_l_u8_g__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__501925;
  fzT_bool fzF_2__U40__501970;
};
// for list<u8>.count
struct fzT_list_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__502225;
};
// for ref list<i32>.count
struct fzT__Rlist_l_i32_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__502225;
};
// for ref list<string>.count
struct fzT__Rlist_l_string_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__502225;
};
// for ref list<u8>.count
struct fzT__Rlist_l_u8_g__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__502225;
};
// for list<i32>.count
struct fzT_list_l_i32_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__502673;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for list<string>.count
struct fzT_list_l_string_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__502673;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for list<u8>.count
struct fzT_list_l_u8_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__502673;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<i32>.count
struct fzT__Rlist_l_i32_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__502673;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<string>.count
struct fzT__Rlist_l_string_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__502673;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<u8>.count
struct fzT__Rlist_l_u8_g__1count
{
  fzT_1i32 fzF_0_n;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__502673;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_1i32 fzF_4__U40__502768;
};
// for ref list<i32>.first
struct fzT__Rlist_l_i32_g__first
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__503225;
  fzT_bool fzF_2__U40__503270;
};
// for ref list<string>.first
struct fzT__Rlist_l_string_g__first
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__503225;
  fzT_bool fzF_2__U40__503270;
};
// for ref list<u8>.first
struct fzT__Rlist_l_u8_g__first
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__503225;
  fzT_bool fzF_2__U40__503270;
};
// for list<i32>.infix ++
struct fzT_list_l_i32_g__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__510138;
};
// for list<string>.infix ++
struct fzT_list_l_string_g__1infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__510138;
};
// for list<u8>.infix ++
struct fzT_list_l_u8_g__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__510138;
};
// for ref list<i32>.infix ++
struct fzT__Rlist_l_i32_g__1infix_wpp
{
  fzT__RSequence_l_i32_g* fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__510138;
};
// for ref list<string>.infix ++
struct fzT__L1952_Rlist_l_s__infix_wpp
{
  fzT__RSequence_l_string_g* fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__510138;
};
// for ref list<u8>.infix ++
struct fzT__Rlist_l_u8_g__1infix_wpp
{
  fzT__RSequence_l_u8_g* fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__510138;
};
// for list<i32>.fold
struct fzT_list_l_i32_g__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__513062;
};
// for list<string>.fold
struct fzT_list_l_string_g__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__513062;
};
// for list<i32>.fold
struct fzT_list_l_i32_g__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT_list_l_i32_g* fzF_3__U40__513615;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_4_c;
  fzT_1i32 fzF_5__U40__513710;
};
// for list<string>.fold
struct fzT_list_l_string_g__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT_list_l_string_g* fzF_3__U40__513615;
  fzT__L2_RCons_l_s___l_string_gg* fzF_4_c;
  fzT__Rstring* fzF_5__U40__513710;
};
// for list<i32>.map<i32>
struct fzT_list_l_i32_g__1map_l_i32_g
{
  fzT__RFunction_l_i32_k_i32_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__514259;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__515217;
};
// for list<string>.map<i32>
struct fzT__L1995list_l_str__p_l_i32_g
{
  fzT__RFunction_l_i32_k_string_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__514259;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__515217;
};
// for list<u8>.map<i32>
struct fzT_list_l_u8_g__1map_l_i32_g
{
  fzT__RFunction_l_i32_k_u8_g* fzF_0_f;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__514259;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__515217;
};
// for list<i32>.map<string>
struct fzT__L1997list_l_i32___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__514259;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for list<string>.map<string>
struct fzT__L1998list_l_str___string_g
{
  fzT__L26_RFunction___k_string_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__514259;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for list<u8>.map<string>
struct fzT__L1999list_l_u8____string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__514259;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for ref list<i32>.map<string>
struct fzT__L2000_Rlist_l_i___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__514259;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for ref list<string>.map<string>
struct fzT__L2001_Rlist_l_s___string_g
{
  fzT__L26_RFunction___k_string_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__514259;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for ref list<u8>.map<string>
struct fzT__L2002_Rlist_l_u___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__514259;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__515217;
};
// for list<i32>.map<i32>.@514403
struct fzT__L2048list_l_i32__0__514403
{
  fzT_list_l_i32_g__1map_l_i32_g* fzF_0__U40__514506;
};
// for list<i32>.map<i32>.ref @514403
struct fzT__L2039list_l_i32__0__514403
{
  uint32_t clazzId;
  fzT__L2048list_l_i32__0__514403 fields;
};
// for list<string>.map<i32>.@514403
struct fzT__L2049list_l_str__0__514403
{
  fzT__L1995list_l_str__p_l_i32_g* fzF_0__U40__514506;
};
// for list<string>.map<i32>.ref @514403
struct fzT__L2040list_l_str__0__514403
{
  uint32_t clazzId;
  fzT__L2049list_l_str__0__514403 fields;
};
// for list<u8>.map<i32>.@514403
struct fzT__L2050list_l_u8___0__514403
{
  fzT_list_l_u8_g__1map_l_i32_g* fzF_0__U40__514506;
};
// for list<u8>.map<i32>.ref @514403
struct fzT__L2041list_l_u8___0__514403
{
  uint32_t clazzId;
  fzT__L2050list_l_u8___0__514403 fields;
};
// for list<i32>.map<string>.@514403
struct fzT__L2051list_l_i32__0__514403
{
  fzT__L1997list_l_i32___string_g* fzF_0__U40__514506;
};
// for list<i32>.map<string>.ref @514403
struct fzT__L2042list_l_i32__0__514403
{
  uint32_t clazzId;
  fzT__L2051list_l_i32__0__514403 fields;
};
// for list<string>.map<string>.@514403
struct fzT__L2052list_l_str__0__514403
{
  fzT__L1998list_l_str___string_g* fzF_0__U40__514506;
};
// for list<string>.map<string>.ref @514403
struct fzT__L2043list_l_str__0__514403
{
  uint32_t clazzId;
  fzT__L2052list_l_str__0__514403 fields;
};
// for list<u8>.map<string>.@514403
struct fzT__L2053list_l_u8___0__514403
{
  fzT__L1999list_l_u8____string_g* fzF_0__U40__514506;
};
// for list<u8>.map<string>.ref @514403
struct fzT__L2044list_l_u8___0__514403
{
  uint32_t clazzId;
  fzT__L2053list_l_u8___0__514403 fields;
};
// for ref list<i32>.map<string>.@514403
struct fzT__L2054_Rlist_l_i__0__514403
{
  fzT__L2000_Rlist_l_i___string_g* fzF_0__U40__514506;
};
// for ref list<i32>.map<string>.ref @514403
struct fzT__L2045_Rlist_l_i__0__514403
{
  uint32_t clazzId;
  fzT__L2054_Rlist_l_i__0__514403 fields;
};
// for ref list<string>.map<string>.@514403
struct fzT__L2055_Rlist_l_s__0__514403
{
  fzT__L2001_Rlist_l_s___string_g* fzF_0__U40__514506;
};
// for ref list<string>.map<string>.ref @514403
struct fzT__L2046_Rlist_l_s__0__514403
{
  uint32_t clazzId;
  fzT__L2055_Rlist_l_s__0__514403 fields;
};
// for ref list<u8>.map<string>.@514403
struct fzT__L2056_Rlist_l_u__0__514403
{
  fzT__L2002_Rlist_l_u___string_g* fzF_0__U40__514506;
};
// for ref list<u8>.map<string>.ref @514403
struct fzT__L2047_Rlist_l_u__0__514403
{
  uint32_t clazzId;
  fzT__L2056_Rlist_l_u__0__514403 fields;
};
// for list<i32>.map<i32>.ref @514403.head
struct fzT__L2075list_l_i32__403__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2039list_l_i32__0__514403* fzF_1__U40__514834;
};
// for list<string>.map<i32>.ref @514403.head
struct fzT__L2076list_l_str__403__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2040list_l_str__0__514403* fzF_1__U40__514834;
};
// for list<u8>.map<i32>.ref @514403.head
struct fzT__L2077list_l_u8___403__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2041list_l_u8___0__514403* fzF_1__U40__514834;
};
// for list<i32>.map<string>.ref @514403.head
struct fzT__L2078list_l_i32__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2042list_l_i32__0__514403* fzF_1__U40__514834;
};
// for list<string>.map<string>.ref @514403.head
struct fzT__L2079list_l_str__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2043list_l_str__0__514403* fzF_1__U40__514834;
};
// for list<u8>.map<string>.ref @514403.head
struct fzT__L2080list_l_u8___403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2044list_l_u8___0__514403* fzF_1__U40__514834;
};
// for ref list<i32>.map<string>.ref @514403.head
struct fzT__L2081_Rlist_l_i__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2045_Rlist_l_i__0__514403* fzF_1__U40__514834;
};
// for ref list<string>.map<string>.ref @514403.head
struct fzT__L2082_Rlist_l_s__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2046_Rlist_l_s__0__514403* fzF_1__U40__514834;
};
// for ref list<u8>.map<string>.ref @514403.head
struct fzT__L2083_Rlist_l_u__403__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2047_Rlist_l_u__0__514403* fzF_1__U40__514834;
};
// for list<i32>.map<i32>.ref @514403.tail
struct fzT__L2102list_l_i32__403__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2039list_l_i32__0__514403* fzF_1__U40__515168;
};
// for list<string>.map<i32>.ref @514403.tail
struct fzT__L2103list_l_str__403__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2040list_l_str__0__514403* fzF_1__U40__515168;
};
// for list<u8>.map<i32>.ref @514403.tail
struct fzT__L2104list_l_u8___403__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2041list_l_u8___0__514403* fzF_1__U40__515168;
};
// for list<i32>.map<string>.ref @514403.tail
struct fzT__L2105list_l_i32__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2042list_l_i32__0__514403* fzF_1__U40__515168;
};
// for list<string>.map<string>.ref @514403.tail
struct fzT__L2106list_l_str__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2043list_l_str__0__514403* fzF_1__U40__515168;
};
// for list<u8>.map<string>.ref @514403.tail
struct fzT__L2107list_l_u8___403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2044list_l_u8___0__514403* fzF_1__U40__515168;
};
// for ref list<i32>.map<string>.ref @514403.tail
struct fzT__L2108_Rlist_l_i__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2045_Rlist_l_i__0__514403* fzF_1__U40__515168;
};
// for ref list<string>.map<string>.ref @514403.tail
struct fzT__L2109_Rlist_l_s__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2046_Rlist_l_s__0__514403* fzF_1__U40__515168;
};
// for ref list<u8>.map<string>.ref @514403.tail
struct fzT__L2110_Rlist_l_u__403__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2047_Rlist_l_u__0__514403* fzF_1__U40__515168;
};
// for list<i32>.forceHead
struct fzT_list_l_i32_g__forceHead
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__516739;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_2_c;
  fzT_1i32 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for list<string>.forceHead
struct fzT_list_l_string_g__forceHead
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g* fzF_1__U40__516739;
  fzT__L2_RCons_l_s___l_string_gg* fzF_2_c;
  fzT__Rstring* fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for list<u8>.forceHead
struct fzT_list_l_u8_g__forceHead
{
  fzT_1u8 fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__516739;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_1u8 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for ref list<i32>.forceHead
struct fzT__Rlist_l_i32_g__forceHead
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g* fzF_1__U40__516739;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_2_c;
  fzT_1i32 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for ref list<string>.forceHead
struct fzT__L2142_Rlist_l_s__forceHead
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g* fzF_1__U40__516739;
  fzT__L2_RCons_l_s___l_string_gg* fzF_2_c;
  fzT__Rstring* fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for ref list<u8>.forceHead
struct fzT__Rlist_l_u8_g__forceHead
{
  fzT_1u8 fzF_0_result;
  fzT__Rlist_l_u8_g* fzF_1__U40__516739;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_1u8 fzF_3__U40__516834;
  fzT_bool fzF_4__U40__516883;
};
// for list<i32>.forceTail
struct fzT_list_l_i32_g__forceTail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g* fzF_1__U40__517527;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_2_c;
  fzT_list_l_i32_g fzF_3__U40__517622;
  fzT_bool fzF_4__U40__517671;
};
// for list<string>.forceTail
struct fzT_list_l_string_g__forceTail
{
  fzT_list_l_string_g fzF_0_result;
  fzT_list_l_string_g* fzF_1__U40__517527;
  fzT__L2_RCons_l_s___l_string_gg* fzF_2_c;
  fzT_list_l_string_g fzF_3__U40__517622;
  fzT_bool fzF_4__U40__517671;
};
// for list<u8>.forceTail
struct fzT_list_l_u8_g__forceTail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g* fzF_1__U40__517527;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_2_c;
  fzT_list_l_u8_g fzF_3__U40__517622;
  fzT_bool fzF_4__U40__517671;
};
// for list<i32>.concat
struct fzT_list_l_i32_g__1concat
{
  fzT_list_l_i32_g fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT_list_l_i32_g* fzF_2__U40__520532;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__521440;
};
// for list<string>.concat
struct fzT_list_l_string_g__1concat
{
  fzT_list_l_string_g fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT_list_l_string_g* fzF_2__U40__520532;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__521440;
};
// for list<u8>.concat
struct fzT_list_l_u8_g__1concat
{
  fzT_list_l_u8_g fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT_list_l_u8_g* fzF_2__U40__520532;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_u8_g fzF_4__U40__521440;
};
// for ref list<i32>.concat
struct fzT__Rlist_l_i32_g__1concat
{
  fzT_list_l_i32_g fzF_0_t;
  fzT_list_l_i32_g fzF_1_result;
  fzT__Rlist_l_i32_g* fzF_2__U40__520532;
  fzT__L0_RCons_l_i__ist_l_i32_gg* fzF_3_c;
  fzT_list_l_i32_g fzF_4__U40__521440;
};
// for ref list<string>.concat
struct fzT__Rlist_l_string_g__1concat
{
  fzT_list_l_string_g fzF_0_t;
  fzT_list_l_string_g fzF_1_result;
  fzT__Rlist_l_string_g* fzF_2__U40__520532;
  fzT__L2_RCons_l_s___l_string_gg* fzF_3_c;
  fzT_list_l_string_g fzF_4__U40__521440;
};
// for ref list<u8>.concat
struct fzT__Rlist_l_u8_g__1concat
{
  fzT_list_l_u8_g fzF_0_t;
  fzT_list_l_u8_g fzF_1_result;
  fzT__Rlist_l_u8_g* fzF_2__U40__520532;
  fzT__RCons_l_u8_k_list_l_u8_gg* fzF_3_c;
  fzT_list_l_u8_g fzF_4__U40__521440;
};
// for list<i32>.concat.@520727
struct fzT__L2228list_l_i32__0__520727
{
  fzT_list_l_i32_g__1concat* fzF_0__U40__520809;
};
// for list<i32>.concat.ref @520727
struct fzT__L2222list_l_i32__0__520727
{
  uint32_t clazzId;
  fzT__L2228list_l_i32__0__520727 fields;
};
// for list<string>.concat.@520727
struct fzT__L2229list_l_str__0__520727
{
  fzT_list_l_string_g__1concat* fzF_0__U40__520809;
};
// for list<string>.concat.ref @520727
struct fzT__L2223list_l_str__0__520727
{
  uint32_t clazzId;
  fzT__L2229list_l_str__0__520727 fields;
};
// for list<u8>.concat.@520727
struct fzT__L2230list_l_u8___0__520727
{
  fzT_list_l_u8_g__1concat* fzF_0__U40__520809;
};
// for list<u8>.concat.ref @520727
struct fzT__L2224list_l_u8___0__520727
{
  uint32_t clazzId;
  fzT__L2230list_l_u8___0__520727 fields;
};
// for ref list<i32>.concat.@520727
struct fzT__L2231_Rlist_l_i__0__520727
{
  fzT__Rlist_l_i32_g__1concat* fzF_0__U40__520809;
};
// for ref list<i32>.concat.ref @520727
struct fzT__L2225_Rlist_l_i__0__520727
{
  uint32_t clazzId;
  fzT__L2231_Rlist_l_i__0__520727 fields;
};
// for ref list<string>.concat.@520727
struct fzT__L2232_Rlist_l_s__0__520727
{
  fzT__Rlist_l_string_g__1concat* fzF_0__U40__520809;
};
// for ref list<string>.concat.ref @520727
struct fzT__L2226_Rlist_l_s__0__520727
{
  uint32_t clazzId;
  fzT__L2232_Rlist_l_s__0__520727 fields;
};
// for ref list<u8>.concat.@520727
struct fzT__L2233_Rlist_l_u__0__520727
{
  fzT__Rlist_l_u8_g__1concat* fzF_0__U40__520809;
};
// for ref list<u8>.concat.ref @520727
struct fzT__L2227_Rlist_l_u__0__520727
{
  uint32_t clazzId;
  fzT__L2233_Rlist_l_u__0__520727 fields;
};
// for list<i32>.concat.ref @520727.head
struct fzT__L2246list_l_i32__727__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2222list_l_i32__0__520727* fzF_1__U40__521065;
};
// for list<string>.concat.ref @520727.head
struct fzT__L2247list_l_str__727__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2223list_l_str__0__520727* fzF_1__U40__521065;
};
// for list<u8>.concat.ref @520727.head
struct fzT__L2248list_l_u8___727__head
{
  fzT_1u8 fzF_0_result;
  fzT__L2224list_l_u8___0__520727* fzF_1__U40__521065;
};
// for ref list<i32>.concat.ref @520727.head
struct fzT__L2249_Rlist_l_i__727__head
{
  fzT_1i32 fzF_0_result;
  fzT__L2225_Rlist_l_i__0__520727* fzF_1__U40__521065;
};
// for ref list<string>.concat.ref @520727.head
struct fzT__L2250_Rlist_l_s__727__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L2226_Rlist_l_s__0__520727* fzF_1__U40__521065;
};
// for ref list<u8>.concat.ref @520727.head
struct fzT__L2251_Rlist_l_u__727__head
{
  fzT_1u8 fzF_0_result;
  fzT__L2227_Rlist_l_u__0__520727* fzF_1__U40__521065;
};
// for list<i32>.concat.ref @520727.tail
struct fzT__L2264list_l_i32__727__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2222list_l_i32__0__520727* fzF_1__U40__521391;
};
// for list<string>.concat.ref @520727.tail
struct fzT__L2265list_l_str__727__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2223list_l_str__0__520727* fzF_1__U40__521391;
};
// for list<u8>.concat.ref @520727.tail
struct fzT__L2266list_l_u8___727__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L2224list_l_u8___0__520727* fzF_1__U40__521391;
};
// for ref list<i32>.concat.ref @520727.tail
struct fzT__L2267_Rlist_l_i__727__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L2225_Rlist_l_i__0__520727* fzF_1__U40__521391;
};
// for ref list<string>.concat.ref @520727.tail
struct fzT__L2268_Rlist_l_s__727__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L2226_Rlist_l_s__0__520727* fzF_1__U40__521391;
};
// for ref list<u8>.concat.ref @520727.tail
struct fzT__L2269_Rlist_l_u__727__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L2227_Rlist_l_u__0__520727* fzF_1__U40__521391;
};
// for marray<i32>
struct fzT_2marray_l_i32_g
{
  fzT_1i32 fzF_0_length;
  fzT_fuzion__sys__1array_l_i32_g fzF_1_data;
  fzT_bool fzF_2__U40__540238;
};
// for marray<string>
struct fzT_2marray_l_string_g
{
  fzT_1i32 fzF_0_length;
  fzT__L1262fuzion__sy___string_g fzF_1_data;
  fzT_bool fzF_2__U40__540238;
};
// for marray<u8>
struct fzT_2marray_l_u8_g
{
  fzT_1i32 fzF_0_length;
  fzT_fuzion__sys__1array_l_u8_g fzF_1_data;
  fzT_bool fzF_2__U40__540238;
};
// for marray<i32>.index [ ]
struct fzT__L22972marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT_2marray_l_i32_g* fzF_2__U40__534487;
  fzT_1i32 fzF_3__U40__534532;
  fzT_bool fzF_4__U40__534581;
};
// for marray<string>.index [ ]
struct fzT__L22982marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT_2marray_l_string_g* fzF_2__U40__534487;
  fzT_1i32 fzF_3__U40__534532;
  fzT_bool fzF_4__U40__534581;
};
// for marray<u8>.index [ ]
struct fzT__L22992marray_l___U5b_wU5d_
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT_2marray_l_u8_g* fzF_2__U40__534487;
  fzT_1i32 fzF_3__U40__534532;
  fzT_bool fzF_4__U40__534581;
};
// for marray<i32>.add
struct fzT_2marray_l_i32_g__1add
{
  fzT_1i32 fzF_0_o;
  fzT_2marray_l_i32_g fzF_1_result;
  fzT_2marray_l_i32_g* fzF_2__U40__535902;
  fzT_1i32 fzF_3_i;
  fzT_fuzion__sys__1array_l_i32_g fzF_4_d;
  fzT_fuzion__sys__1array_l_i32_g fzF_5_newData;
  fzT_1i32__1infix_woo_RasStream* fzF_6__U40__536124;
  fzT_fuzion__sys__1array_l_i32_g fzF_7__U40__536917;
  fzT_bool fzF_8__U40__536966;
};
// for marray<string>.add
struct fzT_2marray_l_string_g__1add
{
  fzT__Rstring* fzF_0_o;
  fzT_2marray_l_string_g fzF_1_result;
  fzT_2marray_l_string_g* fzF_2__U40__535902;
  fzT_1i32 fzF_3_i;
  fzT__L1262fuzion__sy___string_g fzF_4_d;
  fzT__L1262fuzion__sy___string_g fzF_5_newData;
  fzT_1i32__1infix_woo_RasStream* fzF_6__U40__536124;
  fzT__L1262fuzion__sy___string_g fzF_7__U40__536917;
  fzT_bool fzF_8__U40__536966;
};
// for marray<u8>.add
struct fzT_2marray_l_u8_g__1add
{
  fzT_1u8 fzF_0_o;
  fzT_2marray_l_u8_g fzF_1_result;
  fzT_2marray_l_u8_g* fzF_2__U40__535902;
  fzT_1i32 fzF_3_i;
  fzT_fuzion__sys__1array_l_u8_g fzF_4_d;
  fzT_fuzion__sys__1array_l_u8_g fzF_5_newData;
  fzT_1i32__1infix_woo_RasStream* fzF_6__U40__536124;
  fzT_fuzion__sys__1array_l_u8_g fzF_7__U40__536917;
  fzT_bool fzF_8__U40__536966;
};
// for marray<i32>.add.@536173
struct fzT__L23392marray_l___0__536173
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__536703;
  fzT_2marray_l_i32_g__1add* fzF_2__U40__536752;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__536868;
};
// for marray<string>.add.@536173
struct fzT__L23402marray_l___0__536173
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__536703;
  fzT_2marray_l_string_g__1add* fzF_2__U40__536752;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__536868;
};
// for marray<u8>.add.@536173
struct fzT__L23412marray_l___0__536173
{
  fzT_1i32 fzF_0_i;
  fzT_unit fzF_1__U40__536703;
  fzT_2marray_l_u8_g__1add* fzF_2__U40__536752;
  fzT_1i32 fzF_3_i;
  fzT_unit fzF_4__U40__536868;
};
// for marray<i32>.indices
struct fzT_2marray_l_i32_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2marray_l_i32_g* fzF_1__U40__537270;
};
// for marray<string>.indices
struct fzT_2marray_l_string_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2marray_l_string_g* fzF_1__U40__537270;
};
// for marray<u8>.indices
struct fzT_2marray_l_u8_g__indices
{
  fzT_1i32__1infix_woo fzF_0_result;
  fzT_2marray_l_u8_g* fzF_1__U40__537270;
};
// for marray<i32>.as_array
struct fzT_2marray_l_i32_g__as_u_array
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT_2marray_l_i32_g* fzF_1__U40__539707;
};
// for marray<string>.as_array
struct fzT__L23732marray_l___s_u_array
{
  fzT_4array_l_string_g fzF_0_result;
  fzT_2marray_l_string_g* fzF_1__U40__539707;
};
// for marray<u8>.as_array
struct fzT_2marray_l_u8_g__as_u_array
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_2marray_l_u8_g* fzF_1__U40__539707;
};
// for marray<i32>.as_array.@539752
struct fzT__L23842marray_l___0__539752
{
  fzT_2marray_l_i32_g__as_u_array* fzF_0__U40__539859;
};
// for marray<i32>.as_array.ref @539752
struct fzT__L23812marray_l___0__539752
{
  uint32_t clazzId;
  fzT__L23842marray_l___0__539752 fields;
};
// for marray<string>.as_array.@539752
struct fzT__L23852marray_l___0__539752
{
  fzT__L23732marray_l___s_u_array* fzF_0__U40__539859;
};
// for marray<string>.as_array.ref @539752
struct fzT__L23822marray_l___0__539752
{
  uint32_t clazzId;
  fzT__L23852marray_l___0__539752 fields;
};
// for marray<u8>.as_array.@539752
struct fzT__L23862marray_l___0__539752
{
  fzT_2marray_l_u8_g__as_u_array* fzF_0__U40__539859;
};
// for marray<u8>.as_array.ref @539752
struct fzT__L23832marray_l___0__539752
{
  uint32_t clazzId;
  fzT__L23862marray_l___0__539752 fields;
};
// for marray<i32>.as_array.ref @539752.call
struct fzT__L23932marray_l___52__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_result;
  fzT__L23812marray_l___0__539752* fzF_2__U40__540189;
};
// for marray<string>.as_array.ref @539752.call
struct fzT__L23942marray_l___52__1call
{
  fzT_1i32 fzF_0_i;
  fzT__Rstring* fzF_1_result;
  fzT__L23822marray_l___0__539752* fzF_2__U40__540189;
};
// for marray<u8>.as_array.ref @539752.call
struct fzT__L23952marray_l___52__1call
{
  fzT_1i32 fzF_0_i;
  fzT_1u8 fzF_1_result;
  fzT__L23832marray_l___0__539752* fzF_2__U40__540189;
};
// for monad<i32, numOption<i32>>
struct fzT__L2408monad_l_i3___l_i32_gg
{
};
// for monad<some<list<i32>>, option<some<list<i32>>>>
struct fzT__L2409monad_l_so___i32_gggg
{
};
// for monad<some<list<string>>, option<some<list<string>>>>
struct fzT__L2410monad_l_so__ring_gggg
{
};
// for monad<some<list<u8>>, option<some<list<u8>>>>
struct fzT__L2411monad_l_so__l_u8_gggg
{
};
// for monad<u8, numOption<u8>>
struct fzT__L2412monad_l_u8__n_l_u8_gg
{
};
// for monad<unit, option<unit>>
struct fzT__L2413monad_l_un__l_unit_gg
{
};
// for numOption<i32>.val
struct fzT_numOption_l_i32_g__val
{
  fzT_1i32 fzF_0_result;
  fzT_numOption_l_i32_g* fzF_1__U40__562478;
  fzT_1i32 fzF_2_v;
  fzT_1i32 fzF_3__U40__562573;
  fzT_bool fzF_4__U40__562622;
};
// for numOption<i32>.exists
struct fzT_numOption_l_i32_g__exists
{
  fzT_bool fzF_0_result;
  fzT_numOption_l_i32_g* fzF_1__U40__562937;
  fzT_bool fzF_2__U40__562982;
};
// for numOption<i32>.infix >>=
struct fzT__L2429numOption___nfix_wgge
{
  fzT__L22_RFunction__32_gk_i32_g* fzF_0_f;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_numOption_l_i32_g* fzF_2__U40__563317;
};
// for numOption<i32>.bind<i32>
struct fzT__L2433numOption___d_l_i32_g
{
  fzT__L22_RFunction__32_gk_i32_g* fzF_0_f;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_numOption_l_i32_g* fzF_2__U40__563872;
  fzT_1i32 fzF_3_v;
  fzT_numOption_l_i32_g fzF_4__U40__563967;
};
// for numOption<i32>.postfix ??
struct fzT__L2439numOption___stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT_numOption_l_i32_g* fzF_1__U40__565893;
};
// for numOption<i32>.infix +?
struct fzT__L2442numOption___infix_wpQ
{
  fzT_numOption_l_i32_g fzF_0_other;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_numOption_l_i32_g* fzF_2__U40__568691;
};
// for numOption<i32>.infix +?.@568736
struct fzT__L2447numOption___0__568736
{
  fzT__L2442numOption___infix_wpQ* fzF_0__U40__568822;
};
// for numOption<i32>.infix +?.ref @568736
struct fzT__L2446numOption___0__568736
{
  uint32_t clazzId;
  fzT__L2447numOption___0__568736 fields;
};
// for numOption<i32>.infix +?.ref @568736.call
struct fzT__L2450numOption___36__1call
{
  fzT_1i32 fzF_0_v;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT__L2446numOption___0__568736* fzF_2__U40__569163;
};
// for numOption<i32>.infix +?.ref @568736.call.@569212
struct fzT__L2455numOption___0__569212
{
  fzT__L2450numOption___36__1call* fzF_0__U40__569298;
};
// for numOption<i32>.infix +?.ref @568736.call.ref @569212
struct fzT__L2454numOption___0__569212
{
  uint32_t clazzId;
  fzT__L2455numOption___0__569212 fields;
};
// for numOption<i32>.infix +?.ref @568736.call.ref @569212.call
struct fzT__L2458numOption___12__1call
{
  fzT_1i32 fzF_0_w;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT__L2454numOption___0__569212* fzF_2__U40__569622;
};
// for numOption<i32>
struct fzT_1numOption_l_i32_g
{
  fzT_numOption_l_i32_g fzF_0_o;
  fzT_numOption_l_i32_g fzF_1_result;
};
// for numeric<f32>
struct fzT_numeric_l_f32_g
{
};
// for numeric<f64>
struct fzT_numeric_l_f64_g
{
};
// for numeric<i32>
struct fzT_numeric_l_i32_g
{
};
// for ref numeric<i32>
struct fzT__Rnumeric_l_i32_g
{
  uint32_t clazzId;
  fzT_numeric_l_i32_g fields;
};
// for numeric<i64>
struct fzT_numeric_l_i64_g
{
};
// for numeric<u32>
struct fzT_numeric_l_u32_g
{
};
// for numeric<u64>
struct fzT_numeric_l_u64_g
{
};
// for numeric<u8>
struct fzT_numeric_l_u8_g
{
};
// for i32.highest
struct fzT_1i32__1highest
{
  fzT_1i32 fzF_0_b;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__586677;
  fzT_1i32 fzF_3_bs;
  fzT_1i32 fzF_4__U40__587482;
  fzT_bool fzF_5__U40__587531;
  fzT_bool fzF_6__U40__587580;
  fzT_bool fzF_7__U40__587629;
};
// for u8.highest
struct fzT_1u8__1highest
{
  fzT_1u8 fzF_0_b;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__586677;
  fzT_1u8 fzF_3_bs;
  fzT_1u8 fzF_4__U40__587482;
  fzT_bool fzF_5__U40__587531;
  fzT_bool fzF_6__U40__587580;
  fzT_bool fzF_7__U40__587629;
};
// for i32.highest.@586773
struct fzT__L24831i32__1hig__0__586773
{
  fzT_1i32 fzF_0_bs;
  fzT_1i32 fzF_1__U40__587288;
  fzT_1i32__1highest* fzF_2__U40__587337;
  fzT_1i32 fzF_3_bs;
  fzT_1i32 fzF_4__U40__587433;
};
// for u8.highest.@586773
struct fzT__L24841u8__1high__0__586773
{
  fzT_1u8 fzF_0_bs;
  fzT_1u8 fzF_1__U40__587288;
  fzT_1u8__1highest* fzF_2__U40__587337;
  fzT_1u8 fzF_3_bs;
  fzT_1u8 fzF_4__U40__587433;
};
// for i32.infix =
struct fzT_1i32__1infix_we
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__587951;
};
// for i32.max
struct fzT_1i32__1max
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__592993;
  fzT_1i32 fzF_3__U40__593038;
};
// for i32.sign
struct fzT_1i32__sign
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__595794;
  fzT_1i32 fzF_2__U40__595839;
};
// for u8.sign
struct fzT_1u8__sign
{
  fzT_1i32 fzF_0_result;
  fzT_1u8 fzF_1__U40__595794;
  fzT_1i32 fzF_2__U40__595839;
};
// for u8.isZero
struct fzT_1u8__isZero
{
  fzT_bool fzF_0_result;
  fzT_1u8 fzF_1__U40__597332;
};
// for i32.to_u32
struct fzT_1i32__to_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1i32 fzF_1__U40__599967;
  fzT_1u32 fzF_2__U40__600012;
  fzT_bool fzF_3__U40__600061;
};
// for u8.to_u32
struct fzT_1u8__to_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1u8 fzF_1__U40__599967;
  fzT_1u32 fzF_2__U40__600012;
  fzT_bool fzF_3__U40__600061;
};
// for numerics<f32>
struct fzT_numerics_l_f32_g
{
};
// for numerics<f64>
struct fzT_numerics_l_f64_g
{
};
// for numerics<i32>
struct fzT_numerics_l_i32_g
{
};
// for ref numerics<i32>
struct fzT__Rnumerics_l_i32_g
{
  uint32_t clazzId;
  fzT_numerics_l_i32_g fields;
};
// for numerics<i64>
struct fzT_numerics_l_i64_g
{
};
// for numerics<u32>
struct fzT_numerics_l_u32_g
{
};
// for numerics<u64>
struct fzT_numerics_l_u64_g
{
};
// for numerics<u8>
struct fzT_numerics_l_u8_g
{
};
// for i32.from_u32
struct fzT_1i32__1from_u_u32
{
  fzT_1u32 fzF_0_v;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__603860;
  fzT_1i32 fzF_3__U40__603905;
};
// for u8.from_u32
struct fzT_1u8__1from_u_u32
{
  fzT_1u32 fzF_0_v;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__603860;
  fzT_1u8 fzF_3__U40__603905;
};
// for ref i32.from_u32
struct fzT__R1i32__1from_u_u32
{
  fzT_1u32 fzF_0_v;
  fzT_1i32 fzF_1_result;
  fzT__R1i32* fzF_2__U40__603860;
  fzT_1i32 fzF_3__U40__603905;
};
// for i32s.sum
struct fzT_i32s__sum
{
  fzT_i32s* fzF_0__U40__604044;
};
// for i32s.ref sum
struct fzT_i32s_Rsum
{
  uint32_t clazzId;
  fzT_i32s__sum fields;
};
// for i32s.ref sum.infix ∙
struct fzT_i32s_Rsum__2infix_wU2219_
{
  fzT_1i32 fzF_0_a;
  fzT_1i32 fzF_1_b;
  fzT_1i32 fzF_2_result;
};
// for i32s.ref sum.e
struct fzT_i32s_Rsum__e
{
  fzT_1i32 fzF_0_result;
  fzT_i32s_Rsum* fzF_1__U40__604643;
};
// for option<some<list<i32>>>.get
struct fzT__L2575option_l_s___ggg__get
{
  fzT_1some_l_list_l_i32_gg fzF_0_result;
  fzT__L2567option_l_s__l_i32_ggg* fzF_1__U40__619090;
  fzT_1some_l_list_l_i32_gg fzF_2_v;
  fzT_1some_l_list_l_i32_gg fzF_3__U40__619185;
  fzT_bool fzF_4__U40__619234;
};
// for option<some<list<string>>>.get
struct fzT__L2576option_l_s___ggg__get
{
  fzT_1some_l_list_l_string_gg fzF_0_result;
  fzT__L2568option_l_s__tring_ggg* fzF_1__U40__619090;
  fzT_1some_l_list_l_string_gg fzF_2_v;
  fzT_1some_l_list_l_string_gg fzF_3__U40__619185;
  fzT_bool fzF_4__U40__619234;
};
// for option<some<list<u8>>>.get
struct fzT__L2577option_l_s___ggg__get
{
  fzT_1some_l_list_l_u8_gg fzF_0_result;
  fzT__L2569option_l_s___l_u8_ggg* fzF_1__U40__619090;
  fzT_1some_l_list_l_u8_gg fzF_2_v;
  fzT_1some_l_list_l_u8_gg fzF_3__U40__619185;
  fzT_bool fzF_4__U40__619234;
};
// for option<some<list<i32>>>.exists
struct fzT__L2593option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2567option_l_s__l_i32_ggg* fzF_1__U40__620675;
  fzT_bool fzF_2__U40__620720;
};
// for option<some<list<string>>>.exists
struct fzT__L2594option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2568option_l_s__tring_ggg* fzF_1__U40__620675;
  fzT_bool fzF_2__U40__620720;
};
// for option<some<list<u8>>>.exists
struct fzT__L2595option_l_s__g__exists
{
  fzT_bool fzF_0_result;
  fzT__L2569option_l_s___l_u8_ggg* fzF_1__U40__620675;
  fzT_bool fzF_2__U40__620720;
};
// for option<some<list<i32>>>.postfix ??
struct fzT__L2605option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2567option_l_s__l_i32_ggg* fzF_1__U40__621936;
};
// for option<some<list<string>>>.postfix ??
struct fzT__L2606option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2568option_l_s__tring_ggg* fzF_1__U40__621936;
};
// for option<some<list<u8>>>.postfix ??
struct fzT__L2607option_l_s__stfix_wQQ
{
  fzT_bool fzF_0_result;
  fzT__L2569option_l_s___l_u8_ggg* fzF_1__U40__621936;
};
// for ordered<f32>
struct fzT_ordered_l_f32_g
{
};
// for ordered<f64>
struct fzT_ordered_l_f64_g
{
};
// for ordered<i32>
struct fzT_ordered_l_i32_g
{
};
// for ref ordered<i32>
struct fzT__Rordered_l_i32_g
{
  uint32_t clazzId;
  fzT_ordered_l_i32_g fields;
};
// for ordered<i64>
struct fzT_ordered_l_i64_g
{
};
// for ordered<string>
struct fzT_ordered_l_string_g
{
};
// for ref ordered<string>
struct fzT__Rordered_l_string_g
{
  uint32_t clazzId;
  fzT_ordered_l_string_g fields;
};
// for ordered<u32>
struct fzT_ordered_l_u32_g
{
};
// for ordered<u64>
struct fzT_ordered_l_u64_g
{
};
// for ordered<u8>
struct fzT_ordered_l_u8_g
{
};
// for partiallyOrdered<f32>
struct fzT_partiallyOrdered_l_f32_g
{
};
// for partiallyOrdered<f64>
struct fzT_partiallyOrdered_l_f64_g
{
};
// for partiallyOrdered<i32>
struct fzT_partiallyOrdered_l_i32_g
{
};
// for ref partiallyOrdered<i32>
struct fzT__RpartiallyOrdered_l_i32_g
{
  uint32_t clazzId;
  fzT_partiallyOrdered_l_i32_g fields;
};
// for partiallyOrdered<i64>
struct fzT_partiallyOrdered_l_i64_g
{
};
// for partiallyOrdered<string>
struct fzT_partiallyOrdered_l_string_g
{
};
// for ref partiallyOrdered<string>
struct fzT__L2629_Rpartiall___string_g
{
  uint32_t clazzId;
  fzT_partiallyOrdered_l_string_g fields;
};
// for partiallyOrdered<u32>
struct fzT_partiallyOrdered_l_u32_g
{
};
// for partiallyOrdered<u64>
struct fzT_partiallyOrdered_l_u64_g
{
};
// for partiallyOrdered<u8>
struct fzT_partiallyOrdered_l_u8_g
{
};
// for say
struct fzT_1say
{
  fzT__RObject* fzF_0_s;
  fzT_unit fzF_1_result;
};
// for stdout
struct fzT_stdout
{
  fzT_fuzion__std__out fzF_0_result;
};
// for stream<i32>
struct fzT_stream_l_i32_g
{
  fzT__L2567option_l_s__l_i32_ggg fzF_0_asList0;
};
// for ref stream<i32>
struct fzT__Rstream_l_i32_g
{
  uint32_t clazzId;
  fzT_stream_l_i32_g fields;
};
// for stream<string>
struct fzT_stream_l_string_g
{
  fzT__L2568option_l_s__tring_ggg fzF_0_asList0;
};
// for ref stream<string>
struct fzT__Rstream_l_string_g
{
  uint32_t clazzId;
  fzT_stream_l_string_g fields;
};
// for stream<u8>
struct fzT_stream_l_u8_g
{
  fzT__L2569option_l_s___l_u8_ggg fzF_0_asList0;
};
// for ref stream<u8>
struct fzT__Rstream_l_u8_g
{
  uint32_t clazzId;
  fzT_stream_l_u8_g fields;
};
// for ref array<u8>.ref asStream.asString
struct fzT__L2652_R4array_l___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__753184;
};
// for i32.infix ...ref asStream.asString
struct fzT__L26531i32__1inf___asString
{
  fzT__Rstring* fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__753184;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString
struct fzT__L26541i32__1asS___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__753184;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString
struct fzT__L26551u8__1asSt___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__753184;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString
struct fzT__L2656_R1i32__1a___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__753184;
};
// for list<i32>.ref asStream.asString
struct fzT__L2657list_l_i32___asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__753184;
};
// for list<string>.ref asStream.asString
struct fzT__L2658list_l_str___asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__753184;
};
// for list<u8>.ref asStream.asString
struct fzT__L2659list_l_u8____asString
{
  fzT__Rstring* fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__753184;
};
// for ref list<i32>.ref asStream.asString
struct fzT__L2660_Rlist_l_i___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__753184;
};
// for ref list<string>.ref asStream.asString
struct fzT__L2661_Rlist_l_s___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__753184;
};
// for ref list<u8>.ref asStream.asString
struct fzT__L2662_Rlist_l_u___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__753184;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2663_R4array_l___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__753184;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString
struct fzT__L26641i32__1inf___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__753184;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString
struct fzT__L26651i32__1asS___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__753184;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString
struct fzT__L26661u8__1asSt___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__753184;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString
struct fzT__L2667_R1i32__1a___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__753184;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2668list_l_i32___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__753184;
};
// for list<string>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2669list_l_str___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__753184;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2670list_l_u8____asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__753184;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2671_Rlist_l_i___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__753184;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2672_Rlist_l_s___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__753184;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString
struct fzT__L2673_Rlist_l_u___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__753184;
};
// for ref stream<string>.map<string>.ref @766307.asString
struct fzT__L2674_Rstream_l___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__753184;
};
// for ref array<u8>.ref asStream.asString.@753233
struct fzT__L2744_R4array_l__0__753233
{
};
// for ref array<u8>.ref asStream.asString.ref @753233
struct fzT__L2721_R4array_l__0__753233
{
  uint32_t clazzId;
  fzT__L2744_R4array_l__0__753233 fields;
};
// for i32.infix ...ref asStream.asString.@753233
struct fzT__L27451i32__1inf__0__753233
{
};
// for i32.infix ...ref asStream.asString.ref @753233
struct fzT__L27221i32__1inf__0__753233
{
  uint32_t clazzId;
  fzT__L27451i32__1inf__0__753233 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.@753233
struct fzT__L27461i32__1asS__0__753233
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233
struct fzT__L27231i32__1asS__0__753233
{
  uint32_t clazzId;
  fzT__L27461i32__1asS__0__753233 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString.@753233
struct fzT__L27471u8__1asSt__0__753233
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233
struct fzT__L27241u8__1asSt__0__753233
{
  uint32_t clazzId;
  fzT__L27471u8__1asSt__0__753233 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.@753233
struct fzT__L2748_R1i32__1a__0__753233
{
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233
struct fzT__L2725_R1i32__1a__0__753233
{
  uint32_t clazzId;
  fzT__L2748_R1i32__1a__0__753233 fields;
};
// for list<i32>.ref asStream.asString.@753233
struct fzT__L2749list_l_i32__0__753233
{
};
// for list<i32>.ref asStream.asString.ref @753233
struct fzT__L2726list_l_i32__0__753233
{
  uint32_t clazzId;
  fzT__L2749list_l_i32__0__753233 fields;
};
// for list<string>.ref asStream.asString.@753233
struct fzT__L2750list_l_str__0__753233
{
};
// for list<string>.ref asStream.asString.ref @753233
struct fzT__L2727list_l_str__0__753233
{
  uint32_t clazzId;
  fzT__L2750list_l_str__0__753233 fields;
};
// for list<u8>.ref asStream.asString.@753233
struct fzT__L2751list_l_u8___0__753233
{
};
// for list<u8>.ref asStream.asString.ref @753233
struct fzT__L2728list_l_u8___0__753233
{
  uint32_t clazzId;
  fzT__L2751list_l_u8___0__753233 fields;
};
// for ref list<i32>.ref asStream.asString.@753233
struct fzT__L2752_Rlist_l_i__0__753233
{
};
// for ref list<i32>.ref asStream.asString.ref @753233
struct fzT__L2729_Rlist_l_i__0__753233
{
  uint32_t clazzId;
  fzT__L2752_Rlist_l_i__0__753233 fields;
};
// for ref list<string>.ref asStream.asString.@753233
struct fzT__L2753_Rlist_l_s__0__753233
{
};
// for ref list<string>.ref asStream.asString.ref @753233
struct fzT__L2730_Rlist_l_s__0__753233
{
  uint32_t clazzId;
  fzT__L2753_Rlist_l_s__0__753233 fields;
};
// for ref list<u8>.ref asStream.asString.@753233
struct fzT__L2754_Rlist_l_u__0__753233
{
};
// for ref list<u8>.ref asStream.asString.ref @753233
struct fzT__L2731_Rlist_l_u__0__753233
{
  uint32_t clazzId;
  fzT__L2754_Rlist_l_u__0__753233 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2755_R4array_l__0__753233
{
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2732_R4array_l__0__753233
{
  uint32_t clazzId;
  fzT__L2755_R4array_l__0__753233 fields;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L27561i32__1inf__0__753233
{
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L27331i32__1inf__0__753233
{
  uint32_t clazzId;
  fzT__L27561i32__1inf__0__753233 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.@753233
struct fzT__L27571i32__1asS__0__753233
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233
struct fzT__L27341i32__1asS__0__753233
{
  uint32_t clazzId;
  fzT__L27571i32__1asS__0__753233 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.@753233
struct fzT__L27581u8__1asSt__0__753233
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233
struct fzT__L27351u8__1asSt__0__753233
{
  uint32_t clazzId;
  fzT__L27581u8__1asSt__0__753233 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.@753233
struct fzT__L2759_R1i32__1a__0__753233
{
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233
struct fzT__L2736_R1i32__1a__0__753233
{
  uint32_t clazzId;
  fzT__L2759_R1i32__1a__0__753233 fields;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2760list_l_i32__0__753233
{
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2737list_l_i32__0__753233
{
  uint32_t clazzId;
  fzT__L2760list_l_i32__0__753233 fields;
};
// for list<string>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2761list_l_str__0__753233
{
};
// for list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2738list_l_str__0__753233
{
  uint32_t clazzId;
  fzT__L2761list_l_str__0__753233 fields;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2762list_l_u8___0__753233
{
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2739list_l_u8___0__753233
{
  uint32_t clazzId;
  fzT__L2762list_l_u8___0__753233 fields;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2763_Rlist_l_i__0__753233
{
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2740_Rlist_l_i__0__753233
{
  uint32_t clazzId;
  fzT__L2763_Rlist_l_i__0__753233 fields;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2764_Rlist_l_s__0__753233
{
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2741_Rlist_l_s__0__753233
{
  uint32_t clazzId;
  fzT__L2764_Rlist_l_s__0__753233 fields;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString.@753233
struct fzT__L2765_Rlist_l_u__0__753233
{
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233
struct fzT__L2742_Rlist_l_u__0__753233
{
  uint32_t clazzId;
  fzT__L2765_Rlist_l_u__0__753233 fields;
};
// for ref stream<string>.map<string>.ref @766307.asString.@753233
struct fzT__L2766_Rstream_l__0__753233
{
};
// for ref stream<string>.map<string>.ref @766307.asString.ref @753233
struct fzT__L2743_Rstream_l__0__753233
{
  uint32_t clazzId;
  fzT__L2766_Rstream_l__0__753233 fields;
};
// for ref array<u8>.ref asStream.asString.ref @753233.call
struct fzT__L2767_R4array_l__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.infix ...ref asStream.asString.ref @753233.call
struct fzT__L27681i32__1inf__33__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233.call
struct fzT__L27691i32__1asS__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233.call
struct fzT__L27701u8__1asSt__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asString.ref @753233.call
struct fzT__L2771_R1i32__1a__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<i32>.ref asStream.asString.ref @753233.call
struct fzT__L2772list_l_i32__33__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<string>.ref asStream.asString.ref @753233.call
struct fzT__L2773list_l_str__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<u8>.ref asStream.asString.ref @753233.call
struct fzT__L2774list_l_u8___33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.ref asStream.asString.ref @753233.call
struct fzT__L2775_Rlist_l_i__33__1call
{
  fzT_1i32 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<string>.ref asStream.asString.ref @753233.call
struct fzT__L2776_Rlist_l_s__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<u8>.ref asStream.asString.ref @753233.call
struct fzT__L2777_Rlist_l_u__33__1call
{
  fzT_1u8 fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2778_R4array_l__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L27791i32__1inf__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L27801i32__1asS__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L27811u8__1asSt__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2782_R1i32__1a__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2783list_l_i32__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2784list_l_str__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2785list_l_u8___33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2786_Rlist_l_i__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2787_Rlist_l_s__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2788_Rlist_l_u__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref stream<string>.map<string>.ref @766307.asString.ref @753233.call
struct fzT__L2789_Rstream_l__33__1call
{
  fzT__Rstring* fzF_0_x;
  fzT__Rstring* fzF_1_result;
};
// for ref array<u8>.ref asStream.asList
struct fzT__L2836_R4array_l__m__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.infix ...ref asStream.asList
struct fzT__L28371i32__1inf__m__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asList
struct fzT__L28381i32__1asS__2__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asList
struct fzT__L28391u8__1asSt__2__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asList
struct fzT__L2840_R1i32__1a__2__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<i32>.ref asStream.asList
struct fzT__L2841list_l_i32__m__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<string>.ref asStream.asList
struct fzT__L2842list_l_str__m__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<u8>.ref asStream.asList
struct fzT__L2843list_l_u8___m__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<i32>.ref asStream.asList
struct fzT__L2844_Rlist_l_i__m__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<string>.ref asStream.asList
struct fzT__L2845_Rlist_l_s__m__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<u8>.ref asStream.asList
struct fzT__L2846_Rlist_l_u__m__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<i32>.asList
struct fzT__Rstream_l_i32_g__asList
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rstream_l_i32_g* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<string>.asList
struct fzT__Rstream_l_string_g__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rstream_l_string_g* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<u8>.asList
struct fzT__Rstream_l_u8_g__asList
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rstream_l_u8_g* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2850_R4array_l__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asList
struct fzT__L28511i32__1inf__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asList
struct fzT__L28521i32__1asS__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asList
struct fzT__L28531u8__1asSt__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asList
struct fzT__L2854_R1i32__1a__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2855list_l_i32__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<string>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2856list_l_str__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2857list_l_u8___7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2858_Rlist_l_i__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2859_Rlist_l_s__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asList
struct fzT__L2860_Rlist_l_u__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref stream<string>.map<string>.ref @766307.asList
struct fzT__L2861_Rstream_l__7__asList
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__754466;
  fzT_bool fzF_2__U40__754515;
};
// for ref array<u8>.ref asStream.asStream
struct fzT__L2940_R4array_l___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__754730;
};
// for i32.infix ...ref asStream.asStream
struct fzT__L29411i32__1inf___asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__754730;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asStream
struct fzT__L29421i32__1asS___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__754730;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asStream
struct fzT__L29431u8__1asSt___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__754730;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asStream
struct fzT__L2944_R1i32__1a___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__754730;
};
// for list<i32>.ref asStream.asStream
struct fzT__L2945list_l_i32___asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__754730;
};
// for list<string>.ref asStream.asStream
struct fzT__L2946list_l_str___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__754730;
};
// for list<u8>.ref asStream.asStream
struct fzT__L2947list_l_u8____asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__754730;
};
// for ref list<i32>.ref asStream.asStream
struct fzT__L2948_Rlist_l_i___asStream
{
  fzT__Rstream_l_i32_g* fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__754730;
};
// for ref list<string>.ref asStream.asStream
struct fzT__L2949_Rlist_l_s___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__754730;
};
// for ref list<u8>.ref asStream.asStream
struct fzT__L2950_Rlist_l_u___asStream
{
  fzT__Rstream_l_u8_g* fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__754730;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2951_R4array_l___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__754730;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asStream
struct fzT__L29521i32__1inf___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__754730;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asStream
struct fzT__L29531i32__1asS___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__754730;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asStream
struct fzT__L29541u8__1asSt___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__754730;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asStream
struct fzT__L2955_R1i32__1a___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__754730;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2956list_l_i32___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__754730;
};
// for list<string>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2957list_l_str___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__754730;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2958list_l_u8____asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__754730;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2959_Rlist_l_i___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__754730;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2960_Rlist_l_s___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__754730;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asStream
struct fzT__L2961_Rlist_l_u___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__754730;
};
// for ref stream<string>.map<string>.ref @766307.asStream
struct fzT__L2962_Rstream_l___asStream
{
  fzT__Rstream_l_string_g* fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__754730;
};
// for ref array<u8>.ref asStream.count
struct fzT__L3009_R4array_l__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__755067;
};
// for i32.infix ...ref asStream.count
struct fzT__L30101i32__1inf__am__count
{
  fzT_1i32 fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__755067;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count
struct fzT__L30111i32__1asS__22__count
{
  fzT_1i32 fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__755067;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count
struct fzT__L30121u8__1asSt__22__count
{
  fzT_1i32 fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__755067;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.count
struct fzT__L3013_R1i32__1a__22__count
{
  fzT_1i32 fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__755067;
};
// for list<i32>.ref asStream.count
struct fzT__L3014list_l_i32__am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__755067;
};
// for list<string>.ref asStream.count
struct fzT__L3015list_l_str__am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__755067;
};
// for list<u8>.ref asStream.count
struct fzT__L3016list_l_u8___am__count
{
  fzT_1i32 fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__755067;
};
// for ref list<i32>.ref asStream.count
struct fzT__L3017_Rlist_l_i__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__755067;
};
// for ref list<string>.ref asStream.count
struct fzT__L3018_Rlist_l_s__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__755067;
};
// for ref list<u8>.ref asStream.count
struct fzT__L3019_Rlist_l_u__am__count
{
  fzT_1i32 fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__755067;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count
struct fzT__L3020_R4array_l__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__755067;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count
struct fzT__L30211i32__1inf__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__755067;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count
struct fzT__L30221i32__1asS__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__755067;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count
struct fzT__L30231u8__1asSt__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__755067;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count
struct fzT__L3024_R1i32__1a__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__755067;
};
// for list<i32>.ref asStream.map<string>.ref @766307.count
struct fzT__L3025list_l_i32__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__755067;
};
// for list<string>.ref asStream.map<string>.ref @766307.count
struct fzT__L3026list_l_str__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__755067;
};
// for list<u8>.ref asStream.map<string>.ref @766307.count
struct fzT__L3027list_l_u8___07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__755067;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count
struct fzT__L3028_Rlist_l_i__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__755067;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count
struct fzT__L3029_Rlist_l_s__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__755067;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count
struct fzT__L3030_Rlist_l_u__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__755067;
};
// for ref stream<string>.map<string>.ref @766307.count
struct fzT__L3031_Rstream_l__07__count
{
  fzT_1i32 fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__755067;
};
// for ref array<u8>.ref asStream.count.@755116
struct fzT__L3101_R4array_l__0__755116
{
};
// for ref array<u8>.ref asStream.count.ref @755116
struct fzT__L3078_R4array_l__0__755116
{
  uint32_t clazzId;
  fzT__L3101_R4array_l__0__755116 fields;
};
// for i32.infix ...ref asStream.count.@755116
struct fzT__L31021i32__1inf__0__755116
{
};
// for i32.infix ...ref asStream.count.ref @755116
struct fzT__L30791i32__1inf__0__755116
{
  uint32_t clazzId;
  fzT__L31021i32__1inf__0__755116 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.@755116
struct fzT__L31031i32__1asS__0__755116
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116
struct fzT__L30801i32__1asS__0__755116
{
  uint32_t clazzId;
  fzT__L31031i32__1asS__0__755116 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count.@755116
struct fzT__L31041u8__1asSt__0__755116
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116
struct fzT__L30811u8__1asSt__0__755116
{
  uint32_t clazzId;
  fzT__L31041u8__1asSt__0__755116 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.@755116
struct fzT__L3105_R1i32__1a__0__755116
{
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116
struct fzT__L3082_R1i32__1a__0__755116
{
  uint32_t clazzId;
  fzT__L3105_R1i32__1a__0__755116 fields;
};
// for list<i32>.ref asStream.count.@755116
struct fzT__L3106list_l_i32__0__755116
{
};
// for list<i32>.ref asStream.count.ref @755116
struct fzT__L3083list_l_i32__0__755116
{
  uint32_t clazzId;
  fzT__L3106list_l_i32__0__755116 fields;
};
// for list<string>.ref asStream.count.@755116
struct fzT__L3107list_l_str__0__755116
{
};
// for list<string>.ref asStream.count.ref @755116
struct fzT__L3084list_l_str__0__755116
{
  uint32_t clazzId;
  fzT__L3107list_l_str__0__755116 fields;
};
// for list<u8>.ref asStream.count.@755116
struct fzT__L3108list_l_u8___0__755116
{
};
// for list<u8>.ref asStream.count.ref @755116
struct fzT__L3085list_l_u8___0__755116
{
  uint32_t clazzId;
  fzT__L3108list_l_u8___0__755116 fields;
};
// for ref list<i32>.ref asStream.count.@755116
struct fzT__L3109_Rlist_l_i__0__755116
{
};
// for ref list<i32>.ref asStream.count.ref @755116
struct fzT__L3086_Rlist_l_i__0__755116
{
  uint32_t clazzId;
  fzT__L3109_Rlist_l_i__0__755116 fields;
};
// for ref list<string>.ref asStream.count.@755116
struct fzT__L3110_Rlist_l_s__0__755116
{
};
// for ref list<string>.ref asStream.count.ref @755116
struct fzT__L3087_Rlist_l_s__0__755116
{
  uint32_t clazzId;
  fzT__L3110_Rlist_l_s__0__755116 fields;
};
// for ref list<u8>.ref asStream.count.@755116
struct fzT__L3111_Rlist_l_u__0__755116
{
};
// for ref list<u8>.ref asStream.count.ref @755116
struct fzT__L3088_Rlist_l_u__0__755116
{
  uint32_t clazzId;
  fzT__L3111_Rlist_l_u__0__755116 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L3112_R4array_l__0__755116
{
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L3089_R4array_l__0__755116
{
  uint32_t clazzId;
  fzT__L3112_R4array_l__0__755116 fields;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L31131i32__1inf__0__755116
{
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L30901i32__1inf__0__755116
{
  uint32_t clazzId;
  fzT__L31131i32__1inf__0__755116 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.@755116
struct fzT__L31141i32__1asS__0__755116
{
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116
struct fzT__L30911i32__1asS__0__755116
{
  uint32_t clazzId;
  fzT__L31141i32__1asS__0__755116 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.@755116
struct fzT__L31151u8__1asSt__0__755116
{
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116
struct fzT__L30921u8__1asSt__0__755116
{
  uint32_t clazzId;
  fzT__L31151u8__1asSt__0__755116 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.@755116
struct fzT__L3116_R1i32__1a__0__755116
{
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116
struct fzT__L3093_R1i32__1a__0__755116
{
  uint32_t clazzId;
  fzT__L3116_R1i32__1a__0__755116 fields;
};
// for list<i32>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L3117list_l_i32__0__755116
{
};
// for list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L3094list_l_i32__0__755116
{
  uint32_t clazzId;
  fzT__L3117list_l_i32__0__755116 fields;
};
// for list<string>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L3118list_l_str__0__755116
{
};
// for list<string>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L3095list_l_str__0__755116
{
  uint32_t clazzId;
  fzT__L3118list_l_str__0__755116 fields;
};
// for list<u8>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L3119list_l_u8___0__755116
{
};
// for list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L3096list_l_u8___0__755116
{
  uint32_t clazzId;
  fzT__L3119list_l_u8___0__755116 fields;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L3120_Rlist_l_i__0__755116
{
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L3097_Rlist_l_i__0__755116
{
  uint32_t clazzId;
  fzT__L3120_Rlist_l_i__0__755116 fields;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L3121_Rlist_l_s__0__755116
{
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L3098_Rlist_l_s__0__755116
{
  uint32_t clazzId;
  fzT__L3121_Rlist_l_s__0__755116 fields;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count.@755116
struct fzT__L3122_Rlist_l_u__0__755116
{
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116
struct fzT__L3099_Rlist_l_u__0__755116
{
  uint32_t clazzId;
  fzT__L3122_Rlist_l_u__0__755116 fields;
};
// for ref stream<string>.map<string>.ref @766307.count.@755116
struct fzT__L3123_Rstream_l__0__755116
{
};
// for ref stream<string>.map<string>.ref @766307.count.ref @755116
struct fzT__L3100_Rstream_l__0__755116
{
  uint32_t clazzId;
  fzT__L3123_Rstream_l__0__755116 fields;
};
// for ref array<u8>.ref asStream.count.ref @755116.call
struct fzT__L3124_R4array_l__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.infix ...ref asStream.count.ref @755116.call
struct fzT__L31251i32__1inf__16__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116.call
struct fzT__L31261i32__1asS__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116.call
struct fzT__L31271u8__1asSt__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.count.ref @755116.call
struct fzT__L3128_R1i32__1a__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<i32>.ref asStream.count.ref @755116.call
struct fzT__L3129list_l_i32__16__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<string>.ref asStream.count.ref @755116.call
struct fzT__L3130list_l_str__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<u8>.ref asStream.count.ref @755116.call
struct fzT__L3131list_l_u8___16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<i32>.ref asStream.count.ref @755116.call
struct fzT__L3132_Rlist_l_i__16__1call
{
  fzT_1i32 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<string>.ref asStream.count.ref @755116.call
struct fzT__L3133_Rlist_l_s__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<u8>.ref asStream.count.ref @755116.call
struct fzT__L3134_Rlist_l_u__16__1call
{
  fzT_1u8 fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3135_R4array_l__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L31361i32__1inf__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116.call
struct fzT__L31371i32__1asS__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116.call
struct fzT__L31381u8__1asSt__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3139_R1i32__1a__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3140list_l_i32__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<string>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3141list_l_str__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3142list_l_u8___16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3143_Rlist_l_i__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3144_Rlist_l_s__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3145_Rlist_l_u__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref stream<string>.map<string>.ref @766307.count.ref @755116.call
struct fzT__L3146_Rstream_l__16__1call
{
  fzT__Rstring* fzF_0_x;
  fzT_1i32 fzF_1_result;
};
// for ref array<u8>.ref asStream.asArray
struct fzT__L3193_R4array_l____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for i32.infix ...ref asStream.asArray
struct fzT__L31941i32__1inf____asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asArray
struct fzT__L31951i32__1asS____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asArray
struct fzT__L31961u8__1asSt____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asArray
struct fzT__L3197_R1i32__1a____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for list<i32>.ref asStream.asArray
struct fzT__L3198list_l_i32____asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for list<string>.ref asStream.asArray
struct fzT__L3199list_l_str____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<u8>.ref asStream.asArray
struct fzT__L3200list_l_u8_____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for ref list<i32>.ref asStream.asArray
struct fzT__L3201_Rlist_l_i____asArray
{
  fzT_4array_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_i32_g fzF_2_a;
};
// for ref list<string>.ref asStream.asArray
struct fzT__L3202_Rlist_l_s____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<u8>.ref asStream.asArray
struct fzT__L3203_Rlist_l_u____asArray
{
  fzT_4array_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__755896;
  fzT_2marray_l_u8_g fzF_2_a;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L3204_R4array_l____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asArray
struct fzT__L32051i32__1inf____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray
struct fzT__L32061i32__1asS____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray
struct fzT__L32071u8__1asSt____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray
struct fzT__L3208_R1i32__1a____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L3209list_l_i32____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<string>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L3210list_l_str____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L3211list_l_u8_____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L3212_Rlist_l_i____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L3213_Rlist_l_s____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asArray
struct fzT__L3214_Rlist_l_u____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref stream<string>.map<string>.ref @766307.asArray
struct fzT__L3215_Rstream_l____asArray
{
  fzT_4array_l_string_g fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__755896;
  fzT_2marray_l_string_g fzF_2_a;
};
// for ref array<u8>.ref asStream.asArray.@755995
struct fzT__L3285_R4array_l__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L3193_R4array_l____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for i32.infix ...ref asStream.asArray.@755995
struct fzT__L32861i32__1inf__0__755995
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__756466;
  fzT__L31941i32__1inf____asArray* fzF_2__U40__756515;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__756660;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.asArray.@755995
struct fzT__L32871i32__1asS__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L31951i32__1asS____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.asArray.@755995
struct fzT__L32881u8__1asSt__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L31961u8__1asSt____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asArray.@755995
struct fzT__L3289_R1i32__1a__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L3197_R1i32__1a____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for list<i32>.ref asStream.asArray.@755995
struct fzT__L3290list_l_i32__0__755995
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__756466;
  fzT__L3198list_l_i32____asArray* fzF_2__U40__756515;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__756660;
};
// for list<string>.ref asStream.asArray.@755995
struct fzT__L3291list_l_str__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3199list_l_str____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<u8>.ref asStream.asArray.@755995
struct fzT__L3292list_l_u8___0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L3200list_l_u8_____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for ref list<i32>.ref asStream.asArray.@755995
struct fzT__L3293_Rlist_l_i__0__755995
{
  fzT_2marray_l_i32_g fzF_0_a;
  fzT_4array_l_i32_g fzF_1__U40__756466;
  fzT__L3201_Rlist_l_i____asArray* fzF_2__U40__756515;
  fzT_2marray_l_i32_g fzF_3_a;
  fzT_1i32 fzF_4_x;
  fzT_4array_l_i32_g fzF_5__U40__756660;
};
// for ref list<string>.ref asStream.asArray.@755995
struct fzT__L3294_Rlist_l_s__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3202_Rlist_l_s____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<u8>.ref asStream.asArray.@755995
struct fzT__L3295_Rlist_l_u__0__755995
{
  fzT_2marray_l_u8_g fzF_0_a;
  fzT_4array_l_u8_g fzF_1__U40__756466;
  fzT__L3203_Rlist_l_u____asArray* fzF_2__U40__756515;
  fzT_2marray_l_u8_g fzF_3_a;
  fzT_1u8 fzF_4_x;
  fzT_4array_l_u8_g fzF_5__U40__756660;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3296_R4array_l__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3204_R4array_l____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L32971i32__1inf__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L32051i32__1inf____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray.@755995
struct fzT__L32981i32__1asS__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L32061i32__1asS____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray.@755995
struct fzT__L32991u8__1asSt__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L32071u8__1asSt____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.asArray.@755995
struct fzT__L3300_R1i32__1a__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3208_R1i32__1a____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<i32>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3301list_l_i32__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3209list_l_i32____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<string>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3302list_l_str__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3210list_l_str____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for list<u8>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3303list_l_u8___0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3211list_l_u8_____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3304_Rlist_l_i__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3212_Rlist_l_i____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3305_Rlist_l_s__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3213_Rlist_l_s____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.asArray.@755995
struct fzT__L3306_Rlist_l_u__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3214_Rlist_l_u____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref stream<string>.map<string>.ref @766307.asArray.@755995
struct fzT__L3307_Rstream_l__0__755995
{
  fzT_2marray_l_string_g fzF_0_a;
  fzT_4array_l_string_g fzF_1__U40__756466;
  fzT__L3215_Rstream_l____asArray* fzF_2__U40__756515;
  fzT_2marray_l_string_g fzF_3_a;
  fzT__Rstring* fzF_4_x;
  fzT_4array_l_string_g fzF_5__U40__756660;
};
// for ref array<u8>.ref asStream.fold
struct fzT__L3446_R4array_l__am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__R4array_l_u8_g_RasStream* fzF_2__U40__764508;
};
// for i32.infix ...ref asStream.fold
struct fzT__L34471i32__1inf__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT_1i32__1infix_woo_RasStream* fzF_2__U40__764508;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L34481i32__1asS__22__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L16141i32__1asS__0__454222* fzF_2__U40__764508;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L34491u8__1asSt__22__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L16151u8__1asSt__0__454222* fzF_2__U40__764508;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L3450_R1i32__1a__22__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_2__U40__764508;
};
// for list<i32>.ref asStream.fold
struct fzT__L3451list_l_i32__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT_list_l_i32_g_RasStream* fzF_2__U40__764508;
};
// for list<string>.ref asStream.fold
struct fzT__L3452list_l_str__am__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT_list_l_string_g_RasStream* fzF_2__U40__764508;
};
// for list<u8>.ref asStream.fold
struct fzT__L3453list_l_u8___am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT_list_l_u8_g_RasStream* fzF_2__U40__764508;
};
// for ref list<i32>.ref asStream.fold
struct fzT__L3454_Rlist_l_i__am__1fold
{
  fzT__RMonoid_l_i32_g* fzF_0_m;
  fzT_1i32 fzF_1_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_2__U40__764508;
};
// for ref list<string>.ref asStream.fold
struct fzT__L3455_Rlist_l_s__am__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__Rlist_l_string_g_RasStream* fzF_2__U40__764508;
};
// for ref list<u8>.ref asStream.fold
struct fzT__L3456_Rlist_l_u__am__1fold
{
  fzT__RMonoid_l_u8_g* fzF_0_m;
  fzT_1u8 fzF_1_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_2__U40__764508;
};
// for ref stream<string>.fold
struct fzT__Rstream_l_string_g__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__Rstream_l_string_g* fzF_2__U40__764508;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3458_R4array_l__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3884_R4array_l__0__766307* fzF_2__U40__764508;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fold
struct fzT__L34591i32__1inf__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L38851i32__1inf__0__766307* fzF_2__U40__764508;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L34601i32__1asS__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L38861i32__1asS__0__766307* fzF_2__U40__764508;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L34611u8__1asSt__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L38871u8__1asSt__0__766307* fzF_2__U40__764508;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L3462_R1i32__1a__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_2__U40__764508;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3463list_l_i32__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3889list_l_i32__0__766307* fzF_2__U40__764508;
};
// for list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3464list_l_str__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3890list_l_str__0__766307* fzF_2__U40__764508;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3465list_l_u8___07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3891list_l_u8___0__766307* fzF_2__U40__764508;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3466_Rlist_l_i__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_2__U40__764508;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3467_Rlist_l_s__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_2__U40__764508;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3468_Rlist_l_u__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_2__U40__764508;
};
// for ref stream<string>.map<string>.ref @766307.fold
struct fzT__L3469_Rstream_l__07__1fold
{
  fzT__RMonoid_l_string_g* fzF_0_m;
  fzT__Rstring* fzF_1_result;
  fzT__L3895_Rstream_l__0__766307* fzF_2__U40__764508;
};
// for ref array<u8>.ref asStream.fold
struct fzT__L3542_R4array_l__am__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__R4array_l_u8_g_RasStream* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for i32.infix ...ref asStream.fold
struct fzT__L35431i32__1inf__am__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT_1i32__1infix_woo_RasStream* fzF_3__U40__764867;
  fzT_1i32 fzF_4_r;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L35441i32__1asS__22__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L16141i32__1asS__0__454222* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L35451u8__1asSt__22__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L16151u8__1asSt__0__454222* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold
struct fzT__L3546_R1i32__1a__22__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for list<i32>.ref asStream.fold
struct fzT__L3547list_l_i32__am__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT_list_l_i32_g_RasStream* fzF_3__U40__764867;
  fzT_1i32 fzF_4_r;
};
// for list<string>.ref asStream.fold
struct fzT__L3548list_l_str__am__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT_list_l_string_g_RasStream* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<u8>.ref asStream.fold
struct fzT__L3549list_l_u8___am__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT_list_l_u8_g_RasStream* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for ref list<i32>.ref asStream.fold
struct fzT__L3550_Rlist_l_i__am__2fold
{
  fzT_1i32 fzF_0_s;
  fzT__RMonoid_l_i32_g* fzF_1_m;
  fzT_1i32 fzF_2_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_3__U40__764867;
  fzT_1i32 fzF_4_r;
};
// for ref list<string>.ref asStream.fold
struct fzT__L3551_Rlist_l_s__am__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__Rlist_l_string_g_RasStream* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<u8>.ref asStream.fold
struct fzT__L3552_Rlist_l_u__am__2fold
{
  fzT_1u8 fzF_0_s;
  fzT__RMonoid_l_u8_g* fzF_1_m;
  fzT_1u8 fzF_2_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_3__U40__764867;
  fzT_1u8 fzF_4_r;
};
// for ref stream<string>.fold
struct fzT__Rstream_l_string_g__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__Rstream_l_string_g* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3554_R4array_l__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3884_R4array_l__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fold
struct fzT__L35551i32__1inf__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L38851i32__1inf__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L35561i32__1asS__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L38861i32__1asS__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L35571u8__1asSt__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L38871u8__1asSt__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold
struct fzT__L3558_R1i32__1a__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3559list_l_i32__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3889list_l_i32__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3560list_l_str__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3890list_l_str__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3561list_l_u8___07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3891list_l_u8___0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3562_Rlist_l_i__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3563_Rlist_l_s__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fold
struct fzT__L3564_Rlist_l_u__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref stream<string>.map<string>.ref @766307.fold
struct fzT__L3565_Rstream_l__07__2fold
{
  fzT__Rstring* fzF_0_s;
  fzT__RMonoid_l_string_g* fzF_1_m;
  fzT__Rstring* fzF_2_result;
  fzT__L3895_Rstream_l__0__766307* fzF_3__U40__764867;
  fzT__Rstring* fzF_4_r;
};
// for ref array<u8>.ref asStream.fold.@764966
struct fzT__L3686_R4array_l__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L3542_R4array_l__am__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for i32.infix ...ref asStream.fold.@764966
struct fzT__L36871i32__1inf__0__764966
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__765434;
  fzT__L35431i32__1inf__am__2fold* fzF_2__U40__765483;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__765578;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold.@764966
struct fzT__L36881i32__1asS__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L35441i32__1asS__22__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fold.@764966
struct fzT__L36891u8__1asSt__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L35451u8__1asSt__22__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fold.@764966
struct fzT__L3690_R1i32__1a__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L3546_R1i32__1a__22__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for list<i32>.ref asStream.fold.@764966
struct fzT__L3691list_l_i32__0__764966
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__765434;
  fzT__L3547list_l_i32__am__2fold* fzF_2__U40__765483;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__765578;
};
// for list<string>.ref asStream.fold.@764966
struct fzT__L3692list_l_str__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3548list_l_str__am__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<u8>.ref asStream.fold.@764966
struct fzT__L3693list_l_u8___0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L3549list_l_u8___am__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for ref list<i32>.ref asStream.fold.@764966
struct fzT__L3694_Rlist_l_i__0__764966
{
  fzT_1i32 fzF_0_r;
  fzT_1i32 fzF_1__U40__765434;
  fzT__L3550_Rlist_l_i__am__2fold* fzF_2__U40__765483;
  fzT_1i32 fzF_3_r;
  fzT_1i32 fzF_4__U40__765578;
};
// for ref list<string>.ref asStream.fold.@764966
struct fzT__L3695_Rlist_l_s__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3551_Rlist_l_s__am__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<u8>.ref asStream.fold.@764966
struct fzT__L3696_Rlist_l_u__0__764966
{
  fzT_1u8 fzF_0_r;
  fzT_1u8 fzF_1__U40__765434;
  fzT__L3552_Rlist_l_u__am__2fold* fzF_2__U40__765483;
  fzT_1u8 fzF_3_r;
  fzT_1u8 fzF_4__U40__765578;
};
// for ref stream<string>.fold.@764966
struct fzT__L3697_Rstream_l__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__Rstream_l_string_g__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3698_R4array_l__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3554_R4array_l__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L36991i32__1inf__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L35551i32__1inf__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold.@764966
struct fzT__L37001i32__1asS__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L35561i32__1asS__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold.@764966
struct fzT__L37011u8__1asSt__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L35571u8__1asSt__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fold.@764966
struct fzT__L3702_R1i32__1a__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3558_R1i32__1a__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3703list_l_i32__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3559list_l_i32__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<string>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3704list_l_str__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3560list_l_str__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3705list_l_u8___0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3561list_l_u8___07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3706_Rlist_l_i__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3562_Rlist_l_i__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3707_Rlist_l_s__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3563_Rlist_l_s__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fold.@764966
struct fzT__L3708_Rlist_l_u__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3564_Rlist_l_u__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref stream<string>.map<string>.ref @766307.fold.@764966
struct fzT__L3709_Rstream_l__0__764966
{
  fzT__Rstring* fzF_0_r;
  fzT__Rstring* fzF_1__U40__765434;
  fzT__L3565_Rstream_l__07__2fold* fzF_2__U40__765483;
  fzT__Rstring* fzF_3_r;
  fzT__Rstring* fzF_4__U40__765578;
};
// for ref array<u8>.ref asStream.map<string>
struct fzT__L3836_R4array_l___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__R4array_l_u8_g_RasStream* fzF_2__U40__766258;
};
// for i32.infix ...ref asStream.map<string>
struct fzT__L38371i32__1inf___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_1i32__1infix_woo_RasStream* fzF_2__U40__766258;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>
struct fzT__L38381i32__1asS___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__L16141i32__1asS__0__454222* fzF_2__U40__766258;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>
struct fzT__L38391u8__1asSt___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__L16151u8__1asSt__0__454222* fzF_2__U40__766258;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>
struct fzT__L3840_R1i32__1a___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_2__U40__766258;
};
// for list<i32>.ref asStream.map<string>
struct fzT__L3841list_l_i32___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_list_l_i32_g_RasStream* fzF_2__U40__766258;
};
// for list<string>.ref asStream.map<string>
struct fzT__L3842list_l_str___string_g
{
  fzT__L26_RFunction___k_string_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_list_l_string_g_RasStream* fzF_2__U40__766258;
};
// for list<u8>.ref asStream.map<string>
struct fzT__L3843list_l_u8____string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT_list_l_u8_g_RasStream* fzF_2__U40__766258;
};
// for ref list<i32>.ref asStream.map<string>
struct fzT__L3844_Rlist_l_i___string_g
{
  fzT__RFunction_l_string_k_i32_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_2__U40__766258;
};
// for ref list<string>.ref asStream.map<string>
struct fzT__L3845_Rlist_l_s___string_g
{
  fzT__L26_RFunction___k_string_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rlist_l_string_g_RasStream* fzF_2__U40__766258;
};
// for ref list<u8>.ref asStream.map<string>
struct fzT__L3846_Rlist_l_u___string_g
{
  fzT__RFunction_l_string_k_u8_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_2__U40__766258;
};
// for ref stream<string>.map<string>
struct fzT__L3847_Rstream_l___string_g
{
  fzT__L26_RFunction___k_string_g* fzF_0_f;
  fzT__Rstream_l_string_g* fzF_1_result;
  fzT__Rstream_l_string_g* fzF_2__U40__766258;
};
// for ref array<u8>.ref asStream.map<string>.@766307
struct fzT__L3896_R4array_l__0__766307
{
  fzT__L3836_R4array_l___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307
struct fzT__L3884_R4array_l__0__766307
{
  uint32_t clazzId;
  fzT__L3896_R4array_l__0__766307 fields;
};
// for i32.infix ...ref asStream.map<string>.@766307
struct fzT__L38971i32__1inf__0__766307
{
  fzT__L38371i32__1inf___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for i32.infix ...ref asStream.map<string>.ref @766307
struct fzT__L38851i32__1inf__0__766307
{
  uint32_t clazzId;
  fzT__L38971i32__1inf__0__766307 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.@766307
struct fzT__L38981i32__1asS__0__766307
{
  fzT__L38381i32__1asS___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307
struct fzT__L38861i32__1asS__0__766307
{
  uint32_t clazzId;
  fzT__L38981i32__1asS__0__766307 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.@766307
struct fzT__L38991u8__1asSt__0__766307
{
  fzT__L38391u8__1asSt___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307
struct fzT__L38871u8__1asSt__0__766307
{
  uint32_t clazzId;
  fzT__L38991u8__1asSt__0__766307 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.@766307
struct fzT__L3900_R1i32__1a__0__766307
{
  fzT__L3840_R1i32__1a___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307
struct fzT__L3888_R1i32__1a__0__766307
{
  uint32_t clazzId;
  fzT__L3900_R1i32__1a__0__766307 fields;
};
// for list<i32>.ref asStream.map<string>.@766307
struct fzT__L3901list_l_i32__0__766307
{
  fzT__L3841list_l_i32___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for list<i32>.ref asStream.map<string>.ref @766307
struct fzT__L3889list_l_i32__0__766307
{
  uint32_t clazzId;
  fzT__L3901list_l_i32__0__766307 fields;
};
// for list<string>.ref asStream.map<string>.@766307
struct fzT__L3902list_l_str__0__766307
{
  fzT__L3842list_l_str___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for list<string>.ref asStream.map<string>.ref @766307
struct fzT__L3890list_l_str__0__766307
{
  uint32_t clazzId;
  fzT__L3902list_l_str__0__766307 fields;
};
// for list<u8>.ref asStream.map<string>.@766307
struct fzT__L3903list_l_u8___0__766307
{
  fzT__L3843list_l_u8____string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for list<u8>.ref asStream.map<string>.ref @766307
struct fzT__L3891list_l_u8___0__766307
{
  uint32_t clazzId;
  fzT__L3903list_l_u8___0__766307 fields;
};
// for ref list<i32>.ref asStream.map<string>.@766307
struct fzT__L3904_Rlist_l_i__0__766307
{
  fzT__L3844_Rlist_l_i___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307
struct fzT__L3892_Rlist_l_i__0__766307
{
  uint32_t clazzId;
  fzT__L3904_Rlist_l_i__0__766307 fields;
};
// for ref list<string>.ref asStream.map<string>.@766307
struct fzT__L3905_Rlist_l_s__0__766307
{
  fzT__L3845_Rlist_l_s___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for ref list<string>.ref asStream.map<string>.ref @766307
struct fzT__L3893_Rlist_l_s__0__766307
{
  uint32_t clazzId;
  fzT__L3905_Rlist_l_s__0__766307 fields;
};
// for ref list<u8>.ref asStream.map<string>.@766307
struct fzT__L3906_Rlist_l_u__0__766307
{
  fzT__L3846_Rlist_l_u___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307
struct fzT__L3894_Rlist_l_u__0__766307
{
  uint32_t clazzId;
  fzT__L3906_Rlist_l_u__0__766307 fields;
};
// for ref stream<string>.map<string>.@766307
struct fzT__L3907_Rstream_l__0__766307
{
  fzT__L3847_Rstream_l___string_g* fzF_0__U40__766381;
  fzT__L2568option_l_s__tring_ggg fzF_1_asList0;
};
// for ref stream<string>.map<string>.ref @766307
struct fzT__L3895_Rstream_l__0__766307
{
  uint32_t clazzId;
  fzT__L3907_Rstream_l__0__766307 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3932_R4array_l____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__766639;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.hasNext
struct fzT__L39331i32__1inf____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__766639;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.hasNext
struct fzT__L39341i32__1asS____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__766639;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.hasNext
struct fzT__L39351u8__1asSt____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__766639;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.hasNext
struct fzT__L3936_R1i32__1a____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__766639;
};
// for list<i32>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3937list_l_i32____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__766639;
};
// for list<string>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3938list_l_str____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__766639;
};
// for list<u8>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3939list_l_u8_____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__766639;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3940_Rlist_l_i____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__766639;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3941_Rlist_l_s____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__766639;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.hasNext
struct fzT__L3942_Rlist_l_u____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__766639;
};
// for ref stream<string>.map<string>.ref @766307.hasNext
struct fzT__L3943_Rstream_l____hasNext
{
  fzT_bool fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__766639;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.next
struct fzT__L3968_R4array_l__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__766971;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.next
struct fzT__L39691i32__1inf__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__766971;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.next
struct fzT__L39701i32__1asS__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__766971;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.next
struct fzT__L39711u8__1asSt__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__766971;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.next
struct fzT__L3972_R1i32__1a__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__766971;
};
// for list<i32>.ref asStream.map<string>.ref @766307.next
struct fzT__L3973list_l_i32__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__766971;
};
// for list<string>.ref asStream.map<string>.ref @766307.next
struct fzT__L3974list_l_str__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__766971;
};
// for list<u8>.ref asStream.map<string>.ref @766307.next
struct fzT__L3975list_l_u8___307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__766971;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.next
struct fzT__L3976_Rlist_l_i__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__766971;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.next
struct fzT__L3977_Rlist_l_s__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__766971;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.next
struct fzT__L3978_Rlist_l_u__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__766971;
};
// for ref stream<string>.map<string>.ref @766307.next
struct fzT__L3979_Rstream_l__307__next
{
  fzT__Rstring* fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__766971;
};
// for ref array<u8>.ref asStream.fromStream
struct fzT__L4056_R4array_l__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__R4array_l_u8_g_RasStream* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for i32.infix ...ref asStream.fromStream
struct fzT__L40571i32__1inf__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_1i32__1infix_woo_RasStream* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream
struct fzT__L40581i32__1asS__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16141i32__1asS__0__454222* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream
struct fzT__L40591u8__1asSt__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L16151u8__1asSt__0__454222* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream
struct fzT__L4060_R1i32__1a__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L1616_R1i32__1a__0__454222* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for list<i32>.ref asStream.fromStream
struct fzT__L4061list_l_i32__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT_list_l_i32_g_RasStream* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for list<string>.ref asStream.fromStream
struct fzT__L4062list_l_str__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT_list_l_string_g_RasStream* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<u8>.ref asStream.fromStream
struct fzT__L4063list_l_u8___romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT_list_l_u8_g_RasStream* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for ref list<i32>.ref asStream.fromStream
struct fzT__L4064_Rlist_l_i__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rlist_l_i32_g_RasStream* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for ref list<string>.ref asStream.fromStream
struct fzT__L4065_Rlist_l_s__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rlist_l_string_g_RasStream* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<u8>.ref asStream.fromStream
struct fzT__L4066_Rlist_l_u__romStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rlist_l_u8_g_RasStream* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for ref stream<i32>.fromStream
struct fzT__L4067_Rstream_l__romStream
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__Rstream_l_i32_g* fzF_1__U40__767432;
  fzT_1i32 fzF_2_h;
  fzT_list_l_i32_g fzF_3__U40__768637;
};
// for ref stream<string>.fromStream
struct fzT__L4068_Rstream_l__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__Rstream_l_string_g* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref stream<u8>.fromStream
struct fzT__Rstream_l_u8_g__fromStream
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__Rstream_l_u8_g* fzF_1__U40__767432;
  fzT_1u8 fzF_2_h;
  fzT_list_l_u8_g fzF_3__U40__768637;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L4070_R4array_l__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3884_R4array_l__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream
struct fzT__L40711i32__1inf__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38851i32__1inf__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream
struct fzT__L40721i32__1asS__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38861i32__1asS__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream
struct fzT__L40731u8__1asSt__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L38871u8__1asSt__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream
struct fzT__L4074_R1i32__1a__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3888_R1i32__1a__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L4075list_l_i32__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3889list_l_i32__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L4076list_l_str__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3890list_l_str__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L4077list_l_u8___romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3891list_l_u8___0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L4078_Rlist_l_i__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3892_Rlist_l_i__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L4079_Rlist_l_s__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3893_Rlist_l_s__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream
struct fzT__L4080_Rlist_l_u__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3894_Rlist_l_u__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref stream<string>.map<string>.ref @766307.fromStream
struct fzT__L4081_Rstream_l__romStream
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L3895_Rstream_l__0__766307* fzF_1__U40__767432;
  fzT__Rstring* fzF_2_h;
  fzT_list_l_string_g fzF_3__U40__768637;
};
// for ref array<u8>.ref asStream.fromStream.@767531
struct fzT__L4186_R4array_l__0__767531
{
  fzT__L4056_R4array_l__romStream* fzF_0__U40__767670;
  fzT__L2569option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for ref array<u8>.ref asStream.fromStream.ref @767531
struct fzT__L4160_R4array_l__0__767531
{
  uint32_t clazzId;
  fzT__L4186_R4array_l__0__767531 fields;
};
// for i32.infix ...ref asStream.fromStream.@767531
struct fzT__L41871i32__1inf__0__767531
{
  fzT__L40571i32__1inf__romStream* fzF_0__U40__767670;
  fzT__L2567option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for i32.infix ...ref asStream.fromStream.ref @767531
struct fzT__L41611i32__1inf__0__767531
{
  uint32_t clazzId;
  fzT__L41871i32__1inf__0__767531 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.@767531
struct fzT__L41881i32__1asS__0__767531
{
  fzT__L40581i32__1asS__romStream* fzF_0__U40__767670;
  fzT__L2569option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531
struct fzT__L41621i32__1asS__0__767531
{
  uint32_t clazzId;
  fzT__L41881i32__1asS__0__767531 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.@767531
struct fzT__L41891u8__1asSt__0__767531
{
  fzT__L40591u8__1asSt__romStream* fzF_0__U40__767670;
  fzT__L2569option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531
struct fzT__L41631u8__1asSt__0__767531
{
  uint32_t clazzId;
  fzT__L41891u8__1asSt__0__767531 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.@767531
struct fzT__L4190_R1i32__1a__0__767531
{
  fzT__L4060_R1i32__1a__romStream* fzF_0__U40__767670;
  fzT__L2569option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531
struct fzT__L4164_R1i32__1a__0__767531
{
  uint32_t clazzId;
  fzT__L4190_R1i32__1a__0__767531 fields;
};
// for list<i32>.ref asStream.fromStream.@767531
struct fzT__L4191list_l_i32__0__767531
{
  fzT__L4061list_l_i32__romStream* fzF_0__U40__767670;
  fzT__L2567option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for list<i32>.ref asStream.fromStream.ref @767531
struct fzT__L4165list_l_i32__0__767531
{
  uint32_t clazzId;
  fzT__L4191list_l_i32__0__767531 fields;
};
// for list<string>.ref asStream.fromStream.@767531
struct fzT__L4192list_l_str__0__767531
{
  fzT__L4062list_l_str__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<string>.ref asStream.fromStream.ref @767531
struct fzT__L4166list_l_str__0__767531
{
  uint32_t clazzId;
  fzT__L4192list_l_str__0__767531 fields;
};
// for list<u8>.ref asStream.fromStream.@767531
struct fzT__L4193list_l_u8___0__767531
{
  fzT__L4063list_l_u8___romStream* fzF_0__U40__767670;
  fzT__L2569option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for list<u8>.ref asStream.fromStream.ref @767531
struct fzT__L4167list_l_u8___0__767531
{
  uint32_t clazzId;
  fzT__L4193list_l_u8___0__767531 fields;
};
// for ref list<i32>.ref asStream.fromStream.@767531
struct fzT__L4194_Rlist_l_i__0__767531
{
  fzT__L4064_Rlist_l_i__romStream* fzF_0__U40__767670;
  fzT__L2567option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for ref list<i32>.ref asStream.fromStream.ref @767531
struct fzT__L4168_Rlist_l_i__0__767531
{
  uint32_t clazzId;
  fzT__L4194_Rlist_l_i__0__767531 fields;
};
// for ref list<string>.ref asStream.fromStream.@767531
struct fzT__L4195_Rlist_l_s__0__767531
{
  fzT__L4065_Rlist_l_s__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<string>.ref asStream.fromStream.ref @767531
struct fzT__L4169_Rlist_l_s__0__767531
{
  uint32_t clazzId;
  fzT__L4195_Rlist_l_s__0__767531 fields;
};
// for ref list<u8>.ref asStream.fromStream.@767531
struct fzT__L4196_Rlist_l_u__0__767531
{
  fzT__L4066_Rlist_l_u__romStream* fzF_0__U40__767670;
  fzT__L2569option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for ref list<u8>.ref asStream.fromStream.ref @767531
struct fzT__L4170_Rlist_l_u__0__767531
{
  uint32_t clazzId;
  fzT__L4196_Rlist_l_u__0__767531 fields;
};
// for ref stream<i32>.fromStream.@767531
struct fzT__L4197_Rstream_l__0__767531
{
  fzT__L4067_Rstream_l__romStream* fzF_0__U40__767670;
  fzT__L2567option_l_s__l_i32_ggg fzF_1_memoizedTail;
};
// for ref stream<i32>.fromStream.ref @767531
struct fzT__L4171_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L4197_Rstream_l__0__767531 fields;
};
// for ref stream<string>.fromStream.@767531
struct fzT__L4198_Rstream_l__0__767531
{
  fzT__L4068_Rstream_l__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref stream<string>.fromStream.ref @767531
struct fzT__L4172_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L4198_Rstream_l__0__767531 fields;
};
// for ref stream<u8>.fromStream.@767531
struct fzT__L4199_Rstream_l__0__767531
{
  fzT__Rstream_l_u8_g__fromStream* fzF_0__U40__767670;
  fzT__L2569option_l_s___l_u8_ggg fzF_1_memoizedTail;
};
// for ref stream<u8>.fromStream.ref @767531
struct fzT__L4173_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L4199_Rstream_l__0__767531 fields;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L4200_R4array_l__0__767531
{
  fzT__L4070_R4array_l__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4174_R4array_l__0__767531
{
  uint32_t clazzId;
  fzT__L4200_R4array_l__0__767531 fields;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L42011i32__1inf__0__767531
{
  fzT__L40711i32__1inf__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L41751i32__1inf__0__767531
{
  uint32_t clazzId;
  fzT__L42011i32__1inf__0__767531 fields;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.@767531
struct fzT__L42021i32__1asS__0__767531
{
  fzT__L40721i32__1asS__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L41761i32__1asS__0__767531
{
  uint32_t clazzId;
  fzT__L42021i32__1asS__0__767531 fields;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.@767531
struct fzT__L42031u8__1asSt__0__767531
{
  fzT__L40731u8__1asSt__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L41771u8__1asSt__0__767531
{
  uint32_t clazzId;
  fzT__L42031u8__1asSt__0__767531 fields;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.@767531
struct fzT__L4204_R1i32__1a__0__767531
{
  fzT__L4074_R1i32__1a__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4178_R1i32__1a__0__767531
{
  uint32_t clazzId;
  fzT__L4204_R1i32__1a__0__767531 fields;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L4205list_l_i32__0__767531
{
  fzT__L4075list_l_i32__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4179list_l_i32__0__767531
{
  uint32_t clazzId;
  fzT__L4205list_l_i32__0__767531 fields;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L4206list_l_str__0__767531
{
  fzT__L4076list_l_str__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4180list_l_str__0__767531
{
  uint32_t clazzId;
  fzT__L4206list_l_str__0__767531 fields;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L4207list_l_u8___0__767531
{
  fzT__L4077list_l_u8___romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4181list_l_u8___0__767531
{
  uint32_t clazzId;
  fzT__L4207list_l_u8___0__767531 fields;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L4208_Rlist_l_i__0__767531
{
  fzT__L4078_Rlist_l_i__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4182_Rlist_l_i__0__767531
{
  uint32_t clazzId;
  fzT__L4208_Rlist_l_i__0__767531 fields;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L4209_Rlist_l_s__0__767531
{
  fzT__L4079_Rlist_l_s__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4183_Rlist_l_s__0__767531
{
  uint32_t clazzId;
  fzT__L4209_Rlist_l_s__0__767531 fields;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.@767531
struct fzT__L4210_Rlist_l_u__0__767531
{
  fzT__L4080_Rlist_l_u__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4184_Rlist_l_u__0__767531
{
  uint32_t clazzId;
  fzT__L4210_Rlist_l_u__0__767531 fields;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.@767531
struct fzT__L4211_Rstream_l__0__767531
{
  fzT__L4081_Rstream_l__romStream* fzF_0__U40__767670;
  fzT__L2568option_l_s__tring_ggg fzF_1_memoizedTail;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.ref @767531
struct fzT__L4185_Rstream_l__0__767531
{
  uint32_t clazzId;
  fzT__L4211_Rstream_l__0__767531 fields;
};
// for ref array<u8>.ref asStream.fromStream.ref @767531.head
struct fzT__L4264_R4array_l__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4160_R4array_l__0__767531* fzF_1__U40__767909;
};
// for i32.infix ...ref asStream.fromStream.ref @767531.head
struct fzT__L42651i32__1inf__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L41611i32__1inf__0__767531* fzF_1__U40__767909;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.head
struct fzT__L42661i32__1asS__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L41621i32__1asS__0__767531* fzF_1__U40__767909;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.head
struct fzT__L42671u8__1asSt__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L41631u8__1asSt__0__767531* fzF_1__U40__767909;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.head
struct fzT__L4268_R1i32__1a__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4164_R1i32__1a__0__767531* fzF_1__U40__767909;
};
// for list<i32>.ref asStream.fromStream.ref @767531.head
struct fzT__L4269list_l_i32__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L4165list_l_i32__0__767531* fzF_1__U40__767909;
};
// for list<string>.ref asStream.fromStream.ref @767531.head
struct fzT__L4270list_l_str__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4166list_l_str__0__767531* fzF_1__U40__767909;
};
// for list<u8>.ref asStream.fromStream.ref @767531.head
struct fzT__L4271list_l_u8___531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4167list_l_u8___0__767531* fzF_1__U40__767909;
};
// for ref list<i32>.ref asStream.fromStream.ref @767531.head
struct fzT__L4272_Rlist_l_i__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L4168_Rlist_l_i__0__767531* fzF_1__U40__767909;
};
// for ref list<string>.ref asStream.fromStream.ref @767531.head
struct fzT__L4273_Rlist_l_s__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4169_Rlist_l_s__0__767531* fzF_1__U40__767909;
};
// for ref list<u8>.ref asStream.fromStream.ref @767531.head
struct fzT__L4274_Rlist_l_u__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4170_Rlist_l_u__0__767531* fzF_1__U40__767909;
};
// for ref stream<i32>.fromStream.ref @767531.head
struct fzT__L4275_Rstream_l__531__head
{
  fzT_1i32 fzF_0_result;
  fzT__L4171_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref stream<string>.fromStream.ref @767531.head
struct fzT__L4276_Rstream_l__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4172_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref stream<u8>.fromStream.ref @767531.head
struct fzT__L4277_Rstream_l__531__head
{
  fzT_1u8 fzF_0_result;
  fzT__L4173_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4278_R4array_l__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4174_R4array_l__0__767531* fzF_1__U40__767909;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L42791i32__1inf__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L41751i32__1inf__0__767531* fzF_1__U40__767909;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L42801i32__1asS__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L41761i32__1asS__0__767531* fzF_1__U40__767909;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L42811u8__1asSt__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L41771u8__1asSt__0__767531* fzF_1__U40__767909;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4282_R1i32__1a__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4178_R1i32__1a__0__767531* fzF_1__U40__767909;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4283list_l_i32__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4179list_l_i32__0__767531* fzF_1__U40__767909;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4284list_l_str__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4180list_l_str__0__767531* fzF_1__U40__767909;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4285list_l_u8___531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4181list_l_u8___0__767531* fzF_1__U40__767909;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4286_Rlist_l_i__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4182_Rlist_l_i__0__767531* fzF_1__U40__767909;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4287_Rlist_l_s__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4183_Rlist_l_s__0__767531* fzF_1__U40__767909;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4288_Rlist_l_u__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4184_Rlist_l_u__0__767531* fzF_1__U40__767909;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.ref @767531.head
struct fzT__L4289_Rstream_l__531__head
{
  fzT__Rstring* fzF_0_result;
  fzT__L4185_Rstream_l__0__767531* fzF_1__U40__767909;
};
// for ref array<u8>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4342_R4array_l__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4160_R4array_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.infix ...ref asStream.fromStream.ref @767531.tail
struct fzT__L43431i32__1inf__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L41611i32__1inf__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail
struct fzT__L43441i32__1asS__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L41621i32__1asS__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail
struct fzT__L43451u8__1asSt__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L41631u8__1asSt__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail
struct fzT__L4346_R1i32__1a__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4164_R1i32__1a__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<i32>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4347list_l_i32__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L4165list_l_i32__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<string>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4348list_l_str__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4166list_l_str__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<u8>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4349list_l_u8___531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4167list_l_u8___0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<i32>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4350_Rlist_l_i__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L4168_Rlist_l_i__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<string>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4351_Rlist_l_s__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4169_Rlist_l_s__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<u8>.ref asStream.fromStream.ref @767531.tail
struct fzT__L4352_Rlist_l_u__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4170_Rlist_l_u__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<i32>.fromStream.ref @767531.tail
struct fzT__L4353_Rstream_l__531__tail
{
  fzT_list_l_i32_g fzF_0_result;
  fzT__L4171_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<string>.fromStream.ref @767531.tail
struct fzT__L4354_Rstream_l__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4172_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<u8>.fromStream.ref @767531.tail
struct fzT__L4355_Rstream_l__531__tail
{
  fzT_list_l_u8_g fzF_0_result;
  fzT__L4173_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref array<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4356_R4array_l__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4174_R4array_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.infix ...ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L43571i32__1inf__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L41751i32__1inf__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L43581i32__1asS__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L41761i32__1asS__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for u8.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L43591u8__1asSt__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L41771u8__1asSt__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4360_R1i32__1a__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4178_R1i32__1a__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4361list_l_i32__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4179list_l_i32__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4362list_l_str__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4180list_l_str__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4363list_l_u8___531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4181list_l_u8___0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<i32>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4364_Rlist_l_i__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4182_Rlist_l_i__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<string>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4365_Rlist_l_s__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4183_Rlist_l_s__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref list<u8>.ref asStream.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4366_Rlist_l_u__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4184_Rlist_l_u__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for ref stream<string>.map<string>.ref @766307.fromStream.ref @767531.tail
struct fzT__L4367_Rstream_l__531__tail
{
  fzT_list_l_string_g fzF_0_result;
  fzT__L4185_Rstream_l__0__767531* fzF_1__U40__768478;
  fzT_bool fzF_2__U40__768527;
};
// for string
struct fzT_string
{
};
// for ref string
struct fzT__Rstring
{
  uint32_t clazzId;
  fzT_string fields;
};
// for ref codepoint.asString
struct fzT__R1codepoint__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__776738;
};
// for i32.asString.ref @452350.asString
struct fzT__L45271i32__1asS___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L15721i32__1asS__0__452350* fzF_1__U40__776738;
};
// for u8.asString.ref @452350.asString
struct fzT__L45281u8__1asSt___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L15731u8__1asSt__0__452350* fzF_1__U40__776738;
};
// for ref i32.asString.ref @452350.asString
struct fzT__L4529_R1i32__1a___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L1574_R1i32__1a__0__452350* fzF_1__U40__776738;
};
// for ref string.asString
struct fzT__Rstring__asString
{
  fzT__Rstring* fzF_0_result;
  fzT__Rstring* fzF_1__U40__776738;
};
// for strings.concat.ref @834261.asString
struct fzT__L4531strings__2___asString
{
  fzT__Rstring* fzF_0_result;
  fzT__L4610strings__2__0__834261* fzF_1__U40__776738;
};
// for ref codepoint.isEmpty
struct fzT__R1codepoint__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__R1codepoint* fzF_1__U40__776977;
};
// for i32.asString.ref @452350.isEmpty
struct fzT__L45451i32__1asS____isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L15721i32__1asS__0__452350* fzF_1__U40__776977;
};
// for u8.asString.ref @452350.isEmpty
struct fzT__L45461u8__1asSt____isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L15731u8__1asSt__0__452350* fzF_1__U40__776977;
};
// for ref i32.asString.ref @452350.isEmpty
struct fzT__L4547_R1i32__1a____isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L1574_R1i32__1a__0__452350* fzF_1__U40__776977;
};
// for ref string.isEmpty
struct fzT__Rstring__isEmpty
{
  fzT_bool fzF_0_result;
  fzT__Rstring* fzF_1__U40__776977;
};
// for strings.concat.ref @834261.isEmpty
struct fzT__L4549strings__2____isEmpty
{
  fzT_bool fzF_0_result;
  fzT__L4610strings__2__0__834261* fzF_1__U40__776977;
};
// for ref codepoint.infix +
struct fzT__R1codepoint__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__R1codepoint* fzF_2__U40__780159;
};
// for ref conststring.infix +
struct fzT__R1conststring__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__R1conststring* fzF_2__U40__780159;
};
// for i32.asString.ref @452350.infix +
struct fzT__L45651i32__1asS__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__L15721i32__1asS__0__452350* fzF_2__U40__780159;
};
// for u8.asString.ref @452350.infix +
struct fzT__L45661u8__1asSt__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__L15731u8__1asSt__0__452350* fzF_2__U40__780159;
};
// for ref i32.asString.ref @452350.infix +
struct fzT__L4567_R1i32__1a__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__L1574_R1i32__1a__0__452350* fzF_2__U40__780159;
};
// for ref string.infix +
struct fzT__Rstring__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__Rstring* fzF_2__U40__780159;
};
// for strings.concat.ref @834261.infix +
struct fzT__L4569strings__2__1infix_wp
{
  fzT__RObject* fzF_0_other;
  fzT__Rstring* fzF_1_result;
  fzT__L4610strings__2__0__834261* fzF_2__U40__780159;
};
// for strings
struct fzT_strings
{
};
// for ref strings
struct fzT__Rstrings
{
  uint32_t clazzId;
  fzT_strings fields;
};
// for strings.concat
struct fzT_strings__1concat
{
  fzT__Rstring* fzF_0_sep;
};
// for strings.ref concat
struct fzT_strings_R1concat
{
  uint32_t clazzId;
  fzT_strings__1concat fields;
};
// for strings.ref concat.infix ∙
struct fzT__L4597strings_R1__x_wU2219_
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
  fzT_strings_R1concat* fzF_3__U40__833249;
  fzT_bool fzF_4__U40__833294;
  fzT__Rstring* fzF_5__U40__833343;
};
// for strings.ref concat.e
struct fzT_strings_R1concat__e
{
  fzT__Rstring* fzF_0_result;
};
// for strings.concat
struct fzT_strings__2concat
{
  fzT__Rstring* fzF_0_a;
  fzT__Rstring* fzF_1_b;
  fzT__Rstring* fzF_2_result;
};
// for strings.concat.@834261
struct fzT__L4611strings__2__0__834261
{
  fzT_strings__2concat* fzF_0__U40__834327;
};
// for strings.concat.ref @834261
struct fzT__L4610strings__2__0__834261
{
  uint32_t clazzId;
  fzT__L4611strings__2__0__834261 fields;
};
// for strings.concat.ref @834261.utf8
struct fzT__L4614strings__2__261__utf8
{
  fzT__RSequence_l_u8_g* fzF_0_result;
  fzT__L4610strings__2__0__834261* fzF_1__U40__834667;
};
// for strings.zeroChar
struct fzT_strings__zeroChar
{
  fzT_1u8 fzF_0_result;
};
// for strings.aChar
struct fzT_strings__aChar
{
  fzT_1u8 fzF_0_result;
};
// for u32.thiz
struct fzT_1u32__thiz
{
  fzT_1u32 fzF_0_result;
  fzT_1u32 fzF_1__U40__927873;
};
// for u32.max
struct fzT_1u32__max
{
  fzT_1u32 fzF_0_result;
};
// for u32.overflowOnAdd
struct fzT_1u32__1overflowOnAdd
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u32 fzF_2__U40__931765;
};
// for u32.underflowOnAdd
struct fzT_1u32__1underflowOnAdd
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u32.overflowOnSub
struct fzT_1u32__1overflowOnSub
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u32.underflowOnSub
struct fzT_1u32__1underflowOnSub
{
  fzT_1u32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u32 fzF_2__U40__932632;
};
// for u32.as_u8
struct fzT_1u32__as_u_u8
{
  fzT_1u8 fzF_0_result;
  fzT_1u32 fzF_1__U40__936129;
  fzT_bool fzF_2__U40__936178;
};
// for u32s
struct fzT_u32s
{
};
// for u64
struct fzT_1u64
{
  fzT_1u64 fzF_0_val;
};
// for u64s
struct fzT_u64s
{
};
// for u8s
struct fzT_u8s
{
};
// for u8
struct fzT_u8
{
  fzT_u8s fzF_0_result;
};
// for u8.thiz
struct fzT_1u8__thiz
{
  fzT_1u8 fzF_0_result;
  fzT_1u8 fzF_1__U40__978131;
};
// for u8.infix /
struct fzT_1u8__1infix_wd
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__978839;
  fzT_bool fzF_3__U40__978888;
};
// for u8.infix %
struct fzT_1u8__1infix_wP
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__980525;
  fzT_bool fzF_3__U40__980574;
};
// for u8.max
struct fzT_1u8__max
{
  fzT_1u8 fzF_0_result;
};
// for u8.wrappedOnNeg
struct fzT_1u8__wrappedOnNeg
{
  fzT_bool fzF_0_result;
  fzT_1u8 fzF_1__U40__981372;
  fzT_bool fzF_2__U40__981421;
};
// for u8.overflowOnAdd
struct fzT_1u8__1overflowOnAdd
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__981790;
};
// for u8.underflowOnAdd
struct fzT_1u8__1underflowOnAdd
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u8.overflowOnSub
struct fzT_1u8__1overflowOnSub
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u8.underflowOnSub
struct fzT_1u8__1underflowOnSub
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__982657;
};
// for u8.overflowOnMul
struct fzT_1u8__1overflowOnMul
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1u8 fzF_2__U40__983060;
};
// for u8.underflowOnMul
struct fzT_1u8__1underflowOnMul
{
  fzT_1u8 fzF_0_other;
  fzT_bool fzF_1_result;
};
// for u8.as_u32
struct fzT_1u8__as_u_u32
{
  fzT_1u32 fzF_0_result;
  fzT_1u8 fzF_1__U40__985821;
};
// for u8.zero
struct fzT_1u8__zero
{
  fzT_1u8 fzF_0_result;
};
// for u8s.zero
struct fzT_u8s__zero
{
  fzT_1u8 fzF_0_result;
};
// for u8.one
struct fzT_1u8__one
{
  fzT_1u8 fzF_0_result;
};
// for u8s.max
struct fzT_u8s__max
{
  fzT_1u8 fzF_0_result;
};
// for u8.min
struct fzT_1u8__min
{
  fzT_1u8 fzF_0_result;
  fzT_1u8 fzF_1__U40__994665;
};
// for u8s.min
struct fzT_u8s__min
{
  fzT_1u8 fzF_0_result;
  fzT_u8s* fzF_1__U40__994665;
};
// for wrappingInteger<i32>
struct fzT_wrappingInteger_l_i32_g
{
};
// for ref wrappingInteger<i32>
struct fzT__RwrappingInteger_l_i32_g
{
  uint32_t clazzId;
  fzT_wrappingInteger_l_i32_g fields;
};
// for wrappingInteger<i64>
struct fzT_wrappingInteger_l_i64_g
{
};
// for wrappingInteger<u32>
struct fzT_wrappingInteger_l_u32_g
{
};
// for wrappingInteger<u64>
struct fzT_wrappingInteger_l_u64_g
{
};
// for wrappingInteger<u8>
struct fzT_wrappingInteger_l_u8_g
{
};
// for i32.infix +
struct fzT_1i32__1infix_wp
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1036364;
  fzT_bool fzF_3__U40__1036409;
  fzT_bool fzF_4__U40__1036458;
};
// for u32.infix +
struct fzT_1u32__1infix_wp
{
  fzT_1u32 fzF_0_other;
  fzT_1u32 fzF_1_result;
  fzT_1u32 fzF_2__U40__1036364;
  fzT_bool fzF_3__U40__1036409;
  fzT_bool fzF_4__U40__1036458;
};
// for u8.infix +
struct fzT_1u8__1infix_wp
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1036364;
  fzT_bool fzF_3__U40__1036409;
  fzT_bool fzF_4__U40__1036458;
};
// for i32.infix -
struct fzT_1i32__1infix_wm
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1037279;
  fzT_bool fzF_3__U40__1037324;
  fzT_bool fzF_4__U40__1037373;
};
// for u32.infix -
struct fzT_1u32__1infix_wm
{
  fzT_1u32 fzF_0_other;
  fzT_1u32 fzF_1_result;
  fzT_1u32 fzF_2__U40__1037279;
  fzT_bool fzF_3__U40__1037324;
  fzT_bool fzF_4__U40__1037373;
};
// for u8.infix -
struct fzT_1u8__1infix_wm
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1037279;
  fzT_bool fzF_3__U40__1037324;
  fzT_bool fzF_4__U40__1037373;
};
// for i32.infix *
struct fzT_1i32__1infix_wt
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1038194;
  fzT_bool fzF_3__U40__1038239;
  fzT_bool fzF_4__U40__1038288;
};
// for u8.infix *
struct fzT_1u8__1infix_wt
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1038194;
  fzT_bool fzF_3__U40__1038239;
  fzT_bool fzF_4__U40__1038288;
};
// for i32.prefix -
struct fzT_1i32__prefix_wm
{
  fzT_1i32 fzF_0_result;
  fzT_1i32 fzF_1__U40__1038765;
  fzT_bool fzF_2__U40__1038810;
};
// for u8.prefix -
struct fzT_1u8__prefix_wm
{
  fzT_1u8 fzF_0_result;
  fzT_1u8 fzF_1__U40__1038765;
  fzT_bool fzF_2__U40__1038810;
};
// for i32.prefix -?
struct fzT_1i32__prefix_wmQ
{
  fzT_numOption_l_i32_g fzF_0_result;
  fzT_1i32 fzF_1__U40__1048008;
  fzT_numOption_l_i32_g fzF_2__U40__1048053;
};
// for u8.prefix -?
struct fzT_1u8__prefix_wmQ
{
  fzT_numOption_l_u8_g fzF_0_result;
  fzT_1u8 fzF_1__U40__1048008;
  fzT_numOption_l_u8_g fzF_2__U40__1048053;
};
// for i32.infix +?
struct fzT_1i32__1infix_wpQ
{
  fzT_1i32 fzF_0_other;
  fzT_numOption_l_i32_g fzF_1_result;
  fzT_1i32 fzF_2__U40__1048538;
  fzT_numOption_l_i32_g fzF_3__U40__1048583;
};
// for i32.infix +^
struct fzT_1i32__1infix_wpc
{
  fzT_1i32 fzF_0_other;
  fzT_1i32 fzF_1_result;
  fzT_1i32 fzF_2__U40__1050895;
  fzT_1i32 fzF_3__U40__1050940;
};
// for u8.infix +^
struct fzT_1u8__1infix_wpc
{
  fzT_1u8 fzF_0_other;
  fzT_1u8 fzF_1_result;
  fzT_1u8 fzF_2__U40__1050895;
  fzT_1u8 fzF_3__U40__1050940;
};
// for i32.wrappedOnAdd
struct fzT_1i32__1wrappedOnAdd
{
  fzT_1i32 fzF_0_other;
  fzT_bool fzF_1_result;
  fzT_1i32 fzF_2__U40__1052755;
  fzT_bool fzF_3__U40__1052800;
};
// for i32.isMin
struct fzT_1i32__isMin
{
  fzT_bool fzF_0_result;
  fzT_1i32 fzF_1__U40__1054081;
};
// for wrappingIntegers<i32>
struct fzT_wrappingIntegers_l_i32_g
{
};
// for ref wrappingIntegers<i32>
struct fzT__RwrappingIntegers_l_i32_g
{
  uint32_t clazzId;
  fzT_wrappingIntegers_l_i32_g fields;
};
// for wrappingIntegers<i64>
struct fzT_wrappingIntegers_l_i64_g
{
};
// for wrappingIntegers<u32>
struct fzT_wrappingIntegers_l_u32_g
{
};
// for wrappingIntegers<u64>
struct fzT_wrappingIntegers_l_u64_g
{
};
// for wrappingIntegers<u8>
struct fzT_wrappingIntegers_l_u8_g
{
};
// for #universe
struct fzT__Huniverse
{
};
static fzT__Huniverse fzI_universe;
// for man_or_boy.a.b
struct fzT_man_u_or_u_boy__6a__b
{
  fzT_man_u_or_u_boy__6a* fzF_0__H_c_man_u_or_u_boy_o_a_o_b;
  fzT_1i32 fzF_1_result;
};
// for man_or_boy.a
struct fzT_man_u_or_u_boy__6a
{
  fzT_1i32 fzF_0_k;
  fzT__RFunction_l_i32_g* fzF_1_x1;
  fzT__RFunction_l_i32_g* fzF_2_x2;
  fzT__RFunction_l_i32_g* fzF_3_x3;
  fzT__RFunction_l_i32_g* fzF_4_x4;
  fzT__RFunction_l_i32_g* fzF_5_x5;
  fzT_man_u_or_u_boy* fzF_6__H_c_man_u_or_u_boy_o_a;
  fzT_1i32 fzF_7_result;
  fzT_1i32 fzF_8__HstmtResult1;
};
// for man_or_boy.K
struct fzT_man_u_or_u_boy__1K
{
  fzT_1i32 fzF_0_n;
  fzT__RFunction_l_i32_g* fzF_1_result;
};
// for man_or_boy.test.#loop0
struct fzT__L4897man_u_or_u___1_Hloop0
{
  fzT_1i32 fzF_0_i;
  fzT_1i32 fzF_1_i;
  fzT_man_u_or_u_boy__3test* fzF_2__H_c_man_u_or_u_boy_o_test_oHloop0;
  fzT_unit fzF_3__Hresult;
  fzT_unit fzF_4__HstmtResult0;
};
// for man_or_boy.test
struct fzT_man_u_or_u_boy__3test
{
  fzT_1i32 fzF_0_num;
  fzT_1i32 fzF_1_max;
  fzT_1i32 fzF_2_expected;
  fzT_1i32 fzF_3_res;
  fzT_1i32 fzF_4_i;
  fzT_1i32__1infix_woo_RasStream* fzF_5__Hloop0stream0;
  fzT_man_u_or_u_boy* fzF_6__H_c_man_u_or_u_boy_o_test;
  fzT_1i32 fzF_7_result;
};
// for man_or_boy
struct fzT_man_u_or_u_boy
{
};
// for man_or_boy.test.#loop0.ref #fun0.call
struct fzT__L4911man_u_or_u__n0__1call
{
  fzT_1i32 fzF_0_n;
  fzT__L4912man_u_or_u__0_R_Hfun0* fzF_1__H_c_man_u_or_u_boy_o_test_oHloop0_oHfun0_o_call;
  fzT_unit fzF_2_result;
};
// for man_or_boy.test.#loop0.#fun0
struct fzT__L4913man_u_or_u__0___Hfun0
{
  fzT__L4897man_u_or_u___1_Hloop0* fzF_0__H_c_man_u_or_u_boy_o_test_oHloop0_oHfun0;
};
// for man_or_boy.test.#loop0.ref #fun0
struct fzT__L4912man_u_or_u__0_R_Hfun0
{
  uint32_t clazzId;
  fzT__L4913man_u_or_u__0___Hfun0 fields;
};
// for man_or_boy.a.ref #fun1.call
struct fzT__L4920man_u_or_u__un1__call
{
  fzT_man_u_or_u_boy__6a_R_Hfun1* fzF_0__H_c_man_u_or_u_boy_o_a_oHfun1_o_call;
  fzT_1i32 fzF_1_result;
};
// for man_or_boy.a.#fun1
struct fzT_man_u_or_u_boy__6a___Hfun1
{
  fzT_man_u_or_u_boy__6a* fzF_0__H_c_man_u_or_u_boy_o_a_oHfun1;
};
// for man_or_boy.a.ref #fun1
struct fzT_man_u_or_u_boy__6a_R_Hfun1
{
  uint32_t clazzId;
  fzT_man_u_or_u_boy__6a___Hfun1 fields;
};
// for man_or_boy.K.ref #fun2.call
struct fzT__L4927man_u_or_u__un2__call
{
  fzT_man_u_or_u_boy__1K_R_Hfun2* fzF_0__H_c_man_u_or_u_boy_o_K_oHfun2_o_call;
  fzT_1i32 fzF_1_result;
};
// for man_or_boy.K.#fun2
struct fzT_man_u_or_u_boy__1K___Hfun2
{
  fzT_man_u_or_u_boy__1K* fzF_0__H_c_man_u_or_u_boy_o_K_oHfun2;
};
// for man_or_boy.K.ref #fun2
struct fzT_man_u_or_u_boy__1K_R_Hfun2
{
  uint32_t clazzId;
  fzT_man_u_or_u_boy__1K___Hfun2 fields;
};

struct fzThrd_effectsEnvironment
{
  fzT_io__3out fzEnv_1672;
  bool fzEnvInstalled_1672;
  jmp_buf* fzEnvJmpBuf_1672;
};
__thread struct fzThrd_effectsEnvironment* fzThrd_effectsEnvironment;
fzT_1u8 fzC_1u8(fzT_1u8 arg0);
void fzC_unit();
void fzC_nil();
fzT_list_l_u8_g fzC__L3561i32__1asS__f8__asList(fzT__L15841i32__1asS__350_Rutf8* fzouter);
fzT_list_l_u8_g fzC__L358_R1i32__1a__f8__asList(fzT__L1586_R1i32__1a__350_Rutf8* fzouter);
void fzC_FALSE();
void fzC_TRUE();
fzT_1u8 fzC__RSequence_l_u8_g__first(fzT__RSequence_l_u8_g* fzouter);
void fzP__RSequence_l_u8_g__first(fzT__RSequence_l_u8_g* fzouter);
fzT_1u8 fzC__R1conststring__first(fzT__R1conststring* fzouter);
void fzP__R1conststring__first(fzT__R1conststring* fzouter);
fzT_fuzion__sys__1array_l_u8_g fzC_fuzion__sys__1array_l_u8_g(fzT_1i32 arg0);
fzT_4array_l_u8_g fzC_4array_l_u8_g(fzT_fuzion__sys__1array_l_u8_g arg0);
fzT_4array_l_u8_g fzC_list_l_u8_g__asArray(fzT_list_l_u8_g* fzouter);
fzT_4array_l_u8_g fzC__Rlist_l_u8_g__asArray(fzT__Rlist_l_u8_g* fzouter);
fzT__L660list_l_u8____U40__9594* fzC__L660list_l_u8____U40__9594(fzT_list_l_u8_g__asArray* fzouter);
fzT__L667_Rlist_l_u___U40__9594* fzC__L667_Rlist_l_u___U40__9594(fzT__Rlist_l_u8_g__asArray* fzouter);
fzT_1u8 fzC__L692list_l_u8___594__1call(fzT__L660list_l_u8____U40__9594* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L699_Rlist_l_u__594__1call(fzT__L667_Rlist_l_u___U40__9594* fzouter, fzT_1i32 arg0);
void fzC__L7241i32__1inf__nfix_wU7c_(fzT_1i32__1infix_woo* fzouter, fzT__RFunction_l_unit_k_i32_g* arg0);
fzT_list_l_u8_g fzC__R1conststring__1infix_wpp(fzT__R1conststring* fzouter, fzT__RSequence_l_u8_g* arg0);
fzT_4array_l_u8_g fzC_2array_l_u8_g(fzT_1i32 arg0, fzT__RFunction_l_u8_k_i32_g* arg1);
void fzP_2array_l_u8_g(fzT_1i32 arg0, fzT__RFunction_l_u8_k_i32_g* arg1);
fzT_1i32__1infix_woo fzC_1i32__1infix_woo(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32__1infix_woo fzC_2array_l_u8_g__indices(fzT_2array_l_u8_g* fzouter);
void fzC_2array_l_u8_g__1_U40__43139(fzT_2array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R4array_l_u8_g__asList(fzT__R4array_l_u8_g* fzouter);
fzT_list_l_u8_g fzC__R1conststring__asList(fzT__R1conststring* fzouter);
fzT_list_l_u8_g fzC__R4array_l_u8_g__1asList(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__R4array_l_u8_g__1asList(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC__R1conststring__1asList(fzT__R1conststring* fzouter, fzT_1i32 arg0);
void fzP__R1conststring__1asList(fzT__R1conststring* fzouter, fzT_1i32 arg0);
fzT_1some_l_list_l_u8_gg fzC_1some_l_list_l_u8_gg(fzT_list_l_u8_g arg0);
fzT_4array_l_u8_g fzC__R4array_l_u8_g__asArray(fzT__R4array_l_u8_g* fzouter);
fzT_1u8 fzC__L989_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__L989_R4array_l__wU5b_wU5d_(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L990_R1constst__wU5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0);
void fzP__L990_R1constst__wU5b_wU5d_(fzT__R1conststring* fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_4array_l_u8_g__length(fzT_4array_l_u8_g* fzouter);
fzT_1i32 fzC__R4array_l_u8_g__length(fzT__R4array_l_u8_g* fzouter);
fzT_1i32 fzC__R1conststring__length(fzT__R1conststring* fzouter);
fzT__R4array_l_u8_g__1arrayCons fzC__R4array_l_u8_g__1arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__R4array_l_u8_g__1arrayCons(fzT__R4array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L1022_R4array_l__ons__head(fzT__R4array_l_u8_g_R1arrayCons* fzouter);
fzT_list_l_u8_g fzC__L1025_R4array_l__ons__tail(fzT__R4array_l_u8_g_R1arrayCons* fzouter);
fzT_bool fzC_false();
fzT_bool fzC_true();
void fzC_fuzion__std__err__ascii();
void fzC_1i32__1asString__ascii();
void fzC__R1i32__1asString__ascii();
fzT_1u8 fzC_fuzion__std__err__ascii__lf();
fzT_1u8 fzC_1i32__1asString__ascii__lf();
fzT_1u8 fzC__L1052_R1i32__1a__ascii__lf();
void fzC_effectMode__default();
fzT_1u32 fzC_1u32(fzT_1u32 arg0);
fzT_1codepoint fzC_1codepoint(fzT_1u32 arg0);
void fzP_1codepoint(fzT_1u32 arg0);
fzT__RSequence_l_u8_g* fzC__R1codepoint__utf8(fzT__R1codepoint* fzouter);
fzT_1u32__1infix_woo fzC_1u32__1infix_woo(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32__1infix_woo fzC_1codepoint__range();
fzT_1u32__1infix_woo fzC__R1codepoint__ascii();
fzT_1u32__1infix_woo fzC__L1103_R1codepoi__InOneByte(fzT__R1codepoint* fzouter);
fzT_1u32__1infix_woo fzC__L1106_R1codepoi__nTwoBytes();
fzT_1u32__1infix_woo fzC__L1108_R1codepoi__hreeBytes();
fzT_1u32__1infix_woo fzC__L1110_R1codepoi__FourBytes();
fzT_1u32__1infix_woo fzC_1codepoint__utf16Surrogate();
fzT__Rstring* fzC__R1conststring__asString(fzT__R1conststring* fzouter);
fzT_bool fzC__R1conststring__isEmpty(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__L1202effects__e__o_o_out_g();
void fzC_effectMode();
void fzC_fuzion();
void fzC_fuzion__std();
void fzC_fuzion__std__1exit(fzT_1i32 arg0);
void fzC_fuzion__std__err();
void fzC_fuzion__std__err__1println(fzT__RObject* arg0);
void fzC_fuzion__std__err__1write(fzT_4array_l_u8_g arg0);
void fzC_fuzion__std__err__2write(fzT__RObject* arg0, fzT_1i32 arg1);
void fzC_fuzion__std__1panic(fzT__Rstring* arg0);
void fzC_fuzion__std__out();
void fzC_fuzion__std__out__1print(fzT__RObject* arg0);
void fzC_fuzion__std__out__1write(fzT_4array_l_u8_g arg0);
void fzC_fuzion__std__out__2write(fzT__RObject* arg0, fzT_1i32 arg1);
void fzC_fuzion__sys();
fzT_1u8 fzC__L1269fuzion__sy__U5b_wU5d_(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzP__L1269fuzion__sy__U5b_wU5d_(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1u8 fzC__L1287fuzion__sy__et_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT__RObject* arg0, fzT_1i32 arg1);
void fzC__L1302fuzion__sy__b_wU5d_we(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1);
void fzP__L1302fuzion__sy__b_wU5d_we(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0, fzT_1u8 arg1);
fzT__RObject* fzC__L1323fuzion__sy__oc_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0);
void fzC__L1332fuzion__sy__el_l_u8_g(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT__RObject* arg0, fzT_1i32 arg1, fzT_1u8 arg2);
fzT_1i32__1infix_woo_RasStream* fzC_1i32__1infix_woo_RasStream(fzT_1i32__1infix_woo* fzouter);
fzT_bool fzC__L13841i32__1inf____hasNext(fzT_1i32__1infix_woo_RasStream* fzouter);
fzT_1i32 fzC__L13881i32__1inf__eam__next(fzT_1i32__1infix_woo_RasStream* fzouter);
void fzC_1i32__1infix_woo__1forAll(fzT_1i32__1infix_woo* fzouter, fzT__RFunction_l_unit_k_i32_g* arg0);
fzT_1i32 fzC__L13971i32__1inf__0__352350(fzT_1i32__1infix_woo__1forAll* fzouter, fzT_1i32 arg0);
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_bool fzC_1i32__1infix_wee(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__thiz(fzT_1i32 fzouter);
fzT_1i32 fzC__R1i32__thiz(fzT__R1i32* fzouter);
fzT_1i32 fzC_1i32__1infix_wd(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzP_1i32__1infix_wd(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wne(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wl(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wle(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wg(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_wge(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__1infix_wP(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzP_1i32__1infix_wP(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i64 fzC_1i32__as_u_i64(fzT_1i32 fzouter);
fzT_1u32 fzC_1i32__castTo_u_u32(fzT_1i32 fzouter);
fzT_1i32 fzC_1i32__max();
fzT_bool fzC_1i32__wrappedOnNeg(fzT_1i32 fzouter);
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_bool fzC_1i32__1overflowOnMul(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1underflowOnMul(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__prefix_wmO(fzT_1i32 fzouter);
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__1infix_wtO(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__1div(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__1mod(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1u8 fzC_1i32__as_u_u8(fzT_1i32 fzouter);
void fzP_1i32__as_u_u8(fzT_1i32 fzouter);
fzT_1u32 fzC_1i32__as_u_u32(fzT_1i32 fzouter);
void fzP_1i32__as_u_u32(fzT_1i32 fzouter);
fzT_1u8 fzC_1i32__low8bits(fzT_1i32 fzouter);
fzT_1i32 fzC_1i32__zero();
fzT_1i32 fzC__R1i32__zero();
fzT_1i32 fzC_1i32__one();
fzT_1i32 fzC__R1i32__one();
fzT_1i32 fzC_1i32__min();
fzT_bool fzC_1i64__1infix_wl(fzT_1i64 fzouter, fzT_1i64 arg0);
fzT_bool fzC_1i64__1infix_wg(fzT_1i64 fzouter, fzT_1i64 arg0);
fzT_1i64 fzC_1i64__1infix_wtO(fzT_1i64 fzouter, fzT_1i64 arg0);
fzT__Rstring* fzC__R1i32__asString(fzT__R1i32* fzouter);
fzT__Rstring* fzC_1i32__1asString(fzT_1i32 fzouter, fzT_1u32 arg0);
void fzP_1i32__1asString(fzT_1i32 fzouter, fzT_1u32 arg0);
fzT__Rstring* fzC__R1i32__1asString(fzT__R1i32* fzouter, fzT_1u32 arg0);
void fzP__R1i32__1asString(fzT__R1i32* fzouter, fzT_1u32 arg0);
fzT__L15721i32__1asS__0__452350* fzC__L15721i32__1asS__0__452350(fzT_1i32__1asString* fzouter);
fzT__L1574_R1i32__1a__0__452350* fzC__L1574_R1i32__1a__0__452350(fzT__R1i32__1asString* fzouter);
fzT__L15841i32__1asS__350_Rutf8* fzC__L15841i32__1asS__350_Rutf8(fzT__L15721i32__1asS__0__452350* fzouter);
fzT__L1586_R1i32__1a__350_Rutf8* fzC__L1586_R1i32__1a__350_Rutf8(fzT__L1574_R1i32__1a__0__452350* fzouter);
fzT__Rstream_l_u8_g* fzC__L15961i32__1asS___asStream(fzT__L15841i32__1asS__350_Rutf8* fzouter);
fzT__Rstream_l_u8_g* fzC__L1598_R1i32__1a___asStream(fzT__L1586_R1i32__1a__350_Rutf8* fzouter);
fzT__L16141i32__1asS__0__454222* fzC__L16141i32__1asS__0__454222(fzT__L15961i32__1asS___asStream* fzouter);
fzT__L1616_R1i32__1a__0__454222* fzC__L1616_R1i32__1a__0__454222(fzT__L1598_R1i32__1a___asStream* fzouter);
fzT_bool fzC__L16321i32__1asS____hasNext(fzT__L16141i32__1asS__0__454222* fzouter);
fzT_bool fzC__L1634_R1i32__1a____hasNext(fzT__L1616_R1i32__1a__0__454222* fzouter);
fzT_1u8 fzC__L16411i32__1asS__222__next(fzT__L16141i32__1asS__0__454222* fzouter);
fzT_1u8 fzC__L1643_R1i32__1a__222__next(fzT__L1616_R1i32__1a__0__454222* fzouter);
void fzC_io();
fzT_io__3out fzC_io__3out(fzT_io_RcanPrint* arg0, fzT_effectMode__val arg1);
fzT_io__3out fzC_io__out();
void fzC_io__defaultPrintToOut();
void fzC__L1681io_Rdefaul__t__1print(fzT__RObject* arg0);
void fzC_io__outs();
void fzC_io__outs__installDefault();
void fzC_io__3out__1println(fzT_io__3out* fzouter, fzT__RObject* arg0);
void fzC__L1703io_Rdefaul____println(fzT_io_RdefaultPrintToOut* fzouter);
void fzC__L1709io_Rdefaul___1println(fzT_io_RdefaultPrintToOut* fzouter, fzT__RObject* arg0);
fzT_list_l_u8_g fzC__Rlist_l_u8_g__asList(fzT__Rlist_l_u8_g* fzouter);
fzT_list_l_u8_g_RasStream* fzC_list_l_u8_g_RasStream(fzT_list_l_u8_g* fzouter);
fzT__Rlist_l_u8_g_RasStream* fzC__Rlist_l_u8_g_RasStream(fzT__Rlist_l_u8_g* fzouter);
fzT_bool fzC__L1809_Rlist_l_u____hasNext(fzT__Rlist_l_u8_g_RasStream* fzouter);
fzT_1u8 fzC_list_l_u8_g_RasStream__next(fzT_list_l_u8_g_RasStream* fzouter);
fzT_1u8 fzC__L1833_Rlist_l_u__eam__next(fzT__Rlist_l_u8_g_RasStream* fzouter);
fzT_bool fzC_list_l_u8_g__isEmpty(fzT_list_l_u8_g* fzouter);
fzT_1i32 fzC_list_l_u8_g__count(fzT_list_l_u8_g* fzouter);
fzT_1i32 fzC__Rlist_l_u8_g__count(fzT__Rlist_l_u8_g* fzouter);
fzT_1i32 fzC_list_l_u8_g__1count(fzT_list_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_1i32 fzC__Rlist_l_u8_g__1count(fzT__Rlist_l_u8_g* fzouter, fzT_1i32 arg0);
fzT_list_l_u8_g fzC_list_l_u8_g__1infix_wpp(fzT_list_l_u8_g* fzouter, fzT__RSequence_l_u8_g* arg0);
fzT_list_l_u8_g fzC__Rlist_l_u8_g__1infix_wpp(fzT__Rlist_l_u8_g* fzouter, fzT__RSequence_l_u8_g* arg0);
fzT_1u8 fzC_list_l_u8_g__forceHead(fzT_list_l_u8_g* fzouter);
void fzP_list_l_u8_g__forceHead(fzT_list_l_u8_g* fzouter);
fzT_list_l_u8_g fzC_list_l_u8_g__forceTail(fzT_list_l_u8_g* fzouter);
void fzP_list_l_u8_g__forceTail(fzT_list_l_u8_g* fzouter);
fzT_list_l_u8_g fzC_list_l_u8_g__1concat(fzT_list_l_u8_g* fzouter, fzT_list_l_u8_g arg0);
fzT_list_l_u8_g fzC__Rlist_l_u8_g__1concat(fzT__Rlist_l_u8_g* fzouter, fzT_list_l_u8_g arg0);
fzT__L2224list_l_u8___0__520727* fzC__L2224list_l_u8___0__520727(fzT_list_l_u8_g__1concat* fzouter);
fzT__L2227_Rlist_l_u__0__520727* fzC__L2227_Rlist_l_u__0__520727(fzT__Rlist_l_u8_g__1concat* fzouter);
fzT_1u8 fzC__L2248list_l_u8___727__head(fzT__L2224list_l_u8___0__520727* fzouter);
fzT_1u8 fzC__L2251_Rlist_l_u__727__head(fzT__L2227_Rlist_l_u__0__520727* fzouter);
fzT_list_l_u8_g fzC__L2266list_l_u8___727__tail(fzT__L2224list_l_u8___0__520727* fzouter);
fzT_list_l_u8_g fzC__L2269_Rlist_l_u__727__tail(fzT__L2227_Rlist_l_u__0__520727* fzouter);
fzT_1i32 fzC_numOption_l_i32_g__val(fzT_numOption_l_i32_g* fzouter);
void fzP_numOption_l_i32_g__val(fzT_numOption_l_i32_g* fzouter);
fzT_bool fzC_numOption_l_i32_g__exists(fzT_numOption_l_i32_g* fzouter);
fzT_numOption_l_i32_g fzC__L2429numOption___nfix_wgge(fzT_numOption_l_i32_g* fzouter, fzT__L22_RFunction__32_gk_i32_g* arg0);
fzT_numOption_l_i32_g fzC__L2433numOption___d_l_i32_g(fzT_numOption_l_i32_g* fzouter, fzT__L22_RFunction__32_gk_i32_g* arg0);
fzT_bool fzC__L2439numOption___stfix_wQQ(fzT_numOption_l_i32_g* fzouter);
fzT_numOption_l_i32_g fzC__L2442numOption___infix_wpQ(fzT_numOption_l_i32_g* fzouter, fzT_numOption_l_i32_g arg0);
fzT__L2446numOption___0__568736* fzC__L2446numOption___0__568736(fzT__L2442numOption___infix_wpQ* fzouter);
fzT_numOption_l_i32_g fzC__L2450numOption___36__1call(fzT__L2446numOption___0__568736* fzouter, fzT_1i32 arg0);
fzT__L2454numOption___0__569212* fzC__L2454numOption___0__569212(fzT__L2450numOption___36__1call* fzouter);
fzT_numOption_l_i32_g fzC__L2458numOption___12__1call(fzT__L2454numOption___0__569212* fzouter, fzT_1i32 arg0);
fzT_numOption_l_i32_g fzC_1numOption_l_i32_g(fzT_numOption_l_i32_g arg0);
fzT_1i32 fzC_1i32__1highest(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzP_1i32__1highest(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC__L24831i32__1hig__0__586773(fzT_1i32__1highest* fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1infix_we(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__sign(fzT_1i32 fzouter);
fzT_1u32 fzC_1i32__to_u_u32(fzT_1i32 fzouter);
void fzP_1i32__to_u_u32(fzT_1i32 fzouter);
fzT_1i32 fzC_1i32__1from_u_u32(fzT_1i32 fzouter, fzT_1u32 arg0);
fzT_1i32 fzC__R1i32__1from_u_u32(fzT__R1i32* fzouter, fzT_1u32 arg0);
fzT_1some_l_list_l_u8_gg fzC__L2577option_l_s___ggg__get(fzT__L2569option_l_s___l_u8_ggg* fzouter);
void fzP__L2577option_l_s___ggg__get(fzT__L2569option_l_s___l_u8_ggg* fzouter);
fzT_bool fzC__L2595option_l_s__g__exists(fzT__L2569option_l_s___l_u8_ggg* fzouter);
fzT_bool fzC__L2607option_l_s__stfix_wQQ(fzT__L2569option_l_s___l_u8_ggg* fzouter);
fzT_bool fzC_safety();
void fzC_1say(fzT__RObject* arg0);
void fzC_stdout();
fzT_list_l_u8_g fzC__L28381i32__1asS__2__asList(fzT__L16141i32__1asS__0__454222* fzouter);
fzT_list_l_u8_g fzC__L2840_R1i32__1a__2__asList(fzT__L1616_R1i32__1a__0__454222* fzouter);
fzT_list_l_u8_g fzC__L2846_Rlist_l_u__m__asList(fzT__Rlist_l_u8_g_RasStream* fzouter);
fzT_list_l_u8_g fzC__L40581i32__1asS__romStream(fzT__L16141i32__1asS__0__454222* fzouter);
fzT_list_l_u8_g fzC__L4060_R1i32__1a__romStream(fzT__L1616_R1i32__1a__0__454222* fzouter);
fzT_list_l_u8_g fzC__L4066_Rlist_l_u__romStream(fzT__Rlist_l_u8_g_RasStream* fzouter);
fzT__L41621i32__1asS__0__767531* fzC__L41621i32__1asS__0__767531(fzT__L40581i32__1asS__romStream* fzouter);
fzT__L4164_R1i32__1a__0__767531* fzC__L4164_R1i32__1a__0__767531(fzT__L4060_R1i32__1a__romStream* fzouter);
fzT__L4170_Rlist_l_u__0__767531* fzC__L4170_Rlist_l_u__0__767531(fzT__L4066_Rlist_l_u__romStream* fzouter);
fzT_1u8 fzC__L42661i32__1asS__531__head(fzT__L41621i32__1asS__0__767531* fzouter);
fzT_1u8 fzC__L4268_R1i32__1a__531__head(fzT__L4164_R1i32__1a__0__767531* fzouter);
fzT_1u8 fzC__L4274_Rlist_l_u__531__head(fzT__L4170_Rlist_l_u__0__767531* fzouter);
fzT_list_l_u8_g fzC__L43441i32__1asS__531__tail(fzT__L41621i32__1asS__0__767531* fzouter);
fzT_list_l_u8_g fzC__L4346_R1i32__1a__531__tail(fzT__L4164_R1i32__1a__0__767531* fzouter);
fzT_list_l_u8_g fzC__L4352_Rlist_l_u__531__tail(fzT__L4170_Rlist_l_u__0__767531* fzouter);
fzT__Rstring* fzC__R1codepoint__asString(fzT__R1codepoint* fzouter);
fzT__Rstring* fzC__L45271i32__1asS___asString(fzT__L15721i32__1asS__0__452350* fzouter);
fzT__Rstring* fzC__L4531strings__2___asString(fzT__L4610strings__2__0__834261* fzouter);
fzT__Rstring* fzC__R1conststring__1infix_wp(fzT__R1conststring* fzouter, fzT__RObject* arg0);
fzT__Rstring* fzC__L4569strings__2__1infix_wp(fzT__L4610strings__2__0__834261* fzouter, fzT__RObject* arg0);
void fzC_strings();
fzT__Rstring* fzC_strings__2concat(fzT__Rstring* arg0, fzT__Rstring* arg1);
fzT__L4610strings__2__0__834261* fzC__L4610strings__2__0__834261(fzT_strings__2concat* fzouter);
fzT__RSequence_l_u8_g* fzC__L4614strings__2__261__utf8(fzT__L4610strings__2__0__834261* fzouter);
fzT_1u8 fzC_strings__zeroChar();
fzT_1u8 fzC_strings__aChar();
fzT_bool fzC_1u32__1infix_wee(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__1infix_wU7c_(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__1infix_wU26_(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__thiz(fzT_1u32 fzouter);
fzT_bool fzC_1u32__1infix_wl(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_bool fzC_1u32__1infix_wle(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__max();
fzT_bool fzC_1u32__1overflowOnAdd(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_bool fzC_1u32__1underflowOnAdd(fzT_1u32 arg0);
fzT_bool fzC_1u32__1overflowOnSub(fzT_1u32 arg0);
fzT_bool fzC_1u32__1underflowOnSub(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__1infix_wpO(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__1infix_wmO(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u32 fzC_1u32__1infix_wgg(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u8 fzC_1u32__as_u_u8(fzT_1u32 fzouter);
void fzP_1u32__as_u_u8(fzT_1u32 fzouter);
fzT_1u8 fzC_1u32__low8bits(fzT_1u32 fzouter);
fzT_1i32 fzC_1u32__castTo_u_i32(fzT_1u32 fzouter);
void fzC_u8s();
void fzC_u8();
fzT_1u8 fzC_1u8__thiz(fzT_1u8 fzouter);
fzT_bool fzC_1u8__1infix_wl(fzT_1u8 fzouter, fzT_1u8 arg0);
fzT_1u8 fzC_1u8__max();
fzT_bool fzC_1u8__1overflowOnAdd(fzT_1u8 fzouter, fzT_1u8 arg0);
fzT_bool fzC_1u8__1underflowOnAdd(fzT_1u8 arg0);
fzT_bool fzC_1u8__1overflowOnSub(fzT_1u8 arg0);
fzT_bool fzC_1u8__1underflowOnSub(fzT_1u8 fzouter, fzT_1u8 arg0);
fzT_1u8 fzC_1u8__1infix_wpO(fzT_1u8 fzouter, fzT_1u8 arg0);
fzT_1u8 fzC_1u8__1infix_wmO(fzT_1u8 fzouter, fzT_1u8 arg0);
fzT_1i32 fzC_1u8__as_u_i32(fzT_1u8 fzouter);
fzT_1u32 fzC_1u8__as_u_u32(fzT_1u8 fzouter);
fzT_1u8 fzC_u8s__zero();
fzT_1u8 fzC_u8s__max();
fzT_1u8 fzC_u8s__min();
fzT_1i32 fzC_1i32__1infix_wp(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzP_1i32__1infix_wp(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1u32 fzC_1u32__1infix_wp(fzT_1u32 fzouter, fzT_1u32 arg0);
void fzP_1u32__1infix_wp(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u8 fzC_1u8__1infix_wp(fzT_1u8 fzouter, fzT_1u8 arg0);
void fzP_1u8__1infix_wp(fzT_1u8 fzouter, fzT_1u8 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_1u32 fzC_1u32__1infix_wm(fzT_1u32 fzouter, fzT_1u32 arg0);
void fzP_1u32__1infix_wm(fzT_1u32 fzouter, fzT_1u32 arg0);
fzT_1u8 fzC_1u8__1infix_wm(fzT_1u8 fzouter, fzT_1u8 arg0);
void fzP_1u8__1infix_wm(fzT_1u8 fzouter, fzT_1u8 arg0);
fzT_1i32 fzC_1i32__1infix_wt(fzT_1i32 fzouter, fzT_1i32 arg0);
void fzP_1i32__1infix_wt(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__prefix_wm(fzT_1i32 fzouter);
void fzP_1i32__prefix_wm(fzT_1i32 fzouter);
fzT_numOption_l_i32_g fzC_1i32__prefix_wmQ(fzT_1i32 fzouter);
fzT_numOption_l_i32_g fzC_1i32__1infix_wpQ(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_1i32__1infix_wpc(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__1wrappedOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0);
fzT_bool fzC_1i32__isMin(fzT_1i32 fzouter);
fzT_1i32 fzC_man_u_or_u_boy__6a__b(fzT_man_u_or_u_boy__6a* fzouter);
fzT_1i32 fzC_man_u_or_u_boy__6a(fzT_1i32 arg0, fzT__RFunction_l_i32_g* arg1, fzT__RFunction_l_i32_g* arg2, fzT__RFunction_l_i32_g* arg3, fzT__RFunction_l_i32_g* arg4, fzT__RFunction_l_i32_g* arg5);
fzT__RFunction_l_i32_g* fzC_man_u_or_u_boy__1K(fzT_1i32 arg0);
void fzC__L4897man_u_or_u___1_Hloop0(fzT_man_u_or_u_boy__3test* fzouter, fzT_1i32 arg0);
fzT_1i32 fzC_man_u_or_u_boy__3test(fzT_1i32 arg0, fzT_1i32 arg1, fzT_1i32 arg2);
void fzC_man_u_or_u_boy();
void fzC__L4911man_u_or_u__n0__1call(fzT__L4912man_u_or_u__0_R_Hfun0* fzouter, fzT_1i32 arg0);
fzT__L4912man_u_or_u__0_R_Hfun0* fzC__L4912man_u_or_u__0_R_Hfun0(fzT__L4897man_u_or_u___1_Hloop0* fzouter);
fzT_1i32 fzC__L4920man_u_or_u__un1__call(fzT_man_u_or_u_boy__6a_R_Hfun1* fzouter);
fzT_man_u_or_u_boy__6a_R_Hfun1* fzC_man_u_or_u_boy__6a_R_Hfun1(fzT_man_u_or_u_boy__6a* fzouter);
fzT_1i32 fzC__L4927man_u_or_u__un2__call(fzT_man_u_or_u_boy__1K_R_Hfun2* fzouter);
fzT_man_u_or_u_boy__1K_R_Hfun2* fzC_man_u_or_u_boy__1K_R_Hfun2(fzT_man_u_or_u_boy__1K* fzouter);

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

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

  start:
  {
  }
}
// code for clazz#356 i32.asString.ref @452350.ref utf8.asList:
fzT_list_l_u8_g fzC__L3561i32__1asS__f8__asList(fzT__L15841i32__1asS__350_Rutf8* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L3561i32__1asS__f8__asList fzCur;

  start:
  {
    fzCur.fzF_1__U40__5999 = (fzT__L15841i32__1asS__350_Rutf8*)fzouter;
    //    0: Current
    //    1: Call to i32.asString.ref @452350.ref utf8.asList.@5999
    //    2: Call to i32.asString.ref @452350.ref utf8.asStream
    fzT__Rstream_l_u8_g* fzM_0;
    fzM_0 = fzC__L15961i32__1asS___asStream(fzCur.fzF_1__U40__5999);
    //    3: Call to ref stream<u8>.asList
    // Dynamic access of ref stream<u8>.asList
    fzT__Rstream_l_u8_g* fzM_1 = (fzT__Rstream_l_u8_g*)fzM_0;
    fzT_list_l_u8_g fzM_2;
    switch (fzM_1->clazzId)
    {
      case 1614:
      {
        // Call calls i32.asString.ref @452350.ref utf8.asStream.ref @454222.asList target: i32.asString.ref @452350.ref utf8.asStream.ref @454222:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__L28381i32__1asS__2__asList((fzT__L16141i32__1asS__0__454222*)fzM_1);
        fzM_2 = fzM_3;
        break;
      }
      case 1785:
      {
        // Call calls ref list<u8>.ref asStream.asList target: ref list<u8>.ref asStream:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__L2846_Rlist_l_u__m__asList((fzT__Rlist_l_u8_g_RasStream*)fzM_1);
        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 stream<u8>.asList","i32.asString.ref @452350.ref utf8.asList");
        exit(1);
      }
    }
    //    4: Current
    //    5: Assign to i32.asString.ref @452350.ref utf8.asList.result
    fzCur.fzF_0_result = fzM_2;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#358 ref i32.asString.ref @452350.ref utf8.asList:
fzT_list_l_u8_g fzC__L358_R1i32__1a__f8__asList(fzT__L1586_R1i32__1a__350_Rutf8* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L358_R1i32__1a__f8__asList fzCur;

  start:
  {
    fzCur.fzF_1__U40__5999 = (fzT__L1586_R1i32__1a__350_Rutf8*)fzouter;
    //    0: Current
    //    1: Call to ref i32.asString.ref @452350.ref utf8.asList.@5999
    //    2: Call to ref i32.asString.ref @452350.ref utf8.asStream
    fzT__Rstream_l_u8_g* fzM_0;
    fzM_0 = fzC__L1598_R1i32__1a___asStream(fzCur.fzF_1__U40__5999);
    //    3: Call to ref stream<u8>.asList
    // Dynamic access of ref stream<u8>.asList
    fzT__Rstream_l_u8_g* fzM_1 = (fzT__Rstream_l_u8_g*)fzM_0;
    fzT_list_l_u8_g fzM_2;
    switch (fzM_1->clazzId)
    {
      case 1616:
      {
        // Call calls ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.asList target: ref i32.asString.ref @452350.ref utf8.asStream.ref @454222:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__L2840_R1i32__1a__2__asList((fzT__L1616_R1i32__1a__0__454222*)fzM_1);
        fzM_2 = fzM_3;
        break;
      }
      case 1785:
      {
        // Call calls ref list<u8>.ref asStream.asList target: ref list<u8>.ref asStream:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__L2846_Rlist_l_u__m__asList((fzT__Rlist_l_u8_g_RasStream*)fzM_1);
        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 stream<u8>.asList","ref i32.asString.ref @452350.ref utf8.asList");
        exit(1);
      }
    }
    //    4: Current
    //    5: Assign to ref i32.asString.ref @452350.ref utf8.asList.result
    fzCur.fzF_0_result = fzM_2;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1038 FALSE:
void fzC_FALSE()
{
  // instance may escape, so we need malloc here
  fzT_FALSE* fzCur;
  fzCur = malloc(sizeof(fzT_FALSE));

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

  start:
  {
  }
}
// code for clazz#512 ref Sequence<u8>.first:
fzT_1u8 fzC__RSequence_l_u8_g__first(fzT__RSequence_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__RSequence_l_u8_g__first fzCur;

  start:
  {
    fzCur.fzF_1__U40__7716 = (fzT__RSequence_l_u8_g*)fzouter;
    //    0: Current
    //    1: Call to ref Sequence<u8>.first.@7716
    fprintf(stderr,"*** %s:%d: no targets for access of %s within %s\012",__FILE__,__LINE__,"ref Sequence<u8>.first.@7716","ref Sequence<u8>.first");
    exit(1);
    return fzCur.fzF_0_result;
  }
}
// code for clazz#512 precondition of ref Sequence<u8>.first:
void fzP__RSequence_l_u8_g__first(fzT__RSequence_l_u8_g* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT__RSequence_l_u8_g__first fzCur;

  start:
  {
    fzCur.fzF_1__U40__7716 = (fzT__RSequence_l_u8_g*)fzouter;
    fzCur.fzF_1__U40__7716 = (fzT__RSequence_l_u8_g*)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 ref Sequence<u8>.first.@7716
        //    2: Call to ref Sequence<u8>.isEmpty
        fzT_bool fzM_1;
        fzM_1 = fzC__R1conststring__isEmpty((fzT__R1conststring*)fzCur.fzF_1__U40__7716);
        //    3: Match
        switch (fzM_1.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to ref Sequence<u8>.first.@7765
            fzCur.fzF_2__U40__7765 = (fzT_bool){0};
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to ref Sequence<u8>.first.@7765
            fzCur.fzF_2__U40__7765 = (fzT_bool){1};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref Sequence<u8>.first.@7765
        // access to Assign to ref Sequence<u8>.first.@7765 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref Sequence<u8>.first.@7765
    if (!fzCur.fzF_2__U40__7765.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref Sequence<u8>.first");
      exit(1);
    }
  }
}
// code for clazz#515 ref conststring.first:
fzT_1u8 fzC__R1conststring__first(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__first fzCur;

  start:
  {
    fzCur.fzF_1__U40__7716 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.first.@7716
    //    2: Call to ref conststring.asList
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R1conststring__asList(fzCur.fzF_1__U40__7716);
    //    3: Call to list<u8>.forceHead
    fzP_list_l_u8_g__forceHead((fzT_list_l_u8_g*)fzH_heapClone(&fzM_0,sizeof fzM_0));
    fzT_1u8 fzM_1;
    fzM_1 = fzC_list_l_u8_g__forceHead((fzT_list_l_u8_g*)fzH_heapClone(&fzM_0,sizeof fzM_0));
    //    4: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Assign to ref conststring.first.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#515 precondition of ref conststring.first:
void fzP__R1conststring__first(fzT__R1conststring* fzouter)
{
  // for precondition only, need to check if it may escape
  fzT__R1conststring__first fzCur;

  start:
  {
    fzCur.fzF_1__U40__7716 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_1__U40__7716 = (fzT__R1conststring*)fzouter;
    //    0: Call to debug
    fprintf(stderr,"*** %s:%d: no targets for access of %s within %s\012",__FILE__,__LINE__,"debug","ref conststring.first");
    exit(1);
  }
}
// code for clazz#1263 fuzion.sys.array<u8>:
fzT_fuzion__sys__1array_l_u8_g fzC_fuzion__sys__1array_l_u8_g(fzT_1i32 arg0)
{
  // instance may escape, so we need malloc here
  fzT_fuzion__sys__1array_l_u8_g* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__sys__1array_l_u8_g));

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

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

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

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

  start:
  {
    fzCur->fields.fzF_0__U40__9701 = fzouter;
    return fzCur;
  }
}
// code for clazz#667 ref list<u8>.asArray.ref @9594:
fzT__L667_Rlist_l_u___U40__9594* fzC__L667_Rlist_l_u___U40__9594(fzT__Rlist_l_u8_g__asArray* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L667_Rlist_l_u___U40__9594* fzCur;
  fzCur = malloc(sizeof(fzT__L667_Rlist_l_u___U40__9594));
  fzCur->clazzId = 667;

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

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

  start:
  {
    fzCur.fzF_2__U40__10007 = (fzT__L667_Rlist_l_u___U40__9594*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Current
    //    1: Call to ref list<u8>.asArray.ref @9594.call.@10007
    //    2: Call to ref list<u8>.asArray.ref @9594.@9701
    //    3: Call to ref list<u8>.asArray.s
    //    4: Call to ref stream<u8>.next
    fzT_1u8 fzM_0;
    fzM_0 = fzC__L1833_Rlist_l_u__eam__next((fzT__Rlist_l_u8_g_RasStream*)fzCur.fzF_2__U40__10007->fields.fzF_0__U40__9701->fzF_2_s);
    //    5: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //    6: Current
    //    7: Assign to ref list<u8>.asArray.ref @9594.call.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#724 i32.infix ...infix |:
void fzC__L7241i32__1inf__nfix_wU7c_(fzT_1i32__1infix_woo* fzouter, fzT__RFunction_l_unit_k_i32_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__L7241i32__1inf__nfix_wU7c_ fzCur;

  start:
  {
    fzCur.fzF_2__U40__10633 = fzouter;
    fzCur.fzF_0_f = (fzT__RFunction_l_unit_k_i32_g*)arg0;
    //    0: Current
    //    1: Call to i32.infix ...infix |.@10633
    //    2: Current
    //    3: Call to i32.infix ...infix |.f
    //    4: Call to i32.infix ...forAll
    fzC_1i32__1infix_woo__1forAll((fzT_1i32__1infix_woo*)fzCur.fzF_2__U40__10633,(fzT__RFunction_l_unit_k_i32_g*)fzCur.fzF_0_f);
    //    5: Current
    //    6: Assign to i32.infix ...infix |.result
    // access to Assign to i32.infix ...infix |.result eliminated
  }
}
// code for clazz#731 ref conststring.infix ++:
fzT_list_l_u8_g fzC__R1conststring__1infix_wpp(fzT__R1conststring* fzouter, fzT__RSequence_l_u8_g* arg0)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__1infix_wpp fzCur;

  start:
  {
    fzCur.fzF_2__U40__15716 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_s = (fzT__RSequence_l_u8_g*)arg0;
    //    0: Current
    //    1: Call to ref conststring.infix ++.@15716
    //    2: Call to ref conststring.asList
    fzT_list_l_u8_g fzM_0;
    fzM_0 = fzC__R1conststring__asList(fzCur.fzF_2__U40__15716);
    //    3: Current
    //    4: Call to ref conststring.infix ++.s
    //    5: Call to ref Sequence<u8>.asList
    // Dynamic access of ref Sequence<u8>.asList
    fzT__RSequence_l_u8_g* fzM_1 = (fzT__RSequence_l_u8_g*)fzCur.fzF_0_s;
    fzT_list_l_u8_g fzM_2;
    switch (fzM_1->clazzId)
    {
      case 925:
      {
        // Call calls ref array<u8>.asList target: ref array<u8>:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R4array_l_u8_g__asList((fzT__R4array_l_u8_g*)fzM_1);
        fzM_2 = fzM_3;
        break;
      }
      case 1116:
      {
        // Call calls ref conststring.asList target: ref conststring:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__R1conststring__asList((fzT__R1conststring*)fzM_1);
        fzM_2 = fzM_4;
        break;
      }
      case 1584:
      {
        // Call calls i32.asString.ref @452350.ref utf8.asList target: i32.asString.ref @452350.ref utf8:
        fzT_list_l_u8_g fzM_5;
        fzM_5 = fzC__L3561i32__1asS__f8__asList((fzT__L15841i32__1asS__350_Rutf8*)fzM_1);
        fzM_2 = fzM_5;
        break;
      }
      case 1586:
      {
        // Call calls ref i32.asString.ref @452350.ref utf8.asList target: ref i32.asString.ref @452350.ref utf8:
        fzT_list_l_u8_g fzM_6;
        fzM_6 = fzC__L358_R1i32__1a__f8__asList((fzT__L1586_R1i32__1a__350_Rutf8*)fzM_1);
        fzM_2 = fzM_6;
        break;
      }
      case 1721:
      {
        // Call calls ref list<u8>.asList target: ref list<u8>:
        fzT_list_l_u8_g fzM_7;
        fzM_7 = fzC__Rlist_l_u8_g__asList((fzT__Rlist_l_u8_g*)fzM_1);
        fzM_2 = fzM_7;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_1->clazzId,"ref Sequence<u8>.asList","ref conststring.infix ++");
        exit(1);
      }
    }
    //    6: Box list<u8> => ref list<u8>
    // Box list<u8>
    fzT__Rlist_l_u8_g* fzM_8;
    fzM_8 = malloc(sizeof(fzT__Rlist_l_u8_g));
    fzM_8->clazzId = 1721;
    fzM_8->fields = fzM_2;
    //    7: Call to list<u8>.infix ++
    fzT_list_l_u8_g fzM_9;
    fzM_9 = 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_8);
    //    8: Current
    //    9: Assign to ref conststring.infix ++.result
    fzCur.fzF_1_result = fzM_9;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#874 array<u8>:
fzT_4array_l_u8_g fzC_2array_l_u8_g(fzT_1i32 arg0, fzT__RFunction_l_u8_k_i32_g* arg1)
{
  // instance may escape, so we need malloc here
  fzT_2array_l_u8_g* fzCur;
  fzCur = malloc(sizeof(fzT_2array_l_u8_g));

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

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

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

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

  start:
  {
    fzCur.fzF_2__U40__43694 = fzouter;
    fzCur.fzF_0_x = arg0;
    //    0: Current
    //    1: Call to array<u8>.@43139.@43694
    //    2: Call to array<u8>.internal
    //    3: Current
    //    4: Call to array<u8>.@43139.x
    //    5: Current
    //    6: Call to array<u8>.@43139.@43694
    //    7: Call to array<u8>.init
    //    8: Current
    //    9: Call to array<u8>.@43139.x
    //   10: Call to ref Function<u8, i32>.call
    // Dynamic access of ref Function<u8, i32>.call
    fzT__RFunction_l_u8_k_i32_g* fzM_0 = (fzT__RFunction_l_u8_k_i32_g*)fzCur.fzF_2__U40__43694->fzF_1_init;
    fzT_1u8 fzM_1;
    switch (fzM_0->clazzId)
    {
      case 660:
      {
        // Call calls list<u8>.asArray.ref @9594.call target: list<u8>.asArray.ref @9594:
        fzT_1u8 fzM_2;
        fzM_2 = fzC__L692list_l_u8___594__1call((fzT__L660list_l_u8____U40__9594*)fzM_0,fzCur.fzF_0_x);
        fzM_1 = fzM_2;
        break;
      }
      case 667:
      {
        // Call calls ref list<u8>.asArray.ref @9594.call target: ref list<u8>.asArray.ref @9594:
        fzT_1u8 fzM_3;
        fzM_3 = fzC__L699_Rlist_l_u__594__1call((fzT__L667_Rlist_l_u___U40__9594*)fzM_0,fzCur.fzF_0_x);
        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<u8, i32>.call","array<u8>.@43139");
        exit(1);
      }
    }
    //   11: Box u8 => u8
    // Box is a NOP, clazz is already a ref
    //   12: Call to fuzion.sys.array<u8>.index [ ] =
    fzP__L1302fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_2__U40__43694->fzF_4_internal,fzCur.fzF_0_x,fzM_1);
    fzC__L1302fuzion__sy__b_wU5d_we((fzT_fuzion__sys__1array_l_u8_g*)&fzCur.fzF_2__U40__43694->fzF_4_internal,fzCur.fzF_0_x,fzM_1);
    //   13: Pop
    //   14: Current
    //   15: Call to array<u8>.@43139.@43694
    //   16: Call to array<u8>.@43090
    //   17: Call to i32.infix ...ref asStream.hasNext
    fzT_bool fzM_4;
    fzM_4 = fzC__L13841i32__1inf____hasNext(fzCur.fzF_2__U40__43694->fzF_5__U40__43090);
    //   18: Match
    switch (fzM_4.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to array<u8>.@43139.@43694
        //    2: Call to array<u8>.@43090
        //    3: Call to i32.infix ...ref asStream.next
        fzT_1i32 fzM_5;
        fzM_5 = fzC__L13881i32__1inf__eam__next(fzCur.fzF_2__U40__43694->fzF_5__U40__43090);
        //    4: Current
        //    5: Assign to array<u8>.@43139.x
        fzCur.fzF_3_x = fzM_5;
        //    6: Current
        //    7: Call to array<u8>.@43139.@43694
        //    8: Current
        //    9: Call to array<u8>.@43139.x
        //   10: Call to array<u8>.@43139
        // tail recursion on same target
        arg0 = fzCur.fzF_3_x;
        goto start;
        break;
      }
      case 0/* FALSE */:
      {
        break;
      }
    }
    //   21: Current
    //   22: Call to array<u8>.@43139.@43810
    // access to Call to array<u8>.@43139.@43810 eliminated
    //   23: Current
    //   24: Assign to array<u8>.@43139.@43645
    // access to Assign to array<u8>.@43139.@43645 eliminated
  }
}
// code for clazz#951 ref array<u8>.asList:
fzT_list_l_u8_g fzC__R4array_l_u8_g__asList(fzT__R4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__asList fzCur;

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

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

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

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

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

  start:
  {
    fzCur.fzF_2__U40__45224 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    fzCur.fzF_2__U40__45224 = (fzT__R1conststring*)fzouter;
    fzCur.fzF_0_i = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to ref conststring.asList.i
        //    2: Const
        //    3: Call to i32.infix >=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wge(fzCur.fzF_0_i,0);
        //    4: Current
        //    5: Assign to ref conststring.asList.@45318
        fzCur.fzF_4__U40__45318 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref conststring.asList.@45318
        // access to Assign to ref conststring.asList.@45318 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref conststring.asList.@45318
    if (!fzCur.fzF_4__U40__45318.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref conststring.asList");
      exit(1);
    }
  }
}
// code for clazz#2640 some<list<u8>>:
fzT_1some_l_list_l_u8_gg fzC_1some_l_list_l_u8_gg(fzT_list_l_u8_g arg0)
{
  // instance may escape, so we need malloc here
  fzT_1some_l_list_l_u8_gg* fzCur;
  fzCur = malloc(sizeof(fzT_1some_l_list_l_u8_gg));

  start:
  {
    fzCur->fzF_0_val = arg0;
    return *fzCur;
  }
}
// code for clazz#983 ref array<u8>.asArray:
fzT_4array_l_u8_g fzC__R4array_l_u8_g__asArray(fzT__R4array_l_u8_g* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R4array_l_u8_g__asArray fzCur;

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

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

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

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

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

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

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

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

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

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

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

  start:
  {
    fzCur.fzF_1__U40__56056 = (fzT__R4array_l_u8_g_R1arrayCons*)fzouter;
    //    0: Current
    //    1: Call to ref array<u8>.ref arrayCons.tail.@56056
    //    2: Call to ref array<u8>.ref arrayCons.@55447
    //    3: Current
    //    4: Call to ref array<u8>.ref arrayCons.tail.@56056
    //    5: Call to ref array<u8>.ref arrayCons.i
    //    6: Const
    //    7: Call to i32.infix +
    fzP_1i32__1infix_wp(fzCur.fzF_1__U40__56056->fields.fzF_0_i,1);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1infix_wp(fzCur.fzF_1__U40__56056->fields.fzF_0_i,1);
    //    8: Call to ref array<u8>.asList
    fzP__R4array_l_u8_g__1asList(fzCur.fzF_1__U40__56056->fields.fzF_1__U40__55447,fzM_0);
    // Dynamic access of ref array<u8>.asList
    fzT__R4array_l_u8_g* fzM_1 = (fzT__R4array_l_u8_g*)fzCur.fzF_1__U40__56056->fields.fzF_1__U40__55447;
    fzT_list_l_u8_g fzM_2;
    switch (fzM_1->clazzId)
    {
      case 925:
      {
        // Call calls ref array<u8>.asList target: ref array<u8>:
        fzT_list_l_u8_g fzM_3;
        fzM_3 = fzC__R4array_l_u8_g__1asList(fzM_1,fzM_0);
        fzM_2 = fzM_3;
        break;
      }
      case 1116:
      {
        // Call calls ref conststring.asList target: ref conststring:
        fzT_list_l_u8_g fzM_4;
        fzM_4 = fzC__R1conststring__1asList((fzT__R1conststring*)fzM_1,fzM_0);
        fzM_2 = fzM_4;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_1->clazzId,"ref array<u8>.asList","ref array<u8>.ref arrayCons.tail");
        exit(1);
      }
    }
    //    9: Current
    //   10: Assign to ref array<u8>.ref arrayCons.tail.result
    fzCur.fzF_0_result = fzM_2;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1040 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#1042 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#1045 fuzion.std.err.ascii:
void fzC_fuzion__std__err__ascii()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__std__err__ascii* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__std__err__ascii));

  start:
  {
  }
}
// code for clazz#1046 i32.asString.ascii:
void fzC_1i32__1asString__ascii()
{
  // instance may escape, so we need malloc here
  fzT_1i32__1asString__ascii* fzCur;
  fzCur = malloc(sizeof(fzT_1i32__1asString__ascii));

  start:
  {
  }
}
// code for clazz#1048 ref i32.asString.ascii:
void fzC__R1i32__1asString__ascii()
{
  // instance may escape, so we need malloc here
  fzT__R1i32__1asString__ascii* fzCur;
  fzCur = malloc(sizeof(fzT__R1i32__1asString__ascii));

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

  start:
  {
    //    0: Const
    //    1: Call to u8
    fzT_1u8 fzM_0;
    fzM_0 = fzC_1u8(((uint8_t)10U));
    //    2: Current
    //    3: Assign to fuzion.std.err.ascii.lf.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1050 i32.asString.ascii.lf:
fzT_1u8 fzC_1i32__1asString__ascii__lf()
{
  // instance does not escape, put it on stack
  fzT_1i32__1asString__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 i32.asString.ascii.lf.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1052 ref i32.asString.ascii.lf:
fzT_1u8 fzC__L1052_R1i32__1a__ascii__lf()
{
  // instance does not escape, put it on stack
  fzT__L1052_R1i32__1a__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 ref i32.asString.ascii.lf.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1205 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#4621 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#1080 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#1080 precondition of codepoint:
void fzP_1codepoint(fzT_1u32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT_1codepoint* fzCur;
  fzCur = malloc(sizeof(fzT_1codepoint));

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

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

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

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

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

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

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

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

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

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

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

  start:
  {
    fzCur.fzF_1__U40__163725 = (fzT__R1conststring*)fzouter;
    //    0: Current
    //    1: Call to ref conststring.isEmpty.@163725
    //    2: Call to ref conststring.length
    fzT_1i32 fzM_0;
    fzM_0 = fzC__R1conststring__length(fzCur.fzF_1__U40__163725);
    //    3: Const
    //    4: Call to i32.infix =
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_we(fzM_0,0);
    //    5: Current
    //    6: Assign to ref conststring.isEmpty.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1126 ref conststring.utf8:
fzT__RSequence_l_u8_g* fzC__R1conststring__utf8(fzT__R1conststring* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1conststring__utf8 fzCur;

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

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

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

  start:
  {
  }
}
// code for clazz#1225 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#1226 fuzion.std.exit:
void fzC_fuzion__std__1exit(fzT_1i32 arg0)
{
  exit(arg0);
}
// code for clazz#1229 fuzion.std.err:
void fzC_fuzion__std__err()
{
  // instance may escape, so we need malloc here
  fzT_fuzion__std__err* fzCur;
  fzCur = malloc(sizeof(fzT_fuzion__std__err));

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

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

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

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

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

  start:
  {
    fzCur.fzF_0_s = (fzT__RObject*)arg0;
    //    0: Current
    //    1: Call to fuzion.std.out.print.@307392
    // access to Call to fuzion.std.out.print.@307392 eliminated
    //    2: Current
    //    3: Call to fuzion.std.out.print.s
    //    4: Call to ref Object.asString
    // Dynamic access of ref Object.asString
    fzT__RObject* fzM_0 = (fzT__RObject*)fzCur.fzF_0_s;
    fzT__Rstring* fzM_1;
    switch (fzM_0->clazzId)
    {
      case 1079:
      {
        // Call calls ref codepoint.asString target: ref codepoint:
        fzT__Rstring* fzM_2;
        fzM_2 = fzC__R1codepoint__asString((fzT__R1codepoint*)fzM_0);
        fzM_1 = fzM_2;
        break;
      }
      case 4610:
      {
        // Call calls strings.concat.ref @834261.asString target: strings.concat.ref @834261:
        fzT__Rstring* fzM_3;
        fzM_3 = fzC__L4531strings__2___asString((fzT__L4610strings__2__0__834261*)fzM_0);
        fzM_1 = fzM_3;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_0->clazzId,"ref Object.asString","fuzion.std.out.print");
        exit(1);
      }
    }
    //    5: Call to ref string.utf8
    // Dynamic access of ref string.utf8
    fzT__Rstring* fzM_4 = (fzT__Rstring*)fzM_1;
    fzT__RSequence_l_u8_g* fzM_5;
    switch (fzM_4->clazzId)
    {
      case 1079:
      {
        // 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 4610:
      {
        // Call calls strings.concat.ref @834261.utf8 target: strings.concat.ref @834261:
        fzT__RSequence_l_u8_g* fzM_7;
        fzM_7 = fzC__L4614strings__2__261__utf8((fzT__L4610strings__2__0__834261*)fzM_4);
        fzM_5 = fzM_7;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_4->clazzId,"ref string.utf8","fuzion.std.out.print");
        exit(1);
      }
    }
    //    6: Call to ref Sequence<u8>.asArray
    // Dynamic access of ref Sequence<u8>.asArray
    fzT__RSequence_l_u8_g* fzM_8 = (fzT__RSequence_l_u8_g*)fzM_5;
    fzT_4array_l_u8_g fzM_9;
    switch (fzM_8->clazzId)
    {
      case 925:
      {
        // Call calls ref array<u8>.asArray target: ref array<u8>:
        fzT_4array_l_u8_g fzM_10;
        fzM_10 = fzC__R4array_l_u8_g__asArray((fzT__R4array_l_u8_g*)fzM_8);
        fzM_9 = fzM_10;
        break;
      }
      case 1721:
      {
        // Call calls ref list<u8>.asArray target: ref list<u8>:
        fzT_4array_l_u8_g fzM_11;
        fzM_11 = fzC__Rlist_l_u8_g__asArray((fzT__Rlist_l_u8_g*)fzM_8);
        fzM_9 = fzM_11;
        break;
      }
      default:
      {
        fprintf(stderr,"*** %s:%d: unhandled dynamic target %d in access of %s within %s\012",__FILE__,__LINE__,fzM_8->clazzId,"ref Sequence<u8>.asArray","fuzion.std.out.print");
        exit(1);
      }
    }
    //    7: Call to fuzion.std.out.write
    fzC_fuzion__std__out__1write(fzM_9);
    //    8: Current
    //    9: Assign to fuzion.std.out.print.result
    // access to Assign to fuzion.std.out.print.result eliminated
  }
}
// code for clazz#1252 fuzion.std.out.write:
void fzC_fuzion__std__out__1write(fzT_4array_l_u8_g arg0)
{
  // instance does not escape, put it on stack
  fzT_fuzion__std__out__1write fzCur;

  start:
  {
    fzCur.fzF_0_arr = arg0;
    //    0: Current
    //    1: Call to fuzion.std.out.write.@308991
    // access to Call to fuzion.std.out.write.@308991 eliminated
    //    2: Current
    //    3: Call to fuzion.std.out.write.arr
    //    4: Call to array<u8>.internalArray
    //    5: Call to fuzion.sys.array<u8>.data
    //    6: Current
    //    7: Call to fuzion.std.out.write.arr
    //    8: Call to array<u8>.length
    fzT_1i32 fzM_0;
    fzM_0 = fzC_4array_l_u8_g__length((fzT_4array_l_u8_g*)&fzCur.fzF_0_arr);
    //    9: Call to fuzion.std.out.write
    fzC_fuzion__std__out__2write((fzT__RObject*)fzCur.fzF_0_arr.fzF_0_internalArray.fzF_1_data,fzM_0);
    //   10: Current
    //   11: Assign to fuzion.std.out.write.result
    // access to Assign to fuzion.std.out.write.result eliminated
  }
}
// code for clazz#1256 fuzion.std.out.write:
void fzC_fuzion__std__out__2write(fzT__RObject* arg0, fzT_1i32 arg1)
{
  fwrite((void *)arg0,sizeof(char),arg1,stdout);
}
// code for clazz#1260 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#1269 fuzion.sys.array<u8>.index [ ]:
fzT_1u8 fzC__L1269fuzion__sy__U5b_wU5d_(fzT_fuzion__sys__1array_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L1269fuzion__sy__U5b_wU5d_ fzCur;

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

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

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

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

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

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

  start:
  {
    fzCur.fzF_1__U40__351847 = (fzT_1i32__1infix_woo_RasStream*)fzouter;
    //    0: Current
    //    1: Call to i32.infix ...ref asStream.next.@351847
    //    2: Call to i32.infix ...ref asStream.x
    //    3: Call to numOption<i32>.val
    fzP_numOption_l_i32_g__val((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351847->fields.fzF_1_x);
    fzT_1i32 fzM_0;
    fzM_0 = fzC_numOption_l_i32_g__val((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351847->fields.fzF_1_x);
    //    4: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    5: Current
    //    6: Assign to i32.infix ...ref asStream.next.res
    fzCur.fzF_2_res = fzM_0;
    //    7: Current
    //    8: Call to i32.infix ...ref asStream.next.@351847
    //    9: Call to i32.infix ...ref asStream.x
    //   10: Current
    //   11: Call to i32.infix ...ref asStream.next.@351847
    //   12: Call to i32.infix ...ref asStream.@350880
    //   13: Call to i32.infix ...@348886
    //   14: Call to i32.one
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__one();
    //   15: Tag
    // Tag a value to be of choice type numOption<i32> static value type i32
    fzT_numOption_l_i32_g fzM_2;
    fzM_2.fzTag = 0;
    fzM_2.fzChoice.v0 = fzM_1;
    //   16: Call to numOption<i32>.infix +?
    fzT_numOption_l_i32_g fzM_3;
    fzM_3 = fzC__L2442numOption___infix_wpQ((fzT_numOption_l_i32_g*)&fzCur.fzF_1__U40__351847->fields.fzF_1_x,fzM_2);
    //   17: Current
    //   18: Call to i32.infix ...ref asStream.next.@351847
    //   19: Assign to i32.infix ...asStream.x
    fzCur.fzF_1__U40__351847->fields.fzF_1_x = fzM_3;
    //   20: Current
    //   21: Call to i32.infix ...ref asStream.next.res
    //   22: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   23: Current
    //   24: Assign to i32.infix ...ref asStream.next.result
    fzCur.fzF_0_result = fzCur.fzF_2_res;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1392 i32.infix ...forAll:
void fzC_1i32__1infix_woo__1forAll(fzT_1i32__1infix_woo* fzouter, fzT__RFunction_l_unit_k_i32_g* arg0)
{
  // instance may escape, so we need malloc here
  fzT_1i32__1infix_woo__1forAll* fzCur;
  fzCur = malloc(sizeof(fzT_1i32__1infix_woo__1forAll));

  start:
  {
    fzCur->fzF_2__U40__352255 = fzouter;
    fzCur->fzF_0_f = (fzT__RFunction_l_unit_k_i32_g*)arg0;
    //    0: Current
    //    1: Call to i32.infix ...forAll.@352255
    //    2: Call to i32.infix ...lower
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1infix_woo__lower((fzT_1i32__1infix_woo*)fzCur->fzF_2__U40__352255);
    //    3: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    4: Current
    //    5: Assign to i32.infix ...forAll.x
    fzCur->fzF_3_x = fzM_0;
    //    6: Current
    //    7: Current
    //    8: Call to i32.infix ...forAll.x
    //    9: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   10: Call to i32.infix ...forAll.@352350
    fzT_1i32 fzM_1;
    fzM_1 = fzC__L13971i32__1inf__0__352350((fzT_1i32__1infix_woo__1forAll*)fzCur,fzCur->fzF_3_x);
    //   11: Pop
    //   12: Current
    //   13: Assign to i32.infix ...forAll.result
    // access to Assign to i32.infix ...forAll.result eliminated
  }
}
// code for clazz#1397 i32.infix ...forAll.@352350:
fzT_1i32 fzC__L13971i32__1inf__0__352350(fzT_1i32__1infix_woo__1forAll* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__L13971i32__1inf__0__352350 fzCur;

  start:
  {
    fzCur.fzF_2__U40__352974 = fzouter;
    fzCur.fzF_0_x = arg0;
    //    0: Current
    //    1: Call to i32.infix ...forAll.@352350.x
    //    2: Current
    //    3: Call to i32.infix ...forAll.@352350.@352974
    //    4: Call to i32.infix ...forAll.@352255
    //    5: Call to i32.infix ...upper
    //    6: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //    7: Call to i32.infix <=
    fzT_bool fzM_0;
    fzM_0 = fzC_1i32__1infix_wle(fzCur.fzF_0_x,fzCur.fzF_2__U40__352974->fzF_2__U40__352255->fzF_0_upper);
    //    8: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.infix ...forAll.@352350.@352974
        //    2: Call to i32.infix ...forAll.f
        //    3: Current
        //    4: Call to i32.infix ...forAll.@352350.x
        //    5: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    6: Call to ref Function<unit, i32>.call
        fzC__L4911man_u_or_u__n0__1call((fzT__L4912man_u_or_u__0_R_Hfun0*)fzCur.fzF_2__U40__352974->fzF_0_f,fzCur.fzF_0_x);
        //    7: Pop
        //    8: Current
        //    9: Call to i32.infix ...forAll.@352350.x
        //   10: Current
        //   11: Call to i32.infix ...forAll.@352350.@352974
        //   12: Call to i32.infix ...forAll.@352255
        //   13: Call to i32.infix ...@348886
        //   14: Call to i32.one
        fzT_1i32 fzM_1;
        fzM_1 = fzC_1i32__one();
        //   15: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //   16: Call to i32.infix +
        fzP_1i32__1infix_wp(fzCur.fzF_0_x,fzM_1);
        fzT_1i32 fzM_2;
        fzM_2 = fzC_1i32__1infix_wp(fzCur.fzF_0_x,fzM_1);
        //   17: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //   18: Current
        //   19: Assign to i32.infix ...forAll.@352350.x
        fzCur.fzF_3_x = fzM_2;
        //   20: Current
        //   21: Call to i32.infix ...forAll.@352350.@352974
        //   22: Current
        //   23: Call to i32.infix ...forAll.@352350.x
        //   24: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //   25: Call to i32.infix ...forAll.@352350
        fzT_1i32 fzM_3;
        fzM_3 = fzC__L13971i32__1inf__0__352350((fzT_1i32__1infix_woo__1forAll*)fzCur.fzF_2__U40__352974,fzCur.fzF_3_x);
        //   26: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //   27: Current
        //   28: Assign to i32.infix ...forAll.@352350.@353069
        fzCur.fzF_4__U40__353069 = fzM_3;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to i32.infix ...forAll.@352350.x
        //    2: Box i32 => i32
        // Box is a NOP, clazz is already a ref
        //    3: Current
        //    4: Assign to i32.infix ...forAll.@352350.@353069
        fzCur.fzF_4__U40__353069 = fzCur.fzF_0_x;
        break;
      }
    }
    //   11: Current
    //   12: Call to i32.infix ...forAll.@352350.@353069
    //   13: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   14: Current
    //   15: Assign to i32.infix ...forAll.@352350.@352925
    fzCur.fzF_1__U40__352925 = fzCur.fzF_4__U40__353069;
    return fzCur.fzF_1__U40__352925;
  }
}
// code for clazz#1403 u32.infix ...contains:
fzT_bool fzC_1u32__1infix_woo__1contains(fzT_1u32__1infix_woo* fzouter, fzT_1u32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1u32__1infix_woo__1contains fzCur;

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

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

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

  start:
  {
    fzCur.fzF_1__U40__390840 = fzouter;
    //    0: Current
    //    1: Call to i32.thiz.@390840
    //    2: Call to i32.val
    //    3: Current
    //    4: Assign to i32.thiz.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__390840;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1425 ref i32.thiz:
fzT_1i32 fzC__R1i32__thiz(fzT__R1i32* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1i32__thiz fzCur;

  start:
  {
    fzCur.fzF_1__U40__390840 = (fzT__R1i32*)fzouter;
    //    0: Current
    //    1: Call to ref i32.thiz.@390840
    //    2: Call to ref i32.val
    //    3: Current
    //    4: Assign to ref i32.thiz.result
    fzCur.fzF_0_result = fzCur.fzF_1__U40__390840->fields;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1430 i32.infix /:
fzT_1i32 fzC_1i32__1infix_wd(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1infix_wd fzCur;

  start:
  {
    fzCur.fzF_2__U40__391538 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix /.@391538
    //    2: Current
    //    3: Call to i32.infix /.other
    //    4: Call to i32.div
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1div(fzCur.fzF_2__U40__391538,fzCur.fzF_0_other);
    //    5: Current
    //    6: Assign to i32.infix /.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1430 precondition of i32.infix /:
void fzP_1i32__1infix_wd(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT_1i32__1infix_wd fzCur;

  start:
  {
    fzCur.fzF_2__U40__391538 = fzouter;
    fzCur.fzF_0_other = arg0;
    fzCur.fzF_2__U40__391538 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    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 i32.infix /.other
        //    2: Const
        //    3: Call to i32.infix !=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wne(fzCur.fzF_0_other,0);
        //    4: Current
        //    5: Assign to i32.infix /.@391587
        fzCur.fzF_3__U40__391587 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix /.@391587
        // access to Assign to i32.infix /.@391587 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix /.@391587
    if (!fzCur.fzF_3__U40__391587.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix /");
      exit(1);
    }
  }
}
// code for clazz#1435 i32.infix !=:
fzT_bool fzC_1i32__1infix_wne(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter!=arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1438 i32.infix <:
fzT_bool fzC_1i32__1infix_wl(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter<arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1441 i32.infix <=:
fzT_bool fzC_1i32__1infix_wle(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter<=arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1444 i32.infix >:
fzT_bool fzC_1i32__1infix_wg(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter>arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1447 i32.infix >=:
fzT_bool fzC_1i32__1infix_wge(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter>=arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1450 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__393214 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.infix %.@393214
    //    2: Current
    //    3: Call to i32.infix %.other
    //    4: Call to i32.mod
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1mod(fzCur.fzF_2__U40__393214,fzCur.fzF_0_other);
    //    5: Current
    //    6: Assign to i32.infix %.result
    fzCur.fzF_1_result = fzM_0;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1450 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__393214 = fzouter;
    fzCur.fzF_0_other = arg0;
    fzCur.fzF_2__U40__393214 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    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 i32.infix %.other
        //    2: Const
        //    3: Call to i32.infix !=
        fzT_bool fzM_1;
        fzM_1 = fzC_1i32__1infix_wne(fzCur.fzF_0_other,0);
        //    4: Current
        //    5: Assign to i32.infix %.@393263
        fzCur.fzF_3__U40__393263 = fzM_1;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.infix %.@393263
        // access to Assign to i32.infix %.@393263 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.infix %.@393263
    if (!fzCur.fzF_3__U40__393263.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.infix %");
      exit(1);
    }
  }
}
// code for clazz#1455 i32.as_i64:
fzT_1i64 fzC_1i32__as_u_i64(fzT_1i32 fzouter)
{
  return (fzT_1i64)fzouter;
}
// code for clazz#1457 i32.castTo_u32:
fzT_1u32 fzC_1i32__castTo_u_u32(fzT_1i32 fzouter)
{
  return (fzT_1u32)fzouter;
}
// code for clazz#1459 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#1461 i32.wrappedOnNeg:
fzT_bool fzC_1i32__wrappedOnNeg(fzT_1i32 fzouter)
{
  // instance does not escape, put it on stack
  fzT_1i32__wrappedOnNeg fzCur;

  start:
  {
    fzCur.fzF_1__U40__394565 = fzouter;
    //    0: Current
    //    1: Call to i32.wrappedOnNeg.@394565
    //    2: Call to i32.isMin
    fzT_bool fzM_0;
    fzM_0 = fzC_1i32__isMin(fzCur.fzF_1__U40__394565);
    //    3: Current
    //    4: Assign to i32.wrappedOnNeg.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1464 i32.overflowOnAdd:
fzT_bool fzC_1i32__1overflowOnAdd(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1overflowOnAdd fzCur;

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

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

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

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

  start:
  {
    fzCur.fzF_2__U40__397258 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.overflowOnMul.@397258
    //    2: Call to i32.as_i64
    fzT_1i64 fzM_0;
    fzM_0 = fzC_1i32__as_u_i64(fzCur.fzF_2__U40__397258);
    //    3: Current
    //    4: Call to i32.overflowOnMul.other
    //    5: Call to i32.as_i64
    fzT_1i64 fzM_1;
    fzM_1 = fzC_1i32__as_u_i64(fzCur.fzF_0_other);
    //    6: Call to i64.infix *°
    fzT_1i64 fzM_2;
    fzM_2 = fzC_1i64__1infix_wtO(fzM_0,fzM_1);
    //    7: Current
    //    8: Call to i32.overflowOnMul.@397258
    //    9: Call to i32.max
    fzT_1i32 fzM_3;
    fzM_3 = fzC_1i32__max();
    //   10: Call to i32.as_i64
    fzT_1i64 fzM_4;
    fzM_4 = fzC_1i32__as_u_i64(fzM_3);
    //   11: Call to i64.infix >
    fzT_bool fzM_5;
    fzM_5 = fzC_1i64__1infix_wg(fzM_2,fzM_4);
    //   12: Current
    //   13: Assign to i32.overflowOnMul.result
    fzCur.fzF_1_result = fzM_5;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1488 i32.underflowOnMul:
fzT_bool fzC_1i32__1underflowOnMul(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT_1i32__1underflowOnMul fzCur;

  start:
  {
    fzCur.fzF_2__U40__397662 = fzouter;
    fzCur.fzF_0_other = arg0;
    //    0: Current
    //    1: Call to i32.underflowOnMul.@397662
    //    2: Call to i32.as_i64
    fzT_1i64 fzM_0;
    fzM_0 = fzC_1i32__as_u_i64(fzCur.fzF_2__U40__397662);
    //    3: Current
    //    4: Call to i32.underflowOnMul.other
    //    5: Call to i32.as_i64
    fzT_1i64 fzM_1;
    fzM_1 = fzC_1i32__as_u_i64(fzCur.fzF_0_other);
    //    6: Call to i64.infix *°
    fzT_1i64 fzM_2;
    fzM_2 = fzC_1i64__1infix_wtO(fzM_0,fzM_1);
    //    7: Current
    //    8: Call to i32.underflowOnMul.@397662
    //    9: Call to i32.min
    fzT_1i32 fzM_3;
    fzM_3 = fzC_1i32__min();
    //   10: Call to i32.as_i64
    fzT_1i64 fzM_4;
    fzM_4 = fzC_1i32__as_u_i64(fzM_3);
    //   11: Call to i64.infix <
    fzT_bool fzM_5;
    fzM_5 = fzC_1i64__1infix_wl(fzM_2,fzM_4);
    //   12: Current
    //   13: Assign to i32.underflowOnMul.result
    fzCur.fzF_1_result = fzM_5;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1492 i32.prefix -°:
fzT_1i32 fzC_1i32__prefix_wmO(fzT_1i32 fzouter)
{
  return (int32_t)((uint32_t)0-(uint32_t)fzouter);
}
// code for clazz#1494 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#1497 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#1500 i32.infix *°:
fzT_1i32 fzC_1i32__1infix_wtO(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return (int32_t)((uint32_t)fzouter*(uint32_t)arg0);
}
// code for clazz#1503 i32.div:
fzT_1i32 fzC_1i32__1div(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter/arg0;
}
// code for clazz#1506 i32.mod:
fzT_1i32 fzC_1i32__1mod(fzT_1i32 fzouter, fzT_1i32 arg0)
{
  return fzouter%arg0;
}
// code for clazz#1509 i32.as_u8:
fzT_1u8 fzC_1i32__as_u_u8(fzT_1i32 fzouter)
{
  // instance does not escape, put it on stack
  fzT_1i32__as_u_u8 fzCur;

  start:
  {
    fzCur.fzF_1__U40__399944 = fzouter;
    //    0: Current
    //    1: Call to i32.as_u8.@399944
    //    2: Call to i32.low8bits
    fzT_1u8 fzM_0;
    fzM_0 = fzC_1i32__low8bits(fzCur.fzF_1__U40__399944);
    //    3: Current
    //    4: Assign to i32.as_u8.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1509 precondition of i32.as_u8:
void fzP_1i32__as_u_u8(fzT_1i32 fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_1i32__as_u_u8 fzCur;

  start:
  {
    fzCur.fzF_1__U40__399944 = fzouter;
    fzCur.fzF_1__U40__399944 = fzouter;
    //    0: Current
    //    1: Call to i32.as_u8.@399944
    //    2: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_1__U40__399944);
    //    3: Call to u8
    fzC_u8();
    //    4: Call to u8s.min
    fzT_1u8 fzM_1;
    fzM_1 = fzC_u8s__min();
    //    5: Call to u8.as_i32
    fzT_1i32 fzM_2;
    fzM_2 = fzC_1u8__as_u_i32(fzM_1);
    //    6: Call to i32.infix >=
    fzT_bool fzM_3;
    fzM_3 = fzC_1i32__1infix_wge(fzM_0,fzM_2);
    if (!fzM_3.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.as_u8");
      exit(1);
    }
    //    0: Current
    //    1: Call to i32.as_u8.@399944
    //    2: Call to i32.thiz
    fzT_1i32 fzM_4;
    fzM_4 = fzC_1i32__thiz(fzCur.fzF_1__U40__399944);
    //    3: Call to u8
    fzC_u8();
    //    4: Call to u8s.max
    fzT_1u8 fzM_5;
    fzM_5 = fzC_u8s__max();
    //    5: Call to u8.as_i32
    fzT_1i32 fzM_6;
    fzM_6 = fzC_1u8__as_u_i32(fzM_5);
    //    6: Call to i32.infix <=
    fzT_bool fzM_7;
    fzM_7 = fzC_1i32__1infix_wle(fzM_4,fzM_6);
    if (!fzM_7.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.as_u8");
      exit(1);
    }
  }
}
// code for clazz#1512 i32.as_u32:
fzT_1u32 fzC_1i32__as_u_u32(fzT_1i32 fzouter)
{
  // instance does not escape, put it on stack
  fzT_1i32__as_u_u32 fzCur;

  start:
  {
    fzCur.fzF_1__U40__400772 = fzouter;
    //    0: Current
    //    1: Call to i32.as_u32.@400772
    //    2: Call to i32.castTo_u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1i32__castTo_u_u32(fzCur.fzF_1__U40__400772);
    //    3: Current
    //    4: Assign to i32.as_u32.result
    fzCur.fzF_0_result = fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1512 precondition of i32.as_u32:
void fzP_1i32__as_u_u32(fzT_1i32 fzouter)
{
  // for precondition only, need to check if it may escape
  fzT_1i32__as_u_u32 fzCur;

  start:
  {
    fzCur.fzF_1__U40__400772 = fzouter;
    fzCur.fzF_1__U40__400772 = 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 i32.as_u32.@400772
        //    2: Call to i32.thiz
        fzT_1i32 fzM_1;
        fzM_1 = fzC_1i32__thiz(fzCur.fzF_1__U40__400772);
        //    3: Const
        //    4: Call to i32.infix >=
        fzT_bool fzM_2;
        fzM_2 = fzC_1i32__1infix_wge(fzM_1,0);
        //    5: Current
        //    6: Assign to i32.as_u32.@400821
        fzCur.fzF_2__U40__400821 = fzM_2;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.as_u32.@400821
        // access to Assign to i32.as_u32.@400821 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.as_u32.@400821
    if (!fzCur.fzF_2__U40__400821.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.as_u32");
      exit(1);
    }
  }
}
// code for clazz#1516 i32.low8bits:
fzT_1u8 fzC_1i32__low8bits(fzT_1i32 fzouter)
{
  // instance does not escape, put it on stack
  fzT_1i32__low8bits fzCur;

  start:
  {
    fzCur.fzF_1__U40__402266 = fzouter;
    //    0: Current
    //    1: Call to i32.low8bits.@402266
    //    2: Call to i32.castTo_u32
    fzT_1u32 fzM_0;
    fzM_0 = fzC_1i32__castTo_u_u32(fzCur.fzF_1__U40__402266);
    //    3: Call to u32.low8bits
    fzT_1u8 fzM_1;
    fzM_1 = fzC_1u32__low8bits(fzM_0);
    //    4: Current
    //    5: Assign to i32.low8bits.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1521 i32.zero:
fzT_1i32 fzC_1i32__zero()
{
  // instance does not escape, put it on stack
  fzT_1i32__zero fzCur;

  start:
  {
    //    0: Const
    //    1: Current
    //    2: Assign to i32.zero.result
    fzCur.fzF_0_result = 0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1523 ref i32.zero:
fzT_1i32 fzC__R1i32__zero()
{
  // instance does not escape, put it on stack
  fzT__R1i32__zero fzCur;

  start:
  {
    //    0: Const
    //    1: Current
    //    2: Assign to ref i32.zero.result
    fzCur.fzF_0_result = 0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1527 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#1528 ref i32.one:
fzT_1i32 fzC__R1i32__one()
{
  // instance does not escape, put it on stack
  fzT__R1i32__one fzCur;

  start:
  {
    //    0: Const
    //    1: Current
    //    2: Assign to ref i32.one.result
    fzCur.fzF_0_result = 1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1531 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#1535 i64.infix <:
fzT_bool fzC_1i64__1infix_wl(fzT_1i64 fzouter, fzT_1i64 arg0)
{
  return fzouter<arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1538 i64.infix >:
fzT_bool fzC_1i64__1infix_wg(fzT_1i64 fzouter, fzT_1i64 arg0)
{
  return fzouter>arg0?(fzT_bool){1}:(fzT_bool){0};
}
// code for clazz#1541 i64.infix *°:
fzT_1i64 fzC_1i64__1infix_wtO(fzT_1i64 fzouter, fzT_1i64 arg0)
{
  return (int64_t)((uint64_t)fzouter*(uint64_t)arg0);
}
// code for clazz#1553 ref i32.asString:
fzT__Rstring* fzC__R1i32__asString(fzT__R1i32* fzouter)
{
  // instance does not escape, put it on stack
  fzT__R1i32__asString fzCur;

  start:
  {
    fzCur.fzF_1__U40__451704 = (fzT__R1i32*)fzouter;
    //    0: Current
    //    1: Call to ref i32.asString.@451704
    //    2: Const
    //    3: Call to ref i32.asString
    fzP__R1i32__1asString(fzCur.fzF_1__U40__451704,10U);
    fzT__Rstring* fzM_0;
    fzM_0 = fzC__R1i32__1asString(fzCur.fzF_1__U40__451704,10U);
    //    4: Current
    //    5: Assign to ref i32.asString.result
    fzCur.fzF_0_result = (fzT__Rstring*)fzM_0;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1560 i32.asString:
fzT__Rstring* fzC_1i32__1asString(fzT_1i32 fzouter, fzT_1u32 arg0)
{
  // instance may escape, so we need malloc here
  fzT_1i32__1asString* fzCur;
  fzCur = malloc(sizeof(fzT_1i32__1asString));

  start:
  {
    fzCur->fzF_2__U40__452305 = fzouter;
    fzCur->fzF_0_base = arg0;
    //    0: Current
    //    1: Call to i32.asString.ref @452350
    fzT__L15721i32__1asS__0__452350* fzM_0;
    fzM_0 = fzC__L15721i32__1asS__0__452350((fzT_1i32__1asString*)fzCur);
    //    2: Current
    //    3: Assign to i32.asString.result
    fzCur->fzF_1_result = (fzT__Rstring*)fzM_0;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#1560 precondition of i32.asString:
void fzP_1i32__1asString(fzT_1i32 fzouter, fzT_1u32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT_1i32__1asString* fzCur;
  fzCur = malloc(sizeof(fzT_1i32__1asString));

  start:
  {
    fzCur->fzF_2__U40__452305 = fzouter;
    fzCur->fzF_0_base = arg0;
    fzCur->fzF_2__U40__452305 = fzouter;
    fzCur->fzF_0_base = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Call to u32
        fzT_1u32 fzM_1;
        fzM_1 = fzC_1u32(1U);
        //    2: Current
        //    3: Call to i32.asString.base
        //    4: Current
        //    5: Assign to i32.asString.@456100
        fzCur->fzF_3__U40__456100 = fzCur->fzF_0_base;
        //    6: Current
        //    7: Call to i32.asString.@456100
        //    8: Call to u32.infix <
        fzT_bool fzM_2;
        fzM_2 = fzC_1u32__1infix_wl(fzM_1,fzCur->fzF_3__U40__456100);
        //    9: Match
        switch (fzM_2.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Current
            //    1: Call to i32.asString.@456100
            //    2: Const
            //    3: Call to u32.infix <=
            fzT_bool fzM_3;
            fzM_3 = fzC_1u32__1infix_wle(fzCur->fzF_3__U40__456100,36U);
            //    4: Current
            //    5: Assign to i32.asString.@456149
            fzCur->fzF_4__U40__456149 = fzM_3;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to i32.asString.@456149
            fzCur->fzF_4__U40__456149 = (fzT_bool){0};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to i32.asString.@456149
        // access to Assign to i32.asString.@456149 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to i32.asString.@456149
    if (!fzCur->fzF_4__U40__456149.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","i32.asString");
      exit(1);
    }
  }
}
// code for clazz#1562 ref i32.asString:
fzT__Rstring* fzC__R1i32__1asString(fzT__R1i32* fzouter, fzT_1u32 arg0)
{
  // instance may escape, so we need malloc here
  fzT__R1i32__1asString* fzCur;
  fzCur = malloc(sizeof(fzT__R1i32__1asString));

  start:
  {
    fzCur->fzF_2__U40__452305 = (fzT__R1i32*)fzouter;
    fzCur->fzF_0_base = arg0;
    //    0: Current
    //    1: Call to ref i32.asString.ref @452350
    fzT__L1574_R1i32__1a__0__452350* fzM_0;
    fzM_0 = fzC__L1574_R1i32__1a__0__452350((fzT__R1i32__1asString*)fzCur);
    //    2: Current
    //    3: Assign to ref i32.asString.result
    fzCur->fzF_1_result = (fzT__Rstring*)fzM_0;
    return fzCur->fzF_1_result;
  }
}
// code for clazz#1562 precondition of ref i32.asString:
void fzP__R1i32__1asString(fzT__R1i32* fzouter, fzT_1u32 arg0)
{
  // for precondition only, need to check if it may escape
  fzT__R1i32__1asString* fzCur;
  fzCur = malloc(sizeof(fzT__R1i32__1asString));

  start:
  {
    fzCur->fzF_2__U40__452305 = (fzT__R1i32*)fzouter;
    fzCur->fzF_0_base = arg0;
    fzCur->fzF_2__U40__452305 = (fzT__R1i32*)fzouter;
    fzCur->fzF_0_base = arg0;
    //    0: Call to debug
    fzT_bool fzM_0;
    fzM_0 = fzC_debug();
    //    1: Match
    switch (fzM_0.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Const
        //    1: Call to u32
        fzT_1u32 fzM_1;
        fzM_1 = fzC_1u32(1U);
        //    2: Current
        //    3: Call to ref i32.asString.base
        //    4: Current
        //    5: Assign to ref i32.asString.@456100
        fzCur->fzF_3__U40__456100 = fzCur->fzF_0_base;
        //    6: Current
        //    7: Call to ref i32.asString.@456100
        //    8: Call to u32.infix <
        fzT_bool fzM_2;
        fzM_2 = fzC_1u32__1infix_wl(fzM_1,fzCur->fzF_3__U40__456100);
        //    9: Match
        switch (fzM_2.fzTag)
        {
          case 1/* TRUE */:
          {
            //    0: Current
            //    1: Call to ref i32.asString.@456100
            //    2: Const
            //    3: Call to u32.infix <=
            fzT_bool fzM_3;
            fzM_3 = fzC_1u32__1infix_wle(fzCur->fzF_3__U40__456100,36U);
            //    4: Current
            //    5: Assign to ref i32.asString.@456149
            fzCur->fzF_4__U40__456149 = fzM_3;
            break;
          }
          case 0/* FALSE */:
          {
            //    0: Const
            //    1: Current
            //    2: Assign to ref i32.asString.@456149
            fzCur->fzF_4__U40__456149 = (fzT_bool){0};
            break;
          }
        }
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Const
        //    1: Current
        //    2: Assign to ref i32.asString.@456149
        // access to Assign to ref i32.asString.@456149 eliminated
        break;
      }
    }
    //    4: Current
    //    5: Call to ref i32.asString.@456149
    if (!fzCur->fzF_4__U40__456149.fzTag)
    {
      fprintf(stderr,"*** failed pre-condition on call to \047%s\047\012","ref i32.asString");
      exit(1);
    }
  }
}
// code for clazz#1572 i32.asString.ref @452350:
fzT__L15721i32__1asS__0__452350* fzC__L15721i32__1asS__0__452350(fzT_1i32__1asString* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L15721i32__1asS__0__452350* fzCur;
  fzCur = malloc(sizeof(fzT__L15721i32__1asS__0__452350));
  fzCur->clazzId = 1572;

  start:
  {
    fzCur->fields.fzF_0__U40__452416 = fzouter;
    return fzCur;
  }
}
// code for clazz#1574 ref i32.asString.ref @452350:
fzT__L1574_R1i32__1a__0__452350* fzC__L1574_R1i32__1a__0__452350(fzT__R1i32__1asString* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L1574_R1i32__1a__0__452350* fzCur;
  fzCur = malloc(sizeof(fzT__L1574_R1i32__1a__0__452350));
  fzCur->clazzId = 1574;

  start:
  {
    fzCur->fields.fzF_0__U40__452416 = fzouter;
    return fzCur;
  }
}
// code for clazz#1584 i32.asString.ref @452350.ref utf8:
fzT__L15841i32__1asS__350_Rutf8* fzC__L15841i32__1asS__350_Rutf8(fzT__L15721i32__1asS__0__452350* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L15841i32__1asS__350_Rutf8* fzCur;
  fzCur = malloc(sizeof(fzT__L15841i32__1asS__350_Rutf8));
  fzCur->clazzId = 1584;

  start:
  {
    fzCur->fields.fzF_0__U40__452543 = (fzT__L15721i32__1asS__0__452350*)fzouter;
    return fzCur;
  }
}
// code for clazz#1586 ref i32.asString.ref @452350.ref utf8:
fzT__L1586_R1i32__1a__350_Rutf8* fzC__L1586_R1i32__1a__350_Rutf8(fzT__L1574_R1i32__1a__0__452350* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L1586_R1i32__1a__350_Rutf8* fzCur;
  fzCur = malloc(sizeof(fzT__L1586_R1i32__1a__350_Rutf8));
  fzCur->clazzId = 1586;

  start:
  {
    fzCur->fields.fzF_0__U40__452543 = (fzT__L1574_R1i32__1a__0__452350*)fzouter;
    return fzCur;
  }
}
// code for clazz#1596 i32.asString.ref @452350.ref utf8.asStream:
fzT__Rstream_l_u8_g* fzC__L15961i32__1asS___asStream(fzT__L15841i32__1asS__350_Rutf8* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L15961i32__1asS___asStream* fzCur;
  fzCur = malloc(sizeof(fzT__L15961i32__1asS___asStream));

  start:
  {
    fzCur->fzF_1__U40__454023 = (fzT__L15841i32__1asS__350_Rutf8*)fzouter;
    //    0: Current
    //    1: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
    //    2: Call to i32.asString.ref @452350.ref utf8.@452543
    //    3: Call to i32.asString.ref @452350.@452416
    //    4: Call to i32.asString.@452305
    //    5: Current
    //    6: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
    //    7: Call to i32.asString.ref @452350.ref utf8.@452543
    //    8: Call to i32.asString.ref @452350.@452416
    //    9: Call to i32.asString.base
    //   10: Call to i32.from_u32
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__1from_u_u32(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
    //   11: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   12: Current
    //   13: Assign to i32.asString.ref @452350.ref utf8.asStream.b
    fzCur->fzF_2_b = fzM_0;
    //   14: Current
    //   15: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
    //   16: Call to i32.asString.ref @452350.ref utf8.@452543
    //   17: Call to i32.asString.ref @452350.@452416
    //   18: Call to i32.asString.@452305
    //   19: Call to i32.thiz
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
    //   20: Call to i32.sign
    fzT_1i32 fzM_2;
    fzM_2 = fzC_1i32__sign(fzM_1);
    //   21: Const
    //   22: Call to i32.infix >=
    fzT_bool fzM_3;
    fzM_3 = fzC_1i32__1infix_wge(fzM_2,0);
    //   23: Match
    switch (fzM_3.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222
        fzT__L16141i32__1asS__0__454222* fzM_4;
        fzM_4 = fzC__L16141i32__1asS__0__454222((fzT__L15961i32__1asS___asStream*)fzCur);
        //    2: Current
        //    3: Assign to i32.asString.ref @452350.ref utf8.asStream.@456051
        fzCur->fzF_5__U40__456051 = (fzT__Rstream_l_u8_g*)fzM_4;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
        //    2: Call to i32.asString.ref @452350.ref utf8.@452543
        //    3: Call to i32.asString.ref @452350.@452416
        //    4: Call to i32.asString.@452305
        //    5: Call to i32.thiz
        fzT_1i32 fzM_5;
        fzM_5 = fzC_1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
        //    6: Call to i32.prefix -?
        fzT_numOption_l_i32_g fzM_6;
        fzM_6 = fzC_1i32__prefix_wmQ(fzM_5);
        //    7: Current
        //    8: Assign to i32.asString.ref @452350.ref utf8.asStream.p
        fzCur->fzF_3_p = fzM_6;
        //    9: Current
        //   10: Call to i32.asString.ref @452350.ref utf8.asStream.p
        //   11: Match
        switch (fzCur->fzF_3_p.fzTag)
        {
          case 0/* i32 */:
          {
            fzCur->fzF_4_v = fzCur->fzF_3_p.fzChoice.v0;
            //    0: Const
            fzT__R1conststring* fzM_7;
            fzM_7 = malloc(sizeof(fzT__R1conststring));
            fzM_7->clazzId = 1116;
            fzM_7->fields.fzF_0_internalArray.fzF_1_data = (void *)"-";
            fzM_7->fields.fzF_0_internalArray.fzF_0_length = 1;
            //    1: Current
            //    2: Call to i32.asString.ref @452350.ref utf8.asStream.v
            //    3: Current
            //    4: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
            //    5: Call to i32.asString.ref @452350.ref utf8.@452543
            //    6: Call to i32.asString.ref @452350.@452416
            //    7: Call to i32.asString.base
            //    8: Call to i32.asString
            fzP_1i32__1asString(fzCur->fzF_4_v,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            fzT__Rstring* fzM_8;
            fzM_8 = fzC_1i32__1asString(fzCur->fzF_4_v,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            //    9: Call to ref conststring.infix +
            fzT__Rstring* fzM_9;
            fzM_9 = fzC__R1conststring__1infix_wp(fzM_7,(fzT__RObject*)fzM_8);
            //   10: Call to ref string.utf8
            fzT__RSequence_l_u8_g* fzM_10;
            fzM_10 = fzC__L4614strings__2__261__utf8((fzT__L4610strings__2__0__834261*)fzM_9);
            //   11: Call to ref Sequence<u8>.asStream
            fzT__Rlist_l_u8_g_RasStream* fzM_11;
            fzM_11 = fzC__Rlist_l_u8_g_RasStream((fzT__Rlist_l_u8_g*)fzM_10);
            //   12: Current
            //   13: Assign to i32.asString.ref @452350.ref utf8.asStream.@456051
            fzCur->fzF_5__U40__456051 = (fzT__Rstream_l_u8_g*)fzM_11;
            break;
          }
          case 1/* nil */:
          {
            //    0: Const
            fzT__R1conststring* fzM_12;
            fzM_12 = malloc(sizeof(fzT__R1conststring));
            fzM_12->clazzId = 1116;
            fzM_12->fields.fzF_0_internalArray.fzF_1_data = (void *)"-";
            fzM_12->fields.fzF_0_internalArray.fzF_0_length = 1;
            //    1: Current
            //    2: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
            //    3: Call to i32.asString.ref @452350.ref utf8.@452543
            //    4: Call to i32.asString.ref @452350.@452416
            //    5: Call to i32.asString.@452305
            //    6: Call to i32.thiz
            fzT_1i32 fzM_13;
            fzM_13 = fzC_1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
            //    7: Current
            //    8: Call to i32.asString.ref @452350.ref utf8.asStream.b
            //    9: Box i32 => i32
            // Box is a NOP, clazz is already a ref
            //   10: Call to i32.infix /
            fzP_1i32__1infix_wd(fzM_13,fzCur->fzF_2_b);
            fzT_1i32 fzM_14;
            fzM_14 = fzC_1i32__1infix_wd(fzM_13,fzCur->fzF_2_b);
            //   11: Call to i32.prefix -
            fzP_1i32__prefix_wm(fzM_14);
            fzT_1i32 fzM_15;
            fzM_15 = fzC_1i32__prefix_wm(fzM_14);
            //   12: Current
            //   13: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
            //   14: Call to i32.asString.ref @452350.ref utf8.@452543
            //   15: Call to i32.asString.ref @452350.@452416
            //   16: Call to i32.asString.base
            //   17: Call to i32.asString
            fzP_1i32__1asString(fzM_15,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            fzT__Rstring* fzM_16;
            fzM_16 = fzC_1i32__1asString(fzM_15,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            //   18: Call to ref conststring.infix +
            fzT__Rstring* fzM_17;
            fzM_17 = fzC__R1conststring__1infix_wp(fzM_12,(fzT__RObject*)fzM_16);
            //   19: Current
            //   20: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
            //   21: Call to i32.asString.ref @452350.ref utf8.@452543
            //   22: Call to i32.asString.ref @452350.@452416
            //   23: Call to i32.asString.@452305
            //   24: Call to i32.thiz
            fzT_1i32 fzM_18;
            fzM_18 = fzC_1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
            //   25: Current
            //   26: Call to i32.asString.ref @452350.ref utf8.asStream.b
            //   27: Box i32 => i32
            // Box is a NOP, clazz is already a ref
            //   28: Call to i32.infix %
            fzP_1i32__1infix_wP(fzM_18,fzCur->fzF_2_b);
            fzT_1i32 fzM_19;
            fzM_19 = fzC_1i32__1infix_wP(fzM_18,fzCur->fzF_2_b);
            //   29: Call to i32.prefix -
            fzP_1i32__prefix_wm(fzM_19);
            fzT_1i32 fzM_20;
            fzM_20 = fzC_1i32__prefix_wm(fzM_19);
            //   30: Current
            //   31: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
            //   32: Call to i32.asString.ref @452350.ref utf8.@452543
            //   33: Call to i32.asString.ref @452350.@452416
            //   34: Call to i32.asString.base
            //   35: Call to i32.asString
            fzP_1i32__1asString(fzM_20,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            fzT__Rstring* fzM_21;
            fzM_21 = fzC_1i32__1asString(fzM_20,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            //   36: Call to ref string.infix +
            fzT__Rstring* fzM_22;
            fzM_22 = fzC__L4569strings__2__1infix_wp((fzT__L4610strings__2__0__834261*)fzM_17,(fzT__RObject*)fzM_21);
            //   37: Call to ref string.utf8
            fzT__RSequence_l_u8_g* fzM_23;
            fzM_23 = fzC__L4614strings__2__261__utf8((fzT__L4610strings__2__0__834261*)fzM_22);
            //   38: Call to ref Sequence<u8>.asStream
            fzT__Rlist_l_u8_g_RasStream* fzM_24;
            fzM_24 = fzC__Rlist_l_u8_g_RasStream((fzT__Rlist_l_u8_g*)fzM_23);
            //   39: Current
            //   40: Assign to i32.asString.ref @452350.ref utf8.asStream.@456051
            fzCur->fzF_5__U40__456051 = (fzT__Rstream_l_u8_g*)fzM_24;
            break;
          }
        }
        break;
      }
    }
    //   26: Current
    //   27: Call to i32.asString.ref @452350.ref utf8.asStream.@456051
    //   28: Current
    //   29: Assign to i32.asString.ref @452350.ref utf8.asStream.result
    fzCur->fzF_0_result = (fzT__Rstream_l_u8_g*)fzCur->fzF_5__U40__456051;
    return fzCur->fzF_0_result;
  }
}
// code for clazz#1598 ref i32.asString.ref @452350.ref utf8.asStream:
fzT__Rstream_l_u8_g* fzC__L1598_R1i32__1a___asStream(fzT__L1586_R1i32__1a__350_Rutf8* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L1598_R1i32__1a___asStream* fzCur;
  fzCur = malloc(sizeof(fzT__L1598_R1i32__1a___asStream));

  start:
  {
    fzCur->fzF_1__U40__454023 = (fzT__L1586_R1i32__1a__350_Rutf8*)fzouter;
    //    0: Current
    //    1: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
    //    2: Call to ref i32.asString.ref @452350.ref utf8.@452543
    //    3: Call to ref i32.asString.ref @452350.@452416
    //    4: Call to ref i32.asString.@452305
    //    5: Current
    //    6: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
    //    7: Call to ref i32.asString.ref @452350.ref utf8.@452543
    //    8: Call to ref i32.asString.ref @452350.@452416
    //    9: Call to ref i32.asString.base
    //   10: Call to ref i32.from_u32
    fzT_1i32 fzM_0;
    fzM_0 = fzC__R1i32__1from_u_u32(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
    //   11: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   12: Current
    //   13: Assign to ref i32.asString.ref @452350.ref utf8.asStream.b
    fzCur->fzF_2_b = fzM_0;
    //   14: Current
    //   15: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
    //   16: Call to ref i32.asString.ref @452350.ref utf8.@452543
    //   17: Call to ref i32.asString.ref @452350.@452416
    //   18: Call to ref i32.asString.@452305
    //   19: Call to ref i32.thiz
    fzT_1i32 fzM_1;
    fzM_1 = fzC__R1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
    //   20: Call to i32.sign
    fzT_1i32 fzM_2;
    fzM_2 = fzC_1i32__sign(fzM_1);
    //   21: Const
    //   22: Call to i32.infix >=
    fzT_bool fzM_3;
    fzM_3 = fzC_1i32__1infix_wge(fzM_2,0);
    //   23: Match
    switch (fzM_3.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Current
        //    1: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222
        fzT__L1616_R1i32__1a__0__454222* fzM_4;
        fzM_4 = fzC__L1616_R1i32__1a__0__454222((fzT__L1598_R1i32__1a___asStream*)fzCur);
        //    2: Current
        //    3: Assign to ref i32.asString.ref @452350.ref utf8.asStream.@456051
        fzCur->fzF_5__U40__456051 = (fzT__Rstream_l_u8_g*)fzM_4;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Current
        //    1: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
        //    2: Call to ref i32.asString.ref @452350.ref utf8.@452543
        //    3: Call to ref i32.asString.ref @452350.@452416
        //    4: Call to ref i32.asString.@452305
        //    5: Call to ref i32.thiz
        fzT_1i32 fzM_5;
        fzM_5 = fzC__R1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
        //    6: Call to i32.prefix -?
        fzT_numOption_l_i32_g fzM_6;
        fzM_6 = fzC_1i32__prefix_wmQ(fzM_5);
        //    7: Current
        //    8: Assign to ref i32.asString.ref @452350.ref utf8.asStream.p
        fzCur->fzF_3_p = fzM_6;
        //    9: Current
        //   10: Call to ref i32.asString.ref @452350.ref utf8.asStream.p
        //   11: Match
        switch (fzCur->fzF_3_p.fzTag)
        {
          case 0/* i32 */:
          {
            fzCur->fzF_4_v = fzCur->fzF_3_p.fzChoice.v0;
            //    0: Const
            fzT__R1conststring* fzM_7;
            fzM_7 = malloc(sizeof(fzT__R1conststring));
            fzM_7->clazzId = 1116;
            fzM_7->fields.fzF_0_internalArray.fzF_1_data = (void *)"-";
            fzM_7->fields.fzF_0_internalArray.fzF_0_length = 1;
            //    1: Current
            //    2: Call to ref i32.asString.ref @452350.ref utf8.asStream.v
            //    3: Current
            //    4: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
            //    5: Call to ref i32.asString.ref @452350.ref utf8.@452543
            //    6: Call to ref i32.asString.ref @452350.@452416
            //    7: Call to ref i32.asString.base
            //    8: Call to i32.asString
            fzP_1i32__1asString(fzCur->fzF_4_v,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            fzT__Rstring* fzM_8;
            fzM_8 = fzC_1i32__1asString(fzCur->fzF_4_v,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            //    9: Call to ref conststring.infix +
            fzT__Rstring* fzM_9;
            fzM_9 = fzC__R1conststring__1infix_wp(fzM_7,(fzT__RObject*)fzM_8);
            //   10: Call to ref string.utf8
            fzT__RSequence_l_u8_g* fzM_10;
            fzM_10 = fzC__L4614strings__2__261__utf8((fzT__L4610strings__2__0__834261*)fzM_9);
            //   11: Call to ref Sequence<u8>.asStream
            fzT__Rlist_l_u8_g_RasStream* fzM_11;
            fzM_11 = fzC__Rlist_l_u8_g_RasStream((fzT__Rlist_l_u8_g*)fzM_10);
            //   12: Current
            //   13: Assign to ref i32.asString.ref @452350.ref utf8.asStream.@456051
            fzCur->fzF_5__U40__456051 = (fzT__Rstream_l_u8_g*)fzM_11;
            break;
          }
          case 1/* nil */:
          {
            //    0: Const
            fzT__R1conststring* fzM_12;
            fzM_12 = malloc(sizeof(fzT__R1conststring));
            fzM_12->clazzId = 1116;
            fzM_12->fields.fzF_0_internalArray.fzF_1_data = (void *)"-";
            fzM_12->fields.fzF_0_internalArray.fzF_0_length = 1;
            //    1: Current
            //    2: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
            //    3: Call to ref i32.asString.ref @452350.ref utf8.@452543
            //    4: Call to ref i32.asString.ref @452350.@452416
            //    5: Call to ref i32.asString.@452305
            //    6: Call to ref i32.thiz
            fzT_1i32 fzM_13;
            fzM_13 = fzC__R1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
            //    7: Current
            //    8: Call to ref i32.asString.ref @452350.ref utf8.asStream.b
            //    9: Box i32 => i32
            // Box is a NOP, clazz is already a ref
            //   10: Call to i32.infix /
            fzP_1i32__1infix_wd(fzM_13,fzCur->fzF_2_b);
            fzT_1i32 fzM_14;
            fzM_14 = fzC_1i32__1infix_wd(fzM_13,fzCur->fzF_2_b);
            //   11: Call to i32.prefix -
            fzP_1i32__prefix_wm(fzM_14);
            fzT_1i32 fzM_15;
            fzM_15 = fzC_1i32__prefix_wm(fzM_14);
            //   12: Current
            //   13: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
            //   14: Call to ref i32.asString.ref @452350.ref utf8.@452543
            //   15: Call to ref i32.asString.ref @452350.@452416
            //   16: Call to ref i32.asString.base
            //   17: Call to i32.asString
            fzP_1i32__1asString(fzM_15,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            fzT__Rstring* fzM_16;
            fzM_16 = fzC_1i32__1asString(fzM_15,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            //   18: Call to ref conststring.infix +
            fzT__Rstring* fzM_17;
            fzM_17 = fzC__R1conststring__1infix_wp(fzM_12,(fzT__RObject*)fzM_16);
            //   19: Current
            //   20: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
            //   21: Call to ref i32.asString.ref @452350.ref utf8.@452543
            //   22: Call to ref i32.asString.ref @452350.@452416
            //   23: Call to ref i32.asString.@452305
            //   24: Call to ref i32.thiz
            fzT_1i32 fzM_18;
            fzM_18 = fzC__R1i32__thiz(fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
            //   25: Current
            //   26: Call to ref i32.asString.ref @452350.ref utf8.asStream.b
            //   27: Box i32 => i32
            // Box is a NOP, clazz is already a ref
            //   28: Call to i32.infix %
            fzP_1i32__1infix_wP(fzM_18,fzCur->fzF_2_b);
            fzT_1i32 fzM_19;
            fzM_19 = fzC_1i32__1infix_wP(fzM_18,fzCur->fzF_2_b);
            //   29: Call to i32.prefix -
            fzP_1i32__prefix_wm(fzM_19);
            fzT_1i32 fzM_20;
            fzM_20 = fzC_1i32__prefix_wm(fzM_19);
            //   30: Current
            //   31: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
            //   32: Call to ref i32.asString.ref @452350.ref utf8.@452543
            //   33: Call to ref i32.asString.ref @452350.@452416
            //   34: Call to ref i32.asString.base
            //   35: Call to i32.asString
            fzP_1i32__1asString(fzM_20,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            fzT__Rstring* fzM_21;
            fzM_21 = fzC_1i32__1asString(fzM_20,fzCur->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_0_base);
            //   36: Call to ref string.infix +
            fzT__Rstring* fzM_22;
            fzM_22 = fzC__L4569strings__2__1infix_wp((fzT__L4610strings__2__0__834261*)fzM_17,(fzT__RObject*)fzM_21);
            //   37: Call to ref string.utf8
            fzT__RSequence_l_u8_g* fzM_23;
            fzM_23 = fzC__L4614strings__2__261__utf8((fzT__L4610strings__2__0__834261*)fzM_22);
            //   38: Call to ref Sequence<u8>.asStream
            fzT__Rlist_l_u8_g_RasStream* fzM_24;
            fzM_24 = fzC__Rlist_l_u8_g_RasStream((fzT__Rlist_l_u8_g*)fzM_23);
            //   39: Current
            //   40: Assign to ref i32.asString.ref @452350.ref utf8.asStream.@456051
            fzCur->fzF_5__U40__456051 = (fzT__Rstream_l_u8_g*)fzM_24;
            break;
          }
        }
        break;
      }
    }
    //   26: Current
    //   27: Call to ref i32.asString.ref @452350.ref utf8.asStream.@456051
    //   28: Current
    //   29: Assign to ref i32.asString.ref @452350.ref utf8.asStream.result
    fzCur->fzF_0_result = (fzT__Rstream_l_u8_g*)fzCur->fzF_5__U40__456051;
    return fzCur->fzF_0_result;
  }
}
// code for clazz#1614 i32.asString.ref @452350.ref utf8.asStream.ref @454222:
fzT__L16141i32__1asS__0__454222* fzC__L16141i32__1asS__0__454222(fzT__L15961i32__1asS___asStream* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L16141i32__1asS__0__454222* fzCur;
  fzCur = malloc(sizeof(fzT__L16141i32__1asS__0__454222));
  fzCur->clazzId = 1614;

  start:
  {
    fzCur->fields.fzF_0__U40__454463 = 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__L2569option_l_s___l_u8_ggg fzM_0;
    fzM_0.fzTag = 1;
    // unit type assignment to fzM_0.fzChoice.v1
    //    2: Current
    //    3: Assign to i32.asString.ref @452350.ref utf8.asStream.@454222.asList0
    fzCur->fields.fzF_2_asList0 = fzM_0;
    //    4: Current
    //    5: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //    6: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
    //    7: Call to i32.asString.ref @452350.ref utf8.@452543
    //    8: Call to i32.asString.ref @452350.@452416
    //    9: Call to i32.asString.@452305
    //   10: Call to i32.thiz
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__thiz(fzCur->fields.fzF_0__U40__454463->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
    //   11: Current
    //   12: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //   13: Call to i32.asString.ref @452350.ref utf8.asStream.b
    //   14: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   15: Call to i32.highest
    fzP_1i32__1highest(fzM_1,fzCur->fields.fzF_0__U40__454463->fzF_2_b);
    fzT_1i32 fzM_2;
    fzM_2 = fzC_1i32__1highest(fzM_1,fzCur->fields.fzF_0__U40__454463->fzF_2_b);
    //   16: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   17: Current
    //   18: Assign to i32.asString.ref @452350.ref utf8.asStream.@454222.p
    fzCur->fields.fzF_1_p = fzM_2;
    return fzCur;
  }
}
// code for clazz#1616 ref i32.asString.ref @452350.ref utf8.asStream.ref @454222:
fzT__L1616_R1i32__1a__0__454222* fzC__L1616_R1i32__1a__0__454222(fzT__L1598_R1i32__1a___asStream* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__L1616_R1i32__1a__0__454222* fzCur;
  fzCur = malloc(sizeof(fzT__L1616_R1i32__1a__0__454222));
  fzCur->clazzId = 1616;

  start:
  {
    fzCur->fields.fzF_0__U40__454463 = 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__L2569option_l_s___l_u8_ggg fzM_0;
    fzM_0.fzTag = 1;
    // unit type assignment to fzM_0.fzChoice.v1
    //    2: Current
    //    3: Assign to ref i32.asString.ref @452350.ref utf8.asStream.@454222.asList0
    fzCur->fields.fzF_2_asList0 = fzM_0;
    //    4: Current
    //    5: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //    6: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
    //    7: Call to ref i32.asString.ref @452350.ref utf8.@452543
    //    8: Call to ref i32.asString.ref @452350.@452416
    //    9: Call to ref i32.asString.@452305
    //   10: Call to ref i32.thiz
    fzT_1i32 fzM_1;
    fzM_1 = fzC__R1i32__thiz(fzCur->fields.fzF_0__U40__454463->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
    //   11: Current
    //   12: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //   13: Call to ref i32.asString.ref @452350.ref utf8.asStream.b
    //   14: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   15: Call to i32.highest
    fzP_1i32__1highest(fzM_1,fzCur->fields.fzF_0__U40__454463->fzF_2_b);
    fzT_1i32 fzM_2;
    fzM_2 = fzC_1i32__1highest(fzM_1,fzCur->fields.fzF_0__U40__454463->fzF_2_b);
    //   16: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   17: Current
    //   18: Assign to ref i32.asString.ref @452350.ref utf8.asStream.@454222.p
    fzCur->fields.fzF_1_p = fzM_2;
    return fzCur;
  }
}
// code for clazz#1632 i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext:
fzT_bool fzC__L16321i32__1asS____hasNext(fzT__L16141i32__1asS__0__454222* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L16321i32__1asS____hasNext fzCur;

  start:
  {
    fzCur.fzF_1__U40__454790 = (fzT__L16141i32__1asS__0__454222*)fzouter;
    //    0: Current
    //    1: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext.@454790
    //    2: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.p
    //    3: Call to i32.sign
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__sign(fzCur.fzF_1__U40__454790->fields.fzF_1_p);
    //    4: Const
    //    5: Call to i32.infix >
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_wg(fzM_0,0);
    //    6: Current
    //    7: Assign to i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1634 ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext:
fzT_bool fzC__L1634_R1i32__1a____hasNext(fzT__L1616_R1i32__1a__0__454222* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1634_R1i32__1a____hasNext fzCur;

  start:
  {
    fzCur.fzF_1__U40__454790 = (fzT__L1616_R1i32__1a__0__454222*)fzouter;
    //    0: Current
    //    1: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext.@454790
    //    2: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.p
    //    3: Call to i32.sign
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__sign(fzCur.fzF_1__U40__454790->fields.fzF_1_p);
    //    4: Const
    //    5: Call to i32.infix >
    fzT_bool fzM_1;
    fzM_1 = fzC_1i32__1infix_wg(fzM_0,0);
    //    6: Current
    //    7: Assign to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.hasNext.result
    fzCur.fzF_0_result = fzM_1;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1641 i32.asString.ref @452350.ref utf8.asStream.ref @454222.next:
fzT_1u8 fzC__L16411i32__1asS__222__next(fzT__L16141i32__1asS__0__454222* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L16411i32__1asS__222__next fzCur;

  start:
  {
    fzCur.fzF_1__U40__455804 = (fzT__L16141i32__1asS__0__454222*)fzouter;
    //    0: Current
    //    1: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //    2: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //    3: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
    //    4: Call to i32.asString.ref @452350.ref utf8.@452543
    //    5: Call to i32.asString.ref @452350.@452416
    //    6: Call to i32.asString.@452305
    //    7: Call to i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC_1i32__thiz(fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
    //    8: Current
    //    9: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   10: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.p
    //   11: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   12: Call to i32.infix /
    fzP_1i32__1infix_wd(fzM_0,fzCur.fzF_1__U40__455804->fields.fzF_1_p);
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__1infix_wd(fzM_0,fzCur.fzF_1__U40__455804->fields.fzF_1_p);
    //   13: Current
    //   14: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   15: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //   16: Call to i32.asString.ref @452350.ref utf8.asStream.b
    //   17: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   18: Call to i32.infix %
    fzP_1i32__1infix_wP(fzM_1,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    fzT_1i32 fzM_2;
    fzM_2 = fzC_1i32__1infix_wP(fzM_1,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    //   19: Call to i32.to_u32
    fzP_1i32__to_u_u32(fzM_2);
    fzT_1u32 fzM_3;
    fzM_3 = fzC_1i32__to_u_u32(fzM_2);
    //   20: Call to u32.as_u8
    fzP_1u32__as_u_u8(fzM_3);
    fzT_1u8 fzM_4;
    fzM_4 = fzC_1u32__as_u_u8(fzM_3);
    //   21: Current
    //   22: Assign to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
    fzCur.fzF_3_d = fzM_4;
    //   23: Current
    //   24: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
    //   25: Const
    //   26: Call to u8.infix <
    fzT_bool fzM_5;
    fzM_5 = fzC_1u8__1infix_wl(fzCur.fzF_3_d,((uint8_t)10U));
    //   27: Match
    switch (fzM_5.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Call to strings
        fzC_strings();
        //    1: Call to strings.zeroChar
        fzT_1u8 fzM_6;
        fzM_6 = fzC_strings__zeroChar();
        //    2: Current
        //    3: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
        //    4: Call to u8.infix +
        fzP_1u8__1infix_wp(fzM_6,fzCur.fzF_3_d);
        fzT_1u8 fzM_7;
        fzM_7 = fzC_1u8__1infix_wp(fzM_6,fzCur.fzF_3_d);
        //    5: Current
        //    6: Assign to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455953
        fzCur.fzF_4__U40__455953 = fzM_7;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Call to strings
        fzC_strings();
        //    1: Call to strings.aChar
        fzT_1u8 fzM_8;
        fzM_8 = fzC_strings__aChar();
        //    2: Current
        //    3: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
        //    4: Current
        //    5: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
        //    6: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
        //    7: Call to i32.asString.ref @452350.ref utf8.asStream.@454023
        //    8: Call to i32.asString.ref @452350.ref utf8.@452543
        //    9: Call to i32.asString.ref @452350.@452416
        //   10: Call to i32.asString.ascii
        fzC_1i32__1asString__ascii();
        //   11: Call to i32.asString.ascii.lf
        fzT_1u8 fzM_9;
        fzM_9 = fzC_1i32__1asString__ascii__lf();
        //   12: Call to u8.infix -
        fzP_1u8__1infix_wm(fzCur.fzF_3_d,fzM_9);
        fzT_1u8 fzM_10;
        fzM_10 = fzC_1u8__1infix_wm(fzCur.fzF_3_d,fzM_9);
        //   13: Call to u8.infix +
        fzP_1u8__1infix_wp(fzM_8,fzM_10);
        fzT_1u8 fzM_11;
        fzM_11 = fzC_1u8__1infix_wp(fzM_8,fzM_10);
        //   14: Current
        //   15: Assign to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455953
        fzCur.fzF_4__U40__455953 = fzM_11;
        break;
      }
    }
    //   30: Current
    //   31: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455953
    //   32: Current
    //   33: Assign to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.r
    fzCur.fzF_2_r = fzCur.fzF_4__U40__455953;
    //   34: Current
    //   35: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   36: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.p
    //   37: Current
    //   38: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   39: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //   40: Call to i32.asString.ref @452350.ref utf8.asStream.b
    //   41: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   42: Call to i32.infix /
    fzP_1i32__1infix_wd(fzCur.fzF_1__U40__455804->fields.fzF_1_p,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    fzT_1i32 fzM_12;
    fzM_12 = fzC_1i32__1infix_wd(fzCur.fzF_1__U40__455804->fields.fzF_1_p,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    //   43: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   44: Current
    //   45: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   46: Assign to i32.asString.ref @452350.ref utf8.asStream.@454222.p
    fzCur.fzF_1__U40__455804->fields.fzF_1_p = fzM_12;
    //   47: Current
    //   48: Call to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.r
    //   49: Current
    //   50: Assign to i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.result
    fzCur.fzF_0_result = fzCur.fzF_2_r;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1643 ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next:
fzT_1u8 fzC__L1643_R1i32__1a__222__next(fzT__L1616_R1i32__1a__0__454222* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1643_R1i32__1a__222__next fzCur;

  start:
  {
    fzCur.fzF_1__U40__455804 = (fzT__L1616_R1i32__1a__0__454222*)fzouter;
    //    0: Current
    //    1: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //    2: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //    3: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
    //    4: Call to ref i32.asString.ref @452350.ref utf8.@452543
    //    5: Call to ref i32.asString.ref @452350.@452416
    //    6: Call to ref i32.asString.@452305
    //    7: Call to ref i32.thiz
    fzT_1i32 fzM_0;
    fzM_0 = fzC__R1i32__thiz(fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_1__U40__454023->fields.fzF_0__U40__452543->fields.fzF_0__U40__452416->fzF_2__U40__452305);
    //    8: Current
    //    9: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   10: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.p
    //   11: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   12: Call to i32.infix /
    fzP_1i32__1infix_wd(fzM_0,fzCur.fzF_1__U40__455804->fields.fzF_1_p);
    fzT_1i32 fzM_1;
    fzM_1 = fzC_1i32__1infix_wd(fzM_0,fzCur.fzF_1__U40__455804->fields.fzF_1_p);
    //   13: Current
    //   14: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   15: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //   16: Call to ref i32.asString.ref @452350.ref utf8.asStream.b
    //   17: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   18: Call to i32.infix %
    fzP_1i32__1infix_wP(fzM_1,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    fzT_1i32 fzM_2;
    fzM_2 = fzC_1i32__1infix_wP(fzM_1,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    //   19: Call to i32.to_u32
    fzP_1i32__to_u_u32(fzM_2);
    fzT_1u32 fzM_3;
    fzM_3 = fzC_1i32__to_u_u32(fzM_2);
    //   20: Call to u32.as_u8
    fzP_1u32__as_u_u8(fzM_3);
    fzT_1u8 fzM_4;
    fzM_4 = fzC_1u32__as_u_u8(fzM_3);
    //   21: Current
    //   22: Assign to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
    fzCur.fzF_3_d = fzM_4;
    //   23: Current
    //   24: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
    //   25: Const
    //   26: Call to u8.infix <
    fzT_bool fzM_5;
    fzM_5 = fzC_1u8__1infix_wl(fzCur.fzF_3_d,((uint8_t)10U));
    //   27: Match
    switch (fzM_5.fzTag)
    {
      case 1/* TRUE */:
      {
        //    0: Call to strings
        fzC_strings();
        //    1: Call to strings.zeroChar
        fzT_1u8 fzM_6;
        fzM_6 = fzC_strings__zeroChar();
        //    2: Current
        //    3: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
        //    4: Call to u8.infix +
        fzP_1u8__1infix_wp(fzM_6,fzCur.fzF_3_d);
        fzT_1u8 fzM_7;
        fzM_7 = fzC_1u8__1infix_wp(fzM_6,fzCur.fzF_3_d);
        //    5: Current
        //    6: Assign to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455953
        fzCur.fzF_4__U40__455953 = fzM_7;
        break;
      }
      case 0/* FALSE */:
      {
        //    0: Call to strings
        fzC_strings();
        //    1: Call to strings.aChar
        fzT_1u8 fzM_8;
        fzM_8 = fzC_strings__aChar();
        //    2: Current
        //    3: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.d
        //    4: Current
        //    5: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
        //    6: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
        //    7: Call to ref i32.asString.ref @452350.ref utf8.asStream.@454023
        //    8: Call to ref i32.asString.ref @452350.ref utf8.@452543
        //    9: Call to ref i32.asString.ref @452350.@452416
        //   10: Call to ref i32.asString.ascii
        fzC__R1i32__1asString__ascii();
        //   11: Call to ref i32.asString.ascii.lf
        fzT_1u8 fzM_9;
        fzM_9 = fzC__L1052_R1i32__1a__ascii__lf();
        //   12: Call to u8.infix -
        fzP_1u8__1infix_wm(fzCur.fzF_3_d,fzM_9);
        fzT_1u8 fzM_10;
        fzM_10 = fzC_1u8__1infix_wm(fzCur.fzF_3_d,fzM_9);
        //   13: Call to u8.infix +
        fzP_1u8__1infix_wp(fzM_8,fzM_10);
        fzT_1u8 fzM_11;
        fzM_11 = fzC_1u8__1infix_wp(fzM_8,fzM_10);
        //   14: Current
        //   15: Assign to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455953
        fzCur.fzF_4__U40__455953 = fzM_11;
        break;
      }
    }
    //   30: Current
    //   31: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455953
    //   32: Current
    //   33: Assign to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.r
    fzCur.fzF_2_r = fzCur.fzF_4__U40__455953;
    //   34: Current
    //   35: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   36: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.p
    //   37: Current
    //   38: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   39: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.@454463
    //   40: Call to ref i32.asString.ref @452350.ref utf8.asStream.b
    //   41: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   42: Call to i32.infix /
    fzP_1i32__1infix_wd(fzCur.fzF_1__U40__455804->fields.fzF_1_p,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    fzT_1i32 fzM_12;
    fzM_12 = fzC_1i32__1infix_wd(fzCur.fzF_1__U40__455804->fields.fzF_1_p,fzCur.fzF_1__U40__455804->fields.fzF_0__U40__454463->fzF_2_b);
    //   43: Box i32 => i32
    // Box is a NOP, clazz is already a ref
    //   44: Current
    //   45: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.@455804
    //   46: Assign to ref i32.asString.ref @452350.ref utf8.asStream.@454222.p
    fzCur.fzF_1__U40__455804->fields.fzF_1_p = fzM_12;
    //   47: Current
    //   48: Call to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.r
    //   49: Current
    //   50: Assign to ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.next.result
    fzCur.fzF_0_result = fzCur.fzF_2_r;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1668 io:
void fzC_io()
{
  // instance may escape, so we need malloc here
  fzT_io* fzCur;
  fzCur = malloc(sizeof(fzT_io));

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

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

  start:
  {
    //    0: Current
    //    1: Call to io.out.@466234
    // access to Call to io.out.@466234 eliminated
    //    2: Call to io.outs
    fzC_io__outs();
    //    3: Call to io.outs.installDefault
    fzC_io__outs__installDefault();
    //    4: Pop
    //    5: Env
    if (!fzThrd_effectsEnvironment->fzEnvInstalled_1672)
    {
      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_1672;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1678 io.defaultPrintToOut:
void fzC_io__defaultPrintToOut()
{
  // instance may escape, so we need malloc here
  fzT_io__defaultPrintToOut* fzCur;
  fzCur = malloc(sizeof(fzT_io__defaultPrintToOut));

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

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

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

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

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

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

  start:
  {
    fzCur->fields.fzF_0__U40__500779 = fzouter;
    //    0: Call to nil
    fzC_nil();
    //    1: Tag
    // Tag a value to be of choice type option<some<list<u8>>> static value type nil
    fzT__L2569option_l_s___l_u8_ggg fzM_0;
    fzM_0.fzTag = 1;
    // unit type assignment to fzM_0.fzChoice.v1
    //    2: Current
    //    3: Assign to list<u8>.asStream.asList0
    // access to Assign to list<u8>.asStream.asList0 eliminated
    //    4: Current
    //    5: Call to list<u8>.ref asStream.@500779
    //    6: Unbox
    //    7: Current
    //    8: Assign to list<u8>.asStream.cur
    fzCur->fields.fzF_1_cur = *fzCur->fields.fzF_0__U40__500779;
    return fzCur;
  }
}
// code for clazz#1785 ref list<u8>.ref asStream:
fzT__Rlist_l_u8_g_RasStream* fzC__Rlist_l_u8_g_RasStream(fzT__Rlist_l_u8_g* fzouter)
{
  // instance may escape, so we need malloc here
  fzT__Rlist_l_u8_g_RasStream* fzCur;
  fzCur = malloc(sizeof(fzT__Rlist_l_u8_g_RasStream));
  fzCur->clazzId = 1785;

  start:
  {
    fzCur->fields.fzF_0__U40__500779 = (fzT__Rlist_l_u8_g*)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__L2569option_l_s___l_u8_ggg fzM_0;
    fzM_0.fzTag = 1;
    // unit type assignment to fzM_0.fzChoice.v1
    //    2: Current
    //    3: Assign to ref list<u8>.asStream.asList0
    fzCur->fields.fzF_2_asList0 = fzM_0;
    //    4: Current
    //    5: Call to ref list<u8>.ref asStream.@500779
    //    6: Unbox
    //    7: Current
    //    8: Assign to ref list<u8>.asStream.cur
    fzCur->fields.fzF_1_cur = fzCur->fields.fzF_0__U40__500779->fields;
    return fzCur;
  }
}
// code for clazz#1809 ref list<u8>.ref asStream.hasNext:
fzT_bool fzC__L1809_Rlist_l_u____hasNext(fzT__Rlist_l_u8_g_RasStream* fzouter)
{
  // instance does not escape, put it on stack
  fzT__L1809_Rlist_l_u____hasNext fzCur;

  start:
  {
    fzCur.fzF_1__U40__501111 = (fzT__Rlist_l_u8_g_RasStream*)fzouter;
    //    0: Current
    //    1: Call to ref list<u8>.ref asStream.hasNext.@501111
    //    2: Call to ref list<u8>.ref asStream.cur
    //    3: Match
    fzT__RObject* fzM_0 = fzCur.fzF_1__U40__501111->fields.fzF_1_cur.fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Call to false
        fzT_bool fzM_2;
        fzM_2 = fzC_false();
        //    1: Current
        //    2: Assign to ref list<u8>.ref asStream.hasNext.@501160
        fzCur.fzF_2__U40__501160 = fzM_2;
        break;
      }
      default:
      {
        //    0: Call to true
        fzT_bool fzM_1;
        fzM_1 = fzC_true();
        //    1: Current
        //    2: Assign to ref list<u8>.ref asStream.hasNext.@501160
        fzCur.fzF_2__U40__501160 = fzM_1;
        break;
      }
    }
    //    6: Current
    //    7: Call to ref list<u8>.ref asStream.hasNext.@501160
    //    8: Current
    //    9: Assign to ref list<u8>.ref asStream.hasNext.result
    fzCur.fzF_0_result = fzCur.fzF_2__U40__501160;
    return fzCur.fzF_0_result;
  }
}
// code for clazz#1830 list<u8>.ref asStream.next:
fzT_1u8 fzC_list_l_u8_g_RasStream__next(fzT_list_l_u8_g_RasStream* fzouter)
{
  // instance does not escape, put it on stack
  fzT_list_l_u8_g_RasStream__next fzCur;

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

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

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

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

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

  start:
  {
    fzCur.fzF_2__U40__502673 = fzouter;
    fzCur.fzF_0_n = arg0;
    //    0: Current
    //    1: Call to list<u8>.count.@502673
    //    2: Match
    fzT__RObject* fzM_0 = fzCur.fzF_2__U40__502673->fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Current
        //    1: Call to list<u8>.count.n
        //    2: Current
        //    3: Assign to list<u8>.count.@502768
        fzCur.fzF_4__U40__502768 = fzCur.fzF_0_n;
        break;
      }
      default:
      {
        fzCur.fzF_3_c = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzM_0;
        //    0: Current
        //    1: Call to list<u8>.count.c
        //    2: Call to ref Cons<u8, list<u8>>.tail
        // Dynamic access of ref Cons<u8, list<u8>>.tail
        fzT__RCons_l_u8_k_list_l_u8_gg* fzM_1 = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzCur.fzF_3_c;
        fzT_list_l_u8_g fzM_2;
        switch (fzM_1->clazzId)
        {
          case 1011:
          {
            // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
            fzT_list_l_u8_g fzM_3;
            fzM_3 = fzC__L1025_R4array_l__ons__tail((fzT__R4array_l_u8_g_R1arrayCons*)fzM_1);
            fzM_2 = fzM_3;
            break;
          }
          case 2224:
          {
            // Call calls list<u8>.concat.ref @520727.tail target: list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_4;
            fzM_4 = fzC__L2266list_l_u8___727__tail((fzT__L2224list_l_u8___0__520727*)fzM_1);
            fzM_2 = fzM_4;
            break;
          }
          case 2227:
          {
            // Call calls ref list<u8>.concat.ref @520727.tail target: ref list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_5;
            fzM_5 = fzC__L2269_Rlist_l_u__727__tail((fzT__L2227_Rlist_l_u__0__520727*)fzM_1);
            fzM_2 = fzM_5;
            break;
          }
          case 4162:
          {
            // Call calls i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail target: i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531:
            fzT_list_l_u8_g fzM_6;
            fzM_6 = fzC__L43441i32__1asS__531__tail((fzT__L41621i32__1asS__0__767531*)fzM_1);
            fzM_2 = fzM_6;
            break;
          }
          case 4164:
          {
            // Call calls ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail target: ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531:
            fzT_list_l_u8_g fzM_7;
            fzM_7 = fzC__L4346_R1i32__1a__531__tail((fzT__L4164_R1i32__1a__0__767531*)fzM_1);
            fzM_2 = fzM_7;
            break;
          }
          case 4170:
          {
            // Call calls ref list<u8>.ref asStream.fromStream.ref @767531.tail target: ref list<u8>.ref asStream.fromStream.ref @767531:
            fzT_list_l_u8_g fzM_8;
            fzM_8 = fzC__L4352_Rlist_l_u__531__tail((fzT__L4170_Rlist_l_u__0__767531*)fzM_1);
            fzM_2 = fzM_8;
            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_9;
        fzM_9 = 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_9;
        goto start;
        break;
      }
    }
    //    5: Current
    //    6: Call to list<u8>.count.@502768
    //    7: Current
    //    8: Assign to list<u8>.count.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__502768;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1905 ref list<u8>.count:
fzT_1i32 fzC__Rlist_l_u8_g__1count(fzT__Rlist_l_u8_g* fzouter, fzT_1i32 arg0)
{
  // instance does not escape, put it on stack
  fzT__Rlist_l_u8_g__1count fzCur;

  start:
  {
    fzCur.fzF_2__U40__502673 = (fzT__Rlist_l_u8_g*)fzouter;
    fzCur.fzF_0_n = arg0;
    //    0: Current
    //    1: Call to ref list<u8>.count.@502673
    //    2: Match
    fzT__RObject* fzM_0 = fzCur.fzF_2__U40__502673->fields.fzChoice.vref;
    switch ((int64_t)fzM_0)
    {
      case 0/* nil */:
      {
        //    0: Current
        //    1: Call to ref list<u8>.count.n
        //    2: Current
        //    3: Assign to ref list<u8>.count.@502768
        fzCur.fzF_4__U40__502768 = fzCur.fzF_0_n;
        break;
      }
      default:
      {
        fzCur.fzF_3_c = (fzT__RCons_l_u8_k_list_l_u8_gg*)fzM_0;
        //    0: Current
        //    1: Call to ref 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 1011:
          {
            // Call calls ref array<u8>.ref arrayCons.tail target: ref array<u8>.ref arrayCons:
            fzT_list_l_u8_g fzM_3;
            fzM_3 = fzC__L1025_R4array_l__ons__tail((fzT__R4array_l_u8_g_R1arrayCons*)fzM_1);
            fzM_2 = fzM_3;
            break;
          }
          case 2224:
          {
            // Call calls list<u8>.concat.ref @520727.tail target: list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_4;
            fzM_4 = fzC__L2266list_l_u8___727__tail((fzT__L2224list_l_u8___0__520727*)fzM_1);
            fzM_2 = fzM_4;
            break;
          }
          case 2227:
          {
            // Call calls ref list<u8>.concat.ref @520727.tail target: ref list<u8>.concat.ref @520727:
            fzT_list_l_u8_g fzM_5;
            fzM_5 = fzC__L2269_Rlist_l_u__727__tail((fzT__L2227_Rlist_l_u__0__520727*)fzM_1);
            fzM_2 = fzM_5;
            break;
          }
          case 4162:
          {
            // Call calls i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail target: i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531:
            fzT_list_l_u8_g fzM_6;
            fzM_6 = fzC__L43441i32__1asS__531__tail((fzT__L41621i32__1asS__0__767531*)fzM_1);
            fzM_2 = fzM_6;
            break;
          }
          case 4164:
          {
            // Call calls ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531.tail target: ref i32.asString.ref @452350.ref utf8.asStream.ref @454222.fromStream.ref @767531:
            fzT_list_l_u8_g fzM_7;
            fzM_7 = fzC__L4346_R1i32__1a__531__tail((fzT__L4164_R1i32__1a__0__767531*)fzM_1);
            fzM_2 = fzM_7;
            break;
          }
          case 4170:
          {
            // Call calls ref list<u8>.ref asStream.fromStream.ref @767531.tail target: ref list<u8>.ref asStream.fromStream.ref @767531:
            fzT_list_l_u8_g fzM_8;
            fzM_8 = fzC__L4352_Rlist_l_u__531__tail((fzT__L4170_Rlist_l_u__0__767531*)fzM_1);
            fzM_2 = fzM_8;
            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","ref list<u8>.count");
            exit(1);
          }
        }
        //    3: Current
        //    4: Call to ref list<u8>.count.n
        //    5: Const
        //    6: Call to i32.infix +
        fzP_1i32__1infix_wp(fzCur.fzF_0_n,1);
        fzT_1i32 fzM_9;
        fzM_9 = fzC_1i32__1infix_wp(fzCur.fzF_0_n,1);
        //    7: Call to list<u8>.count
        fzT_1i32 fzM_10;
        fzM_10 = fzC_list_l_u8_g__1count((fzT_list_l_u8_g*)fzH_heapClone(&fzM_2,sizeof fzM_2),fzM_9);
        //    8: Current
        //    9: Assign to ref list<u8>.count.@502768
        fzCur.fzF_4__U40__502768 = fzM_10;
        break;
      }
    }
    //    5: Current
    //    6: Call to ref list<u8>.count.@502768
    //    7: Current
    //    8: Assign to ref list<u8>.count.result
    fzCur.fzF_1_result = fzCur.fzF_4__U40__502768;
    return fzCur.fzF_1_result;
  }
}
// code for clazz#1950 list<u8>.infix ++:
fzT_list_l_u8_g fzC_list_l_u8_g__1infix_wpp(fzT_li